diff --git a/apis.json b/apis.json new file mode 100644 index 0000000000..19c09a18a9 --- /dev/null +++ b/apis.json @@ -0,0 +1,5621 @@ +{ + "kind": "discovery#directoryList", + "discoveryVersion": "v1", + "items": [ + { + "kind": "discovery#directoryItem", + "id": "abusiveexperiencereport:v1", + "name": "abusiveexperiencereport", + "version": "v1", + "title": "Abusive Experience Report API", + "description": "Views Abusive Experience Report data, and gets a list of sites that have a significant number of abusive experiences.", + "discoveryRestUrl": "https://abusiveexperiencereport.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/abusive-experience-report/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "acceleratedmobilepageurl:v1", + "name": "acceleratedmobilepageurl", + "version": "v1", + "title": "Accelerated Mobile Pages (AMP) URL API", + "description": "Retrieves the list of AMP URLs (and equivalent AMP Cache URLs) for a given list of public URL(s).", + "discoveryRestUrl": "https://acceleratedmobilepageurl.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/amp/cache/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "accessapproval:v1", + "name": "accessapproval", + "version": "v1", + "title": "Access Approval API", + "description": "An API for controlling access to data by Google personnel.", + "discoveryRestUrl": "https://accessapproval.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/cloud-provider-access-management/access-approval/docs", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "accesscontextmanager:v1beta", + "name": "accesscontextmanager", + "version": "v1beta", + "title": "Access Context Manager API", + "description": "An API for setting attribute based access control to requests to GCP services.", + "discoveryRestUrl": "https://accesscontextmanager.googleapis.com/$discovery/rest?version=v1beta", + "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" + }, + "documentationLink": "https://cloud.google.com/access-context-manager/docs/reference/rest/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "accesscontextmanager:v1", + "name": "accesscontextmanager", + "version": "v1", + "title": "Access Context Manager API", + "description": "An API for setting attribute based access control to requests to GCP services.", + "discoveryRestUrl": "https://accesscontextmanager.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/access-context-manager/docs/reference/rest/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "adexchangebuyer2:v2beta1", + "name": "adexchangebuyer2", + "version": "v2beta1", + "title": "Ad Exchange Buyer API II", + "description": "Accesses the latest features for managing Authorized Buyers accounts, Real-Time Bidding configurations and auction metrics, and Marketplace programmatic deals.", + "discoveryRestUrl": "https://adexchangebuyer.googleapis.com/$discovery/rest?version=v2beta1", + "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" + }, + "documentationLink": "https://developers.google.com/authorized-buyers/apis/reference/rest/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "adexperiencereport:v1", + "name": "adexperiencereport", + "version": "v1", + "title": "Ad Experience Report API", + "description": "Views Ad Experience Report data, and gets a list of sites that have a significant number of annoying ads.", + "discoveryRestUrl": "https://adexperiencereport.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/ad-experience-report/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "admin:datatransfer_v1", + "name": "admin", + "version": "datatransfer_v1", + "title": "Admin SDK API", + "description": "Admin SDK lets administrators of enterprise domains to view and manage resources like user, groups etc. It also provides audit and usage reports of domain.", + "discoveryRestUrl": "https://admin.googleapis.com/$discovery/rest?version=datatransfer_v1", + "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" + }, + "documentationLink": "https://developers.google.com/admin-sdk/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "admin:directory_v1", + "name": "admin", + "version": "directory_v1", + "title": "Admin SDK API", + "description": "Admin SDK lets administrators of enterprise domains to view and manage resources like user, groups etc. It also provides audit and usage reports of domain.", + "discoveryRestUrl": "https://admin.googleapis.com/$discovery/rest?version=directory_v1", + "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" + }, + "documentationLink": "https://developers.google.com/admin-sdk/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "admin:reports_v1", + "name": "admin", + "version": "reports_v1", + "title": "Admin SDK API", + "description": "Admin SDK lets administrators of enterprise domains to view and manage resources like user, groups etc. It also provides audit and usage reports of domain.", + "discoveryRestUrl": "https://admin.googleapis.com/$discovery/rest?version=reports_v1", + "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" + }, + "documentationLink": "https://developers.google.com/admin-sdk/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "admob:v1beta", + "name": "admob", + "version": "v1beta", + "title": "AdMob API", + "description": "The AdMob API allows publishers to programmatically get information about their AdMob account.", + "discoveryRestUrl": "https://admob.googleapis.com/$discovery/rest?version=v1beta", + "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" + }, + "documentationLink": "https://developers.google.com/admob/api/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "admob:v1", + "name": "admob", + "version": "v1", + "title": "AdMob API", + "description": "The AdMob API allows publishers to programmatically get information about their AdMob account.", + "discoveryRestUrl": "https://admob.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/admob/api/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "adsense:v2", + "name": "adsense", + "version": "v2", + "title": "AdSense Management API", + "description": "The AdSense Management API allows publishers to access their inventory and run earnings and performance reports.", + "discoveryRestUrl": "https://adsense.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://developers.google.com/adsense/management/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "adsensehost:v4.1", + "name": "adsensehost", + "version": "v4.1", + "title": "AdSense Host API", + "description": "The AdSense Host API gives AdSense Hosts access to report generation, ad code generation, and publisher management capabilities.", + "discoveryRestUrl": "https://adsensehost.googleapis.com/$discovery/rest?version=v4.1", + "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" + }, + "documentationLink": "https://developers.google.com/adsense/host/index", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "alertcenter:v1beta1", + "name": "alertcenter", + "version": "v1beta1", + "title": "Google Workspace Alert Center API", + "description": "Manages alerts on issues affecting your domain.", + "discoveryRestUrl": "https://alertcenter.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://developers.google.com/admin-sdk/alertcenter/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "analytics:v3", + "name": "analytics", + "version": "v3", + "title": "Google Analytics API", + "description": "The Analytics API provides access to Analytics configuration and report data.", + "discoveryRestUrl": "https://analytics.googleapis.com/$discovery/rest?version=v3", + "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" + }, + "documentationLink": "http://code.google.com/apis/analytics/docs/mgmt/home.html", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "analyticsadmin:v1alpha", + "name": "analyticsadmin", + "version": "v1alpha", + "title": "Google Analytics Admin API", + "description": "", + "discoveryRestUrl": "https://analyticsadmin.googleapis.com/$discovery/rest?version=v1alpha", + "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" + }, + "documentationLink": "http://code.google.com/apis/analytics/docs/mgmt/home.html", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "analyticsdata:v1beta", + "name": "analyticsdata", + "version": "v1beta", + "title": "Google Analytics Data API", + "description": "Accesses report data in Google Analytics.", + "discoveryRestUrl": "https://analyticsdata.googleapis.com/$discovery/rest?version=v1beta", + "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" + }, + "documentationLink": "https://developers.google.com/analytics/devguides/reporting/data/v1/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "analyticsreporting:v4", + "name": "analyticsreporting", + "version": "v4", + "title": "Analytics Reporting API", + "description": "Accesses Analytics report data.", + "discoveryRestUrl": "https://analyticsreporting.googleapis.com/$discovery/rest?version=v4", + "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" + }, + "documentationLink": "https://developers.google.com/analytics/devguides/reporting/core/v4/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "androiddeviceprovisioning:v1", + "name": "androiddeviceprovisioning", + "version": "v1", + "title": "Android Device Provisioning Partner API", + "description": "Automates Android zero-touch enrollment for device resellers, customers, and EMMs.", + "discoveryRestUrl": "https://androiddeviceprovisioning.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/zero-touch/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "androidenterprise:v1", + "name": "androidenterprise", + "version": "v1", + "title": "Google Play EMM API", + "description": "Manages the deployment of apps to Android Enterprise devices.", + "discoveryRestUrl": "https://androidenterprise.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "androidmanagement:v1", + "name": "androidmanagement", + "version": "v1", + "title": "Android Management API", + "description": "The Android Management API provides remote enterprise management of Android devices and apps.", + "discoveryRestUrl": "https://androidmanagement.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/android/management", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "androidpublisher:v3", + "name": "androidpublisher", + "version": "v3", + "title": "Google Play Android Developer API", + "description": "Lets Android application developers access their Google Play accounts.", + "discoveryRestUrl": "https://androidpublisher.googleapis.com/$discovery/rest?version=v3", + "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" + }, + "documentationLink": "https://developers.google.com/android-publisher", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "apigateway:v1beta", + "name": "apigateway", + "version": "v1beta", + "title": "API Gateway API", + "description": "", + "discoveryRestUrl": "https://apigateway.googleapis.com/$discovery/rest?version=v1beta", + "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" + }, + "documentationLink": "https://cloud.google.com/api-gateway/docs", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "apigateway:v1", + "name": "apigateway", + "version": "v1", + "title": "API Gateway API", + "description": "", + "discoveryRestUrl": "https://apigateway.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/api-gateway/docs", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "apigee:v1", + "name": "apigee", + "version": "v1", + "title": "Apigee API", + "description": "Use the Apigee API to programmatically develop and manage APIs with a set of RESTful operations. Develop and secure API proxies, deploy and undeploy API proxy revisions, monitor APIs, configure environments, manage users, and more. Note: This product is available as a free trial for a time period of 60 days.", + "discoveryRestUrl": "https://apigee.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/apigee-api-management/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "apikeys:v2", + "name": "apikeys", + "version": "v2", + "title": "API Keys API", + "description": "Manages the API keys associated with developer projects.", + "discoveryRestUrl": "https://apikeys.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://cloud.google.com/api-keys/docs", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "appengine:v1alpha", + "name": "appengine", + "version": "v1alpha", + "title": "App Engine Admin API", + "description": "Provisions and manages developers' App Engine applications.", + "discoveryRestUrl": "https://appengine.googleapis.com/$discovery/rest?version=v1alpha", + "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" + }, + "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "appengine:v1beta", + "name": "appengine", + "version": "v1beta", + "title": "App Engine Admin API", + "description": "Provisions and manages developers' App Engine applications.", + "discoveryRestUrl": "https://appengine.googleapis.com/$discovery/rest?version=v1beta", + "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" + }, + "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "appengine:v1", + "name": "appengine", + "version": "v1", + "title": "App Engine Admin API", + "description": "Provisions and manages developers' App Engine applications.", + "discoveryRestUrl": "https://appengine.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "area120tables:v1alpha1", + "name": "area120tables", + "version": "v1alpha1", + "title": "Area120 Tables API", + "description": "", + "discoveryRestUrl": "https://area120tables.googleapis.com/$discovery/rest?version=v1alpha1", + "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" + }, + "documentationLink": "https://support.google.com/area120-tables/answer/10011390", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "artifactregistry:v1beta1", + "name": "artifactregistry", + "version": "v1beta1", + "title": "Artifact Registry API", + "description": "Store and manage build artifacts in a scalable and integrated service built on Google infrastructure.", + "discoveryRestUrl": "https://artifactregistry.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/artifacts/docs/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "artifactregistry:v1beta2", + "name": "artifactregistry", + "version": "v1beta2", + "title": "Artifact Registry API", + "description": "Store and manage build artifacts in a scalable and integrated service built on Google infrastructure.", + "discoveryRestUrl": "https://artifactregistry.googleapis.com/$discovery/rest?version=v1beta2", + "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" + }, + "documentationLink": "https://cloud.google.com/artifacts/docs/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "artifactregistry:v1", + "name": "artifactregistry", + "version": "v1", + "title": "Artifact Registry API", + "description": "Store and manage build artifacts in a scalable and integrated service built on Google infrastructure.", + "discoveryRestUrl": "https://artifactregistry.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/artifacts/docs/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "assuredworkloads:v1", + "name": "assuredworkloads", + "version": "v1", + "title": "Assured Workloads API", + "description": "", + "discoveryRestUrl": "https://assuredworkloads.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "authorizedbuyersmarketplace:v1", + "name": "authorizedbuyersmarketplace", + "version": "v1", + "title": "Authorized Buyers Marketplace API", + "description": "The Authorized Buyers Marketplace API allows buyers programmatically discover inventory; propose, retrieve and negotiate deals with publishers.", + "discoveryRestUrl": "https://authorizedbuyersmarketplace.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/authorized-buyers/apis/marketplace/reference/rest/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "baremetalsolution:v1", + "name": "baremetalsolution", + "version": "v1", + "title": "Bare Metal Solution API", + "description": "Bare Metal Solution provides hardware to run specialized workloads with low latency on Google Cloud.", + "discoveryRestUrl": "https://baremetalsolution.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/bare-metal", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "baremetalsolution:v2", + "name": "baremetalsolution", + "version": "v2", + "title": "Bare Metal Solution API", + "description": "Bare Metal Solution provides hardware to run specialized workloads with low latency on Google Cloud.", + "discoveryRestUrl": "https://baremetalsolution.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://cloud.google.com/bare-metal", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "bigquery:v2", + "name": "bigquery", + "version": "v2", + "title": "BigQuery API", + "description": "A data platform for customers to create, manage, share and query data.", + "discoveryRestUrl": "https://bigquery.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://cloud.google.com/bigquery/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "bigqueryconnection:v1beta1", + "name": "bigqueryconnection", + "version": "v1beta1", + "title": "BigQuery Connection API", + "description": "Allows users to manage BigQuery connections to external data sources.", + "discoveryRestUrl": "https://bigqueryconnection.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/bigquery/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "bigquerydatatransfer:v1", + "name": "bigquerydatatransfer", + "version": "v1", + "title": "BigQuery Data Transfer API", + "description": "Schedule queries or transfer external data from SaaS applications to Google BigQuery on a regular basis.", + "discoveryRestUrl": "https://bigquerydatatransfer.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/bigquery-transfer/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "bigqueryreservation:v1beta1", + "name": "bigqueryreservation", + "version": "v1beta1", + "title": "BigQuery Reservation API", + "description": "A service to modify your BigQuery flat-rate reservations.", + "discoveryRestUrl": "https://bigqueryreservation.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/bigquery/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "bigqueryreservation:v1", + "name": "bigqueryreservation", + "version": "v1", + "title": "BigQuery Reservation API", + "description": "A service to modify your BigQuery flat-rate reservations.", + "discoveryRestUrl": "https://bigqueryreservation.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/bigquery/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "bigtableadmin:v2", + "name": "bigtableadmin", + "version": "v2", + "title": "Cloud Bigtable Admin API", + "description": "Administer your Cloud Bigtable tables and instances.", + "discoveryRestUrl": "https://bigtableadmin.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://cloud.google.com/bigtable/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "billingbudgets:v1beta1", + "name": "billingbudgets", + "version": "v1beta1", + "title": "Cloud Billing Budget API", + "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.", + "discoveryRestUrl": "https://billingbudgets.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/billing/docs/how-to/budget-api-overview", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "billingbudgets:v1", + "name": "billingbudgets", + "version": "v1", + "title": "Cloud Billing Budget API", + "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.", + "discoveryRestUrl": "https://billingbudgets.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/billing/docs/how-to/budget-api-overview", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "binaryauthorization:v1beta1", + "name": "binaryauthorization", + "version": "v1beta1", + "title": "Binary Authorization API", + "description": "The management interface for Binary Authorization, a service that provides policy-based deployment validation and control for images deployed to Google Kubernetes Engine (GKE), Anthos Service Mesh, Anthos Clusters, and Cloud Run.", + "discoveryRestUrl": "https://binaryauthorization.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/binary-authorization/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "binaryauthorization:v1", + "name": "binaryauthorization", + "version": "v1", + "title": "Binary Authorization API", + "description": "The management interface for Binary Authorization, a service that provides policy-based deployment validation and control for images deployed to Google Kubernetes Engine (GKE), Anthos Service Mesh, Anthos Clusters, and Cloud Run.", + "discoveryRestUrl": "https://binaryauthorization.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/binary-authorization/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "blogger:v2", + "name": "blogger", + "version": "v2", + "title": "Blogger API v3", + "description": "The Blogger API provides access to posts, comments and pages of a Blogger blog.", + "discoveryRestUrl": "https://blogger.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://developers.google.com/blogger/docs/3.0/getting_started", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "blogger:v3", + "name": "blogger", + "version": "v3", + "title": "Blogger API v3", + "description": "The Blogger API provides access to posts, comments and pages of a Blogger blog.", + "discoveryRestUrl": "https://blogger.googleapis.com/$discovery/rest?version=v3", + "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" + }, + "documentationLink": "https://developers.google.com/blogger/docs/3.0/getting_started", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "books:v1", + "name": "books", + "version": "v1", + "title": "Books API", + "description": "The Google Books API allows clients to access the Google Books repository.", + "discoveryRestUrl": "https://books.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://code.google.com/apis/books/docs/v1/getting_started.html", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "calendar:v3", + "name": "calendar", + "version": "v3", + "title": "Google Calendar API", + "description": "The Google Calendar API lets you manage your calendars and events.", + "discoveryRestUrl": "https://calendar-json.googleapis.com/$discovery/rest?version=v3", + "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" + }, + "documentationLink": "http://code.google.com/apis/calendar/v3/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "certificatemanager:v1", + "name": "certificatemanager", + "version": "v1", + "title": "Certificate Manager API", + "description": "", + "discoveryRestUrl": "https://certificatemanager.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/certificate-manager", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "chat:v1", + "name": "chat", + "version": "v1", + "title": "Google Chat API", + "description": "Enables bots to fetch information and perform actions in Google Chat. Authentication using a service account is a prerequisite for using the Google Chat REST API.", + "discoveryRestUrl": "https://chat.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/hangouts/chat", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "chromemanagement:v1", + "name": "chromemanagement", + "version": "v1", + "title": "Chrome Management API", + "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.", + "discoveryRestUrl": "https://chromemanagement.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "http://developers.google.com/chrome/management/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "chromepolicy:v1", + "name": "chromepolicy", + "version": "v1", + "title": "Chrome Policy API", + "description": "The Chrome Policy API is a suite of services that allows Chrome administrators to control the policies applied to their managed Chrome OS devices and Chrome browsers.", + "discoveryRestUrl": "https://chromepolicy.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "http://developers.google.com/chrome/policy", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "chromeuxreport:v1", + "name": "chromeuxreport", + "version": "v1", + "title": "Chrome UX Report API", + "description": "The Chrome UX Report API lets you view real user experience data for millions of websites.", + "discoveryRestUrl": "https://chromeuxreport.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/web/tools/chrome-user-experience-report/api/reference", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "civicinfo:v2", + "name": "civicinfo", + "version": "v2", + "title": "Google Civic Information API", + "description": "Provides polling places, early vote locations, contest data, election officials, and government representatives for U.S. residential addresses.", + "discoveryRestUrl": "https://civicinfo.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://developers.google.com/civic-information/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "classroom:v1", + "name": "classroom", + "version": "v1", + "title": "Google Classroom API", + "description": "Manages classes, rosters, and invitations in Google Classroom.", + "discoveryRestUrl": "https://classroom.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/classroom", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "cloudasset:v1p1beta1", + "name": "cloudasset", + "version": "v1p1beta1", + "title": "Cloud Asset API", + "description": "The cloud asset API manages the history and inventory of cloud resources.", + "discoveryRestUrl": "https://cloudasset.googleapis.com/$discovery/rest?version=v1p1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/asset-inventory/docs/quickstart", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "cloudasset:v1p4beta1", + "name": "cloudasset", + "version": "v1p4beta1", + "title": "Cloud Asset API", + "description": "The cloud asset API manages the history and inventory of cloud resources.", + "discoveryRestUrl": "https://cloudasset.googleapis.com/$discovery/rest?version=v1p4beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/asset-inventory/docs/quickstart", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "cloudasset:v1p5beta1", + "name": "cloudasset", + "version": "v1p5beta1", + "title": "Cloud Asset API", + "description": "The cloud asset API manages the history and inventory of cloud resources.", + "discoveryRestUrl": "https://cloudasset.googleapis.com/$discovery/rest?version=v1p5beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/asset-inventory/docs/quickstart", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "cloudasset:v1p7beta1", + "name": "cloudasset", + "version": "v1p7beta1", + "title": "Cloud Asset API", + "description": "The cloud asset API manages the history and inventory of cloud resources.", + "discoveryRestUrl": "https://cloudasset.googleapis.com/$discovery/rest?version=v1p7beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/asset-inventory/docs/quickstart", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "cloudasset:v1beta1", + "name": "cloudasset", + "version": "v1beta1", + "title": "Cloud Asset API", + "description": "The cloud asset API manages the history and inventory of cloud resources.", + "discoveryRestUrl": "https://cloudasset.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/asset-inventory/docs/quickstart", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "cloudasset:v1", + "name": "cloudasset", + "version": "v1", + "title": "Cloud Asset API", + "description": "The cloud asset API manages the history and inventory of cloud resources.", + "discoveryRestUrl": "https://cloudasset.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/asset-inventory/docs/quickstart", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "cloudbilling:v1", + "name": "cloudbilling", + "version": "v1", + "title": "Cloud Billing API", + "description": "Allows developers to manage billing for their Google Cloud Platform projects programmatically.", + "discoveryRestUrl": "https://cloudbilling.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/billing/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "cloudbuild:v1alpha1", + "name": "cloudbuild", + "version": "v1alpha1", + "title": "Cloud Build API", + "description": "Creates and manages builds on Google Cloud Platform.", + "discoveryRestUrl": "https://cloudbuild.googleapis.com/$discovery/rest?version=v1alpha1", + "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" + }, + "documentationLink": "https://cloud.google.com/cloud-build/docs/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "cloudbuild:v1alpha2", + "name": "cloudbuild", + "version": "v1alpha2", + "title": "Cloud Build API", + "description": "Creates and manages builds on Google Cloud Platform.", + "discoveryRestUrl": "https://cloudbuild.googleapis.com/$discovery/rest?version=v1alpha2", + "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" + }, + "documentationLink": "https://cloud.google.com/cloud-build/docs/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "cloudbuild:v1beta1", + "name": "cloudbuild", + "version": "v1beta1", + "title": "Cloud Build API", + "description": "Creates and manages builds on Google Cloud Platform.", + "discoveryRestUrl": "https://cloudbuild.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/cloud-build/docs/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "cloudbuild:v1", + "name": "cloudbuild", + "version": "v1", + "title": "Cloud Build API", + "description": "Creates and manages builds on Google Cloud Platform.", + "discoveryRestUrl": "https://cloudbuild.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/cloud-build/docs/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "cloudchannel:v1", + "name": "cloudchannel", + "version": "v1", + "title": "Cloud Channel API", + "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.", + "discoveryRestUrl": "https://cloudchannel.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/channel", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "clouddebugger:v2", + "name": "clouddebugger", + "version": "v2", + "title": "Cloud Debugger API", + "description": "Examines the call stack and variables of a running application without stopping or slowing it down.", + "discoveryRestUrl": "https://clouddebugger.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://cloud.google.com/debugger", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "clouddeploy:v1", + "name": "clouddeploy", + "version": "v1", + "title": "Google Cloud Deploy API", + "description": "", + "discoveryRestUrl": "https://clouddeploy.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/deploy/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "clouderrorreporting:v1beta1", + "name": "clouderrorreporting", + "version": "v1beta1", + "title": "Error Reporting API", + "description": "Groups and counts similar errors from cloud services and applications, reports new errors, and provides access to error groups and their associated errors.", + "discoveryRestUrl": "https://clouderrorreporting.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/error-reporting/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "cloudfunctions:v2alpha", + "name": "cloudfunctions", + "version": "v2alpha", + "title": "Cloud Functions API", + "description": "Manages lightweight user-provided functions executed in response to events.", + "discoveryRestUrl": "https://cloudfunctions.googleapis.com/$discovery/rest?version=v2alpha", + "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" + }, + "documentationLink": "https://cloud.google.com/functions", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "cloudfunctions:v2beta", + "name": "cloudfunctions", + "version": "v2beta", + "title": "Cloud Functions API", + "description": "Manages lightweight user-provided functions executed in response to events.", + "discoveryRestUrl": "https://cloudfunctions.googleapis.com/$discovery/rest?version=v2beta", + "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" + }, + "documentationLink": "https://cloud.google.com/functions", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "cloudfunctions:v1", + "name": "cloudfunctions", + "version": "v1", + "title": "Cloud Functions API", + "description": "Manages lightweight user-provided functions executed in response to events.", + "discoveryRestUrl": "https://cloudfunctions.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/functions", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "cloudidentity:v1beta1", + "name": "cloudidentity", + "version": "v1beta1", + "title": "Cloud Identity API", + "description": "API for provisioning and managing identity resources.", + "discoveryRestUrl": "https://cloudidentity.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/identity/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "cloudidentity:v1", + "name": "cloudidentity", + "version": "v1", + "title": "Cloud Identity API", + "description": "API for provisioning and managing identity resources.", + "discoveryRestUrl": "https://cloudidentity.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/identity/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "cloudiot:v1", + "name": "cloudiot", + "version": "v1", + "title": "Cloud IoT API", + "description": "Registers and manages IoT (Internet of Things) devices that connect to the Google Cloud Platform.", + "discoveryRestUrl": "https://cloudiot.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/iot", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "cloudkms:v1", + "name": "cloudkms", + "version": "v1", + "title": "Cloud Key Management Service (KMS) API", + "description": "Manages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications.", + "discoveryRestUrl": "https://cloudkms.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/kms/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "cloudprofiler:v2", + "name": "cloudprofiler", + "version": "v2", + "title": "Stackdriver Profiler API", + "description": "Manages continuous profiling information.", + "discoveryRestUrl": "https://cloudprofiler.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://cloud.google.com/profiler/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "cloudresourcemanager:v1beta1", + "name": "cloudresourcemanager", + "version": "v1beta1", + "title": "Cloud Resource Manager API", + "description": "Creates, reads, and updates metadata for Google Cloud Platform resource containers.", + "discoveryRestUrl": "https://cloudresourcemanager.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/resource-manager", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "cloudresourcemanager:v2beta1", + "name": "cloudresourcemanager", + "version": "v2beta1", + "title": "Cloud Resource Manager API", + "description": "Creates, reads, and updates metadata for Google Cloud Platform resource containers.", + "discoveryRestUrl": "https://cloudresourcemanager.googleapis.com/$discovery/rest?version=v2beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/resource-manager", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "cloudresourcemanager:v1", + "name": "cloudresourcemanager", + "version": "v1", + "title": "Cloud Resource Manager API", + "description": "Creates, reads, and updates metadata for Google Cloud Platform resource containers.", + "discoveryRestUrl": "https://cloudresourcemanager.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/resource-manager", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "cloudresourcemanager:v2", + "name": "cloudresourcemanager", + "version": "v2", + "title": "Cloud Resource Manager API", + "description": "Creates, reads, and updates metadata for Google Cloud Platform resource containers.", + "discoveryRestUrl": "https://cloudresourcemanager.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://cloud.google.com/resource-manager", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "cloudresourcemanager:v3", + "name": "cloudresourcemanager", + "version": "v3", + "title": "Cloud Resource Manager API", + "description": "Creates, reads, and updates metadata for Google Cloud Platform resource containers.", + "discoveryRestUrl": "https://cloudresourcemanager.googleapis.com/$discovery/rest?version=v3", + "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" + }, + "documentationLink": "https://cloud.google.com/resource-manager", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "cloudscheduler:v1beta1", + "name": "cloudscheduler", + "version": "v1beta1", + "title": "Cloud Scheduler API", + "description": "Creates and manages jobs run on a regular recurring schedule.", + "discoveryRestUrl": "https://cloudscheduler.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/scheduler/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "cloudscheduler:v1", + "name": "cloudscheduler", + "version": "v1", + "title": "Cloud Scheduler API", + "description": "Creates and manages jobs run on a regular recurring schedule.", + "discoveryRestUrl": "https://cloudscheduler.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/scheduler/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "cloudsearch:v1", + "name": "cloudsearch", + "version": "v1", + "title": "Cloud Search API", + "description": "Cloud Search provides cloud-based search capabilities over Google Workspace data. The Cloud Search API allows indexing of non-Google Workspace data into Cloud Search.", + "discoveryRestUrl": "https://cloudsearch.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/cloud-search/docs/guides/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "cloudshell:v1", + "name": "cloudshell", + "version": "v1", + "title": "Cloud Shell API", + "description": "Allows users to start, configure, and connect to interactive shell sessions running in the cloud.", + "discoveryRestUrl": "https://cloudshell.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/shell/docs/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "cloudsupport:v2beta", + "name": "cloudsupport", + "version": "v2beta", + "title": "Google Cloud Support API", + "description": "Manages Google Cloud technical support cases for Customer Care support offerings.", + "discoveryRestUrl": "https://cloudsupport.googleapis.com/$discovery/rest?version=v2beta", + "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" + }, + "documentationLink": "https://cloud.google.com/support/docs/apis", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "cloudtasks:v2beta2", + "name": "cloudtasks", + "version": "v2beta2", + "title": "Cloud Tasks API", + "description": "Manages the execution of large numbers of distributed requests.", + "discoveryRestUrl": "https://cloudtasks.googleapis.com/$discovery/rest?version=v2beta2", + "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" + }, + "documentationLink": "https://cloud.google.com/tasks/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "cloudtasks:v2beta3", + "name": "cloudtasks", + "version": "v2beta3", + "title": "Cloud Tasks API", + "description": "Manages the execution of large numbers of distributed requests.", + "discoveryRestUrl": "https://cloudtasks.googleapis.com/$discovery/rest?version=v2beta3", + "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" + }, + "documentationLink": "https://cloud.google.com/tasks/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "cloudtasks:v2", + "name": "cloudtasks", + "version": "v2", + "title": "Cloud Tasks API", + "description": "Manages the execution of large numbers of distributed requests.", + "discoveryRestUrl": "https://cloudtasks.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://cloud.google.com/tasks/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "cloudtrace:v2beta1", + "name": "cloudtrace", + "version": "v2beta1", + "title": "Cloud Trace API", + "description": "Sends application trace data to Cloud Trace for viewing. Trace data is collected for all App Engine applications by default. Trace data from other applications can be provided using this API. This library is used to interact with the Cloud Trace API directly. If you are looking to instrument your application for Cloud Trace, we recommend using OpenTelemetry.", + "discoveryRestUrl": "https://cloudtrace.googleapis.com/$discovery/rest?version=v2beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/trace", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "cloudtrace:v1", + "name": "cloudtrace", + "version": "v1", + "title": "Cloud Trace API", + "description": "Sends application trace data to Cloud Trace for viewing. Trace data is collected for all App Engine applications by default. Trace data from other applications can be provided using this API. This library is used to interact with the Cloud Trace API directly. If you are looking to instrument your application for Cloud Trace, we recommend using OpenTelemetry.", + "discoveryRestUrl": "https://cloudtrace.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/trace", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "cloudtrace:v2", + "name": "cloudtrace", + "version": "v2", + "title": "Cloud Trace API", + "description": "Sends application trace data to Cloud Trace for viewing. Trace data is collected for all App Engine applications by default. Trace data from other applications can be provided using this API. This library is used to interact with the Cloud Trace API directly. If you are looking to instrument your application for Cloud Trace, we recommend using OpenTelemetry.", + "discoveryRestUrl": "https://cloudtrace.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://cloud.google.com/trace", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "composer:v1beta1", + "name": "composer", + "version": "v1beta1", + "title": "Cloud Composer API", + "description": "Manages Apache Airflow environments on Google Cloud Platform.", + "discoveryRestUrl": "https://composer.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/composer/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "composer:v1", + "name": "composer", + "version": "v1", + "title": "Cloud Composer API", + "description": "Manages Apache Airflow environments on Google Cloud Platform.", + "discoveryRestUrl": "https://composer.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/composer/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "compute:alpha", + "name": "compute", + "version": "alpha", + "title": "Compute Engine API", + "description": "Creates and runs virtual machines on Google Cloud Platform.", + "discoveryRestUrl": "https://www.googleapis.com/discovery/v1/apis/compute/alpha/rest", + "discoveryLink": "./apis/compute/alpha/rest", + "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" + }, + "documentationLink": "https://developers.google.com/compute/docs/reference/latest/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "compute:beta", + "name": "compute", + "version": "beta", + "title": "Compute Engine API", + "description": "Creates and runs virtual machines on Google Cloud Platform.", + "discoveryRestUrl": "https://www.googleapis.com/discovery/v1/apis/compute/beta/rest", + "discoveryLink": "./apis/compute/beta/rest", + "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" + }, + "documentationLink": "https://developers.google.com/compute/docs/reference/latest/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "compute:v1", + "name": "compute", + "version": "v1", + "title": "Compute Engine API", + "description": "Creates and runs virtual machines on Google Cloud Platform.", + "discoveryRestUrl": "https://www.googleapis.com/discovery/v1/apis/compute/v1/rest", + "discoveryLink": "./apis/compute/v1/rest", + "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" + }, + "documentationLink": "https://developers.google.com/compute/docs/reference/latest/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "connectors:v1", + "name": "connectors", + "version": "v1", + "title": "Connectors API", + "description": "Enables users to create and manage connections to Google Cloud services and third-party business applications using the Connectors interface.", + "discoveryRestUrl": "https://connectors.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/apigee/docs/api-platform/connectors/about-connectors", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "contactcenterinsights:v1", + "name": "contactcenterinsights", + "version": "v1", + "title": "Contact Center AI Insights API", + "description": "", + "discoveryRestUrl": "https://contactcenterinsights.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/contact-center/insights/docs", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "container:v1beta1", + "name": "container", + "version": "v1beta1", + "title": "Kubernetes Engine API", + "description": "Builds and manages container-based applications, powered by the open source Kubernetes technology.", + "discoveryRestUrl": "https://container.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/container-engine/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "container:v1", + "name": "container", + "version": "v1", + "title": "Kubernetes Engine API", + "description": "Builds and manages container-based applications, powered by the open source Kubernetes technology.", + "discoveryRestUrl": "https://container.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/container-engine/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "containeranalysis:v1alpha1", + "name": "containeranalysis", + "version": "v1alpha1", + "title": "Container Analysis API", + "description": "An implementation of the Grafeas API, which stores, and enables querying and retrieval of critical metadata about all of your software artifacts.", + "discoveryRestUrl": "https://containeranalysis.googleapis.com/$discovery/rest?version=v1alpha1", + "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" + }, + "documentationLink": "https://cloud.google.com/container-analysis/api/reference/rest/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "containeranalysis:v1beta1", + "name": "containeranalysis", + "version": "v1beta1", + "title": "Container Analysis API", + "description": "An implementation of the Grafeas API, which stores, and enables querying and retrieval of critical metadata about all of your software artifacts.", + "discoveryRestUrl": "https://containeranalysis.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/container-analysis/api/reference/rest/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "containeranalysis:v1", + "name": "containeranalysis", + "version": "v1", + "title": "Container Analysis API", + "description": "An implementation of the Grafeas API, which stores, and enables querying and retrieval of critical metadata about all of your software artifacts.", + "discoveryRestUrl": "https://containeranalysis.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/container-analysis/api/reference/rest/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "content:v2", + "name": "content", + "version": "v2", + "title": "Content API for Shopping", + "description": "Manage your product listings and accounts for Google Shopping", + "discoveryRestUrl": "https://shoppingcontent.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://developers.google.com/shopping-content/v2/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "content:v2.1", + "name": "content", + "version": "v2.1", + "title": "Content API for Shopping", + "description": "Manage your product listings and accounts for Google Shopping", + "discoveryRestUrl": "https://shoppingcontent.googleapis.com/$discovery/rest?version=v2.1", + "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" + }, + "documentationLink": "https://developers.google.com/shopping-content/v2/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "customsearch:v1", + "name": "customsearch", + "version": "v1", + "title": "Custom Search API", + "description": "Searches over a website or collection of websites", + "discoveryRestUrl": "https://customsearch.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/custom-search/v1/introduction", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "datacatalog:v1beta1", + "name": "datacatalog", + "version": "v1beta1", + "title": "Google Cloud Data Catalog API", + "description": "A fully managed and highly scalable data discovery and metadata management service.", + "discoveryRestUrl": "https://datacatalog.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/data-catalog/docs/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "datacatalog:v1", + "name": "datacatalog", + "version": "v1", + "title": "Google Cloud Data Catalog API", + "description": "A fully managed and highly scalable data discovery and metadata management service.", + "discoveryRestUrl": "https://datacatalog.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/data-catalog/docs/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "dataflow:v1b3", + "name": "dataflow", + "version": "v1b3", + "title": "Dataflow API", + "description": "Manages Google Cloud Dataflow projects on Google Cloud Platform.", + "discoveryRestUrl": "https://dataflow.googleapis.com/$discovery/rest?version=v1b3", + "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" + }, + "documentationLink": "https://cloud.google.com/dataflow", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "datafusion:v1beta1", + "name": "datafusion", + "version": "v1beta1", + "title": "Cloud Data Fusion API", + "description": "Cloud Data Fusion is a fully-managed, cloud native, enterprise data integration service for quickly building and managing data pipelines. It provides a graphical interface to increase time efficiency and reduce complexity, and allows business users, developers, and data scientists to easily and reliably build scalable data integration solutions to cleanse, prepare, blend, transfer and transform data without having to wrestle with infrastructure.", + "discoveryRestUrl": "https://datafusion.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/data-fusion/docs", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "datafusion:v1", + "name": "datafusion", + "version": "v1", + "title": "Cloud Data Fusion API", + "description": "Cloud Data Fusion is a fully-managed, cloud native, enterprise data integration service for quickly building and managing data pipelines. It provides a graphical interface to increase time efficiency and reduce complexity, and allows business users, developers, and data scientists to easily and reliably build scalable data integration solutions to cleanse, prepare, blend, transfer and transform data without having to wrestle with infrastructure.", + "discoveryRestUrl": "https://datafusion.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/data-fusion/docs", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "datalabeling:v1beta1", + "name": "datalabeling", + "version": "v1beta1", + "title": "Data Labeling API", + "description": "Public API for Google Cloud AI Data Labeling Service.", + "discoveryRestUrl": "https://datalabeling.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/data-labeling/docs/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "datamigration:v1beta1", + "name": "datamigration", + "version": "v1beta1", + "title": "Database Migration API", + "description": "Manage Cloud Database Migration Service resources on Google Cloud Platform.", + "discoveryRestUrl": "https://datamigration.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/database-migration/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "datamigration:v1", + "name": "datamigration", + "version": "v1", + "title": "Database Migration API", + "description": "Manage Cloud Database Migration Service resources on Google Cloud Platform.", + "discoveryRestUrl": "https://datamigration.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/database-migration/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "datapipelines:v1", + "name": "datapipelines", + "version": "v1", + "title": "Data pipelines API", + "description": "Data Pipelines provides an interface for creating, updating, and managing recurring Data Analytics jobs.", + "discoveryRestUrl": "https://datapipelines.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/dataflow/docs/guides/data-pipelines", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "dataplex:v1", + "name": "dataplex", + "version": "v1", + "title": "Cloud Dataplex API", + "description": "Dataplex API is used to manage the lifecycle of data lakes.", + "discoveryRestUrl": "https://dataplex.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/dataplex/docs", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "dataproc:v1", + "name": "dataproc", + "version": "v1", + "title": "Cloud Dataproc API", + "description": "Manages Hadoop-based clusters and jobs on Google Cloud Platform.", + "discoveryRestUrl": "https://dataproc.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/dataproc/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "datastore:v1beta1", + "name": "datastore", + "version": "v1beta1", + "title": "Cloud Datastore API", + "description": "Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application.", + "discoveryRestUrl": "https://datastore.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/datastore/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "datastore:v1beta3", + "name": "datastore", + "version": "v1beta3", + "title": "Cloud Datastore API", + "description": "Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application.", + "discoveryRestUrl": "https://datastore.googleapis.com/$discovery/rest?version=v1beta3", + "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" + }, + "documentationLink": "https://cloud.google.com/datastore/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "datastore:v1", + "name": "datastore", + "version": "v1", + "title": "Cloud Datastore API", + "description": "Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application.", + "discoveryRestUrl": "https://datastore.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/datastore/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "datastream:v1alpha1", + "name": "datastream", + "version": "v1alpha1", + "title": "Datastream API", + "description": "", + "discoveryRestUrl": "https://datastream.googleapis.com/$discovery/rest?version=v1alpha1", + "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" + }, + "documentationLink": "https://cloud.google.com/datastream/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "datastream:v1", + "name": "datastream", + "version": "v1", + "title": "Datastream API", + "description": "", + "discoveryRestUrl": "https://datastream.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/datastream/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "deploymentmanager:alpha", + "name": "deploymentmanager", + "version": "alpha", + "title": "Cloud Deployment Manager V2 API", + "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.", + "discoveryRestUrl": "https://deploymentmanager.googleapis.com/$discovery/rest?version=alpha", + "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" + }, + "documentationLink": "https://cloud.google.com/deployment-manager", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "deploymentmanager:v2beta", + "name": "deploymentmanager", + "version": "v2beta", + "title": "Cloud Deployment Manager V2 API", + "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.", + "discoveryRestUrl": "https://deploymentmanager.googleapis.com/$discovery/rest?version=v2beta", + "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" + }, + "documentationLink": "https://cloud.google.com/deployment-manager", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "deploymentmanager:v2", + "name": "deploymentmanager", + "version": "v2", + "title": "Cloud Deployment Manager V2 API", + "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.", + "discoveryRestUrl": "https://deploymentmanager.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://cloud.google.com/deployment-manager", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "dfareporting:v3.3", + "name": "dfareporting", + "version": "v3.3", + "title": "Campaign Manager 360 API", + "description": "Build applications to efficiently manage large or complex trafficking, reporting, and attribution workflows for Campaign Manager 360.", + "discoveryRestUrl": "https://dfareporting.googleapis.com/$discovery/rest?version=v3.3", + "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" + }, + "documentationLink": "https://developers.google.com/doubleclick-advertisers/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "dfareporting:v3.4", + "name": "dfareporting", + "version": "v3.4", + "title": "Campaign Manager 360 API", + "description": "Build applications to efficiently manage large or complex trafficking, reporting, and attribution workflows for Campaign Manager 360.", + "discoveryRestUrl": "https://dfareporting.googleapis.com/$discovery/rest?version=v3.4", + "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" + }, + "documentationLink": "https://developers.google.com/doubleclick-advertisers/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "dfareporting:v3.5", + "name": "dfareporting", + "version": "v3.5", + "title": "Campaign Manager 360 API", + "description": "Build applications to efficiently manage large or complex trafficking, reporting, and attribution workflows for Campaign Manager 360.", + "discoveryRestUrl": "https://dfareporting.googleapis.com/$discovery/rest?version=v3.5", + "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" + }, + "documentationLink": "https://developers.google.com/doubleclick-advertisers/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "dialogflow:v2beta1", + "name": "dialogflow", + "version": "v2beta1", + "title": "Dialogflow API", + "description": "Builds conversational interfaces (for example, chatbots, and voice-powered apps and devices).", + "discoveryRestUrl": "https://dialogflow.googleapis.com/$discovery/rest?version=v2beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/dialogflow/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "dialogflow:v3beta1", + "name": "dialogflow", + "version": "v3beta1", + "title": "Dialogflow API", + "description": "Builds conversational interfaces (for example, chatbots, and voice-powered apps and devices).", + "discoveryRestUrl": "https://dialogflow.googleapis.com/$discovery/rest?version=v3beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/dialogflow/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "dialogflow:v2", + "name": "dialogflow", + "version": "v2", + "title": "Dialogflow API", + "description": "Builds conversational interfaces (for example, chatbots, and voice-powered apps and devices).", + "discoveryRestUrl": "https://dialogflow.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://cloud.google.com/dialogflow/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "dialogflow:v3", + "name": "dialogflow", + "version": "v3", + "title": "Dialogflow API", + "description": "Builds conversational interfaces (for example, chatbots, and voice-powered apps and devices).", + "discoveryRestUrl": "https://dialogflow.googleapis.com/$discovery/rest?version=v3", + "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" + }, + "documentationLink": "https://cloud.google.com/dialogflow/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "digitalassetlinks:v1", + "name": "digitalassetlinks", + "version": "v1", + "title": "Digital Asset Links API", + "description": "Discovers relationships between online assets such as websites or mobile apps.", + "discoveryRestUrl": "https://digitalassetlinks.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/digital-asset-links/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "discovery:v1", + "name": "discovery", + "version": "v1", + "title": "API Discovery Service", + "description": "Google API Discovery Service allows service consumers to list the discovery metadata of all public APIs managed by the API Platform.", + "discoveryRestUrl": "https://discovery.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/discovery", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "displayvideo:v1", + "name": "displayvideo", + "version": "v1", + "title": "Display & Video 360 API", + "description": "Display & Video 360 API allows users to automate complex Display & Video 360 workflows, such as creating insertion orders and setting targeting options for individual line items.", + "discoveryRestUrl": "https://displayvideo.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/display-video/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "dlp:v2", + "name": "dlp", + "version": "v2", + "title": "Cloud Data Loss Prevention (DLP) API", + "description": "Provides methods for detection, risk analysis, and de-identification of privacy-sensitive fragments in text, images, and Google Cloud Platform storage repositories.", + "discoveryRestUrl": "https://dlp.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://cloud.google.com/dlp/docs/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "dns:v1beta2", + "name": "dns", + "version": "v1beta2", + "title": "Cloud DNS API", + "description": "", + "discoveryRestUrl": "https://dns.googleapis.com/$discovery/rest?version=v1beta2", + "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" + }, + "documentationLink": "https://cloud.google.com/dns/docs", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "dns:v1", + "name": "dns", + "version": "v1", + "title": "Cloud DNS API", + "description": "", + "discoveryRestUrl": "https://dns.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/dns/docs", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "dns:v2", + "name": "dns", + "version": "v2", + "title": "Cloud DNS API", + "description": "", + "discoveryRestUrl": "https://dns.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://cloud.google.com/dns/docs", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "docs:v1", + "name": "docs", + "version": "v1", + "title": "Google Docs API", + "description": "Reads and writes Google Docs documents.", + "discoveryRestUrl": "https://docs.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/docs/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "documentai:v1beta2", + "name": "documentai", + "version": "v1beta2", + "title": "Cloud Document AI API", + "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.", + "discoveryRestUrl": "https://documentai.googleapis.com/$discovery/rest?version=v1beta2", + "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" + }, + "documentationLink": "https://cloud.google.com/document-ai/docs/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "documentai:v1beta3", + "name": "documentai", + "version": "v1beta3", + "title": "Cloud Document AI API", + "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.", + "discoveryRestUrl": "https://documentai.googleapis.com/$discovery/rest?version=v1beta3", + "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" + }, + "documentationLink": "https://cloud.google.com/document-ai/docs/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "documentai:v1", + "name": "documentai", + "version": "v1", + "title": "Cloud Document AI API", + "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.", + "discoveryRestUrl": "https://documentai.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/document-ai/docs/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "domains:v1alpha2", + "name": "domains", + "version": "v1alpha2", + "title": "Cloud Domains API", + "description": "Enables management and configuration of domain names.", + "discoveryRestUrl": "https://domains.googleapis.com/$discovery/rest?version=v1alpha2", + "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" + }, + "documentationLink": "https://cloud.google.com/domains/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "domains:v1beta1", + "name": "domains", + "version": "v1beta1", + "title": "Cloud Domains API", + "description": "Enables management and configuration of domain names.", + "discoveryRestUrl": "https://domains.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/domains/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "domains:v1", + "name": "domains", + "version": "v1", + "title": "Cloud Domains API", + "description": "Enables management and configuration of domain names.", + "discoveryRestUrl": "https://domains.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/domains/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "domainsrdap:v1", + "name": "domainsrdap", + "version": "v1", + "title": "Domains RDAP API", + "description": "Read-only public API that lets users search for information about domain names.", + "discoveryRestUrl": "https://domainsrdap.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/domains/rdap/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "doubleclickbidmanager:v1.1", + "name": "doubleclickbidmanager", + "version": "v1.1", + "title": "DoubleClick Bid Manager API", + "description": "DoubleClick Bid Manager API allows users to manage and create campaigns and reports.", + "discoveryRestUrl": "https://doubleclickbidmanager.googleapis.com/$discovery/rest?version=v1.1", + "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" + }, + "documentationLink": "https://developers.google.com/bid-manager/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "doubleclicksearch:v2", + "name": "doubleclicksearch", + "version": "v2", + "title": "Search Ads 360 API", + "description": "The Search Ads 360 API allows developers to automate uploading conversions and downloading reports from Search Ads 360.", + "discoveryRestUrl": "https://doubleclicksearch.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://developers.google.com/search-ads", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "drive:v2", + "name": "drive", + "version": "v2", + "title": "Drive API", + "description": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.", + "discoveryRestUrl": "https://www.googleapis.com/discovery/v1/apis/drive/v2/rest", + "discoveryLink": "./apis/drive/v2/rest", + "icons": { + "x16": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_16.png", + "x32": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_32.png" + }, + "documentationLink": "https://developers.google.com/drive/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "drive:v3", + "name": "drive", + "version": "v3", + "title": "Drive API", + "description": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.", + "discoveryRestUrl": "https://www.googleapis.com/discovery/v1/apis/drive/v3/rest", + "discoveryLink": "./apis/drive/v3/rest", + "icons": { + "x16": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_16.png", + "x32": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_32.png" + }, + "documentationLink": "https://developers.google.com/drive/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "driveactivity:v2", + "name": "driveactivity", + "version": "v2", + "title": "Drive Activity API", + "description": "Provides a historical view of activity in Google Drive.", + "discoveryRestUrl": "https://driveactivity.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://developers.google.com/drive/activity/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "essentialcontacts:v1", + "name": "essentialcontacts", + "version": "v1", + "title": "Essential Contacts API", + "description": "", + "discoveryRestUrl": "https://essentialcontacts.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/essentialcontacts/docs/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "eventarc:v1beta1", + "name": "eventarc", + "version": "v1beta1", + "title": "Eventarc API", + "description": "", + "discoveryRestUrl": "https://eventarc.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/eventarc", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "eventarc:v1", + "name": "eventarc", + "version": "v1", + "title": "Eventarc API", + "description": "", + "discoveryRestUrl": "https://eventarc.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/eventarc", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "factchecktools:v1alpha1", + "name": "factchecktools", + "version": "v1alpha1", + "title": "Fact Check Tools API", + "description": "", + "discoveryRestUrl": "https://factchecktools.googleapis.com/$discovery/rest?version=v1alpha1", + "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" + }, + "documentationLink": "https://developers.google.com/fact-check/tools/api/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "fcm:v1", + "name": "fcm", + "version": "v1", + "title": "Firebase Cloud Messaging API", + "description": "FCM send API that provides a cross-platform messaging solution to reliably deliver messages at no cost.", + "discoveryRestUrl": "https://fcm.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://firebase.google.com/docs/cloud-messaging", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "fcmdata:v1beta1", + "name": "fcmdata", + "version": "v1beta1", + "title": "Firebase Cloud Messaging Data API", + "description": "Provides additional information about Firebase Cloud Messaging (FCM) message sends and deliveries.", + "discoveryRestUrl": "https://fcmdata.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://firebase.google.com/docs/cloud-messaging", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "file:v1beta1", + "name": "file", + "version": "v1beta1", + "title": "Cloud Filestore API", + "description": "The Cloud Filestore API is used for creating and managing cloud file servers.", + "discoveryRestUrl": "https://file.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/filestore/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "file:v1", + "name": "file", + "version": "v1", + "title": "Cloud Filestore API", + "description": "The Cloud Filestore API is used for creating and managing cloud file servers.", + "discoveryRestUrl": "https://file.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/filestore/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "firebase:v1beta1", + "name": "firebase", + "version": "v1beta1", + "title": "Firebase Management API", + "description": "The Firebase Management API enables programmatic setup and management of Firebase projects, including a project's Firebase resources and Firebase apps.", + "discoveryRestUrl": "https://firebase.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://firebase.google.com", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "firebaseappcheck:v1beta", + "name": "firebaseappcheck", + "version": "v1beta", + "title": "Firebase App Check API", + "description": "Firebase App Check works alongside other Firebase services to help protect your backend resources from abuse, such as billing fraud or phishing.", + "discoveryRestUrl": "https://firebaseappcheck.googleapis.com/$discovery/rest?version=v1beta", + "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" + }, + "documentationLink": "https://firebase.google.com/docs/app-check", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "firebasedatabase:v1beta", + "name": "firebasedatabase", + "version": "v1beta", + "title": "Firebase Realtime Database Management API", + "description": "The Firebase Realtime Database Management API enables programmatic provisioning and management of Realtime Database instances.", + "discoveryRestUrl": "https://firebasedatabase.googleapis.com/$discovery/rest?version=v1beta", + "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" + }, + "documentationLink": "https://firebase.google.com/docs/reference/rest/database/database-management/rest/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "firebasedynamiclinks:v1", + "name": "firebasedynamiclinks", + "version": "v1", + "title": "Firebase Dynamic Links API", + "description": "Programmatically creates and manages Firebase Dynamic Links.", + "discoveryRestUrl": "https://firebasedynamiclinks.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://firebase.google.com/docs/dynamic-links/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "firebasehosting:v1beta1", + "name": "firebasehosting", + "version": "v1beta1", + "title": "Firebase Hosting API", + "description": "The Firebase Hosting REST API enables programmatic and customizable management and deployments to your Firebase-hosted sites. Use this REST API to create and manage channels and sites as well as to deploy new or updated hosting configurations and content files.", + "discoveryRestUrl": "https://firebasehosting.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://firebase.google.com/docs/hosting/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "firebasehosting:v1", + "name": "firebasehosting", + "version": "v1", + "title": "Firebase Hosting API", + "description": "The Firebase Hosting REST API enables programmatic and customizable management and deployments to your Firebase-hosted sites. Use this REST API to create and manage channels and sites as well as to deploy new or updated hosting configurations and content files.", + "discoveryRestUrl": "https://firebasehosting.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://firebase.google.com/docs/hosting/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "firebaseml:v1beta2", + "name": "firebaseml", + "version": "v1beta2", + "title": "Firebase ML API", + "description": "Access custom machine learning models hosted via Firebase ML.", + "discoveryRestUrl": "https://firebaseml.googleapis.com/$discovery/rest?version=v1beta2", + "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" + }, + "documentationLink": "https://firebase.google.com", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "firebaseml:v1", + "name": "firebaseml", + "version": "v1", + "title": "Firebase ML API", + "description": "Access custom machine learning models hosted via Firebase ML.", + "discoveryRestUrl": "https://firebaseml.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://firebase.google.com", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "firebaserules:v1", + "name": "firebaserules", + "version": "v1", + "title": "Firebase Rules API", + "description": "Creates and manages rules that determine when a Firebase Rules-enabled service should permit a request.", + "discoveryRestUrl": "https://firebaserules.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://firebase.google.com/docs/storage/security", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "firebasestorage:v1beta", + "name": "firebasestorage", + "version": "v1beta", + "title": "Cloud Storage for Firebase API", + "description": "The Cloud Storage for Firebase API enables programmatic management of Cloud Storage buckets for use in Firebase projects", + "discoveryRestUrl": "https://firebasestorage.googleapis.com/$discovery/rest?version=v1beta", + "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" + }, + "documentationLink": "https://firebase.google.com/docs/storage", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "firestore:v1beta1", + "name": "firestore", + "version": "v1beta1", + "title": "Cloud Firestore API", + "description": "Accesses the NoSQL document database built for automatic scaling, high performance, and ease of application development.", + "discoveryRestUrl": "https://firestore.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/firestore", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "firestore:v1beta2", + "name": "firestore", + "version": "v1beta2", + "title": "Cloud Firestore API", + "description": "Accesses the NoSQL document database built for automatic scaling, high performance, and ease of application development.", + "discoveryRestUrl": "https://firestore.googleapis.com/$discovery/rest?version=v1beta2", + "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" + }, + "documentationLink": "https://cloud.google.com/firestore", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "firestore:v1", + "name": "firestore", + "version": "v1", + "title": "Cloud Firestore API", + "description": "Accesses the NoSQL document database built for automatic scaling, high performance, and ease of application development.", + "discoveryRestUrl": "https://firestore.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/firestore", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "fitness:v1", + "name": "fitness", + "version": "v1", + "title": "Fitness API", + "description": "The Fitness API for managing users' fitness tracking data.", + "discoveryRestUrl": "https://fitness.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/fit/rest/v1/get-started", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "games:v1", + "name": "games", + "version": "v1", + "title": "Google Play Game Services", + "description": "The Google Play games service allows developers to enhance games with social leaderboards, achievements, game state, sign-in with Google, and more.", + "discoveryRestUrl": "https://games.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/games/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "gamesConfiguration:v1configuration", + "name": "gamesConfiguration", + "version": "v1configuration", + "title": "Google Play Game Services Publishing API", + "description": "The Google Play Game Services Publishing API allows developers to configure their games in Game Services.", + "discoveryRestUrl": "https://gamesconfiguration.googleapis.com/$discovery/rest?version=v1configuration", + "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" + }, + "documentationLink": "https://developers.google.com/games/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "gamesManagement:v1management", + "name": "gamesManagement", + "version": "v1management", + "title": "Google Play Game Management", + "description": "The Google Play Game Management API allows developers to manage resources from the Google Play Game service.", + "discoveryRestUrl": "https://gamesmanagement.googleapis.com/$discovery/rest?version=v1management", + "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" + }, + "documentationLink": "https://developers.google.com/games/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "gameservices:v1beta", + "name": "gameservices", + "version": "v1beta", + "title": "Game Services API", + "description": "Deploy and manage infrastructure for global multiplayer gaming experiences.", + "discoveryRestUrl": "https://gameservices.googleapis.com/$discovery/rest?version=v1beta", + "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" + }, + "documentationLink": "https://cloud.google.com/solutions/gaming/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "gameservices:v1", + "name": "gameservices", + "version": "v1", + "title": "Game Services API", + "description": "Deploy and manage infrastructure for global multiplayer gaming experiences.", + "discoveryRestUrl": "https://gameservices.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/solutions/gaming/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "genomics:v2alpha1", + "name": "genomics", + "version": "v2alpha1", + "title": "Genomics API", + "description": "Uploads, processes, queries, and searches Genomics data in the cloud.", + "discoveryRestUrl": "https://genomics.googleapis.com/$discovery/rest?version=v2alpha1", + "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" + }, + "documentationLink": "https://cloud.google.com/genomics", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "gkehub:v1alpha", + "name": "gkehub", + "version": "v1alpha", + "title": "GKE Hub API", + "description": "", + "discoveryRestUrl": "https://gkehub.googleapis.com/$discovery/rest?version=v1alpha", + "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" + }, + "documentationLink": "https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "gkehub:v1alpha2", + "name": "gkehub", + "version": "v1alpha2", + "title": "GKE Hub API", + "description": "", + "discoveryRestUrl": "https://gkehub.googleapis.com/$discovery/rest?version=v1alpha2", + "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" + }, + "documentationLink": "https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "gkehub:v2alpha", + "name": "gkehub", + "version": "v2alpha", + "title": "GKE Hub API", + "description": "", + "discoveryRestUrl": "https://gkehub.googleapis.com/$discovery/rest?version=v2alpha", + "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" + }, + "documentationLink": "https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "gkehub:v1beta", + "name": "gkehub", + "version": "v1beta", + "title": "GKE Hub API", + "description": "", + "discoveryRestUrl": "https://gkehub.googleapis.com/$discovery/rest?version=v1beta", + "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" + }, + "documentationLink": "https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "gkehub:v1beta1", + "name": "gkehub", + "version": "v1beta1", + "title": "GKE Hub API", + "description": "", + "discoveryRestUrl": "https://gkehub.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "gkehub:v1", + "name": "gkehub", + "version": "v1", + "title": "GKE Hub API", + "description": "", + "discoveryRestUrl": "https://gkehub.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "gmail:v1", + "name": "gmail", + "version": "v1", + "title": "Gmail API", + "description": "The Gmail API lets you view and manage Gmail mailbox data like threads, messages, and labels.", + "discoveryRestUrl": "https://gmail.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/gmail/api/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "gmailpostmastertools:v1beta1", + "name": "gmailpostmastertools", + "version": "v1beta1", + "title": "Gmail Postmaster Tools API", + "description": "The Postmaster Tools API is a RESTful API that provides programmatic access to email traffic metrics (like spam reports, delivery errors etc) otherwise available through the Gmail Postmaster Tools UI currently.", + "discoveryRestUrl": "https://gmailpostmastertools.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://developers.google.com/gmail/postmaster", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "gmailpostmastertools:v1", + "name": "gmailpostmastertools", + "version": "v1", + "title": "Gmail Postmaster Tools API", + "description": "The Postmaster Tools API is a RESTful API that provides programmatic access to email traffic metrics (like spam reports, delivery errors etc) otherwise available through the Gmail Postmaster Tools UI currently.", + "discoveryRestUrl": "https://gmailpostmastertools.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/gmail/postmaster", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "groupsmigration:v1", + "name": "groupsmigration", + "version": "v1", + "title": "Groups Migration API", + "description": "The Groups Migration API allows domain administrators to archive emails into Google groups.", + "discoveryRestUrl": "https://groupsmigration.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/google-apps/groups-migration/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "groupssettings:v1", + "name": "groupssettings", + "version": "v1", + "title": "Groups Settings API", + "description": "The Groups Settings API allows domain administrators to view and manage access levels and advanced settings for a group.", + "discoveryRestUrl": "https://groupssettings.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/admin-sdk/groups-settings", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "healthcare:v1beta1", + "name": "healthcare", + "version": "v1beta1", + "title": "Cloud Healthcare API", + "description": "Manage, store, and access healthcare data in Google Cloud Platform.", + "discoveryRestUrl": "https://healthcare.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/healthcare", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "healthcare:v1", + "name": "healthcare", + "version": "v1", + "title": "Cloud Healthcare API", + "description": "Manage, store, and access healthcare data in Google Cloud Platform.", + "discoveryRestUrl": "https://healthcare.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/healthcare", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "homegraph:v1", + "name": "homegraph", + "version": "v1", + "title": "HomeGraph API", + "description": "", + "discoveryRestUrl": "https://homegraph.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/actions/smarthome/create-app#request-sync", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "iam:v1", + "name": "iam", + "version": "v1", + "title": "Identity and Access Management (IAM) API", + "description": "Manages identity and access control for Google Cloud Platform resources, including the creation of service accounts, which you can use to authenticate to Google and make API calls.", + "discoveryRestUrl": "https://iam.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/iam/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "iamcredentials:v1", + "name": "iamcredentials", + "version": "v1", + "title": "IAM Service Account Credentials API", + "description": "Creates short-lived credentials for impersonating IAM service accounts. To enable this API, you must enable the IAM API (iam.googleapis.com).", + "discoveryRestUrl": "https://iamcredentials.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/iam/docs/creating-short-lived-service-account-credentials", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "iap:v1beta1", + "name": "iap", + "version": "v1beta1", + "title": "Cloud Identity-Aware Proxy API", + "description": "Controls access to cloud applications running on Google Cloud Platform.", + "discoveryRestUrl": "https://iap.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/iap", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "iap:v1", + "name": "iap", + "version": "v1", + "title": "Cloud Identity-Aware Proxy API", + "description": "Controls access to cloud applications running on Google Cloud Platform.", + "discoveryRestUrl": "https://iap.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/iap", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "ideahub:v1alpha", + "name": "ideahub", + "version": "v1alpha", + "title": "Idea Hub API", + "description": "This is an invitation-only API.", + "discoveryRestUrl": "https://ideahub.googleapis.com/$discovery/rest?version=v1alpha", + "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" + }, + "documentationLink": "https://console.cloud.google.com/apis/library/ideahub.googleapis.com", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "ideahub:v1beta", + "name": "ideahub", + "version": "v1beta", + "title": "Idea Hub API", + "description": "This is an invitation-only API.", + "discoveryRestUrl": "https://ideahub.googleapis.com/$discovery/rest?version=v1beta", + "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" + }, + "documentationLink": "https://console.cloud.google.com/apis/library/ideahub.googleapis.com", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "identitytoolkit:v3", + "name": "identitytoolkit", + "version": "v3", + "title": "Identity Toolkit API", + "description": "The Google Identity Toolkit API lets you use open standards to verify a user's identity.", + "discoveryRestUrl": "https://identitytoolkit.googleapis.com/$discovery/rest?version=v3", + "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" + }, + "documentationLink": "https://firebase.google.com/docs/auth/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "ids:v1", + "name": "ids", + "version": "v1", + "title": "Cloud IDS API", + "description": "Cloud IDS (Cloud Intrusion Detection System) detects malware, spyware, command-and-control attacks, and other network-based threats. Its security efficacy is industry leading, built with Palo Alto Networks technologies. When you use this product, your organization name and consumption levels will be shared with Palo Alto Networks.", + "discoveryRestUrl": "https://ids.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "indexing:v3", + "name": "indexing", + "version": "v3", + "title": "Indexing API", + "description": "Notifies Google when your web pages change.", + "discoveryRestUrl": "https://indexing.googleapis.com/$discovery/rest?version=v3", + "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" + }, + "documentationLink": "https://developers.google.com/search/apis/indexing-api/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "jobs:v3p1beta1", + "name": "jobs", + "version": "v3p1beta1", + "title": "Cloud Talent Solution API", + "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.", + "discoveryRestUrl": "https://jobs.googleapis.com/$discovery/rest?version=v3p1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/talent-solution/job-search/docs/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "jobs:v3", + "name": "jobs", + "version": "v3", + "title": "Cloud Talent Solution API", + "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.", + "discoveryRestUrl": "https://jobs.googleapis.com/$discovery/rest?version=v3", + "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" + }, + "documentationLink": "https://cloud.google.com/talent-solution/job-search/docs/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "jobs:v4", + "name": "jobs", + "version": "v4", + "title": "Cloud Talent Solution API", + "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.", + "discoveryRestUrl": "https://jobs.googleapis.com/$discovery/rest?version=v4", + "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" + }, + "documentationLink": "https://cloud.google.com/talent-solution/job-search/docs/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "keep:v1", + "name": "keep", + "version": "v1", + "title": "Google Keep API", + "description": "This API is an enterprise-only API used to create and manage the Keep notes within your domain, including resolving issues identified by CASB software.", + "discoveryRestUrl": "https://keep.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/keep/api", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "kgsearch:v1", + "name": "kgsearch", + "version": "v1", + "title": "Knowledge Graph Search API", + "description": "Searches the Google Knowledge Graph for entities.", + "discoveryRestUrl": "https://kgsearch.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/knowledge-graph/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "language:v1beta1", + "name": "language", + "version": "v1beta1", + "title": "Cloud Natural Language API", + "description": "Provides natural language understanding technologies, such as sentiment analysis, entity recognition, entity sentiment analysis, and other text annotations, to developers.", + "discoveryRestUrl": "https://language.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/natural-language/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "language:v1beta2", + "name": "language", + "version": "v1beta2", + "title": "Cloud Natural Language API", + "description": "Provides natural language understanding technologies, such as sentiment analysis, entity recognition, entity sentiment analysis, and other text annotations, to developers.", + "discoveryRestUrl": "https://language.googleapis.com/$discovery/rest?version=v1beta2", + "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" + }, + "documentationLink": "https://cloud.google.com/natural-language/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "language:v1", + "name": "language", + "version": "v1", + "title": "Cloud Natural Language API", + "description": "Provides natural language understanding technologies, such as sentiment analysis, entity recognition, entity sentiment analysis, and other text annotations, to developers.", + "discoveryRestUrl": "https://language.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/natural-language/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "libraryagent:v1", + "name": "libraryagent", + "version": "v1", + "title": "Library Agent API", + "description": "A simple Google Example Library API.", + "discoveryRestUrl": "https://libraryagent.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/docs/quota", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "licensing:v1", + "name": "licensing", + "version": "v1", + "title": "Enterprise License Manager API", + "description": "The Google Enterprise License Manager API's allows you to license apps for all the users of a domain managed by you.", + "discoveryRestUrl": "https://licensing.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/admin-sdk/licensing/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "lifesciences:v2beta", + "name": "lifesciences", + "version": "v2beta", + "title": "Cloud Life Sciences API", + "description": "Cloud Life Sciences is a suite of services and tools for managing, processing, and transforming life sciences data.", + "discoveryRestUrl": "https://lifesciences.googleapis.com/$discovery/rest?version=v2beta", + "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" + }, + "documentationLink": "https://cloud.google.com/life-sciences", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "localservices:v1", + "name": "localservices", + "version": "v1", + "title": "Local Services API", + "description": "", + "discoveryRestUrl": "https://localservices.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://ads.google.com/local-services-ads/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "logging:v2", + "name": "logging", + "version": "v2", + "title": "Cloud Logging API", + "description": "Writes log entries and manages your Cloud Logging configuration.", + "discoveryRestUrl": "https://logging.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://cloud.google.com/logging/docs/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "managedidentities:v1alpha1", + "name": "managedidentities", + "version": "v1alpha1", + "title": "Managed Service for Microsoft Active Directory API", + "description": "The Managed Service for Microsoft Active Directory API is used for managing a highly available, hardened service running Microsoft Active Directory (AD).", + "discoveryRestUrl": "https://managedidentities.googleapis.com/$discovery/rest?version=v1alpha1", + "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" + }, + "documentationLink": "https://cloud.google.com/managed-microsoft-ad/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "managedidentities:v1beta1", + "name": "managedidentities", + "version": "v1beta1", + "title": "Managed Service for Microsoft Active Directory API", + "description": "The Managed Service for Microsoft Active Directory API is used for managing a highly available, hardened service running Microsoft Active Directory (AD).", + "discoveryRestUrl": "https://managedidentities.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/managed-microsoft-ad/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "managedidentities:v1", + "name": "managedidentities", + "version": "v1", + "title": "Managed Service for Microsoft Active Directory API", + "description": "The Managed Service for Microsoft Active Directory API is used for managing a highly available, hardened service running Microsoft Active Directory (AD).", + "discoveryRestUrl": "https://managedidentities.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/managed-microsoft-ad/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "manufacturers:v1", + "name": "manufacturers", + "version": "v1", + "title": "Manufacturer Center API", + "description": "Public API for managing Manufacturer Center related data.", + "discoveryRestUrl": "https://manufacturers.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/manufacturers/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "memcache:v1beta2", + "name": "memcache", + "version": "v1beta2", + "title": "Cloud Memorystore for Memcached API", + "description": "Google Cloud Memorystore for Memcached API is used for creating and managing Memcached instances in GCP.", + "discoveryRestUrl": "https://memcache.googleapis.com/$discovery/rest?version=v1beta2", + "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" + }, + "documentationLink": "https://cloud.google.com/memorystore/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "memcache:v1", + "name": "memcache", + "version": "v1", + "title": "Cloud Memorystore for Memcached API", + "description": "Google Cloud Memorystore for Memcached API is used for creating and managing Memcached instances in GCP.", + "discoveryRestUrl": "https://memcache.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/memorystore/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "metastore:v1alpha", + "name": "metastore", + "version": "v1alpha", + "title": "Dataproc Metastore API", + "description": "The Dataproc Metastore API is used to manage the lifecycle and configuration of metastore services.", + "discoveryRestUrl": "https://metastore.googleapis.com/$discovery/rest?version=v1alpha", + "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" + }, + "documentationLink": "https://cloud.google.com/dataproc-metastore/docs", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "metastore:v1beta", + "name": "metastore", + "version": "v1beta", + "title": "Dataproc Metastore API", + "description": "The Dataproc Metastore API is used to manage the lifecycle and configuration of metastore services.", + "discoveryRestUrl": "https://metastore.googleapis.com/$discovery/rest?version=v1beta", + "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" + }, + "documentationLink": "https://cloud.google.com/dataproc-metastore/docs", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "ml:v1", + "name": "ml", + "version": "v1", + "title": "AI Platform Training & Prediction API", + "description": "An API to enable creating and using machine learning models.", + "discoveryRestUrl": "https://ml.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/ml/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "monitoring:v1", + "name": "monitoring", + "version": "v1", + "title": "Cloud Monitoring API", + "description": "Manages your Cloud Monitoring data and configurations.", + "discoveryRestUrl": "https://monitoring.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/monitoring/api/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "monitoring:v3", + "name": "monitoring", + "version": "v3", + "title": "Cloud Monitoring API", + "description": "Manages your Cloud Monitoring data and configurations.", + "discoveryRestUrl": "https://monitoring.googleapis.com/$discovery/rest?version=v3", + "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" + }, + "documentationLink": "https://cloud.google.com/monitoring/api/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "mybusinessaccountmanagement:v1", + "name": "mybusinessaccountmanagement", + "version": "v1", + "title": "My Business Account Management API", + "description": "The My Business Account Management API provides an interface for managing access to a location on Google.", + "discoveryRestUrl": "https://mybusinessaccountmanagement.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/my-business/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "mybusinessbusinesscalls:v1", + "name": "mybusinessbusinesscalls", + "version": "v1", + "title": "My Business Business Calls API", + "description": "The My Business Business Calls API manages business calls information of a location on Google.", + "discoveryRestUrl": "https://mybusinessbusinesscalls.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/my-business/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "mybusinessbusinessinformation:v1", + "name": "mybusinessbusinessinformation", + "version": "v1", + "title": "My Business Business Information API", + "description": "The My Business Business Information API provides an interface for managing business information on Google.", + "discoveryRestUrl": "https://mybusinessbusinessinformation.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/my-business/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "mybusinesslodging:v1", + "name": "mybusinesslodging", + "version": "v1", + "title": "My Business Lodging API", + "description": "The My Business Lodging API enables managing lodging business information on Google.", + "discoveryRestUrl": "https://mybusinesslodging.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/my-business/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "mybusinessnotifications:v1", + "name": "mybusinessnotifications", + "version": "v1", + "title": "My Business Notifications API", + "description": "The My Business Notification Settings API enables managing notification settings for business accounts.", + "discoveryRestUrl": "https://mybusinessnotifications.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/my-business/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "mybusinessplaceactions:v1", + "name": "mybusinessplaceactions", + "version": "v1", + "title": "My Business Place Actions API", + "description": "The My Business Place Actions API provides an interface for managing place action links of a location on Google.", + "discoveryRestUrl": "https://mybusinessplaceactions.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/my-business/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "mybusinessqanda:v1", + "name": "mybusinessqanda", + "version": "v1", + "title": "My Business Q&A API", + "description": "The My Business Q&A API allows questions and answers to be posted for specific listings.", + "discoveryRestUrl": "https://mybusinessqanda.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/my-business/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "mybusinessverifications:v1", + "name": "mybusinessverifications", + "version": "v1", + "title": "My Business Verifications API", + "description": "The My Business Verifications API provides an interface for taking verifications related actions for locations.", + "discoveryRestUrl": "https://mybusinessverifications.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/my-business/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "networkconnectivity:v1alpha1", + "name": "networkconnectivity", + "version": "v1alpha1", + "title": "Network Connectivity API", + "description": "The Network Connectivity API provides access to Network Connectivity Center.", + "discoveryRestUrl": "https://networkconnectivity.googleapis.com/$discovery/rest?version=v1alpha1", + "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" + }, + "documentationLink": "https://cloud.google.com/network-connectivity/docs/reference/networkconnectivity/rest", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "networkconnectivity:v1", + "name": "networkconnectivity", + "version": "v1", + "title": "Network Connectivity API", + "description": "The Network Connectivity API provides access to Network Connectivity Center.", + "discoveryRestUrl": "https://networkconnectivity.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/network-connectivity/docs/reference/networkconnectivity/rest", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "networkmanagement:v1beta1", + "name": "networkmanagement", + "version": "v1beta1", + "title": "Network Management API", + "description": "The Network Management API provides a collection of network performance monitoring and diagnostic capabilities.", + "discoveryRestUrl": "https://networkmanagement.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "networkmanagement:v1", + "name": "networkmanagement", + "version": "v1", + "title": "Network Management API", + "description": "The Network Management API provides a collection of network performance monitoring and diagnostic capabilities.", + "discoveryRestUrl": "https://networkmanagement.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "networksecurity:v1beta1", + "name": "networksecurity", + "version": "v1beta1", + "title": "Network Security API", + "description": "", + "discoveryRestUrl": "https://networksecurity.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/networking", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "networksecurity:v1", + "name": "networksecurity", + "version": "v1", + "title": "Network Security API", + "description": "", + "discoveryRestUrl": "https://networksecurity.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/networking", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "networkservices:v1beta1", + "name": "networkservices", + "version": "v1beta1", + "title": "Network Services API", + "description": "", + "discoveryRestUrl": "https://networkservices.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/networking", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "networkservices:v1", + "name": "networkservices", + "version": "v1", + "title": "Network Services API", + "description": "", + "discoveryRestUrl": "https://networkservices.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/networking", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "notebooks:v1", + "name": "notebooks", + "version": "v1", + "title": "Notebooks API", + "description": "Notebooks API is used to manage notebook resources in Google Cloud.", + "discoveryRestUrl": "https://notebooks.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/notebooks/docs/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "oauth2:v2", + "name": "oauth2", + "version": "v2", + "title": "Google OAuth2 API", + "description": "[Deprecated] Obtains end-user authorization grants for use with other Google APIs.", + "discoveryRestUrl": "https://www.googleapis.com/discovery/v1/apis/oauth2/v2/rest", + "discoveryLink": "./apis/oauth2/v2/rest", + "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" + }, + "documentationLink": "https://developers.google.com/accounts/docs/OAuth2", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "ondemandscanning:v1beta1", + "name": "ondemandscanning", + "version": "v1beta1", + "title": "On-Demand Scanning API", + "description": "A service to scan container images for vulnerabilities.", + "discoveryRestUrl": "https://ondemandscanning.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/container-analysis/docs/on-demand-scanning/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "ondemandscanning:v1", + "name": "ondemandscanning", + "version": "v1", + "title": "On-Demand Scanning API", + "description": "A service to scan container images for vulnerabilities.", + "discoveryRestUrl": "https://ondemandscanning.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/container-analysis/docs/on-demand-scanning/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "orgpolicy:v2", + "name": "orgpolicy", + "version": "v2", + "title": "Organization Policy API", + "description": "The Org Policy API allows users to configure governance rules on their GCP resources across the Cloud Resource Hierarchy.", + "discoveryRestUrl": "https://orgpolicy.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://cloud.google.com/orgpolicy/docs/reference/rest/index.html", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "osconfig:v1alpha", + "name": "osconfig", + "version": "v1alpha", + "title": "OS Config API", + "description": "OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances.", + "discoveryRestUrl": "https://osconfig.googleapis.com/$discovery/rest?version=v1alpha", + "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" + }, + "documentationLink": "https://cloud.google.com/compute/docs/osconfig/rest", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "osconfig:v1beta", + "name": "osconfig", + "version": "v1beta", + "title": "OS Config API", + "description": "OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances.", + "discoveryRestUrl": "https://osconfig.googleapis.com/$discovery/rest?version=v1beta", + "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" + }, + "documentationLink": "https://cloud.google.com/compute/docs/osconfig/rest", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "osconfig:v1", + "name": "osconfig", + "version": "v1", + "title": "OS Config API", + "description": "OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances.", + "discoveryRestUrl": "https://osconfig.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/compute/docs/osconfig/rest", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "oslogin:v1alpha", + "name": "oslogin", + "version": "v1alpha", + "title": "Cloud OS Login API", + "description": "You can use OS Login to manage access to your VM instances using IAM roles.", + "discoveryRestUrl": "https://oslogin.googleapis.com/$discovery/rest?version=v1alpha", + "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" + }, + "documentationLink": "https://cloud.google.com/compute/docs/oslogin/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "oslogin:v1beta", + "name": "oslogin", + "version": "v1beta", + "title": "Cloud OS Login API", + "description": "You can use OS Login to manage access to your VM instances using IAM roles.", + "discoveryRestUrl": "https://oslogin.googleapis.com/$discovery/rest?version=v1beta", + "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" + }, + "documentationLink": "https://cloud.google.com/compute/docs/oslogin/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "oslogin:v1", + "name": "oslogin", + "version": "v1", + "title": "Cloud OS Login API", + "description": "You can use OS Login to manage access to your VM instances using IAM roles.", + "discoveryRestUrl": "https://oslogin.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/compute/docs/oslogin/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "pagespeedonline:v5", + "name": "pagespeedonline", + "version": "v5", + "title": "PageSpeed Insights API", + "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.", + "discoveryRestUrl": "https://pagespeedonline.googleapis.com/$discovery/rest?version=v5", + "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" + }, + "documentationLink": "https://developers.google.com/speed/docs/insights/v5/about", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "paymentsresellersubscription:v1", + "name": "paymentsresellersubscription", + "version": "v1", + "title": "Payments Reseller Subscription API", + "description": "", + "discoveryRestUrl": "https://paymentsresellersubscription.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/payments/reseller/subscription/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "people:v1", + "name": "people", + "version": "v1", + "title": "People API", + "description": "Provides access to information about profiles and contacts.", + "discoveryRestUrl": "https://people.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/people/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "playcustomapp:v1", + "name": "playcustomapp", + "version": "v1", + "title": "Google Play Custom App Publishing API", + "description": "API to create and publish custom Android apps", + "discoveryRestUrl": "https://playcustomapp.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/android/work/play/custom-app-api/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "playintegrity:v1", + "name": "playintegrity", + "version": "v1", + "title": "Google Play Integrity API", + "description": "Play Integrity", + "discoveryRestUrl": "https://playintegrity.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developer.android.com/google/play/integrity", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "policyanalyzer:v1beta1", + "name": "policyanalyzer", + "version": "v1beta1", + "title": "Policy Analyzer API", + "description": "", + "discoveryRestUrl": "https://policyanalyzer.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://www.google.com", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "policyanalyzer:v1", + "name": "policyanalyzer", + "version": "v1", + "title": "Policy Analyzer API", + "description": "", + "discoveryRestUrl": "https://policyanalyzer.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://www.google.com", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "policysimulator:v1beta1", + "name": "policysimulator", + "version": "v1beta1", + "title": "Policy Simulator API", + "description": "Policy Simulator is a collection of endpoints for creating, running, and viewing a [Replay][google.cloud.policysimulator.v1beta1.Replay]. A `Replay` is a type of simulation that lets you see how your members' access to resources might change if you changed your IAM policy. During a `Replay`, Policy Simulator re-evaluates, or replays, past access attempts under both the current policy and your proposed policy, and compares those results to determine how your members' access might change under the proposed policy.", + "discoveryRestUrl": "https://policysimulator.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/iam/docs/simulating-access", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "policysimulator:v1", + "name": "policysimulator", + "version": "v1", + "title": "Policy Simulator API", + "description": "Policy Simulator is a collection of endpoints for creating, running, and viewing a [Replay][google.cloud.policysimulator.v1beta1.Replay]. A `Replay` is a type of simulation that lets you see how your members' access to resources might change if you changed your IAM policy. During a `Replay`, Policy Simulator re-evaluates, or replays, past access attempts under both the current policy and your proposed policy, and compares those results to determine how your members' access might change under the proposed policy.", + "discoveryRestUrl": "https://policysimulator.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/iam/docs/simulating-access", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "policytroubleshooter:v1beta", + "name": "policytroubleshooter", + "version": "v1beta", + "title": "Policy Troubleshooter API", + "description": "", + "discoveryRestUrl": "https://policytroubleshooter.googleapis.com/$discovery/rest?version=v1beta", + "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" + }, + "documentationLink": "https://cloud.google.com/iam/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "policytroubleshooter:v1", + "name": "policytroubleshooter", + "version": "v1", + "title": "Policy Troubleshooter API", + "description": "", + "discoveryRestUrl": "https://policytroubleshooter.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/iam/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "poly:v1", + "name": "poly", + "version": "v1", + "title": "Poly API", + "description": "The Poly API provides read access to assets hosted on poly.google.com to all, and upload access to poly.google.com for whitelisted accounts.", + "discoveryRestUrl": "https://poly.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/poly/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "privateca:v1beta1", + "name": "privateca", + "version": "v1beta1", + "title": "Certificate Authority API", + "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.", + "discoveryRestUrl": "https://privateca.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "privateca:v1", + "name": "privateca", + "version": "v1", + "title": "Certificate Authority API", + "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.", + "discoveryRestUrl": "https://privateca.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "prod_tt_sasportal:v1alpha1", + "name": "prod_tt_sasportal", + "version": "v1alpha1", + "title": "SAS Portal API (Testing)", + "description": "", + "discoveryRestUrl": "https://prod-tt-sasportal.googleapis.com/$discovery/rest?version=v1alpha1", + "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" + }, + "documentationLink": "https://developers.google.com/spectrum-access-system/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "pubsub:v1beta1a", + "name": "pubsub", + "version": "v1beta1a", + "title": "Cloud Pub/Sub API", + "description": "Provides reliable, many-to-many, asynchronous messaging between applications.", + "discoveryRestUrl": "https://pubsub.googleapis.com/$discovery/rest?version=v1beta1a", + "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" + }, + "documentationLink": "https://cloud.google.com/pubsub/docs", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "pubsub:v1beta2", + "name": "pubsub", + "version": "v1beta2", + "title": "Cloud Pub/Sub API", + "description": "Provides reliable, many-to-many, asynchronous messaging between applications.", + "discoveryRestUrl": "https://pubsub.googleapis.com/$discovery/rest?version=v1beta2", + "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" + }, + "documentationLink": "https://cloud.google.com/pubsub/docs", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "pubsub:v1", + "name": "pubsub", + "version": "v1", + "title": "Cloud Pub/Sub API", + "description": "Provides reliable, many-to-many, asynchronous messaging between applications.", + "discoveryRestUrl": "https://pubsub.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/pubsub/docs", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "pubsublite:v1", + "name": "pubsublite", + "version": "v1", + "title": "Pub/Sub Lite API", + "description": "", + "discoveryRestUrl": "https://pubsublite.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/pubsub/lite/docs", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "realtimebidding:v1alpha", + "name": "realtimebidding", + "version": "v1alpha", + "title": "Real-time Bidding API", + "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.", + "discoveryRestUrl": "https://realtimebidding.googleapis.com/$discovery/rest?version=v1alpha", + "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" + }, + "documentationLink": "https://developers.google.com/authorized-buyers/apis/realtimebidding/reference/rest/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "realtimebidding:v1", + "name": "realtimebidding", + "version": "v1", + "title": "Real-time Bidding API", + "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.", + "discoveryRestUrl": "https://realtimebidding.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/authorized-buyers/apis/realtimebidding/reference/rest/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "recaptchaenterprise:v1", + "name": "recaptchaenterprise", + "version": "v1", + "title": "reCAPTCHA Enterprise API", + "description": "", + "discoveryRestUrl": "https://recaptchaenterprise.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/recaptcha-enterprise/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "recommendationengine:v1beta1", + "name": "recommendationengine", + "version": "v1beta1", + "title": "Recommendations AI (Beta)", + "description": "Note that we now highly recommend new customers to use Retail API, which incorporates the GA version of the Recommendations AI funtionalities. To enable Retail API, please visit https://console.cloud.google.com/apis/library/retail.googleapis.com. The Recommendations AI service enables customers to build end-to-end personalized recommendation systems without requiring a high level of expertise in machine learning, recommendation system, or Google Cloud.", + "discoveryRestUrl": "https://recommendationengine.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/recommendations-ai/docs", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "recommender:v1beta1", + "name": "recommender", + "version": "v1beta1", + "title": "Recommender API", + "description": "", + "discoveryRestUrl": "https://recommender.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/recommender/docs/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "recommender:v1", + "name": "recommender", + "version": "v1", + "title": "Recommender API", + "description": "", + "discoveryRestUrl": "https://recommender.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/recommender/docs/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "redis:v1beta1", + "name": "redis", + "version": "v1beta1", + "title": "Google Cloud Memorystore for Redis API", + "description": "Creates and manages Redis instances on the Google Cloud Platform.", + "discoveryRestUrl": "https://redis.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/memorystore/docs/redis/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "redis:v1", + "name": "redis", + "version": "v1", + "title": "Google Cloud Memorystore for Redis API", + "description": "Creates and manages Redis instances on the Google Cloud Platform.", + "discoveryRestUrl": "https://redis.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/memorystore/docs/redis/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "reseller:v1", + "name": "reseller", + "version": "v1", + "title": "Google Workspace Reseller API", + "description": "Perform common functions that are available on the Channel Services console at scale, like placing orders and viewing customer information", + "discoveryRestUrl": "https://reseller.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/google-apps/reseller/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "resourcesettings:v1", + "name": "resourcesettings", + "version": "v1", + "title": "Resource Settings API", + "description": "The Resource Settings API allows users to control and modify the behavior of their GCP resources (e.g., VM, firewall, Project, etc.) across the Cloud Resource Hierarchy.", + "discoveryRestUrl": "https://resourcesettings.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/resource-manager/docs/resource-settings/overview", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "retail:v2alpha", + "name": "retail", + "version": "v2alpha", + "title": "Retail API", + "description": "Cloud Retail service enables customers to build end-to-end personalized recommendation systems without requiring a high level of expertise in machine learning, recommendation system, or Google Cloud.", + "discoveryRestUrl": "https://retail.googleapis.com/$discovery/rest?version=v2alpha", + "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" + }, + "documentationLink": "https://cloud.google.com/recommendations", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "retail:v2beta", + "name": "retail", + "version": "v2beta", + "title": "Retail API", + "description": "Cloud Retail service enables customers to build end-to-end personalized recommendation systems without requiring a high level of expertise in machine learning, recommendation system, or Google Cloud.", + "discoveryRestUrl": "https://retail.googleapis.com/$discovery/rest?version=v2beta", + "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" + }, + "documentationLink": "https://cloud.google.com/recommendations", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "retail:v2", + "name": "retail", + "version": "v2", + "title": "Retail API", + "description": "Cloud Retail service enables customers to build end-to-end personalized recommendation systems without requiring a high level of expertise in machine learning, recommendation system, or Google Cloud.", + "discoveryRestUrl": "https://retail.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://cloud.google.com/recommendations", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "run:v1alpha1", + "name": "run", + "version": "v1alpha1", + "title": "Cloud Run Admin API", + "description": "Deploy and manage user provided container images that scale automatically based on incoming requests. The Cloud Run Admin API v1 follows the Knative Serving API specification, while v2 is aligned with Google Cloud AIP-based API standards, as described in https://google.aip.dev/.", + "discoveryRestUrl": "https://run.googleapis.com/$discovery/rest?version=v1alpha1", + "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" + }, + "documentationLink": "https://cloud.google.com/run/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "run:v1", + "name": "run", + "version": "v1", + "title": "Cloud Run Admin API", + "description": "Deploy and manage user provided container images that scale automatically based on incoming requests. The Cloud Run Admin API v1 follows the Knative Serving API specification, while v2 is aligned with Google Cloud AIP-based API standards, as described in https://google.aip.dev/.", + "discoveryRestUrl": "https://run.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/run/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "run:v2", + "name": "run", + "version": "v2", + "title": "Cloud Run Admin API", + "description": "Deploy and manage user provided container images that scale automatically based on incoming requests. The Cloud Run Admin API v1 follows the Knative Serving API specification, while v2 is aligned with Google Cloud AIP-based API standards, as described in https://google.aip.dev/.", + "discoveryRestUrl": "https://run.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://cloud.google.com/run/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "runtimeconfig:v1beta1", + "name": "runtimeconfig", + "version": "v1beta1", + "title": "Cloud Runtime Configuration API", + "description": "The Runtime Configurator allows you to dynamically configure and expose variables through Google Cloud Platform. In addition, you can also set Watchers and Waiters that will watch for changes to your data and return based on certain conditions.", + "discoveryRestUrl": "https://runtimeconfig.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/deployment-manager/runtime-configurator/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "runtimeconfig:v1", + "name": "runtimeconfig", + "version": "v1", + "title": "Cloud Runtime Configuration API", + "description": "The Runtime Configurator allows you to dynamically configure and expose variables through Google Cloud Platform. In addition, you can also set Watchers and Waiters that will watch for changes to your data and return based on certain conditions.", + "discoveryRestUrl": "https://runtimeconfig.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/deployment-manager/runtime-configurator/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "safebrowsing:v4", + "name": "safebrowsing", + "version": "v4", + "title": "Safe Browsing API", + "description": "Enables client applications to check web resources (most commonly URLs) against Google-generated lists of unsafe web resources. The Safe Browsing APIs are for non-commercial use only. If you need to use APIs to detect malicious URLs for commercial purposes – meaning “for sale or revenue-generating purposes” – please refer to the Web Risk API.", + "discoveryRestUrl": "https://safebrowsing.googleapis.com/$discovery/rest?version=v4", + "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" + }, + "documentationLink": "https://developers.google.com/safe-browsing/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "sasportal:v1alpha1", + "name": "sasportal", + "version": "v1alpha1", + "title": "SAS Portal API", + "description": "", + "discoveryRestUrl": "https://sasportal.googleapis.com/$discovery/rest?version=v1alpha1", + "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" + }, + "documentationLink": "https://developers.google.com/spectrum-access-system/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "script:v1", + "name": "script", + "version": "v1", + "title": "Apps Script API", + "description": "Manages and executes Google Apps Script projects.", + "discoveryRestUrl": "https://script.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/apps-script/api/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "searchconsole:v1", + "name": "searchconsole", + "version": "v1", + "title": "Google Search Console API", + "description": "The Search Console API provides access to both Search Console data (verified users only) and to public information on an URL basis (anyone)", + "discoveryRestUrl": "https://searchconsole.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/webmaster-tools/search-console-api/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "secretmanager:v1beta1", + "name": "secretmanager", + "version": "v1beta1", + "title": "Secret Manager API", + "description": "Stores sensitive data such as API keys, passwords, and certificates. Provides convenience while improving security.", + "discoveryRestUrl": "https://secretmanager.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/secret-manager/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "secretmanager:v1", + "name": "secretmanager", + "version": "v1", + "title": "Secret Manager API", + "description": "Stores sensitive data such as API keys, passwords, and certificates. Provides convenience while improving security.", + "discoveryRestUrl": "https://secretmanager.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/secret-manager/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "securitycenter:v1beta1", + "name": "securitycenter", + "version": "v1beta1", + "title": "Security Command Center API", + "description": "Security Command Center API provides access to temporal views of assets and findings within an organization.", + "discoveryRestUrl": "https://securitycenter.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/security-command-center", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "securitycenter:v1beta2", + "name": "securitycenter", + "version": "v1beta2", + "title": "Security Command Center API", + "description": "Security Command Center API provides access to temporal views of assets and findings within an organization.", + "discoveryRestUrl": "https://securitycenter.googleapis.com/$discovery/rest?version=v1beta2", + "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" + }, + "documentationLink": "https://cloud.google.com/security-command-center", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "securitycenter:v1", + "name": "securitycenter", + "version": "v1", + "title": "Security Command Center API", + "description": "Security Command Center API provides access to temporal views of assets and findings within an organization.", + "discoveryRestUrl": "https://securitycenter.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/security-command-center", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "serviceconsumermanagement:v1beta1", + "name": "serviceconsumermanagement", + "version": "v1beta1", + "title": "Service Consumer Management API", + "description": "Manages the service consumers of a Service Infrastructure service.", + "discoveryRestUrl": "https://serviceconsumermanagement.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/service-consumer-management/docs/overview", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "serviceconsumermanagement:v1", + "name": "serviceconsumermanagement", + "version": "v1", + "title": "Service Consumer Management API", + "description": "Manages the service consumers of a Service Infrastructure service.", + "discoveryRestUrl": "https://serviceconsumermanagement.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/service-consumer-management/docs/overview", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "servicecontrol:v1", + "name": "servicecontrol", + "version": "v1", + "title": "Service Control API", + "description": "Provides admission control and telemetry reporting for services integrated with Service Infrastructure.", + "discoveryRestUrl": "https://servicecontrol.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/service-control/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "servicecontrol:v2", + "name": "servicecontrol", + "version": "v2", + "title": "Service Control API", + "description": "Provides admission control and telemetry reporting for services integrated with Service Infrastructure.", + "discoveryRestUrl": "https://servicecontrol.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://cloud.google.com/service-control/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "servicedirectory:v1beta1", + "name": "servicedirectory", + "version": "v1beta1", + "title": "Service Directory API", + "description": "Service Directory is a platform for discovering, publishing, and connecting services.", + "discoveryRestUrl": "https://servicedirectory.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/service-directory", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "servicedirectory:v1", + "name": "servicedirectory", + "version": "v1", + "title": "Service Directory API", + "description": "Service Directory is a platform for discovering, publishing, and connecting services.", + "discoveryRestUrl": "https://servicedirectory.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/service-directory", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "servicemanagement:v1", + "name": "servicemanagement", + "version": "v1", + "title": "Service Management API", + "description": "Google Service Management allows service producers to publish their services on Google Cloud Platform so that they can be discovered and used by service consumers.", + "discoveryRestUrl": "https://servicemanagement.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/service-management/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "servicenetworking:v1beta", + "name": "servicenetworking", + "version": "v1beta", + "title": "Service Networking API", + "description": "Provides automatic management of network configurations necessary for certain services.", + "discoveryRestUrl": "https://servicenetworking.googleapis.com/$discovery/rest?version=v1beta", + "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" + }, + "documentationLink": "https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "servicenetworking:v1", + "name": "servicenetworking", + "version": "v1", + "title": "Service Networking API", + "description": "Provides automatic management of network configurations necessary for certain services.", + "discoveryRestUrl": "https://servicenetworking.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "serviceusage:v1beta1", + "name": "serviceusage", + "version": "v1beta1", + "title": "Service Usage API", + "description": "Enables services that service consumers want to use on Google Cloud Platform, lists the available or enabled services, or disables services that service consumers no longer use.", + "discoveryRestUrl": "https://serviceusage.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/service-usage/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "serviceusage:v1", + "name": "serviceusage", + "version": "v1", + "title": "Service Usage API", + "description": "Enables services that service consumers want to use on Google Cloud Platform, lists the available or enabled services, or disables services that service consumers no longer use.", + "discoveryRestUrl": "https://serviceusage.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/service-usage/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "sheets:v4", + "name": "sheets", + "version": "v4", + "title": "Google Sheets API", + "description": "Reads and writes Google Sheets.", + "discoveryRestUrl": "https://sheets.googleapis.com/$discovery/rest?version=v4", + "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" + }, + "documentationLink": "https://developers.google.com/sheets/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "siteVerification:v1", + "name": "siteVerification", + "version": "v1", + "title": "Site Verification API", + "description": "The Google Site Verification API lets applications automate the process of managing ownership records for websites and domains.", + "discoveryRestUrl": "https://siteverification.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://code.google.com/apis/siteverification/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "slides:v1", + "name": "slides", + "version": "v1", + "title": "Google Slides API", + "description": "Reads and writes Google Slides presentations.", + "discoveryRestUrl": "https://slides.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/slides/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "smartdevicemanagement:v1", + "name": "smartdevicemanagement", + "version": "v1", + "title": "Smart Device Management API", + "description": "Allow select enterprise partners to access, control, and manage Google and Nest devices programmatically.", + "discoveryRestUrl": "https://smartdevicemanagement.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/nest/device-access", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "sourcerepo:v1", + "name": "sourcerepo", + "version": "v1", + "title": "Cloud Source Repositories API", + "description": "Accesses source code repositories hosted by Google.", + "discoveryRestUrl": "https://sourcerepo.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/source-repositories/docs/apis", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "spanner:v1", + "name": "spanner", + "version": "v1", + "title": "Cloud Spanner API", + "description": "Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service.", + "discoveryRestUrl": "https://spanner.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/spanner/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "speech:v1p1beta1", + "name": "speech", + "version": "v1p1beta1", + "title": "Cloud Speech-to-Text API", + "description": "Converts audio to text by applying powerful neural network models.", + "discoveryRestUrl": "https://speech.googleapis.com/$discovery/rest?version=v1p1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/speech-to-text/docs/quickstart-protocol", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "speech:v2beta1", + "name": "speech", + "version": "v2beta1", + "title": "Cloud Speech-to-Text API", + "description": "Converts audio to text by applying powerful neural network models.", + "discoveryRestUrl": "https://speech.googleapis.com/$discovery/rest?version=v2beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/speech-to-text/docs/quickstart-protocol", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "speech:v1", + "name": "speech", + "version": "v1", + "title": "Cloud Speech-to-Text API", + "description": "Converts audio to text by applying powerful neural network models.", + "discoveryRestUrl": "https://speech.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/speech-to-text/docs/quickstart-protocol", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "sqladmin:v1beta4", + "name": "sqladmin", + "version": "v1beta4", + "title": "Cloud SQL Admin API", + "description": "API for Cloud SQL database instance management", + "discoveryRestUrl": "https://sqladmin.googleapis.com/$discovery/rest?version=v1beta4", + "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" + }, + "documentationLink": "https://developers.google.com/cloud-sql/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "sqladmin:v1", + "name": "sqladmin", + "version": "v1", + "title": "Cloud SQL Admin API", + "description": "API for Cloud SQL database instance management", + "discoveryRestUrl": "https://sqladmin.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/cloud-sql/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "storage:v1", + "name": "storage", + "version": "v1", + "title": "Cloud Storage API", + "description": "Lets you store and retrieve potentially-large, immutable data objects.", + "discoveryRestUrl": "https://storage.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/storage/docs/json_api/v1/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "storagetransfer:v1", + "name": "storagetransfer", + "version": "v1", + "title": "Storage Transfer API", + "description": "Transfers data from external data sources to a Google Cloud Storage bucket or between Google Cloud Storage buckets.", + "discoveryRestUrl": "https://storagetransfer.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/storage-transfer/docs", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "streetviewpublish:v1", + "name": "streetviewpublish", + "version": "v1", + "title": "Street View Publish API", + "description": "Publishes 360 photos to Google Maps, along with position, orientation, and connectivity metadata. Apps can offer an interface for positioning, connecting, and uploading user-generated Street View images.", + "discoveryRestUrl": "https://streetviewpublish.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/streetview/publish/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "sts:v1beta", + "name": "sts", + "version": "v1beta", + "title": "Security Token Service API", + "description": "The Security Token Service exchanges Google or third-party credentials for a short-lived access token to Google Cloud resources.", + "discoveryRestUrl": "https://sts.googleapis.com/$discovery/rest?version=v1beta", + "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" + }, + "documentationLink": "http://cloud.google.com/iam/docs/workload-identity-federation", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "sts:v1", + "name": "sts", + "version": "v1", + "title": "Security Token Service API", + "description": "The Security Token Service exchanges Google or third-party credentials for a short-lived access token to Google Cloud resources.", + "discoveryRestUrl": "https://sts.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "http://cloud.google.com/iam/docs/workload-identity-federation", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "tagmanager:v1", + "name": "tagmanager", + "version": "v1", + "title": "Tag Manager API", + "description": "This API allows clients to access and modify container and tag configuration.", + "discoveryRestUrl": "https://tagmanager.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/tag-manager", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "tagmanager:v2", + "name": "tagmanager", + "version": "v2", + "title": "Tag Manager API", + "description": "This API allows clients to access and modify container and tag configuration.", + "discoveryRestUrl": "https://tagmanager.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://developers.google.com/tag-manager", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "tasks:v1", + "name": "tasks", + "version": "v1", + "title": "Tasks API", + "description": "The Google Tasks API lets you manage your tasks and task lists.", + "discoveryRestUrl": "https://tasks.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/tasks/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "testing:v1", + "name": "testing", + "version": "v1", + "title": "Cloud Testing API", + "description": "Allows developers to run automated tests for their mobile applications on Google infrastructure.", + "discoveryRestUrl": "https://testing.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/cloud-test-lab/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "texttospeech:v1beta1", + "name": "texttospeech", + "version": "v1beta1", + "title": "Cloud Text-to-Speech API", + "description": "Synthesizes natural-sounding speech by applying powerful neural network models.", + "discoveryRestUrl": "https://texttospeech.googleapis.com/$discovery/rest?version=v1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/text-to-speech/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "texttospeech:v1", + "name": "texttospeech", + "version": "v1", + "title": "Cloud Text-to-Speech API", + "description": "Synthesizes natural-sounding speech by applying powerful neural network models.", + "discoveryRestUrl": "https://texttospeech.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/text-to-speech/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "toolresults:v1beta3", + "name": "toolresults", + "version": "v1beta3", + "title": "Cloud Tool Results API", + "description": "API to publish and access results from developer tools.", + "discoveryRestUrl": "https://toolresults.googleapis.com/$discovery/rest?version=v1beta3", + "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" + }, + "documentationLink": "https://firebase.google.com/docs/test-lab/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "tpu:v1alpha1", + "name": "tpu", + "version": "v1alpha1", + "title": "Cloud TPU API", + "description": "TPU API provides customers with access to Google TPU technology.", + "discoveryRestUrl": "https://tpu.googleapis.com/$discovery/rest?version=v1alpha1", + "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" + }, + "documentationLink": "https://cloud.google.com/tpu/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "tpu:v2alpha1", + "name": "tpu", + "version": "v2alpha1", + "title": "Cloud TPU API", + "description": "TPU API provides customers with access to Google TPU technology.", + "discoveryRestUrl": "https://tpu.googleapis.com/$discovery/rest?version=v2alpha1", + "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" + }, + "documentationLink": "https://cloud.google.com/tpu/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "tpu:v1", + "name": "tpu", + "version": "v1", + "title": "Cloud TPU API", + "description": "TPU API provides customers with access to Google TPU technology.", + "discoveryRestUrl": "https://tpu.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/tpu/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "trafficdirector:v2", + "name": "trafficdirector", + "version": "v2", + "title": "Traffic Director API", + "description": "", + "discoveryRestUrl": "https://trafficdirector.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://cloud.google.com/traffic-director", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "transcoder:v1", + "name": "transcoder", + "version": "v1", + "title": "Transcoder API", + "description": "This API converts video files into formats suitable for consumer distribution.", + "discoveryRestUrl": "https://transcoder.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/transcoder/docs/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "translate:v3beta1", + "name": "translate", + "version": "v3beta1", + "title": "Cloud Translation API", + "description": "Integrates text translation into your website or application.", + "discoveryRestUrl": "https://translation.googleapis.com/$discovery/rest?version=v3beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/translate/docs/quickstarts", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "translate:v2", + "name": "translate", + "version": "v2", + "title": "Cloud Translation API", + "description": "Integrates text translation into your website or application.", + "discoveryRestUrl": "https://translation.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://cloud.google.com/translate/docs/quickstarts", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "translate:v3", + "name": "translate", + "version": "v3", + "title": "Cloud Translation API", + "description": "Integrates text translation into your website or application.", + "discoveryRestUrl": "https://translation.googleapis.com/$discovery/rest?version=v3", + "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" + }, + "documentationLink": "https://cloud.google.com/translate/docs/quickstarts", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "vault:v1", + "name": "vault", + "version": "v1", + "title": "Google Vault API", + "description": "Retention and eDiscovery for Google Workspace. To work with Vault resources, the account must have the [required Vault privileges](https://support.google.com/vault/answer/2799699) and access to the matter. To access a matter, the account must have created the matter, have the matter shared with them, or have the **View All Matters** privilege. For example, to download an export, an account needs the **Manage Exports** privilege and the matter shared with them.", + "discoveryRestUrl": "https://vault.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/vault", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "verifiedaccess:v1", + "name": "verifiedaccess", + "version": "v1", + "title": "Chrome Verified Access API", + "description": "API for Verified Access chrome extension to provide credential verification for chrome devices connecting to an enterprise network", + "discoveryRestUrl": "https://verifiedaccess.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/chrome/verified-access", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "versionhistory:v1", + "name": "versionhistory", + "version": "v1", + "title": "Version History API", + "description": "Version History API - Prod", + "discoveryRestUrl": "https://versionhistory.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.chrome.com/versionhistory", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "videointelligence:v1p1beta1", + "name": "videointelligence", + "version": "v1p1beta1", + "title": "Cloud Video Intelligence API", + "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.", + "discoveryRestUrl": "https://videointelligence.googleapis.com/$discovery/rest?version=v1p1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/video-intelligence/docs/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "videointelligence:v1p2beta1", + "name": "videointelligence", + "version": "v1p2beta1", + "title": "Cloud Video Intelligence API", + "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.", + "discoveryRestUrl": "https://videointelligence.googleapis.com/$discovery/rest?version=v1p2beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/video-intelligence/docs/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "videointelligence:v1p3beta1", + "name": "videointelligence", + "version": "v1p3beta1", + "title": "Cloud Video Intelligence API", + "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.", + "discoveryRestUrl": "https://videointelligence.googleapis.com/$discovery/rest?version=v1p3beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/video-intelligence/docs/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "videointelligence:v1beta2", + "name": "videointelligence", + "version": "v1beta2", + "title": "Cloud Video Intelligence API", + "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.", + "discoveryRestUrl": "https://videointelligence.googleapis.com/$discovery/rest?version=v1beta2", + "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" + }, + "documentationLink": "https://cloud.google.com/video-intelligence/docs/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "videointelligence:v1", + "name": "videointelligence", + "version": "v1", + "title": "Cloud Video Intelligence API", + "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.", + "discoveryRestUrl": "https://videointelligence.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/video-intelligence/docs/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "vision:v1p1beta1", + "name": "vision", + "version": "v1p1beta1", + "title": "Cloud Vision API", + "description": "Integrates Google Vision features, including image labeling, face, logo, and landmark detection, optical character recognition (OCR), and detection of explicit content, into applications.", + "discoveryRestUrl": "https://vision.googleapis.com/$discovery/rest?version=v1p1beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/vision/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "vision:v1p2beta1", + "name": "vision", + "version": "v1p2beta1", + "title": "Cloud Vision API", + "description": "Integrates Google Vision features, including image labeling, face, logo, and landmark detection, optical character recognition (OCR), and detection of explicit content, into applications.", + "discoveryRestUrl": "https://vision.googleapis.com/$discovery/rest?version=v1p2beta1", + "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" + }, + "documentationLink": "https://cloud.google.com/vision/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "vision:v1", + "name": "vision", + "version": "v1", + "title": "Cloud Vision API", + "description": "Integrates Google Vision features, including image labeling, face, logo, and landmark detection, optical character recognition (OCR), and detection of explicit content, into applications.", + "discoveryRestUrl": "https://vision.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/vision/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "vmmigration:v1alpha1", + "name": "vmmigration", + "version": "v1alpha1", + "title": "VM Migration API", + "description": "Use the Migrate for Compute Engine API to programmatically migrate workloads.", + "discoveryRestUrl": "https://vmmigration.googleapis.com/$discovery/rest?version=v1alpha1", + "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" + }, + "documentationLink": "https://cloud.google.com/migrate/compute-engine", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "vmmigration:v1", + "name": "vmmigration", + "version": "v1", + "title": "VM Migration API", + "description": "Use the Migrate for Compute Engine API to programmatically migrate workloads.", + "discoveryRestUrl": "https://vmmigration.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/migrate/compute-engine", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "webfonts:v1", + "name": "webfonts", + "version": "v1", + "title": "Web Fonts Developer API", + "description": "The Google Web Fonts Developer API lets you retrieve information about web fonts served by Google.", + "discoveryRestUrl": "https://webfonts.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/fonts/docs/developer_api", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "webrisk:v1", + "name": "webrisk", + "version": "v1", + "title": "Web Risk API", + "description": "", + "discoveryRestUrl": "https://webrisk.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/web-risk/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "websecurityscanner:v1alpha", + "name": "websecurityscanner", + "version": "v1alpha", + "title": "Web Security Scanner API", + "description": "Scans your Compute and App Engine apps for common web vulnerabilities.", + "discoveryRestUrl": "https://websecurityscanner.googleapis.com/$discovery/rest?version=v1alpha", + "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" + }, + "documentationLink": "https://cloud.google.com/security-command-center/docs/concepts-web-security-scanner-overview/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "websecurityscanner:v1beta", + "name": "websecurityscanner", + "version": "v1beta", + "title": "Web Security Scanner API", + "description": "Scans your Compute and App Engine apps for common web vulnerabilities.", + "discoveryRestUrl": "https://websecurityscanner.googleapis.com/$discovery/rest?version=v1beta", + "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" + }, + "documentationLink": "https://cloud.google.com/security-command-center/docs/concepts-web-security-scanner-overview/", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "websecurityscanner:v1", + "name": "websecurityscanner", + "version": "v1", + "title": "Web Security Scanner API", + "description": "Scans your Compute and App Engine apps for common web vulnerabilities.", + "discoveryRestUrl": "https://websecurityscanner.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/security-command-center/docs/concepts-web-security-scanner-overview/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "workflowexecutions:v1beta", + "name": "workflowexecutions", + "version": "v1beta", + "title": "Workflow Executions API", + "description": "Execute workflows created with Workflows API.", + "discoveryRestUrl": "https://workflowexecutions.googleapis.com/$discovery/rest?version=v1beta", + "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" + }, + "documentationLink": "https://cloud.google.com/workflows", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "workflowexecutions:v1", + "name": "workflowexecutions", + "version": "v1", + "title": "Workflow Executions API", + "description": "Execute workflows created with Workflows API.", + "discoveryRestUrl": "https://workflowexecutions.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/workflows", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "workflows:v1beta", + "name": "workflows", + "version": "v1beta", + "title": "Workflows API", + "description": "Manage workflow definitions. To execute workflows and manage executions, see the Workflows Executions API.", + "discoveryRestUrl": "https://workflows.googleapis.com/$discovery/rest?version=v1beta", + "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" + }, + "documentationLink": "https://cloud.google.com/workflows", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "workflows:v1", + "name": "workflows", + "version": "v1", + "title": "Workflows API", + "description": "Manage workflow definitions. To execute workflows and manage executions, see the Workflows Executions API.", + "discoveryRestUrl": "https://workflows.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://cloud.google.com/workflows", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "youtube:v3", + "name": "youtube", + "version": "v3", + "title": "YouTube Data API v3", + "description": "The YouTube Data API v3 is an API that provides access to YouTube data, such as videos, playlists, and channels.", + "discoveryRestUrl": "https://youtube.googleapis.com/$discovery/rest?version=v3", + "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" + }, + "documentationLink": "https://developers.google.com/youtube/", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "youtubeAnalytics:v2", + "name": "youtubeAnalytics", + "version": "v2", + "title": "YouTube Analytics API", + "description": "Retrieves your YouTube Analytics data.", + "discoveryRestUrl": "https://youtubeanalytics.googleapis.com/$discovery/rest?version=v2", + "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" + }, + "documentationLink": "https://developers.google.com/youtube/analytics", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "youtubereporting:v1", + "name": "youtubereporting", + "version": "v1", + "title": "YouTube Reporting API", + "description": "Schedules reporting jobs containing your YouTube Analytics data and downloads the resulting bulk data reports in the form of CSV files.", + "discoveryRestUrl": "https://youtubereporting.googleapis.com/$discovery/rest?version=v1", + "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" + }, + "documentationLink": "https://developers.google.com/youtube/reporting/v1/reports/", + "preferred": true + } + ] +} diff --git a/etc/api/abusiveexperiencereport/v1/abusiveexperiencereport-api.json b/etc/api/abusiveexperiencereport/v1/abusiveexperiencereport-api.json index 588fe997eb..c9f6972e6f 100644 --- a/etc/api/abusiveexperiencereport/v1/abusiveexperiencereport-api.json +++ b/etc/api/abusiveexperiencereport/v1/abusiveexperiencereport-api.json @@ -139,7 +139,7 @@ } } }, - "revision": "20210329", + "revision": "20220303", "rootUrl": "https://abusiveexperiencereport.googleapis.com/", "schemas": { "SiteSummaryResponse": { diff --git a/etc/api/acceleratedmobilepageurl/v1/acceleratedmobilepageurl-api.json b/etc/api/acceleratedmobilepageurl/v1/acceleratedmobilepageurl-api.json index 044b0f11b9..c7d1d885f0 100644 --- a/etc/api/acceleratedmobilepageurl/v1/acceleratedmobilepageurl-api.json +++ b/etc/api/acceleratedmobilepageurl/v1/acceleratedmobilepageurl-api.json @@ -115,7 +115,7 @@ } } }, - "revision": "20210330", + "revision": "20220305", "rootUrl": "https://acceleratedmobilepageurl.googleapis.com/", "schemas": { "AmpUrl": { diff --git a/etc/api/accessapproval/v1/accessapproval-api.json b/etc/api/accessapproval/v1/accessapproval-api.json index d1fc68c744..e36432865f 100644 --- a/etc/api/accessapproval/v1/accessapproval-api.json +++ b/etc/api/accessapproval/v1/accessapproval-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -14,7 +14,7 @@ "canonicalName": "Access Approval", "description": "An API for controlling access to data by Google personnel.", "discoveryVersion": "v1", - "documentationLink": "https://cloud.google.com/access-approval/docs", + "documentationLink": "https://cloud.google.com/cloud-provider-access-management/access-approval/docs", "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -142,7 +142,7 @@ ], "parameters": { "name": { - "description": "Name of the AccessApprovalSettings to retrieve.", + "description": "The name of the AccessApprovalSettings to retrieve. Format: \"{projects|folders|organizations}/{id}/accessApprovalSettings\"", "location": "path", "pattern": "^folders/[^/]+/accessApprovalSettings$", "required": true, @@ -261,7 +261,7 @@ ], "parameters": { "name": { - "description": "Name of the approval request to retrieve.", + "description": "The name of the approval request to retrieve. Format: \"{projects|folders|organizations}/{id}/approvalRequests/{approval_request}\"", "location": "path", "pattern": "^folders/[^/]+/approvalRequests/[^/]+$", "required": true, @@ -358,7 +358,7 @@ ], "parameters": { "name": { - "description": "Name of the AccessApprovalSettings to retrieve.", + "description": "The name of the AccessApprovalSettings to retrieve. Format: \"{projects|folders|organizations}/{id}/accessApprovalSettings\"", "location": "path", "pattern": "^organizations/[^/]+/accessApprovalSettings$", "required": true, @@ -477,7 +477,7 @@ ], "parameters": { "name": { - "description": "Name of the approval request to retrieve.", + "description": "The name of the approval request to retrieve. Format: \"{projects|folders|organizations}/{id}/approvalRequests/{approval_request}\"", "location": "path", "pattern": "^organizations/[^/]+/approvalRequests/[^/]+$", "required": true, @@ -574,7 +574,7 @@ ], "parameters": { "name": { - "description": "Name of the AccessApprovalSettings to retrieve.", + "description": "The name of the AccessApprovalSettings to retrieve. Format: \"{projects|folders|organizations}/{id}/accessApprovalSettings\"", "location": "path", "pattern": "^projects/[^/]+/accessApprovalSettings$", "required": true, @@ -693,7 +693,7 @@ ], "parameters": { "name": { - "description": "Name of the approval request to retrieve.", + "description": "The name of the approval request to retrieve. Format: \"{projects|folders|organizations}/{id}/approvalRequests/{approval_request}\"", "location": "path", "pattern": "^projects/[^/]+/approvalRequests/[^/]+$", "required": true, @@ -754,7 +754,7 @@ } } }, - "revision": "20210318", + "revision": "20220225", "rootUrl": "https://accessapproval.googleapis.com/", "schemas": { "AccessApprovalSettings": { @@ -762,7 +762,7 @@ "id": "AccessApprovalSettings", "properties": { "enrolledAncestor": { - "description": "Output only. This field is read only (not settable via UpdateAccessAccessApprovalSettings method). If the field is true, that indicates that at least one service is enrolled for Access Approval in one or more ancestors of the Project or Folder (this field will always be unset for the organization since organizations do not have ancestors).", + "description": "Output only. This field is read only (not settable via UpdateAccessApprovalSettings method). If the field is true, that indicates that at least one service is enrolled for Access Approval in one or more ancestors of the Project or Folder (this field will always be unset for the organization since organizations do not have ancestors).", "readOnly": true, "type": "boolean" }, @@ -918,7 +918,7 @@ "type": "string" }, "implicit": { - "description": "This field will be true if the ApprovalRequest was implcitly dismissed due to inaction by the access approval approvers (the request is not acted on by the approvers before the exiration time).", + "description": "This field will be true if the ApprovalRequest was implicitly dismissed due to inaction by the access approval approvers (the request is not acted on by the approvers before the exiration time).", "type": "boolean" } }, @@ -935,7 +935,7 @@ "id": "EnrolledService", "properties": { "cloudProduct": { - "description": "The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud Storage * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * cloudkms.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * logging.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services", + "description": "The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * GA * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud DLP * Cloud EKM * Cloud HSM * Cloud Identity and Access Management * Cloud Logging * Cloud Pub/Sub * Cloud Spanner * Cloud SQL * Cloud Storage * Google Kubernetes Engine * Organization Policy Serivice * Persistent Disk * Resource Manager * Speaker ID Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * ga-only * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * container.googleapis.com * cloudkms.googleapis.com * cloudresourcemanager.googleapis.com * cloudsql.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * dlp.googleapis.com * iam.googleapis.com * logging.googleapis.com * orgpolicy.googleapis.com * pubsub.googleapis.com * spanner.googleapis.com * speakerid.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services", "type": "string" }, "enrollmentLevel": { diff --git a/etc/api/accesscontextmanager/v1/accesscontextmanager-api.json b/etc/api/accesscontextmanager/v1/accesscontextmanager-api.json index 163c8d7de4..b3f2af196c 100644 --- a/etc/api/accesscontextmanager/v1/accesscontextmanager-api.json +++ b/etc/api/accesscontextmanager/v1/accesscontextmanager-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -108,7 +108,7 @@ "accessPolicies": { "methods": { "create": { - "description": "Create an `AccessPolicy`. Fails if this organization already has a `AccessPolicy`. The longrunning Operation will have a successful status once the `AccessPolicy` has propagated to long-lasting storage. Syntactic and basic semantic errors will be returned in `metadata` as a BadRequest proto.", + "description": "Creates an access policy. This method fails if the organization already has an access policy. The long-running operation has a successful status after the access policy propagates to long-lasting storage. Syntactic and basic semantic errors are returned in `metadata` as a BadRequest proto.", "flatPath": "v1/accessPolicies", "httpMethod": "POST", "id": "accesscontextmanager.accessPolicies.create", @@ -126,7 +126,7 @@ ] }, "delete": { - "description": "Delete an AccessPolicy by resource name. The longrunning Operation will have a successful status once the AccessPolicy has been removed from long-lasting storage.", + "description": "Deletes an access policy based on the resource name. The long-running operation has a successful status after the access policy is removed from long-lasting storage.", "flatPath": "v1/accessPolicies/{accessPoliciesId}", "httpMethod": "DELETE", "id": "accesscontextmanager.accessPolicies.delete", @@ -151,7 +151,7 @@ ] }, "get": { - "description": "Get an AccessPolicy by name.", + "description": "Returns an access policy based on the name.", "flatPath": "v1/accessPolicies/{accessPoliciesId}", "httpMethod": "GET", "id": "accesscontextmanager.accessPolicies.get", @@ -175,8 +175,36 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getIamPolicy": { + "description": "Gets the IAM policy for the specified Access Context Manager access policy.", + "flatPath": "v1/accessPolicies/{accessPoliciesId}:getIamPolicy", + "httpMethod": "POST", + "id": "accesscontextmanager.accessPolicies.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "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": "^accessPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { - "description": "List all AccessPolicies under a container.", + "description": "Lists all access policies in an organization.", "flatPath": "v1/accessPolicies", "httpMethod": "GET", "id": "accesscontextmanager.accessPolicies.list", @@ -208,7 +236,7 @@ ] }, "patch": { - "description": "Update an AccessPolicy. The longrunning Operation from this RPC will have a successful status once the changes to the AccessPolicy have propagated to long-lasting storage. Syntactic and basic semantic errors will be returned in `metadata` as a BadRequest proto.", + "description": "Updates an access policy. The long-running operation from this RPC has a successful status after the changes to the access policy propagate to long-lasting storage.", "flatPath": "v1/accessPolicies/{accessPoliciesId}", "httpMethod": "PATCH", "id": "accesscontextmanager.accessPolicies.patch", @@ -217,7 +245,7 @@ ], "parameters": { "name": { - "description": "Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{policy_id}`", + "description": "Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{access_policy}`", "location": "path", "pattern": "^accessPolicies/[^/]+$", "required": true, @@ -240,13 +268,69 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "setIamPolicy": { + "description": "Sets the IAM policy for the specified Access Context Manager access policy. This method replaces the existing IAM policy on the access policy. The IAM policy controls the set of users who can perform specific operations on the Access Context Manager access policy.", + "flatPath": "v1/accessPolicies/{accessPoliciesId}:setIamPolicy", + "httpMethod": "POST", + "id": "accesscontextmanager.accessPolicies.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": "^accessPolicies/[^/]+$", + "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 the IAM permissions that the caller has on the specified Access Context Manager resource. The resource can be an AccessPolicy, AccessLevel, or ServicePerimeter. This method does not support other resources.", + "flatPath": "v1/accessPolicies/{accessPoliciesId}:testIamPermissions", + "httpMethod": "POST", + "id": "accesscontextmanager.accessPolicies.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": "^accessPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { "accessLevels": { "methods": { "create": { - "description": "Create an Access Level. The longrunning operation from this RPC will have a successful status once the Access Level has propagated to long-lasting storage. Access Levels containing errors will result in an error response for the first error encountered.", + "description": "Creates an access level. The long-running operation from this RPC has a successful status after the access level propagates to long-lasting storage. If access levels contain errors, an error response is returned for the first error encountered.", "flatPath": "v1/accessPolicies/{accessPoliciesId}/accessLevels", "httpMethod": "POST", "id": "accesscontextmanager.accessPolicies.accessLevels.create", @@ -274,7 +358,7 @@ ] }, "delete": { - "description": "Delete an Access Level by resource name. The longrunning operation from this RPC will have a successful status once the Access Level has been removed from long-lasting storage.", + "description": "Deletes an access level based on the resource name. The long-running operation from this RPC has a successful status after the access level has been removed from long-lasting storage.", "flatPath": "v1/accessPolicies/{accessPoliciesId}/accessLevels/{accessLevelsId}", "httpMethod": "DELETE", "id": "accesscontextmanager.accessPolicies.accessLevels.delete", @@ -299,7 +383,7 @@ ] }, "get": { - "description": "Get an Access Level by resource name.", + "description": "Gets an access level based on the resource name.", "flatPath": "v1/accessPolicies/{accessPoliciesId}/accessLevels/{accessLevelsId}", "httpMethod": "GET", "id": "accesscontextmanager.accessPolicies.accessLevels.get", @@ -339,7 +423,7 @@ ] }, "list": { - "description": "List all Access Levels for an access policy.", + "description": "Lists all access levels for an access policy.", "flatPath": "v1/accessPolicies/{accessPoliciesId}/accessLevels", "httpMethod": "GET", "id": "accesscontextmanager.accessPolicies.accessLevels.list", @@ -390,7 +474,7 @@ ] }, "patch": { - "description": "Update an Access Level. The longrunning operation from this RPC will have a successful status once the changes to the Access Level have propagated to long-lasting storage. Access Levels containing errors will result in an error response for the first error encountered.", + "description": "Updates an access level. The long-running operation from this RPC has a successful status after the changes to the access level propagate to long-lasting storage. If access levels contain errors, an error response is returned for the first error encountered.", "flatPath": "v1/accessPolicies/{accessPoliciesId}/accessLevels/{accessLevelsId}", "httpMethod": "PATCH", "id": "accesscontextmanager.accessPolicies.accessLevels.patch", @@ -399,7 +483,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length of the `short_name` component is 50 characters.", + "description": "Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{access_policy}/accessLevels/{access_level}`. The maximum length of the `access_level` component is 50 characters.", "location": "path", "pattern": "^accessPolicies/[^/]+/accessLevels/[^/]+$", "required": true, @@ -424,7 +508,7 @@ ] }, "replaceAll": { - "description": "Replace all existing Access Levels in an Access Policy with the Access Levels provided. This is done atomically. The longrunning operation from this RPC will have a successful status once all replacements have propagated to long-lasting storage. Replacements containing errors will result in an error response for the first error encountered. Replacement will be cancelled on error, existing Access Levels will not be affected. Operation.response field will contain ReplaceAccessLevelsResponse. Removing Access Levels contained in existing Service Perimeters will result in error.", + "description": "Replaces all existing access levels in an access policy with the access levels provided. This is done atomically. The long-running operation from this RPC has a successful status after all replacements propagate to long-lasting storage. If the replacement contains errors, an error response is returned for the first error encountered. Upon error, the replacement is cancelled, and existing access levels are not affected. The Operation.response field contains ReplaceAccessLevelsResponse. Removing access levels contained in existing service perimeters result in an error.", "flatPath": "v1/accessPolicies/{accessPoliciesId}/accessLevels:replaceAll", "httpMethod": "POST", "id": "accesscontextmanager.accessPolicies.accessLevels.replaceAll", @@ -450,13 +534,41 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "testIamPermissions": { + "description": "Returns the IAM permissions that the caller has on the specified Access Context Manager resource. The resource can be an AccessPolicy, AccessLevel, or ServicePerimeter. This method does not support other resources.", + "flatPath": "v1/accessPolicies/{accessPoliciesId}/accessLevels/{accessLevelsId}:testIamPermissions", + "httpMethod": "POST", + "id": "accesscontextmanager.accessPolicies.accessLevels.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": "^accessPolicies/[^/]+/accessLevels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } }, "servicePerimeters": { "methods": { "commit": { - "description": "Commit the dry-run spec for all the Service Perimeters in an Access Policy. A commit operation on a Service Perimeter involves copying its `spec` field to that Service Perimeter's `status` field. Only Service Perimeters with `use_explicit_dry_run_spec` field set to true are affected by a commit operation. The longrunning operation from this RPC will have a successful status once the dry-run specs for all the Service Perimeters have been committed. If a commit fails, it will cause the longrunning operation to return an error response and the entire commit operation will be cancelled. When successful, Operation.response field will contain CommitServicePerimetersResponse. The `dry_run` and the `spec` fields will be cleared after a successful commit operation.", + "description": "Commits the dry-run specification for all the service perimeters in an access policy. A commit operation on a service perimeter involves copying its `spec` field to the `status` field of the service perimeter. Only service perimeters with `use_explicit_dry_run_spec` field set to true are affected by a commit operation. The long-running operation from this RPC has a successful status after the dry-run specifications for all the service perimeters have been committed. If a commit fails, it causes the long-running operation to return an error response and the entire commit operation is cancelled. When successful, the Operation.response field contains CommitServicePerimetersResponse. The `dry_run` and the `spec` fields are cleared after a successful commit operation.", "flatPath": "v1/accessPolicies/{accessPoliciesId}/servicePerimeters:commit", "httpMethod": "POST", "id": "accesscontextmanager.accessPolicies.servicePerimeters.commit", @@ -484,7 +596,7 @@ ] }, "create": { - "description": "Create a Service Perimeter. The longrunning operation from this RPC will have a successful status once the Service Perimeter has propagated to long-lasting storage. Service Perimeters containing errors will result in an error response for the first error encountered.", + "description": "Creates a service perimeter. The long-running operation from this RPC has a successful status after the service perimeter propagates to long-lasting storage. If a service perimeter contains errors, an error response is returned for the first error encountered.", "flatPath": "v1/accessPolicies/{accessPoliciesId}/servicePerimeters", "httpMethod": "POST", "id": "accesscontextmanager.accessPolicies.servicePerimeters.create", @@ -512,7 +624,7 @@ ] }, "delete": { - "description": "Delete a Service Perimeter by resource name. The longrunning operation from this RPC will have a successful status once the Service Perimeter has been removed from long-lasting storage.", + "description": "Deletes a service perimeter based on the resource name. The long-running operation from this RPC has a successful status after the service perimeter is removed from long-lasting storage.", "flatPath": "v1/accessPolicies/{accessPoliciesId}/servicePerimeters/{servicePerimetersId}", "httpMethod": "DELETE", "id": "accesscontextmanager.accessPolicies.servicePerimeters.delete", @@ -537,7 +649,7 @@ ] }, "get": { - "description": "Get a Service Perimeter by resource name.", + "description": "Gets a service perimeter based on the resource name.", "flatPath": "v1/accessPolicies/{accessPoliciesId}/servicePerimeters/{servicePerimetersId}", "httpMethod": "GET", "id": "accesscontextmanager.accessPolicies.servicePerimeters.get", @@ -562,7 +674,7 @@ ] }, "list": { - "description": "List all Service Perimeters for an access policy.", + "description": "Lists all service perimeters for an access policy.", "flatPath": "v1/accessPolicies/{accessPoliciesId}/servicePerimeters", "httpMethod": "GET", "id": "accesscontextmanager.accessPolicies.servicePerimeters.list", @@ -598,7 +710,7 @@ ] }, "patch": { - "description": "Update a Service Perimeter. The longrunning operation from this RPC will have a successful status once the changes to the Service Perimeter have propagated to long-lasting storage. Service Perimeter containing errors will result in an error response for the first error encountered.", + "description": "Updates a service perimeter. The long-running operation from this RPC has a successful status after the service perimeter propagates to long-lasting storage. If a service perimeter contains errors, an error response is returned for the first error encountered.", "flatPath": "v1/accessPolicies/{accessPoliciesId}/servicePerimeters/{servicePerimetersId}", "httpMethod": "PATCH", "id": "accesscontextmanager.accessPolicies.servicePerimeters.patch", @@ -607,7 +719,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`", + "description": "Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`", "location": "path", "pattern": "^accessPolicies/[^/]+/servicePerimeters/[^/]+$", "required": true, @@ -632,7 +744,7 @@ ] }, "replaceAll": { - "description": "Replace all existing Service Perimeters in an Access Policy with the Service Perimeters provided. This is done atomically. The longrunning operation from this RPC will have a successful status once all replacements have propagated to long-lasting storage. Replacements containing errors will result in an error response for the first error encountered. Replacement will be cancelled on error, existing Service Perimeters will not be affected. Operation.response field will contain ReplaceServicePerimetersResponse.", + "description": "Replace all existing service perimeters in an access policy with the service perimeters provided. This is done atomically. The long-running operation from this RPC has a successful status after all replacements propagate to long-lasting storage. Replacements containing errors result in an error response for the first error encountered. Upon an error, replacement are cancelled and existing service perimeters are not affected. The Operation.response field contains ReplaceServicePerimetersResponse.", "flatPath": "v1/accessPolicies/{accessPoliciesId}/servicePerimeters:replaceAll", "httpMethod": "POST", "id": "accesscontextmanager.accessPolicies.servicePerimeters.replaceAll", @@ -658,6 +770,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "testIamPermissions": { + "description": "Returns the IAM permissions that the caller has on the specified Access Context Manager resource. The resource can be an AccessPolicy, AccessLevel, or ServicePerimeter. This method does not support other resources.", + "flatPath": "v1/accessPolicies/{accessPoliciesId}/servicePerimeters/{servicePerimetersId}:testIamPermissions", + "httpMethod": "POST", + "id": "accesscontextmanager.accessPolicies.servicePerimeters.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": "^accessPolicies/[^/]+/servicePerimeters/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } } @@ -791,7 +931,7 @@ "gcpUserAccessBindings": { "methods": { "create": { - "description": "Creates a GcpUserAccessBinding. If the client specifies a name, the server will ignore it. Fails if a resource already exists with the same group_key. Completion of this long-running operation does not necessarily signify that the new binding is deployed onto all affected users, which may take more time.", + "description": "Creates a GcpUserAccessBinding. If the client specifies a name, the server ignores it. Fails if a resource already exists with the same group_key. Completion of this long-running operation does not necessarily signify that the new binding is deployed onto all affected users, which may take more time.", "flatPath": "v1/organizations/{organizationsId}/gcpUserAccessBindings", "httpMethod": "POST", "id": "accesscontextmanager.organizations.gcpUserAccessBindings.create", @@ -943,9 +1083,15 @@ } } }, - "revision": "20210319", + "revision": "20220301", "rootUrl": "https://accesscontextmanager.googleapis.com/", "schemas": { + "AccessContextManagerOperationMetadata": { + "description": "Metadata of Access Context Manager's Long Running Operations.", + "id": "AccessContextManagerOperationMetadata", + "properties": {}, + "type": "object" + }, "AccessLevel": { "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": "AccessLevel", @@ -963,7 +1109,7 @@ "type": "string" }, "name": { - "description": "Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length of the `short_name` component is 50 characters.", + "description": "Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{access_policy}/accessLevels/{access_level}`. The maximum length of the `access_level` component is 50 characters.", "type": "string" }, "title": { @@ -982,13 +1128,20 @@ "type": "string" }, "name": { - "description": "Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{policy_id}`", + "description": "Output only. 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 a policy define which resources an ACM policy can restrict, and where ACM resources can be referenced. For example, a policy with scopes=[\"folders/123\"] has the following behavior: - vpcsc perimeters can only restrict projects within folders/123 - access levels can only be referenced by resources within folders/123. If empty, there are no limitations on which resources can be restricted by an ACM policy, and there are no limitations on where ACM resources can be referenced. Only one policy can include a given scope (attempting to create a second policy which includes \"folders/123\" will result in an error). Currently, scopes cannot be modified after a policy is created. Currently, 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" @@ -1014,6 +1167,54 @@ }, "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" + }, "BasicLevel": { "description": "`BasicLevel` is an `AccessLevel` using a set of recommended features.", "id": "BasicLevel", @@ -1040,6 +1241,28 @@ }, "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 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 the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", @@ -1190,7 +1413,7 @@ "type": "object" }, "EgressFrom": { - "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 protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed.", + "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": "EgressFrom", "properties": { "identities": { @@ -1235,18 +1458,18 @@ "type": "object" }, "EgressTo": { - "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 protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed.", + "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": "EgressTo", "properties": { "operations": { - "description": "A list of ApiOperations that this egress rule applies to. A request matches if it contains an operation/service in this list.", + "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": "ApiOperation" }, "type": "array" }, "resources": { - "description": "A list of resources, currently only projects in the form `projects/`, that match this to stanza. 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.", + "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" }, @@ -1306,8 +1529,37 @@ }, "type": "object" }, + "GcpUserAccessBindingOperationMetadata": { + "description": "Currently, a completed operation means nothing. In the future, this metadata and a completed operation may indicate that the binding has taken effect and is affecting access decisions for all users.", + "id": "GcpUserAccessBindingOperationMetadata", + "properties": {}, + "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" + }, "IngressFrom": { - "description": "Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request.", + "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": "IngressFrom", "properties": { "identities": { @@ -1363,7 +1615,7 @@ "id": "IngressSource", "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 `*` is specified, then all IngressSources will be allowed.", + "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": { @@ -1374,18 +1626,18 @@ "type": "object" }, "IngressTo": { - "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 destination of the request.", + "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": "IngressTo", "properties": { "operations": { - "description": "A list of ApiOperations the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter.", + "description": "A list of ApiOperations allowed to be performed by the sources specified in corresponding IngressFrom in this ServicePerimeter.", "items": { "$ref": "ApiOperation" }, "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. A request matches if it contains a resource in this list. If `*` is specified for resources, then this IngressTo rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.", + "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" }, @@ -1571,6 +1823,37 @@ }, "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" + }, "ReplaceAccessLevelsRequest": { "description": "A request to replace all existing Access Levels in an Access Policy with the Access Levels provided. This is done atomically.", "id": "ReplaceAccessLevelsRequest", @@ -1644,7 +1927,7 @@ "type": "string" }, "name": { - "description": "Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`", + "description": "Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`", "type": "string" }, "perimeterType": { @@ -1724,6 +2007,22 @@ }, "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." + }, + "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", @@ -1751,6 +2050,34 @@ }, "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" + }, "VpcAccessibleServices": { "description": "Specifies how APIs are allowed to communicate within the Service Perimeter.", "id": "VpcAccessibleServices", diff --git a/etc/api/accesscontextmanager/v1beta/accesscontextmanager-api.json b/etc/api/accesscontextmanager/v1beta/accesscontextmanager-api.json index def48c900e..6073f64f87 100644 --- a/etc/api/accesscontextmanager/v1beta/accesscontextmanager-api.json +++ b/etc/api/accesscontextmanager/v1beta/accesscontextmanager-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -609,9 +609,15 @@ } } }, - "revision": "20210319", + "revision": "20220301", "rootUrl": "https://accesscontextmanager.googleapis.com/", "schemas": { + "AccessContextManagerOperationMetadata": { + "description": "Metadata of Access Context Manager's Long Running Operations.", + "id": "AccessContextManagerOperationMetadata", + "properties": {}, + "type": "object" + }, "AccessLevel": { "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": "AccessLevel", diff --git a/etc/api/adexchangebuyer2/v2beta1/adexchangebuyer2-api.json b/etc/api/adexchangebuyer2/v2beta1/adexchangebuyer2-api.json index a4a3c4b6b1..2cf9b3369f 100644 --- a/etc/api/adexchangebuyer2/v2beta1/adexchangebuyer2-api.json +++ b/etc/api/adexchangebuyer2/v2beta1/adexchangebuyer2-api.json @@ -900,6 +900,74 @@ "scopes": [ "https://www.googleapis.com/auth/adexchange.buyer" ] + }, + "pause": { + "description": "Update given deals to pause serving. This method will set the `DealServingMetadata.DealPauseStatus.has_buyer_paused` bit to true for all listed deals in the request. Currently, this method only applies to PG and PD deals. For PA deals, please call accounts.proposals.pause endpoint. It is a no-op to pause already-paused deals. It is an error to call PauseProposalDeals for deals which are not part of the proposal of proposal_id or which are not finalized or renegotiating.", + "flatPath": "v2beta1/accounts/{accountId}/finalizedProposals/{proposalId}:pause", + "httpMethod": "POST", + "id": "adexchangebuyer2.accounts.finalizedProposals.pause", + "parameterOrder": [ + "accountId", + "proposalId" + ], + "parameters": { + "accountId": { + "description": "Account ID of the buyer.", + "location": "path", + "required": true, + "type": "string" + }, + "proposalId": { + "description": "The proposal_id of the proposal containing the deals.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/accounts/{accountId}/finalizedProposals/{proposalId}:pause", + "request": { + "$ref": "PauseProposalDealsRequest" + }, + "response": { + "$ref": "Proposal" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "resume": { + "description": "Update given deals to resume serving. This method will set the `DealServingMetadata.DealPauseStatus.has_buyer_paused` bit to false for all listed deals in the request. Currently, this method only applies to PG and PD deals. For PA deals, please call accounts.proposals.resume endpoint. It is a no-op to resume running deals or deals paused by the other party. It is an error to call ResumeProposalDeals for deals which are not part of the proposal of proposal_id or which are not finalized or renegotiating.", + "flatPath": "v2beta1/accounts/{accountId}/finalizedProposals/{proposalId}:resume", + "httpMethod": "POST", + "id": "adexchangebuyer2.accounts.finalizedProposals.resume", + "parameterOrder": [ + "accountId", + "proposalId" + ], + "parameters": { + "accountId": { + "description": "Account ID of the buyer.", + "location": "path", + "required": true, + "type": "string" + }, + "proposalId": { + "description": "The proposal_id of the proposal containing the deals.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/accounts/{accountId}/finalizedProposals/{proposalId}:resume", + "request": { + "$ref": "ResumeProposalDealsRequest" + }, + "response": { + "$ref": "Proposal" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] } } }, @@ -2500,7 +2568,7 @@ } } }, - "revision": "20210331", + "revision": "20220307", "rootUrl": "https://adexchangebuyer.googleapis.com/", "schemas": { "AbsoluteDateRange": { @@ -2767,7 +2835,7 @@ "type": "string" }, "clientName": { - "description": "Name used to represent this client to publishers. You may have multiple clients that map to the same entity, but for each client the combination of `clientName` and entity must be unique. You can specify this field as empty.", + "description": "Name used to represent this client to publishers. You may have multiple clients that map to the same entity, but for each client the combination of `clientName` and entity must be unique. You can specify this field as empty. Maximum length of 255 characters is allowed.", "type": "string" }, "entityId": { @@ -3460,7 +3528,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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": { @@ -4082,7 +4150,7 @@ "Financial service ad does not adhere to specifications.", "Flash content was found in an unsupported context.", "Misuse by an Open Measurement SDK script.", - "Use of an Open Measurement SDK vendor not on approved whitelist.", + "Use of an Open Measurement SDK vendor not on approved vendor list.", "Unacceptable landing page.", "Unsupported language.", "Non-SSL compliant.", @@ -4336,7 +4404,9 @@ "DAY", "WEEK", "MONTH", - "LIFETIME" + "LIFETIME", + "POD", + "STREAM" ], "enumDescriptions": [ "A placeholder for an undefined time unit type. This just indicates the variable with this value hasn't been initialized.", @@ -4345,7 +4415,9 @@ "Day", "Week", "Month", - "Lifetime" + "Lifetime", + "Pod", + "Stream" ], "type": "string" } @@ -4373,10 +4445,34 @@ "format": "int64", "type": "string" }, + "impressionCap": { + "description": "The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.", + "format": "int64", + "type": "string" + }, "minimumDailyLooks": { "description": "Daily minimum looks for CPD deal types.", "format": "int64", "type": "string" + }, + "percentShareOfVoice": { + "description": "For sponsorship deals, this is the percentage of the seller's eligible impressions that the deal will serve until the cap is reached.", + "format": "int64", + "type": "string" + }, + "reservationType": { + "description": "The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.", + "enum": [ + "RESERVATION_TYPE_UNSPECIFIED", + "STANDARD", + "SPONSORSHIP" + ], + "enumDescriptions": [ + "An unspecified reservation type.", + "Non-sponsorship deal.", + "Sponsorship deals don't have impression goal (guaranteed_looks) and they are served based on the flight dates. For CPM Sponsorship deals, impression_cap is the lifetime impression limit." + ], + "type": "string" } }, "type": "object" @@ -5045,7 +5141,7 @@ "type": "object" }, "NonGuaranteedFixedPriceTerms": { - "description": "Terms for Preferred Deals. Note that Preferred Deals cannot be created via the API at this time, but can be returned in a get or list request.", + "description": "Terms for Preferred Deals.", "id": "NonGuaranteedFixedPriceTerms", "properties": { "fixedPrices": { @@ -5116,6 +5212,24 @@ }, "type": "object" }, + "PauseProposalDealsRequest": { + "description": "Request message to pause serving for finalized deals.", + "id": "PauseProposalDealsRequest", + "properties": { + "externalDealIds": { + "description": "The external_deal_id's of the deals to be paused. If empty, all the deals in the proposal will be paused.", + "items": { + "type": "string" + }, + "type": "array" + }, + "reason": { + "description": "The reason why the deals are being paused. This human readable message will be displayed in the seller's UI. (Max length: 1000 unicode code units.)", + "type": "string" + } + }, + "type": "object" + }, "PauseProposalRequest": { "description": "Request message to pause serving for an already-finalized proposal.", "id": "PauseProposalRequest", @@ -5225,7 +5339,7 @@ "type": "object" }, "Product": { - "description": "Note: this resource requires whitelisting for access. Please contact your account manager for access to Marketplace resources. A product is a segment of inventory that a seller wishes to sell. It is associated with certain terms and targeting information which helps the buyer know more about the inventory.", + "description": "A product is a segment of inventory that a seller wishes to sell. It is associated with certain terms and targeting information which helps the buyer know more about the inventory.", "id": "Product", "properties": { "availableEndTime": { @@ -5317,7 +5431,7 @@ "type": "object" }, "Proposal": { - "description": "Note: this resource requires whitelisting for access. Please contact your account manager for access to Marketplace resources. Represents a proposal in the Marketplace. A proposal is the unit of negotiation between a seller and a buyer and contains deals which are served. Note: you can not update, create, or otherwise modify Private Auction or Preferred Deals deals through the API. Fields are updatable unless noted otherwise.", + "description": "Represents a proposal in the Marketplace. A proposal is the unit of negotiation between a seller and a buyer and contains deals which are served. Note: You can't update, create, or otherwise modify Private Auction deals through the API. Fields are updatable unless noted otherwise.", "id": "Proposal", "properties": { "billedBuyer": { @@ -5463,7 +5577,7 @@ "type": "object" }, "PublisherProfile": { - "description": "Note: this resource requires whitelisting for access. Please contact your account manager for access to Marketplace resources. Represents a publisher profile (https://support.google.com/admanager/answer/6035806) in Marketplace. All fields are read only. All string fields are free-form text entered by the publisher unless noted otherwise.", + "description": "Represents a publisher profile (https://support.google.com/admanager/answer/6035806) in Marketplace. All fields are read only. All string fields are free-form text entered by the publisher unless noted otherwise.", "id": "PublisherProfile", "properties": { "audienceDescription": { @@ -5635,6 +5749,20 @@ }, "type": "object" }, + "ResumeProposalDealsRequest": { + "description": "Request message to resume (unpause) serving for already-finalized deals.", + "id": "ResumeProposalDealsRequest", + "properties": { + "externalDealIds": { + "description": "The external_deal_id's of the deals to resume. If empty, all the deals in the proposal will be resumed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ResumeProposalRequest": { "description": "Request message to resume (unpause) serving for an already-finalized proposal.", "id": "ResumeProposalRequest", @@ -5687,7 +5815,8 @@ "type": "string" }, "subAccountId": { - "description": "Optional sub-account ID for the seller.", + "description": "Output only. Ad manager network code for the seller.", + "readOnly": true, "type": "string" } }, diff --git a/etc/api/adexperiencereport/v1/adexperiencereport-api.json b/etc/api/adexperiencereport/v1/adexperiencereport-api.json index 6c43399a1f..9ed130a52a 100644 --- a/etc/api/adexperiencereport/v1/adexperiencereport-api.json +++ b/etc/api/adexperiencereport/v1/adexperiencereport-api.json @@ -138,7 +138,7 @@ } } }, - "revision": "20210329", + "revision": "20220303", "rootUrl": "https://adexperiencereport.googleapis.com/", "schemas": { "PlatformSummary": { diff --git a/etc/api/admin/datatransfer_v1/admin-api.json b/etc/api/admin/datatransfer_v1/admin-api.json index 84858e9085..d0208a3363 100644 --- a/etc/api/admin/datatransfer_v1/admin-api.json +++ b/etc/api/admin/datatransfer_v1/admin-api.json @@ -17,7 +17,7 @@ "canonicalName": "DataTransfer", "description": "Admin SDK lets administrators of enterprise domains to view and manage resources like user, groups etc. It also provides audit and usage reports of domain.", "discoveryVersion": "v1", - "documentationLink": "http://developers.google.com/admin-sdk/", + "documentationLink": "https://developers.google.com/admin-sdk/", "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -272,7 +272,7 @@ } } }, - "revision": "20210330", + "revision": "20220301", "rootUrl": "https://admin.googleapis.com/", "schemas": { "Application": { diff --git a/etc/api/admin/directory_v1/admin-api.json b/etc/api/admin/directory_v1/admin-api.json index 4f31907e3a..0b6d14faa8 100644 --- a/etc/api/admin/directory_v1/admin-api.json +++ b/etc/api/admin/directory_v1/admin-api.json @@ -87,7 +87,7 @@ "description": "View user schemas on your domain" }, "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -98,7 +98,7 @@ "canonicalName": "directory", "description": "Admin SDK lets administrators of enterprise domains to view and manage resources like user, groups etc. It also provides audit and usage reports of domain.", "discoveryVersion": "v1", - "documentationLink": "http://developers.google.com/admin-sdk/", + "documentationLink": "https://developers.google.com/admin-sdk/", "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -193,7 +193,7 @@ "asps": { "methods": { "delete": { - "description": "Delete an ASP issued by a user.", + "description": "Deletes an ASP issued by a user.", "flatPath": "admin/directory/v1/users/{userKey}/asps/{codeId}", "httpMethod": "DELETE", "id": "directory.asps.delete", @@ -222,7 +222,7 @@ ] }, "get": { - "description": "Get information about an ASP issued by a user.", + "description": "Gets information about an ASP issued by a user.", "flatPath": "admin/directory/v1/users/{userKey}/asps/{codeId}", "httpMethod": "GET", "id": "directory.asps.get", @@ -254,7 +254,7 @@ ] }, "list": { - "description": "List the ASPs issued by a user.", + "description": "Lists the ASPs issued by a user.", "flatPath": "admin/directory/v1/users/{userKey}/asps", "httpMethod": "GET", "id": "directory.asps.list", @@ -282,7 +282,7 @@ "channels": { "methods": { "stop": { - "description": "Stop watching resources through this channel.", + "description": "Stops watching resources through this channel.", "flatPath": "admin/directory_v1/channels/stop", "httpMethod": "POST", "id": "admin.channels.stop", @@ -395,6 +395,11 @@ "required": true, "type": "string" }, + "includeChildOrgunits": { + "description": "Return devices from all child orgunits, as well as the specified org unit. If this is set to true 'orgUnitPath' must be provided.", + "location": "query", + "type": "boolean" + }, "maxResults": { "default": "100", "description": "Maximum number of results to return.", @@ -427,7 +432,7 @@ "type": "string" }, "orgUnitPath": { - "description": "The full path of the organizational unit or its unique ID.", + "description": "The full path of the organizational unit (minus the leading `/`) or its unique ID.", "location": "query", "type": "string" }, @@ -450,7 +455,7 @@ "type": "string" }, "query": { - "description": "Search string in the format given at http://support.google.com/chromeos/a/bin/answer.py?answer=1698333", + "description": "Search string in the format given at https://developers.google.com/admin-sdk/directory/v1/list-query-operators", "location": "query", "type": "string" }, @@ -478,7 +483,7 @@ ] }, "moveDevicesToOu": { - "description": "Move or insert multiple Chrome OS devices to an organizational unit. You can move up to 50 devices at once.", + "description": "Moves or inserts multiple Chrome OS devices to an organizational unit. You can move up to 50 devices at once.", "flatPath": "admin/directory/v1/customer/{customerId}/devices/chromeos/moveDevicesToOu", "httpMethod": "POST", "id": "directory.chromeosdevices.moveDevicesToOu", @@ -724,7 +729,7 @@ ] }, "patch": { - "description": "Patch Customers via Apiary Patch Orchestration", + "description": "Patches a customer.", "flatPath": "admin/directory/v1/customers/{customerKey}", "httpMethod": "PATCH", "id": "directory.customers.patch", @@ -932,6 +937,11 @@ "location": "query", "type": "string" }, + "orderBy": { + "description": "The order to sort results by. Must be one of display_name, description, make_and_model, or create_time. Default order is ascending, but descending order can be returned by appending \"desc\" to the order_by field. For instance, \"description desc\" will return the printers sorted by description in descending order.", + "location": "query", + "type": "string" + }, "orgUnitId": { "description": "Organization Unit that we want to list the printers for. When org_unit is not present in the request then all printers of the customer are returned (or filtered). When org_unit is present in the request then only printers available to this OU will be returned (owned or inherited). You may see if printer is owned or inherited for this OU by looking at Printer.org_unit_id.", "location": "query", @@ -1357,7 +1367,7 @@ ] }, "list": { - "description": "Retrieve all groups of a domain or of a user given a userKey (paginated)", + "description": "Retrieves all groups of a domain or of a user given a userKey (paginated).", "flatPath": "admin/directory/v1/groups", "httpMethod": "GET", "id": "directory.groups.list", @@ -1369,7 +1379,7 @@ "type": "string" }, "domain": { - "description": "The domain name. Use this field to get fields from only one domain. To return all domains for a customer account, use the `customer` query parameter instead.", + "description": "The domain name. Use this field to get groups from only one domain. To return all domains for a customer account, use the `customer` query parameter instead.", "location": "query", "type": "string" }, @@ -1930,7 +1940,7 @@ ] }, "list": { - "description": "Retrieves a paginated list of all mobile devices for an account.", + "description": "Retrieves a paginated list of all user-owned mobile devices for an account. To retrieve a list that includes company-owned devices, use the Cloud Identity [Devices API](https://cloud.google.com/identity/docs/concepts/overview-devices) instead.", "flatPath": "admin/directory/v1/customer/{customerId}/devices/mobile", "httpMethod": "GET", "id": "directory.mobiledevices.list", @@ -2039,11 +2049,6 @@ "orgUnitPath" ], "parameters": { - "allowPlus": { - "description": "Parses org unit path without url decode to allow for plus in ou name", - "location": "query", - "type": "boolean" - }, "customerId": { "description": "The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users).", "location": "path", @@ -2051,7 +2056,7 @@ "type": "string" }, "orgUnitPath": { - "description": "The full path of the organizational unit or its unique ID.", + "description": "The full path of the organizational unit (minus the leading `/`) or its unique ID.", "location": "path", "pattern": "^.*$", "required": true, @@ -2073,11 +2078,6 @@ "orgUnitPath" ], "parameters": { - "allowPlus": { - "description": "Parses org unit path without url decode to allow for plus in ou name", - "location": "query", - "type": "boolean" - }, "customerId": { "description": "The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users).", "location": "path", @@ -2085,7 +2085,7 @@ "type": "string" }, "orgUnitPath": { - "description": "The full path of the organizational unit or its unique ID.", + "description": "The full path of the organizational unit (minus the leading `/`) or its unique ID.", "location": "path", "pattern": "^.*$", "required": true, @@ -2182,11 +2182,6 @@ "orgUnitPath" ], "parameters": { - "allowPlus": { - "description": "Parses org unit path without url decode to allow for plus in ou name", - "location": "query", - "type": "boolean" - }, "customerId": { "description": "The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users).", "location": "path", @@ -2194,7 +2189,7 @@ "type": "string" }, "orgUnitPath": { - "description": "The full path of the organizational unit or its unique ID.", + "description": "The full path of the organizational unit (minus the leading `/`) or its unique ID.", "location": "path", "pattern": "^.*$", "required": true, @@ -2222,11 +2217,6 @@ "orgUnitPath" ], "parameters": { - "allowPlus": { - "description": "Parses org unit path without url decode to allow for plus in ou name", - "location": "query", - "type": "boolean" - }, "customerId": { "description": "The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users).", "location": "path", @@ -2234,7 +2224,7 @@ "type": "string" }, "orgUnitPath": { - "description": "The full path of the organizational unit or its unique ID.", + "description": "The full path of the organizational unit (minus the leading `/`) or its unique ID.", "location": "path", "pattern": "^.*$", "required": true, @@ -2429,7 +2419,7 @@ ] }, "patch": { - "description": "Patches a building via Apiary Patch Orchestration.", + "description": "Patches a building.", "flatPath": "admin/directory/v1/customer/{customer}/resources/buildings/{buildingId}", "httpMethod": "PATCH", "id": "directory.resources.buildings.patch", @@ -2668,7 +2658,7 @@ ] }, "patch": { - "description": "Patches a calendar resource via Apiary Patch Orchestration.", + "description": "Patches a calendar resource.", "flatPath": "admin/directory/v1/customer/{customer}/resources/calendars/{calendarResourceId}", "httpMethod": "PATCH", "id": "directory.resources.calendars.patch", @@ -2865,7 +2855,7 @@ ] }, "patch": { - "description": "Patches a feature via Apiary Patch Orchestration.", + "description": "Patches a feature.", "flatPath": "admin/directory/v1/customer/{customer}/resources/features/{featureKey}", "httpMethod": "PATCH", "id": "directory.resources.features.patch", @@ -2998,7 +2988,7 @@ ] }, "get": { - "description": "Retrieve a role assignment.", + "description": "Retrieves a role assignment.", "flatPath": "admin/directory/v1/customer/{customer}/roleassignments/{roleAssignmentId}", "httpMethod": "GET", "id": "directory.roleAssignments.get", @@ -3234,7 +3224,7 @@ ] }, "patch": { - "description": "Patch role via Apiary Patch Orchestration", + "description": "Patches a role.", "flatPath": "admin/directory/v1/customer/{customer}/roles/{roleId}", "httpMethod": "PATCH", "id": "directory.roles.patch", @@ -3306,7 +3296,7 @@ "schemas": { "methods": { "delete": { - "description": "Delete schema", + "description": "Deletes a schema.", "flatPath": "admin/directory/v1/customer/{customerId}/schemas/{schemaKey}", "httpMethod": "DELETE", "id": "directory.schemas.delete", @@ -3334,7 +3324,7 @@ ] }, "get": { - "description": "Retrieve schema", + "description": "Retrieves a schema.", "flatPath": "admin/directory/v1/customer/{customerId}/schemas/{schemaKey}", "httpMethod": "GET", "id": "directory.schemas.get", @@ -3366,7 +3356,7 @@ ] }, "insert": { - "description": "Create schema.", + "description": "Creates a schema.", "flatPath": "admin/directory/v1/customer/{customerId}/schemas", "httpMethod": "POST", "id": "directory.schemas.insert", @@ -3393,7 +3383,7 @@ ] }, "list": { - "description": "Retrieve all schemas for a customer", + "description": "Retrieves all schemas for a customer.", "flatPath": "admin/directory/v1/customer/{customerId}/schemas", "httpMethod": "GET", "id": "directory.schemas.list", @@ -3418,7 +3408,7 @@ ] }, "patch": { - "description": "Patch Schema via Apiary Patch Orchestration", + "description": "Patches a schema.", "flatPath": "admin/directory/v1/customer/{customerId}/schemas/{schemaKey}", "httpMethod": "PATCH", "id": "directory.schemas.patch", @@ -3452,7 +3442,7 @@ ] }, "update": { - "description": "Update schema", + "description": "Updates a schema.", "flatPath": "admin/directory/v1/customer/{customerId}/schemas/{schemaKey}", "httpMethod": "PUT", "id": "directory.schemas.update", @@ -3490,7 +3480,7 @@ "tokens": { "methods": { "delete": { - "description": "Delete all access tokens issued by a user for an application.", + "description": "Deletes all access tokens issued by a user for an application.", "flatPath": "admin/directory/v1/users/{userKey}/tokens/{clientId}", "httpMethod": "DELETE", "id": "directory.tokens.delete", @@ -3518,7 +3508,7 @@ ] }, "get": { - "description": "Get information about an access token issued by a user.", + "description": "Gets information about an access token issued by a user.", "flatPath": "admin/directory/v1/users/{userKey}/tokens/{clientId}", "httpMethod": "GET", "id": "directory.tokens.get", @@ -3577,7 +3567,7 @@ "twoStepVerification": { "methods": { "turnOff": { - "description": "Turn off 2-Step Verification for user.", + "description": "Turns off 2-Step Verification for user.", "flatPath": "admin/directory/v1/users/{userKey}/twoStepVerification/turnOff", "httpMethod": "POST", "id": "directory.twoStepVerification.turnOff", @@ -3718,7 +3708,7 @@ "type": "string" }, "domain": { - "description": "The domain name. Use this field to get fields from only one domain. To return all domains for a customer account, use the `customer` query parameter instead. Either the `customer` or the `domain` parameter must be provided.", + "description": "The domain name. Use this field to get groups from only one domain. To return all domains for a customer account, use the `customer` query parameter instead. Either the `customer` or the `domain` parameter must be provided.", "location": "query", "type": "string" }, @@ -3797,7 +3787,7 @@ "type": "string" }, "sortOrder": { - "description": "Whether to return results in ascending or descending order.", + "description": "Whether to return results in ascending or descending order, ignoring case.", "enum": [ "ASCENDING", "DESCENDING" @@ -3886,7 +3876,7 @@ ] }, "signOut": { - "description": "Sign a user out of all web and device sessions and reset their sign-in cookies. User will have to sign in by authenticating again.", + "description": "Signs a user out of all web and device sessions and reset their sign-in cookies. User will have to sign in by authenticating again.", "flatPath": "admin/directory/v1/users/{userKey}/signOut", "httpMethod": "POST", "id": "directory.users.signOut", @@ -3958,7 +3948,7 @@ ] }, "watch": { - "description": "Watch for changes in users list", + "description": "Watches for changes in users list.", "flatPath": "admin/directory/v1/users/watch", "httpMethod": "POST", "id": "directory.users.watch", @@ -4164,6 +4154,19 @@ "userKey" ], "parameters": { + "event": { + "description": "Events to watch for.", + "enum": [ + "add", + "delete" + ], + "enumDescriptions": [ + "Alias Created Event", + "Alias Deleted Event" + ], + "location": "query", + "type": "string" + }, "userKey": { "description": "Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID.", "location": "path", @@ -4183,7 +4186,7 @@ ] }, "watch": { - "description": "Watch for changes in users list.", + "description": "Watches for changes in users list.", "flatPath": "admin/directory/v1/users/{userKey}/aliases/watch", "httpMethod": "POST", "id": "directory.users.aliases.watch", @@ -4336,7 +4339,7 @@ "verificationCodes": { "methods": { "generate": { - "description": "Generate new backup verification codes for the user.", + "description": "Generates new backup verification codes for the user.", "flatPath": "admin/directory/v1/users/{userKey}/verificationCodes/generate", "httpMethod": "POST", "id": "directory.verificationCodes.generate", @@ -4357,7 +4360,7 @@ ] }, "invalidate": { - "description": "Invalidate the current backup verification codes for the user.", + "description": "Invalidates the current backup verification codes for the user.", "flatPath": "admin/directory/v1/users/{userKey}/verificationCodes/invalidate", "httpMethod": "POST", "id": "directory.verificationCodes.invalidate", @@ -4404,7 +4407,7 @@ } } }, - "revision": "20210330", + "revision": "20220301", "rootUrl": "https://admin.googleapis.com/", "schemas": { "Alias": { @@ -4940,6 +4943,73 @@ "description": "The boot mode for the device. The possible values are: * `Verified`: The device is running a valid version of the Chrome OS. * `Dev`: The devices's developer hardware switch is enabled. When booted, the device has a command line shell. For an example of a developer switch, see the [Chromebook developer information](https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/samsung-series-5-chromebook#TOC-Developer-switch).", "type": "string" }, + "cpuInfo": { + "description": "Information regarding CPU specs in the device.", + "items": { + "description": "CPU specs for a CPU.", + "properties": { + "architecture": { + "description": "The CPU architecture.", + "type": "string" + }, + "logicalCpus": { + "description": "Information for the Logical CPUs", + "items": { + "description": "Status of a single logical CPU.", + "properties": { + "cStates": { + "description": "C-States indicate the power consumption state of the CPU. For more information look at documentation published by the CPU maker.", + "items": { + "description": "Status of a single C-state. C-states are various modes the CPU can transition to in order to use more or less power.", + "properties": { + "displayName": { + "description": "Name of the state.", + "type": "string" + }, + "sessionDuration": { + "description": "Time spent in the state since the last reboot.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "currentScalingFrequencyKhz": { + "description": "Current frequency the CPU is running at.", + "format": "int32", + "type": "integer" + }, + "idleDuration": { + "description": "Idle time since last boot.", + "format": "google-duration", + "type": "string" + }, + "maxScalingFrequencyKhz": { + "description": "Maximum frequency the CPU is allowed to run at, by policy.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "type": "array" + }, + "maxClockSpeedKhz": { + "description": "The max CPU clock speed in kHz.", + "format": "int32", + "type": "integer" + }, + "model": { + "description": "The CPU model name.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, "cpuStatusReports": { "description": "Reports of CPU utilization and temperature (Read-only)", "items": { @@ -5118,8 +5188,12 @@ "description": "The device's order number. Only devices directly purchased from Google have an order number.", "type": "string" }, + "orgUnitId": { + "description": "The unique ID of the organizational unit. orgUnitPath is the human readable version of orgUnitId. While orgUnitPath may change by renaming an organizational unit within the path, orgUnitId is unchangeable for one organizational unit. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433).", + "type": "string" + }, "orgUnitPath": { - "description": "The full parent path with the organizational unit's name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level organization, it is represented as a forward slash, `/`. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#update_chrome_device) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433).", + "description": "The full parent path with the organizational unit's name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level organization, it is represented as a forward slash, `/`. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433).", "type": "string" }, "osVersion": { @@ -5133,7 +5207,18 @@ "recentUsers": { "description": "List of recent device users, in descending order, by last login time.", "items": { - "$ref": "RecentUsers" + "description": "List of recent device users, in descending order, by last login time.", + "properties": { + "email": { + "description": "The user's email address. This is only present if the user type is `USER_TYPE_MANAGED`.", + "type": "string" + }, + "type": { + "description": "The type of the user.", + "type": "string" + } + }, + "type": "object" }, "type": "array" }, @@ -5717,7 +5802,7 @@ "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 (e.g., 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. E.g., 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 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", @@ -5933,7 +6018,7 @@ "type": "string" }, "printers": { - "description": "List of printers. If `org_unit_id` was given in the request, then only printers visible for this OU will be returned. If `org_unit_id` was given in the request, then all printers will be returned.", + "description": "List of printers. If `org_unit_id` was given in the request, then only printers visible for this OU will be returned. If `org_unit_id` was not given in the request, then all printers will be returned.", "items": { "$ref": "Printer" }, @@ -6271,7 +6356,7 @@ "type": "object" }, "OrgUnit": { - "description": "Managing your account's organizational units allows you to configure your users' access to services and custom settings. For more information about common organizational unit tasks, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-org-units.html).", + "description": "Managing your account's organizational units allows you to configure your users' access to services and custom settings. For more information about common organizational unit tasks, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-org-units.html). The customer's organizational unit hierarchy is limited to 35 levels of depth.", "id": "OrgUnit", "properties": { "blockInheritance": { @@ -6473,21 +6558,6 @@ }, "type": "object" }, - "RecentUsers": { - "description": "List of recent device users, in descending order, by last login time.", - "id": "RecentUsers", - "properties": { - "email": { - "description": "The user's email address. This is only present if the user type is `USER_TYPE_MANAGED`.", - "type": "string" - }, - "type": { - "description": "The type of the user.", - "type": "string" - } - }, - "type": "object" - }, "Role": { "id": "Role", "properties": { @@ -6552,6 +6622,7 @@ "type": "object" }, "RoleAssignment": { + "description": "Defines an assignment of a role.", "id": "RoleAssignment", "properties": { "assignedTo": { @@ -6683,7 +6754,7 @@ "directory.schemas.insert" ] }, - "description": "The schema's name.", + "description": "The schema's name. Each `schema_name` must be unique within a customer. Reusing a name results in a `409: Entity already exists` error.", "type": "string" } }, @@ -6872,7 +6943,7 @@ "type": "boolean" }, "aliases": { - "description": "Output only. List of the user's alias email addresses.", + "description": "Output only. A list of the user's alias email addresses.", "items": { "type": "string" }, @@ -6897,7 +6968,7 @@ "additionalProperties": { "$ref": "UserCustomProperties" }, - "description": "Custom fields of the user.", + "description": "Custom fields of the user. The key is a `schema_name` and its values are `'field_name': 'field_value'`.", "type": "object" }, "customerId": { @@ -6928,7 +6999,7 @@ "type": "any" }, "hashFunction": { - "description": "Stores the hash format of the password property. We recommend sending the `password` property value as a base 16 bit hexadecimal-encoded hash value. Set the `hashFunction` values as either the [SHA-1](https://wikipedia.org/wiki/SHA-1), [MD5](https://wikipedia.org/wiki/MD5), or [crypt](https://en.wikipedia.org/wiki/Crypt_\\(C\\)) hash format.", + "description": "Stores the hash format of the password property. We recommend sending the `password` property value as a base 16 bit hexadecimal-encoded hash value. The following `hashFunction` values are allowed: * `DES` * `MD5` - hash prefix is `$1$` * `SHA2-256` - hash prefix is `$5$` * `SHA2-512` - hash prefix is `$6$` If rounds are specified as part of the prefix, they must be 10,000 or fewer.", "type": "string" }, "id": { @@ -7290,11 +7361,15 @@ "id": "UserLanguage", "properties": { "customLanguage": { - "description": "Other language. User can provide own language name if there is no corresponding Google III language code. If this is set LanguageCode can't be set", + "description": "Other language. User can provide their own language name if there is no corresponding ISO 639 language code. If this is set, `languageCode` can't be set.", "type": "string" }, "languageCode": { - "description": "Language Code. Should be used for storing Google III LanguageCode string representation for language. Illegal values cause SchemaException.", + "description": "ISO 639 string representation of a language. See [Language Codes](/admin-sdk/directory/v1/languages) for the list of supported codes. Valid language codes outside the supported set will be accepted by the API but may lead to unexpected behavior. Illegal values cause `SchemaException`. If this is set, `customLanguage` can't be set.", + "type": "string" + }, + "preference": { + "description": "Optional. If present, controls whether the specified `languageCode` is the user's preferred language. If `customLanguage` is set, this can't be set. Allowed values are `preferred` and `not_preferred`.", "type": "string" } }, diff --git a/etc/api/admin/reports_v1/admin-api.json b/etc/api/admin/reports_v1/admin-api.json index b742ba05fe..d58fcaad4e 100644 --- a/etc/api/admin/reports_v1/admin-api.json +++ b/etc/api/admin/reports_v1/admin-api.json @@ -17,7 +17,7 @@ "canonicalName": "reports", "description": "Admin SDK lets administrators of enterprise domains to view and manage resources like user, groups etc. It also provides audit and usage reports of domain.", "discoveryVersion": "v1", - "documentationLink": "http://developers.google.com/admin-sdk/", + "documentationLink": "https://developers.google.com/admin-sdk/", "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -148,7 +148,8 @@ "user_accounts", "context_aware_access", "chrome", - "data_studio" + "data_studio", + "keep" ], "enumDescriptions": [ "The Google Workspace Access Transparency activity reports return information about different types of Access Transparency activity events.", @@ -162,18 +163,19 @@ "The Enterprise Groups activity reports return information about various Enterprise group activity events.", "The Jamboard activity reports return information about various Jamboard activity events.", "The Login application's activity reports return account information about different types of Login activity events.", - "The Meet Audit activity report return information about different types of Meet Audit activity events.", - "The Mobile Audit activity report return information about different types of Mobile Audit activity events.", - "The Rules activity report return information about different types of Rules activity events.", - "The SAML activity report return information about different types of SAML activity events.", + "The Meet Audit activity report returns information about different types of Meet Audit activity events.", + "The Device Audit activity report returns information about different types of Device Audit activity events.", + "The Rules activity report returns information about different types of Rules activity events.", + "The SAML activity report returns information about different types of SAML activity events.", "The Token application's activity reports return account information about different types of Token activity events.", "The User Accounts application's activity reports return account information about different types of User Accounts activity events.", "The Context-aware access activity reports return information about users' access denied events due to Context-aware access rules.", - "The Chrome activity reports return information about unsafe events reported in the context of the WebProtect features of BeyondCorp.", - "The Data Studio activity reports return information about various types of Data Studio activity events." + "The Chrome activity reports return information about Chrome browser and Chrome OS events.", + "The Data Studio activity reports return information about various types of Data Studio activity events.", + "The Keep application's activity reports return information about various Google Keep activity events. The Keep activity report is only available for Google Workspace Business and Enterprise customers." ], "location": "path", - "pattern": "(access_transparency)|(admin)|(calendar)|(chat)|(chrome)|(context_aware_access)|(data_studio)|(drive)|(gcp)|(gplus)|(groups)|(groups_enterprise)|(jamboard)|(login)|(meet)|(mobile)|(rules)|(saml)|(token)|(user_accounts)", + "pattern": "(access_transparency)|(admin)|(calendar)|(chat)|(chrome)|(context_aware_access)|(data_studio)|(drive)|(gcp)|(gplus)|(groups)|(groups_enterprise)|(jamboard)|(keep)|(login)|(meet)|(mobile)|(rules)|(saml)|(token)|(user_accounts)", "required": true, "type": "string" }, @@ -201,7 +203,7 @@ "type": "string" }, "groupIdFilter": { - "description": "Comma separated group ids (obfuscated) on which user activities are filtered, i.e, the response will contain activities for only those users that are a part of at least one of the group ids mentioned here. Format: \"id:abc123,id:xyz456\"", + "description": "Comma separated group ids (obfuscated) on which user activities are filtered, i.e. the response will contain activities for only those users that are a part of at least one of the group ids mentioned here. Format: \"id:abc123,id:xyz456\"", "location": "query", "pattern": "(id:[a-z0-9]+(,id:[a-z0-9]+)*)", "type": "string" @@ -234,7 +236,7 @@ "type": "string" }, "userKey": { - "description": "Represents the profile ID or the user email for which the data should be filtered. Can be `all` for all information, or `userKey` for a user's unique Google Workspace profile ID or their primary email address.", + "description": "Represents the profile ID or the user email for which the data should be filtered. Can be `all` for all information, or `userKey` for a user's unique Google Workspace profile ID or their primary email address. Must not be a deleted user. For a deleted user, call `users.list` in Directory API with `showDeleted=true`, then use the returned `ID` as the `userKey`.", "location": "path", "required": true, "type": "string" @@ -285,7 +287,8 @@ "user_accounts", "context_aware_access", "chrome", - "data_studio" + "data_studio", + "keep" ], "enumDescriptions": [ "The Google Workspace Access Transparency activity reports return information about different types of Access Transparency activity events.", @@ -299,18 +302,19 @@ "The Enterprise Groups activity reports return information about various Enterprise group activity events.", "The Jamboard activity reports return information about various Jamboard activity events.", "The Login application's activity reports return account information about different types of Login activity events.", - "The Meet Audit activity report return information about different types of Meet Audit activity events.", - "The Mobile Audit activity report return information about different types of Mobile Audit activity events.", - "The Rules activity report return information about different types of Rules activity events.", - "The SAML activity report return information about different types of SAML activity events.", + "The Meet Audit activity report returns information about different types of Meet Audit activity events.", + "The Device Audit activity report returns information about different types of Device Audit activity events.", + "The Rules activity report returns information about different types of Rules activity events.", + "The SAML activity report returns information about different types of SAML activity events.", "The Token application's activity reports return account information about different types of Token activity events.", "The User Accounts application's activity reports return account information about different types of User Accounts activity events.", "The Context-aware access activity reports return information about users' access denied events due to Context-aware access rules.", - "The Chrome activity reports return information about unsafe events reported in the context of the WebProtect features of BeyondCorp.", - "The Data Studio activity reports return information about various types of Data Studio activity events." + "The Chrome activity reports return information about Chrome browser and Chrome OS events.", + "The Data Studio activity reports return information about various types of Data Studio activity events.", + "The Keep application's activity reports return information about various Google Keep activity events. The Keep activity report is only available for Google Workspace Business and Enterprise customers." ], "location": "path", - "pattern": "(access_transparency)|(admin)|(calendar)|(chat)|(chrome)|(context_aware_access)|(data_studio)|(drive)|(gcp)|(gplus)|(groups)|(groups_enterprise)|(jamboard)|(login)|(meet)|(mobile)|(rules)|(saml)|(token)|(user_accounts)", + "pattern": "(access_transparency)|(admin)|(calendar)|(chat)|(chrome)|(context_aware_access)|(data_studio)|(drive)|(gcp)|(gplus)|(groups)|(groups_enterprise)|(jamboard)|(keep)|(login)|(meet)|(mobile)|(rules)|(saml)|(token)|(user_accounts)", "required": true, "type": "string" }, @@ -338,7 +342,7 @@ "type": "string" }, "groupIdFilter": { - "description": "Comma separated group ids (obfuscated) on which user activities are filtered, i.e, the response will contain activities for only those users that are a part of at least one of the group ids mentioned here. Format: \"id:abc123,id:xyz456\"", + "description": "Comma separated group ids (obfuscated) on which user activities are filtered, i.e. the response will contain activities for only those users that are a part of at least one of the group ids mentioned here. Format: \"id:abc123,id:xyz456\"", "location": "query", "pattern": "(id:[a-z0-9]+(,id:[a-z0-9]+)*)", "type": "string" @@ -371,7 +375,7 @@ "type": "string" }, "userKey": { - "description": "Represents the profile ID or the user email for which the data should be filtered. Can be `all` for all information, or `userKey` for a user's unique Google Workspace profile ID or their primary email address.", + "description": "Represents the profile ID or the user email for which the data should be filtered. Can be `all` for all information, or `userKey` for a user's unique Google Workspace profile ID or their primary email address. Must not be a deleted user. For a deleted user, call `users.list` in Directory API with `showDeleted=true`, then use the returned `ID` as the `userKey`.", "location": "path", "required": true, "type": "string" @@ -482,15 +486,7 @@ "type": "string" }, "entityKey": { - "description": "Represents the key of the object to filter the data with.", - "enum": [ - "all", - "entityKey" - ], - "enumDescriptions": [ - "Returns activity events for all users.", - "Represents an app-specific identifier for the entity. For details on how to obtain the `entityKey` for a particular `entityType`, see the Entities Usage parameters reference guides." - ], + "description": "Represents the key of the object to filter the data with. It is a string which can take the value `all` to get activity events for all users, or any other value for an app-specific entity. For details on how to obtain the `entityKey` for a particular `entityType`, see the Entities Usage parameters reference guides.", "location": "path", "required": true, "type": "string" @@ -577,7 +573,7 @@ "type": "string" }, "groupIdFilter": { - "description": "Comma separated group ids (obfuscated) on which user activities are filtered, i.e, the response will contain activities for only those users that are a part of at least one of the group ids mentioned here. Format: \"id:abc123,id:xyz456\"", + "description": "Comma separated group ids (obfuscated) on which user activities are filtered, i.e. the response will contain activities for only those users that are a part of at least one of the group ids mentioned here. Format: \"id:abc123,id:xyz456\"", "location": "query", "pattern": "(id:[a-z0-9]+(,id:[a-z0-9]+)*)", "type": "string" @@ -610,7 +606,7 @@ "type": "string" }, "userKey": { - "description": "Represents the profile ID or the user email for which the data should be filtered. Can be `all` for all information, or `userKey` for a user's unique Google Workspace profile ID or their primary email address.", + "description": "Represents the profile ID or the user email for which the data should be filtered. Can be `all` for all information, or `userKey` for a user's unique Google Workspace profile ID or their primary email address. Must not be a deleted user. For a deleted user, call `users.list` in Directory API with `showDeleted=true`, then use the returned `ID` as the `userKey`.", "location": "path", "required": true, "type": "string" @@ -627,7 +623,7 @@ } } }, - "revision": "20210330", + "revision": "20220301", "rootUrl": "https://admin.googleapis.com/", "schemas": { "Activities": { @@ -677,7 +673,7 @@ "type": "string" }, "profileId": { - "description": "The unique Google Workspace profile ID of the actor. May be absent if the actor is not a Google Workspace user.", + "description": "The unique Google Workspace profile ID of the actor. This value might be absent if the actor is not a Google Workspace user, or may be the number 105250506097979753968 which acts as a placeholder ID.", "type": "string" } }, diff --git a/etc/api/admob/v1/admob-api.json b/etc/api/admob/v1/admob-api.json index a2f47e9df4..d47f5ce645 100644 --- a/etc/api/admob/v1/admob-api.json +++ b/etc/api/admob/v1/admob-api.json @@ -168,6 +168,88 @@ } }, "resources": { + "adUnits": { + "methods": { + "list": { + "description": "List the ad units under the specified AdMob account.", + "flatPath": "v1/accounts/{accountsId}/adUnits", + "httpMethod": "GET", + "id": "admob.accounts.adUnits.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of ad units to return. If unspecified or 0, at most 1000 ad units will be returned. The maximum value is 10,000; values above 10,000 will be coerced to 10,000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListAdUnitsResponse`; indicates that this is a continuation of a prior `ListAdUnits` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Resource name of the account to list ad units for. Example: accounts/pub-9876543210987654", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/adUnits", + "response": { + "$ref": "ListAdUnitsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/admob.readonly" + ], + "streamingType": "NONE" + } + } + }, + "apps": { + "methods": { + "list": { + "description": "List the apps under the specified AdMob account.", + "flatPath": "v1/accounts/{accountsId}/apps", + "httpMethod": "GET", + "id": "admob.accounts.apps.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of apps to return. If unspecified or 0, at most 1000 apps will be returned. The maximum value is 10,000; values above 10,000 will be coerced to 10,000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListAppsResponse`; indicates that this is a continuation of a prior `ListApps` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Resource name of the account to list apps for. Example: accounts/pub-9876543210987654", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apps", + "response": { + "$ref": "ListAppsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/admob.readonly" + ], + "streamingType": "NONE" + } + } + }, "mediationReport": { "methods": { "generate": { @@ -239,11 +321,99 @@ } } }, - "revision": "20210331", + "revision": "20220303", "rootUrl": "https://admob.googleapis.com/", "schemas": { + "AdUnit": { + "description": "Describes an AdMob ad unit.", + "id": "AdUnit", + "properties": { + "adFormat": { + "description": "AdFormat of the ad unit. Possible values are as follows: \"BANNER\" - Banner ad format. \"BANNER_INTERSTITIAL\" - Legacy format that can be used as either banner or interstitial. This format can no longer be created but can be targeted by mediation groups. \"INTERSTITIAL\" - A full screen ad. Supported ad types are \"RICH_MEDIA\" and \"VIDEO\". \"NATIVE\" - Native ad format. \"REWARDED\" - An ad that, once viewed, gets a callback verifying the view so that a reward can be given to the user. Supported ad types are \"RICH_MEDIA\" (interactive) and video where video can not be excluded.", + "type": "string" + }, + "adTypes": { + "description": "Ad media type supported by this ad unit. Possible values as follows: \"RICH_MEDIA\" - Text, image, and other non-video media. \"VIDEO\" - Video media.", + "items": { + "type": "string" + }, + "type": "array" + }, + "adUnitId": { + "description": "The externally visible ID of the ad unit which can be used to integrate with the AdMob SDK. This is a read only property. Example: ca-app-pub-9876543210987654/0123456789", + "type": "string" + }, + "appId": { + "description": "The externally visible ID of the app this ad unit is associated with. Example: ca-app-pub-9876543210987654~0123456789", + "type": "string" + }, + "displayName": { + "description": "The display name of the ad unit as shown in the AdMob UI, which is provided by the user. The maximum length allowed is 80 characters.", + "type": "string" + }, + "name": { + "description": "Resource name for this ad unit. Format is accounts/{publisher_id}/adUnits/{ad_unit_id_fragment} Example: accounts/pub-9876543210987654/adUnits/0123456789", + "type": "string" + } + }, + "type": "object" + }, + "App": { + "description": "Describes an AdMob app for a specific platform (For example: Android or iOS).", + "id": "App", + "properties": { + "appId": { + "description": "The externally visible ID of the app which can be used to integrate with the AdMob SDK. This is a read only property. Example: ca-app-pub-9876543210987654~0123456789", + "type": "string" + }, + "linkedAppInfo": { + "$ref": "AppLinkedAppInfo", + "description": "Immutable. The information for an app that is linked to an app store. This field is present if and only if the app is linked to an app store." + }, + "manualAppInfo": { + "$ref": "AppManualAppInfo", + "description": "The information for an app that is not linked to any app store. After an app is linked, this information is still retrivable. If no name is provided for the app upon creation, a placeholder name will be used." + }, + "name": { + "description": "Resource name for this app. Format is accounts/{publisher_id}/apps/{app_id_fragment} Example: accounts/pub-9876543210987654/apps/0123456789", + "type": "string" + }, + "platform": { + "description": "Describes the platform of the app. Limited to \"IOS\" and \"ANDROID\".", + "type": "string" + } + }, + "type": "object" + }, + "AppLinkedAppInfo": { + "description": "Information from the app store if the app is linked to an app store.", + "id": "AppLinkedAppInfo", + "properties": { + "appStoreId": { + "description": "The app store ID of the app; present if and only if the app is linked to an app store. If the app is added to the Google Play store, it will be the application ID of the app. For example: \"com.example.myapp\". See https://developer.android.com/studio/build/application-id. If the app is added to the Apple App Store, it will be app store ID. For example \"105169111\". Note that setting the app store id is considered an irreversible action. Once an app is linked, it cannot be unlinked.", + "type": "string" + }, + "displayName": { + "description": "Output only. Display name of the app as it appears in the app store. This is an output-only field, and may be empty if the app cannot be found in the store.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AppManualAppInfo": { + "description": "Information provided for manual apps which are not linked to an application store (Example: Google Play, App Store).", + "id": "AppManualAppInfo", + "properties": { + "displayName": { + "description": "The display name of the app as shown in the AdMob UI, which is provided by the user. The maximum length allowed is 80 characters.", + "type": "string" + } + }, + "type": "object" + }, "Date": { - "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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": { @@ -339,6 +509,42 @@ }, "type": "object" }, + "ListAdUnitsResponse": { + "description": "Response for the ad units list request.", + "id": "ListAdUnitsResponse", + "properties": { + "adUnits": { + "description": "The resulting ad units for the requested account.", + "items": { + "$ref": "AdUnit" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If not empty, indicates that there may be more ad units for the request; this value should be passed in a new `ListAdUnitsRequest`.", + "type": "string" + } + }, + "type": "object" + }, + "ListAppsResponse": { + "description": "Response for the apps list request.", + "id": "ListAppsResponse", + "properties": { + "apps": { + "description": "The resulting apps for the requested account.", + "items": { + "$ref": "App" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If not empty, indicates that there may be more apps for the request; this value should be passed in a new `ListAppsRequest`.", + "type": "string" + } + }, + "type": "object" + }, "ListPublisherAccountsResponse": { "description": "Response for the publisher account list request.", "id": "ListPublisherAccountsResponse", @@ -373,7 +579,7 @@ "type": "object" }, "MediationReportSpec": { - "description": "The specification for generating an AdMob Mediation report. For example, the specification to get observed ECPM sliced by ad source and app for the 'US' and 'CN' countries can look like the following example: { \"date_range\": { \"start_date\": {\"year\": 2018, \"month\": 9, \"day\": 1}, \"end_date\": {\"year\": 2018, \"month\": 9, \"day\": 30} }, \"dimensions\": [\"AD_SOURCE\", \"APP\", \"COUNTRY\"], \"metrics\": [\"OBSERVED_ECPM\"], \"dimension_filters\": [ { \"dimension\": \"COUNTRY\", \"matches_any\": {\"values\": [{\"value\": \"US\", \"value\": \"CN\"}]} } ], \"sort_conditions\": [ {\"dimension\":\"APP\", order: \"ASCENDING\"} ], \"localization_settings\": { \"currency_code\": \"USD\", \"language_code\": \"en-US\" } } For a better understanding, you can treat the preceding specification like the following pseudo SQL: SELECT AD_SOURCE, APP, COUNTRY, OBSERVED_ECPM FROM MEDIATION_REPORT WHERE DATE >= '2018-09-01' AND DATE <= '2018-09-30' AND COUNTRY IN ('US', 'CN') GROUP BY AD_SOURCE, APP, COUNTRY ORDER BY APP ASC;", + "description": "The specification for generating an AdMob Mediation report. For example, the specification to get observed ECPM sliced by ad source and app for the 'US' and 'CN' countries can look like the following example: { \"date_range\": { \"start_date\": {\"year\": 2021, \"month\": 9, \"day\": 1}, \"end_date\": {\"year\": 2021, \"month\": 9, \"day\": 30} }, \"dimensions\": [\"AD_SOURCE\", \"APP\", \"COUNTRY\"], \"metrics\": [\"OBSERVED_ECPM\"], \"dimension_filters\": [ { \"dimension\": \"COUNTRY\", \"matches_any\": {\"values\": [{\"value\": \"US\", \"value\": \"CN\"}]} } ], \"sort_conditions\": [ {\"dimension\":\"APP\", order: \"ASCENDING\"} ], \"localization_settings\": { \"currency_code\": \"USD\", \"language_code\": \"en-US\" } } For a better understanding, you can treat the preceding specification like the following pseudo SQL: SELECT AD_SOURCE, APP, COUNTRY, OBSERVED_ECPM FROM MEDIATION_REPORT WHERE DATE >= '2021-09-01' AND DATE <= '2021-09-30' AND COUNTRY IN ('US', 'CN') GROUP BY AD_SOURCE, APP, COUNTRY ORDER BY APP ASC;", "id": "MediationReportSpec", "properties": { "dateRange": { @@ -402,21 +608,29 @@ "MEDIATION_GROUP", "COUNTRY", "FORMAT", - "PLATFORM" + "PLATFORM", + "MOBILE_OS_VERSION", + "GMA_SDK_VERSION", + "APP_VERSION_NAME", + "SERVING_RESTRICTION" ], "enumDescriptions": [ "Default value for an unset field. Do not use.", - "A date in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", - "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.", - "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", + "A date in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", + "A month in the YYYYMM format (for example, \"202107\"). Requests can specify at most one time dimension.", + "The date of the first day of a week in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", "The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, \"5450213213286189855\" and \"AdMob Network\" as label value).", - "The unique ID of the ad source instance (for example, \"ca-app-pub-1234#5678\" and \"AdMob (default)\" as label value).", + "The unique ID of the ad source instance (for example, \"ca-app-pub-1234:asi:5678\" and \"AdMob (default)\" as label value).", "The unique ID of the ad unit (for example, \"ca-app-pub-1234/8790\"). If AD_UNIT dimension is specified, then APP is included automatically.", "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").", "The unique ID of the mediation group (for example, \"ca-app-pub-1234:mg:1234\" and \"AdMob (default)\" as label value).", "CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.", "Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.", - "Mobile OS platform of the app (for example, \"Android\" or \"iOS\")." + "Mobile OS platform of the app (for example, \"Android\" or \"iOS\").", + "Mobile operating system version, e.g. \"iOS 13.5.1\". **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics.", + "GMA SDK version, e.g. \"iOS 7.62.0\". **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics.", + "For Android, the app version name can be found in versionName in PackageInfo. For iOS, the app version name can be found in CFBundleShortVersionString. **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics.", + "Restriction mode for ads serving (e.g. \"Non-personalized ads\"). **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS) metric." ], "type": "string" }, @@ -492,21 +706,29 @@ "MEDIATION_GROUP", "COUNTRY", "FORMAT", - "PLATFORM" + "PLATFORM", + "MOBILE_OS_VERSION", + "GMA_SDK_VERSION", + "APP_VERSION_NAME", + "SERVING_RESTRICTION" ], "enumDescriptions": [ "Default value for an unset field. Do not use.", - "A date in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", - "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.", - "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", + "A date in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", + "A month in the YYYYMM format (for example, \"202107\"). Requests can specify at most one time dimension.", + "The date of the first day of a week in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", "The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, \"5450213213286189855\" and \"AdMob Network\" as label value).", - "The unique ID of the ad source instance (for example, \"ca-app-pub-1234#5678\" and \"AdMob (default)\" as label value).", + "The unique ID of the ad source instance (for example, \"ca-app-pub-1234:asi:5678\" and \"AdMob (default)\" as label value).", "The unique ID of the ad unit (for example, \"ca-app-pub-1234/8790\"). If AD_UNIT dimension is specified, then APP is included automatically.", "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").", "The unique ID of the mediation group (for example, \"ca-app-pub-1234:mg:1234\" and \"AdMob (default)\" as label value).", "CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.", "Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.", - "Mobile OS platform of the app (for example, \"Android\" or \"iOS\")." + "Mobile OS platform of the app (for example, \"Android\" or \"iOS\").", + "Mobile operating system version, e.g. \"iOS 13.5.1\". **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics.", + "GMA SDK version, e.g. \"iOS 7.62.0\". **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics.", + "For Android, the app version name can be found in versionName in PackageInfo. For iOS, the app version name can be found in CFBundleShortVersionString. **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics.", + "Restriction mode for ads serving (e.g. \"Non-personalized ads\"). **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS) metric." ], "type": "string" }, @@ -535,21 +757,29 @@ "MEDIATION_GROUP", "COUNTRY", "FORMAT", - "PLATFORM" + "PLATFORM", + "MOBILE_OS_VERSION", + "GMA_SDK_VERSION", + "APP_VERSION_NAME", + "SERVING_RESTRICTION" ], "enumDescriptions": [ "Default value for an unset field. Do not use.", - "A date in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", - "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.", - "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", + "A date in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", + "A month in the YYYYMM format (for example, \"202107\"). Requests can specify at most one time dimension.", + "The date of the first day of a week in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", "The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, \"5450213213286189855\" and \"AdMob Network\" as label value).", - "The unique ID of the ad source instance (for example, \"ca-app-pub-1234#5678\" and \"AdMob (default)\" as label value).", + "The unique ID of the ad source instance (for example, \"ca-app-pub-1234:asi:5678\" and \"AdMob (default)\" as label value).", "The unique ID of the ad unit (for example, \"ca-app-pub-1234/8790\"). If AD_UNIT dimension is specified, then APP is included automatically.", "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").", "The unique ID of the mediation group (for example, \"ca-app-pub-1234:mg:1234\" and \"AdMob (default)\" as label value).", "CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.", "Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.", - "Mobile OS platform of the app (for example, \"Android\" or \"iOS\")." + "Mobile OS platform of the app (for example, \"Android\" or \"iOS\").", + "Mobile operating system version, e.g. \"iOS 13.5.1\". **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics.", + "GMA SDK version, e.g. \"iOS 7.62.0\". **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics.", + "For Android, the app version name can be found in versionName in PackageInfo. For iOS, the app version name can be found in CFBundleShortVersionString. **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics.", + "Restriction mode for ads serving (e.g. \"Non-personalized ads\"). **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS) metric." ], "type": "string" }, @@ -597,7 +827,7 @@ "type": "object" }, "NetworkReportSpec": { - "description": "The specification for generating an AdMob Network report. For example, the specification to get clicks and estimated earnings for only the 'US' and 'CN' countries can look like the following example: { 'date_range': { 'start_date': {'year': 2018, 'month': 9, 'day': 1}, 'end_date': {'year': 2018, 'month': 9, 'day': 30} }, 'dimensions': ['DATE', 'APP', 'COUNTRY'], 'metrics': ['CLICKS', 'ESTIMATED_EARNINGS'], 'dimension_filters': [ { 'dimension': 'COUNTRY', 'matches_any': {'values': [{'value': 'US', 'value': 'CN'}]} } ], 'sort_conditions': [ {'dimension':'APP', order: 'ASCENDING'}, {'metric':'CLICKS', order: 'DESCENDING'} ], 'localization_settings': { 'currency_code': 'USD', 'language_code': 'en-US' } } For a better understanding, you can treat the preceding specification like the following pseudo SQL: SELECT DATE, APP, COUNTRY, CLICKS, ESTIMATED_EARNINGS FROM NETWORK_REPORT WHERE DATE >= '2018-09-01' AND DATE <= '2018-09-30' AND COUNTRY IN ('US', 'CN') GROUP BY DATE, APP, COUNTRY ORDER BY APP ASC, CLICKS DESC;", + "description": "The specification for generating an AdMob Network report. For example, the specification to get clicks and estimated earnings for only the 'US' and 'CN' countries can look like the following example: { 'date_range': { 'start_date': {'year': 2021, 'month': 9, 'day': 1}, 'end_date': {'year': 2021, 'month': 9, 'day': 30} }, 'dimensions': ['DATE', 'APP', 'COUNTRY'], 'metrics': ['CLICKS', 'ESTIMATED_EARNINGS'], 'dimension_filters': [ { 'dimension': 'COUNTRY', 'matches_any': {'values': [{'value': 'US', 'value': 'CN'}]} } ], 'sort_conditions': [ {'dimension':'APP', order: 'ASCENDING'}, {'metric':'CLICKS', order: 'DESCENDING'} ], 'localization_settings': { 'currency_code': 'USD', 'language_code': 'en-US' } } For a better understanding, you can treat the preceding specification like the following pseudo SQL: SELECT DATE, APP, COUNTRY, CLICKS, ESTIMATED_EARNINGS FROM NETWORK_REPORT WHERE DATE >= '2021-09-01' AND DATE <= '2021-09-30' AND COUNTRY IN ('US', 'CN') GROUP BY DATE, APP, COUNTRY ORDER BY APP ASC, CLICKS DESC;", "id": "NetworkReportSpec", "properties": { "dateRange": { @@ -624,19 +854,27 @@ "AD_TYPE", "COUNTRY", "FORMAT", - "PLATFORM" + "PLATFORM", + "MOBILE_OS_VERSION", + "GMA_SDK_VERSION", + "APP_VERSION_NAME", + "SERVING_RESTRICTION" ], "enumDescriptions": [ "Default value for an unset field. Do not use.", - "A date in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", - "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.", - "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", + "A date in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", + "A month in the YYYYMM format (for example, \"202107\"). Requests can specify at most one time dimension.", + "The date of the first day of a week in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", "The unique ID of the ad unit (for example, \"ca-app-pub-1234/1234\"). If AD_UNIT dimension is specified, then APP is included automatically.", "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").", "Type of the ad (for example, \"text\" or \"image\"), an ad delivery dimension. **Warning:** The dimension is incompatible with [AD_REQUESTS](#Metric.ENUM_VALUES.AD_REQUESTS), [MATCH_RATE](#Metric.ENUM_VALUES.MATCH_RATE) and [IMPRESSION_RPM](#Metric.ENUM_VALUES.IMPRESSION_RPM) metrics.", "CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.", "Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.", - "Mobile OS platform of the app (for example, \"Android\" or \"iOS\")." + "Mobile OS platform of the app (for example, \"Android\" or \"iOS\").", + "Mobile operating system version, e.g. \"iOS 13.5.1\".", + "GMA SDK version, e.g. \"iOS 7.62.0\".", + "For Android, the app version name can be found in versionName in PackageInfo. For iOS, the app version name can be found in CFBundleShortVersionString.", + "Restriction mode for ads serving (e.g. \"Non-personalized ads\")." ], "type": "string" }, @@ -712,19 +950,27 @@ "AD_TYPE", "COUNTRY", "FORMAT", - "PLATFORM" + "PLATFORM", + "MOBILE_OS_VERSION", + "GMA_SDK_VERSION", + "APP_VERSION_NAME", + "SERVING_RESTRICTION" ], "enumDescriptions": [ "Default value for an unset field. Do not use.", - "A date in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", - "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.", - "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", + "A date in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", + "A month in the YYYYMM format (for example, \"202107\"). Requests can specify at most one time dimension.", + "The date of the first day of a week in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", "The unique ID of the ad unit (for example, \"ca-app-pub-1234/1234\"). If AD_UNIT dimension is specified, then APP is included automatically.", "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").", "Type of the ad (for example, \"text\" or \"image\"), an ad delivery dimension. **Warning:** The dimension is incompatible with [AD_REQUESTS](#Metric.ENUM_VALUES.AD_REQUESTS), [MATCH_RATE](#Metric.ENUM_VALUES.MATCH_RATE) and [IMPRESSION_RPM](#Metric.ENUM_VALUES.IMPRESSION_RPM) metrics.", "CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.", "Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.", - "Mobile OS platform of the app (for example, \"Android\" or \"iOS\")." + "Mobile OS platform of the app (for example, \"Android\" or \"iOS\").", + "Mobile operating system version, e.g. \"iOS 13.5.1\".", + "GMA SDK version, e.g. \"iOS 7.62.0\".", + "For Android, the app version name can be found in versionName in PackageInfo. For iOS, the app version name can be found in CFBundleShortVersionString.", + "Restriction mode for ads serving (e.g. \"Non-personalized ads\")." ], "type": "string" }, @@ -751,19 +997,27 @@ "AD_TYPE", "COUNTRY", "FORMAT", - "PLATFORM" + "PLATFORM", + "MOBILE_OS_VERSION", + "GMA_SDK_VERSION", + "APP_VERSION_NAME", + "SERVING_RESTRICTION" ], "enumDescriptions": [ "Default value for an unset field. Do not use.", - "A date in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", - "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.", - "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", + "A date in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", + "A month in the YYYYMM format (for example, \"202107\"). Requests can specify at most one time dimension.", + "The date of the first day of a week in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", "The unique ID of the ad unit (for example, \"ca-app-pub-1234/1234\"). If AD_UNIT dimension is specified, then APP is included automatically.", "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").", "Type of the ad (for example, \"text\" or \"image\"), an ad delivery dimension. **Warning:** The dimension is incompatible with [AD_REQUESTS](#Metric.ENUM_VALUES.AD_REQUESTS), [MATCH_RATE](#Metric.ENUM_VALUES.MATCH_RATE) and [IMPRESSION_RPM](#Metric.ENUM_VALUES.IMPRESSION_RPM) metrics.", "CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.", "Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.", - "Mobile OS platform of the app (for example, \"Android\" or \"iOS\")." + "Mobile OS platform of the app (for example, \"Android\" or \"iOS\").", + "Mobile operating system version, e.g. \"iOS 13.5.1\".", + "GMA SDK version, e.g. \"iOS 7.62.0\".", + "For Android, the app version name can be found in versionName in PackageInfo. For iOS, the app version name can be found in CFBundleShortVersionString.", + "Restriction mode for ads serving (e.g. \"Non-personalized ads\")." ], "type": "string" }, diff --git a/etc/api/admob/v1beta/admob-api.json b/etc/api/admob/v1beta/admob-api.json index c52cbdd8e4..1244f0a4b7 100644 --- a/etc/api/admob/v1beta/admob-api.json +++ b/etc/api/admob/v1beta/admob-api.json @@ -321,7 +321,7 @@ } } }, - "revision": "20210331", + "revision": "20220303", "rootUrl": "https://admob.googleapis.com/", "schemas": { "AdUnit": { @@ -413,7 +413,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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": { @@ -579,7 +579,7 @@ "type": "object" }, "MediationReportSpec": { - "description": "The specification for generating an AdMob Mediation report. For example, the specification to get observed ECPM sliced by ad source and app for the 'US' and 'CN' countries can look like the following example: { \"date_range\": { \"start_date\": {\"year\": 2018, \"month\": 9, \"day\": 1}, \"end_date\": {\"year\": 2018, \"month\": 9, \"day\": 30} }, \"dimensions\": [\"AD_SOURCE\", \"APP\", \"COUNTRY\"], \"metrics\": [\"OBSERVED_ECPM\"], \"dimension_filters\": [ { \"dimension\": \"COUNTRY\", \"matches_any\": {\"values\": [{\"value\": \"US\", \"value\": \"CN\"}]} } ], \"sort_conditions\": [ {\"dimension\":\"APP\", order: \"ASCENDING\"} ], \"localization_settings\": { \"currency_code\": \"USD\", \"language_code\": \"en-US\" } } For a better understanding, you can treat the preceding specification like the following pseudo SQL: SELECT AD_SOURCE, APP, COUNTRY, OBSERVED_ECPM FROM MEDIATION_REPORT WHERE DATE >= '2018-09-01' AND DATE <= '2018-09-30' AND COUNTRY IN ('US', 'CN') GROUP BY AD_SOURCE, APP, COUNTRY ORDER BY APP ASC;", + "description": "The specification for generating an AdMob Mediation report. For example, the specification to get observed ECPM sliced by ad source and app for the 'US' and 'CN' countries can look like the following example: { \"date_range\": { \"start_date\": {\"year\": 2021, \"month\": 9, \"day\": 1}, \"end_date\": {\"year\": 2021, \"month\": 9, \"day\": 30} }, \"dimensions\": [\"AD_SOURCE\", \"APP\", \"COUNTRY\"], \"metrics\": [\"OBSERVED_ECPM\"], \"dimension_filters\": [ { \"dimension\": \"COUNTRY\", \"matches_any\": {\"values\": [{\"value\": \"US\", \"value\": \"CN\"}]} } ], \"sort_conditions\": [ {\"dimension\":\"APP\", order: \"ASCENDING\"} ], \"localization_settings\": { \"currency_code\": \"USD\", \"language_code\": \"en-US\" } } For a better understanding, you can treat the preceding specification like the following pseudo SQL: SELECT AD_SOURCE, APP, COUNTRY, OBSERVED_ECPM FROM MEDIATION_REPORT WHERE DATE >= '2021-09-01' AND DATE <= '2021-09-30' AND COUNTRY IN ('US', 'CN') GROUP BY AD_SOURCE, APP, COUNTRY ORDER BY APP ASC;", "id": "MediationReportSpec", "properties": { "dateRange": { @@ -608,21 +608,29 @@ "MEDIATION_GROUP", "COUNTRY", "FORMAT", - "PLATFORM" + "PLATFORM", + "MOBILE_OS_VERSION", + "GMA_SDK_VERSION", + "APP_VERSION_NAME", + "SERVING_RESTRICTION" ], "enumDescriptions": [ "Default value for an unset field. Do not use.", - "A date in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", - "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.", - "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", + "A date in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", + "A month in the YYYYMM format (for example, \"202107\"). Requests can specify at most one time dimension.", + "The date of the first day of a week in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", "The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, \"5450213213286189855\" and \"AdMob Network\" as label value).", - "The unique ID of the ad source instance (for example, \"ca-app-pub-1234#5678\" and \"AdMob (default)\" as label value).", + "The unique ID of the ad source instance (for example, \"ca-app-pub-1234:asi:5678\" and \"AdMob (default)\" as label value).", "The unique ID of the ad unit (for example, \"ca-app-pub-1234/8790\"). If AD_UNIT dimension is specified, then APP is included automatically.", "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").", "The unique ID of the mediation group (for example, \"ca-app-pub-1234:mg:1234\" and \"AdMob (default)\" as label value).", "CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.", "Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.", - "Mobile OS platform of the app (for example, \"Android\" or \"iOS\")." + "Mobile OS platform of the app (for example, \"Android\" or \"iOS\").", + "Mobile operating system version, e.g. \"iOS 13.5.1\". **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics.", + "GMA SDK version, e.g. \"iOS 7.62.0\". **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics.", + "For Android, the app version name can be found in versionName in PackageInfo. For iOS, the app version name can be found in CFBundleShortVersionString. **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics.", + "Restriction mode for ads serving (e.g. \"Non-personalized ads\"). **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS) metric." ], "type": "string" }, @@ -698,21 +706,29 @@ "MEDIATION_GROUP", "COUNTRY", "FORMAT", - "PLATFORM" + "PLATFORM", + "MOBILE_OS_VERSION", + "GMA_SDK_VERSION", + "APP_VERSION_NAME", + "SERVING_RESTRICTION" ], "enumDescriptions": [ "Default value for an unset field. Do not use.", - "A date in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", - "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.", - "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", + "A date in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", + "A month in the YYYYMM format (for example, \"202107\"). Requests can specify at most one time dimension.", + "The date of the first day of a week in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", "The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, \"5450213213286189855\" and \"AdMob Network\" as label value).", - "The unique ID of the ad source instance (for example, \"ca-app-pub-1234#5678\" and \"AdMob (default)\" as label value).", + "The unique ID of the ad source instance (for example, \"ca-app-pub-1234:asi:5678\" and \"AdMob (default)\" as label value).", "The unique ID of the ad unit (for example, \"ca-app-pub-1234/8790\"). If AD_UNIT dimension is specified, then APP is included automatically.", "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").", "The unique ID of the mediation group (for example, \"ca-app-pub-1234:mg:1234\" and \"AdMob (default)\" as label value).", "CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.", "Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.", - "Mobile OS platform of the app (for example, \"Android\" or \"iOS\")." + "Mobile OS platform of the app (for example, \"Android\" or \"iOS\").", + "Mobile operating system version, e.g. \"iOS 13.5.1\". **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics.", + "GMA SDK version, e.g. \"iOS 7.62.0\". **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics.", + "For Android, the app version name can be found in versionName in PackageInfo. For iOS, the app version name can be found in CFBundleShortVersionString. **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics.", + "Restriction mode for ads serving (e.g. \"Non-personalized ads\"). **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS) metric." ], "type": "string" }, @@ -741,21 +757,29 @@ "MEDIATION_GROUP", "COUNTRY", "FORMAT", - "PLATFORM" + "PLATFORM", + "MOBILE_OS_VERSION", + "GMA_SDK_VERSION", + "APP_VERSION_NAME", + "SERVING_RESTRICTION" ], "enumDescriptions": [ "Default value for an unset field. Do not use.", - "A date in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", - "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.", - "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", + "A date in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", + "A month in the YYYYMM format (for example, \"202107\"). Requests can specify at most one time dimension.", + "The date of the first day of a week in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", "The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, \"5450213213286189855\" and \"AdMob Network\" as label value).", - "The unique ID of the ad source instance (for example, \"ca-app-pub-1234#5678\" and \"AdMob (default)\" as label value).", + "The unique ID of the ad source instance (for example, \"ca-app-pub-1234:asi:5678\" and \"AdMob (default)\" as label value).", "The unique ID of the ad unit (for example, \"ca-app-pub-1234/8790\"). If AD_UNIT dimension is specified, then APP is included automatically.", "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").", "The unique ID of the mediation group (for example, \"ca-app-pub-1234:mg:1234\" and \"AdMob (default)\" as label value).", "CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.", "Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.", - "Mobile OS platform of the app (for example, \"Android\" or \"iOS\")." + "Mobile OS platform of the app (for example, \"Android\" or \"iOS\").", + "Mobile operating system version, e.g. \"iOS 13.5.1\". **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics.", + "GMA SDK version, e.g. \"iOS 7.62.0\". **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics.", + "For Android, the app version name can be found in versionName in PackageInfo. For iOS, the app version name can be found in CFBundleShortVersionString. **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS), [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics.", + "Restriction mode for ads serving (e.g. \"Non-personalized ads\"). **Warning:** The dimension is incompatible with [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS) metric." ], "type": "string" }, @@ -803,7 +827,7 @@ "type": "object" }, "NetworkReportSpec": { - "description": "The specification for generating an AdMob Network report. For example, the specification to get clicks and estimated earnings for only the 'US' and 'CN' countries can look like the following example: { 'date_range': { 'start_date': {'year': 2018, 'month': 9, 'day': 1}, 'end_date': {'year': 2018, 'month': 9, 'day': 30} }, 'dimensions': ['DATE', 'APP', 'COUNTRY'], 'metrics': ['CLICKS', 'ESTIMATED_EARNINGS'], 'dimension_filters': [ { 'dimension': 'COUNTRY', 'matches_any': {'values': [{'value': 'US', 'value': 'CN'}]} } ], 'sort_conditions': [ {'dimension':'APP', order: 'ASCENDING'}, {'metric':'CLICKS', order: 'DESCENDING'} ], 'localization_settings': { 'currency_code': 'USD', 'language_code': 'en-US' } } For a better understanding, you can treat the preceding specification like the following pseudo SQL: SELECT DATE, APP, COUNTRY, CLICKS, ESTIMATED_EARNINGS FROM NETWORK_REPORT WHERE DATE >= '2018-09-01' AND DATE <= '2018-09-30' AND COUNTRY IN ('US', 'CN') GROUP BY DATE, APP, COUNTRY ORDER BY APP ASC, CLICKS DESC;", + "description": "The specification for generating an AdMob Network report. For example, the specification to get clicks and estimated earnings for only the 'US' and 'CN' countries can look like the following example: { 'date_range': { 'start_date': {'year': 2021, 'month': 9, 'day': 1}, 'end_date': {'year': 2021, 'month': 9, 'day': 30} }, 'dimensions': ['DATE', 'APP', 'COUNTRY'], 'metrics': ['CLICKS', 'ESTIMATED_EARNINGS'], 'dimension_filters': [ { 'dimension': 'COUNTRY', 'matches_any': {'values': [{'value': 'US', 'value': 'CN'}]} } ], 'sort_conditions': [ {'dimension':'APP', order: 'ASCENDING'}, {'metric':'CLICKS', order: 'DESCENDING'} ], 'localization_settings': { 'currency_code': 'USD', 'language_code': 'en-US' } } For a better understanding, you can treat the preceding specification like the following pseudo SQL: SELECT DATE, APP, COUNTRY, CLICKS, ESTIMATED_EARNINGS FROM NETWORK_REPORT WHERE DATE >= '2021-09-01' AND DATE <= '2021-09-30' AND COUNTRY IN ('US', 'CN') GROUP BY DATE, APP, COUNTRY ORDER BY APP ASC, CLICKS DESC;", "id": "NetworkReportSpec", "properties": { "dateRange": { @@ -830,19 +854,27 @@ "AD_TYPE", "COUNTRY", "FORMAT", - "PLATFORM" + "PLATFORM", + "MOBILE_OS_VERSION", + "GMA_SDK_VERSION", + "APP_VERSION_NAME", + "SERVING_RESTRICTION" ], "enumDescriptions": [ "Default value for an unset field. Do not use.", - "A date in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", - "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.", - "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", + "A date in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", + "A month in the YYYYMM format (for example, \"202107\"). Requests can specify at most one time dimension.", + "The date of the first day of a week in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", "The unique ID of the ad unit (for example, \"ca-app-pub-1234/1234\"). If AD_UNIT dimension is specified, then APP is included automatically.", "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").", "Type of the ad (for example, \"text\" or \"image\"), an ad delivery dimension. **Warning:** The dimension is incompatible with [AD_REQUESTS](#Metric.ENUM_VALUES.AD_REQUESTS), [MATCH_RATE](#Metric.ENUM_VALUES.MATCH_RATE) and [IMPRESSION_RPM](#Metric.ENUM_VALUES.IMPRESSION_RPM) metrics.", "CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.", "Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.", - "Mobile OS platform of the app (for example, \"Android\" or \"iOS\")." + "Mobile OS platform of the app (for example, \"Android\" or \"iOS\").", + "Mobile operating system version, e.g. \"iOS 13.5.1\".", + "GMA SDK version, e.g. \"iOS 7.62.0\".", + "For Android, the app version name can be found in versionName in PackageInfo. For iOS, the app version name can be found in CFBundleShortVersionString.", + "Restriction mode for ads serving (e.g. \"Non-personalized ads\")." ], "type": "string" }, @@ -918,19 +950,27 @@ "AD_TYPE", "COUNTRY", "FORMAT", - "PLATFORM" + "PLATFORM", + "MOBILE_OS_VERSION", + "GMA_SDK_VERSION", + "APP_VERSION_NAME", + "SERVING_RESTRICTION" ], "enumDescriptions": [ "Default value for an unset field. Do not use.", - "A date in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", - "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.", - "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", + "A date in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", + "A month in the YYYYMM format (for example, \"202107\"). Requests can specify at most one time dimension.", + "The date of the first day of a week in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", "The unique ID of the ad unit (for example, \"ca-app-pub-1234/1234\"). If AD_UNIT dimension is specified, then APP is included automatically.", "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").", "Type of the ad (for example, \"text\" or \"image\"), an ad delivery dimension. **Warning:** The dimension is incompatible with [AD_REQUESTS](#Metric.ENUM_VALUES.AD_REQUESTS), [MATCH_RATE](#Metric.ENUM_VALUES.MATCH_RATE) and [IMPRESSION_RPM](#Metric.ENUM_VALUES.IMPRESSION_RPM) metrics.", "CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.", "Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.", - "Mobile OS platform of the app (for example, \"Android\" or \"iOS\")." + "Mobile OS platform of the app (for example, \"Android\" or \"iOS\").", + "Mobile operating system version, e.g. \"iOS 13.5.1\".", + "GMA SDK version, e.g. \"iOS 7.62.0\".", + "For Android, the app version name can be found in versionName in PackageInfo. For iOS, the app version name can be found in CFBundleShortVersionString.", + "Restriction mode for ads serving (e.g. \"Non-personalized ads\")." ], "type": "string" }, @@ -957,19 +997,27 @@ "AD_TYPE", "COUNTRY", "FORMAT", - "PLATFORM" + "PLATFORM", + "MOBILE_OS_VERSION", + "GMA_SDK_VERSION", + "APP_VERSION_NAME", + "SERVING_RESTRICTION" ], "enumDescriptions": [ "Default value for an unset field. Do not use.", - "A date in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", - "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.", - "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.", + "A date in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", + "A month in the YYYYMM format (for example, \"202107\"). Requests can specify at most one time dimension.", + "The date of the first day of a week in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", "The unique ID of the ad unit (for example, \"ca-app-pub-1234/1234\"). If AD_UNIT dimension is specified, then APP is included automatically.", "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").", "Type of the ad (for example, \"text\" or \"image\"), an ad delivery dimension. **Warning:** The dimension is incompatible with [AD_REQUESTS](#Metric.ENUM_VALUES.AD_REQUESTS), [MATCH_RATE](#Metric.ENUM_VALUES.MATCH_RATE) and [IMPRESSION_RPM](#Metric.ENUM_VALUES.IMPRESSION_RPM) metrics.", "CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.", "Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.", - "Mobile OS platform of the app (for example, \"Android\" or \"iOS\")." + "Mobile OS platform of the app (for example, \"Android\" or \"iOS\").", + "Mobile operating system version, e.g. \"iOS 13.5.1\".", + "GMA SDK version, e.g. \"iOS 7.62.0\".", + "For Android, the app version name can be found in versionName in PackageInfo. For iOS, the app version name can be found in CFBundleShortVersionString.", + "Restriction mode for ads serving (e.g. \"Non-personalized ads\")." ], "type": "string" }, diff --git a/etc/api/adsense/v2/adsense-api.json b/etc/api/adsense/v2/adsense-api.json new file mode 100644 index 0000000000..4deeaa8437 --- /dev/null +++ b/etc/api/adsense/v2/adsense-api.json @@ -0,0 +1,2281 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/adsense": { + "description": "View and manage your AdSense data" + }, + "https://www.googleapis.com/auth/adsense.readonly": { + "description": "View your AdSense data" + } + } + } + }, + "basePath": "", + "baseUrl": "https://adsense.googleapis.com/", + "batchPath": "batch", + "description": "The AdSense Management API allows publishers to access their inventory and run earnings and performance reports.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/adsense/management/", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "adsense:v2", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://adsense.mtls.googleapis.com/", + "name": "adsense", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "accounts": { + "methods": { + "get": { + "description": "Gets information about the selected AdSense account.", + "flatPath": "v2/accounts/{accountsId}", + "httpMethod": "GET", + "id": "adsense.accounts.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Account to get information about. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Account" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + }, + "list": { + "description": "Lists all accounts available to this user.", + "flatPath": "v2/accounts", + "httpMethod": "GET", + "id": "adsense.accounts.list", + "parameterOrder": [], + "parameters": { + "pageSize": { + "description": "The maximum number of accounts to include in the response, used for paging. If unspecified, at most 10000 accounts will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListAccounts` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccounts` must match the call that provided the page token.", + "location": "query", + "type": "string" + } + }, + "path": "v2/accounts", + "response": { + "$ref": "ListAccountsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + }, + "listChildAccounts": { + "description": "Lists all accounts directly managed by the given AdSense account.", + "flatPath": "v2/accounts/{accountsId}:listChildAccounts", + "httpMethod": "GET", + "id": "adsense.accounts.listChildAccounts", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of accounts to include in the response, used for paging. If unspecified, at most 10000 accounts will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListAccounts` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccounts` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent account, which owns the child accounts. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}:listChildAccounts", + "response": { + "$ref": "ListChildAccountsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + } + }, + "resources": { + "adclients": { + "methods": { + "getAdcode": { + "description": "Gets the AdSense code for a given ad client. This returns what was previously known as the 'auto ad code'. This is only supported for ad clients with a product_code of AFC. For more information, see [About the AdSense code](https://support.google.com/adsense/answer/9274634).", + "flatPath": "v2/accounts/{accountsId}/adclients/{adclientsId}/adcode", + "httpMethod": "GET", + "id": "adsense.accounts.adclients.getAdcode", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the ad client for which to get the adcode. Format: accounts/{account}/adclients/{adclient}", + "location": "path", + "pattern": "^accounts/[^/]+/adclients/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}/adcode", + "response": { + "$ref": "AdClientAdCode" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + }, + "list": { + "description": "Lists all the ad clients available in an account.", + "flatPath": "v2/accounts/{accountsId}/adclients", + "httpMethod": "GET", + "id": "adsense.accounts.adclients.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of ad clients to include in the response, used for paging. If unspecified, at most 10000 ad clients will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListAdClients` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAdClients` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account which owns the collection of ad clients. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/adclients", + "response": { + "$ref": "ListAdClientsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + } + }, + "resources": { + "adunits": { + "methods": { + "get": { + "description": "Gets an ad unit from a specified account and ad client.", + "flatPath": "v2/accounts/{accountsId}/adclients/{adclientsId}/adunits/{adunitsId}", + "httpMethod": "GET", + "id": "adsense.accounts.adclients.adunits.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. AdUnit to get information about. Format: accounts/{account}/adclients/{adclient}/adunits/{adunit}", + "location": "path", + "pattern": "^accounts/[^/]+/adclients/[^/]+/adunits/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "AdUnit" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + }, + "getAdcode": { + "description": "Gets the AdSense code for a given ad unit.", + "flatPath": "v2/accounts/{accountsId}/adclients/{adclientsId}/adunits/{adunitsId}/adcode", + "httpMethod": "GET", + "id": "adsense.accounts.adclients.adunits.getAdcode", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the adunit for which to get the adcode. Format: accounts/{account}/adclients/{adclient}/adunits/{adunit}", + "location": "path", + "pattern": "^accounts/[^/]+/adclients/[^/]+/adunits/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}/adcode", + "response": { + "$ref": "AdUnitAdCode" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + }, + "list": { + "description": "Lists all ad units under a specified account and ad client.", + "flatPath": "v2/accounts/{accountsId}/adclients/{adclientsId}/adunits", + "httpMethod": "GET", + "id": "adsense.accounts.adclients.adunits.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of ad units to include in the response, used for paging. If unspecified, at most 10000 ad units will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListAdUnits` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAdUnits` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The ad client which owns the collection of ad units. Format: accounts/{account}/adclients/{adclient}", + "location": "path", + "pattern": "^accounts/[^/]+/adclients/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/adunits", + "response": { + "$ref": "ListAdUnitsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + }, + "listLinkedCustomChannels": { + "description": "Lists all the custom channels available for an ad unit.", + "flatPath": "v2/accounts/{accountsId}/adclients/{adclientsId}/adunits/{adunitsId}:listLinkedCustomChannels", + "httpMethod": "GET", + "id": "adsense.accounts.adclients.adunits.listLinkedCustomChannels", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of custom channels to include in the response, used for paging. If unspecified, at most 10000 custom channels will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListLinkedCustomChannels` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListLinkedCustomChannels` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The ad unit which owns the collection of custom channels. Format: accounts/{account}/adclients/{adclient}/adunits/{adunit}", + "location": "path", + "pattern": "^accounts/[^/]+/adclients/[^/]+/adunits/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}:listLinkedCustomChannels", + "response": { + "$ref": "ListLinkedCustomChannelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + } + } + }, + "customchannels": { + "methods": { + "get": { + "description": "Gets information about the selected custom channel.", + "flatPath": "v2/accounts/{accountsId}/adclients/{adclientsId}/customchannels/{customchannelsId}", + "httpMethod": "GET", + "id": "adsense.accounts.adclients.customchannels.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the custom channel. Format: accounts/{account}/adclients/{adclient}/customchannels/{customchannel}", + "location": "path", + "pattern": "^accounts/[^/]+/adclients/[^/]+/customchannels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "CustomChannel" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + }, + "list": { + "description": "Lists all the custom channels available in an ad client.", + "flatPath": "v2/accounts/{accountsId}/adclients/{adclientsId}/customchannels", + "httpMethod": "GET", + "id": "adsense.accounts.adclients.customchannels.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of custom channels to include in the response, used for paging. If unspecified, at most 10000 custom channels will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListCustomChannels` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCustomChannels` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The ad client which owns the collection of custom channels. Format: accounts/{account}/adclients/{adclient}", + "location": "path", + "pattern": "^accounts/[^/]+/adclients/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/customchannels", + "response": { + "$ref": "ListCustomChannelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + }, + "listLinkedAdUnits": { + "description": "Lists all the ad units available for a custom channel.", + "flatPath": "v2/accounts/{accountsId}/adclients/{adclientsId}/customchannels/{customchannelsId}:listLinkedAdUnits", + "httpMethod": "GET", + "id": "adsense.accounts.adclients.customchannels.listLinkedAdUnits", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of ad units to include in the response, used for paging. If unspecified, at most 10000 ad units will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListLinkedAdUnits` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListLinkedAdUnits` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The custom channel which owns the collection of ad units. Format: accounts/{account}/adclients/{adclient}/customchannels/{customchannel}", + "location": "path", + "pattern": "^accounts/[^/]+/adclients/[^/]+/customchannels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}:listLinkedAdUnits", + "response": { + "$ref": "ListLinkedAdUnitsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + } + } + }, + "urlchannels": { + "methods": { + "list": { + "description": "Lists active url channels.", + "flatPath": "v2/accounts/{accountsId}/adclients/{adclientsId}/urlchannels", + "httpMethod": "GET", + "id": "adsense.accounts.adclients.urlchannels.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of url channels to include in the response, used for paging. If unspecified, at most 10000 url channels will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListUrlChannels` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUrlChannels` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The ad client which owns the collection of url channels. Format: accounts/{account}/adclients/{adclient}", + "location": "path", + "pattern": "^accounts/[^/]+/adclients/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/urlchannels", + "response": { + "$ref": "ListUrlChannelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + } + } + } + } + }, + "alerts": { + "methods": { + "list": { + "description": "Lists all the alerts available in an account.", + "flatPath": "v2/accounts/{accountsId}/alerts", + "httpMethod": "GET", + "id": "adsense.accounts.alerts.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "languageCode": { + "description": "The language to use for translating alert messages. If unspecified, this defaults to the user's display language. If the given language is not supported, alerts will be returned in English. The language is specified as an [IETF BCP-47 language code](https://en.wikipedia.org/wiki/IETF_language_tag).", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account which owns the collection of alerts. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/alerts", + "response": { + "$ref": "ListAlertsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + } + } + }, + "payments": { + "methods": { + "list": { + "description": "Lists all the payments available for an account.", + "flatPath": "v2/accounts/{accountsId}/payments", + "httpMethod": "GET", + "id": "adsense.accounts.payments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The account which owns the collection of payments. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/payments", + "response": { + "$ref": "ListPaymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + } + } + }, + "reports": { + "methods": { + "generate": { + "description": "Generates an ad hoc report.", + "flatPath": "v2/accounts/{accountsId}/reports:generate", + "httpMethod": "GET", + "id": "adsense.accounts.reports.generate", + "parameterOrder": [ + "account" + ], + "parameters": { + "account": { + "description": "Required. The account which owns the collection of reports. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + }, + "currencyCode": { + "description": "The [ISO-4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) to use when reporting on monetary metrics. Defaults to the account's currency if not set.", + "location": "query", + "type": "string" + }, + "dateRange": { + "description": "Date range of the report, if unset the range will be considered CUSTOM.", + "enum": [ + "REPORTING_DATE_RANGE_UNSPECIFIED", + "CUSTOM", + "TODAY", + "YESTERDAY", + "MONTH_TO_DATE", + "YEAR_TO_DATE", + "LAST_7_DAYS", + "LAST_30_DAYS" + ], + "enumDescriptions": [ + "Unspecified date range.", + "A custom date range specified using the `start_date` and `end_date` fields. This is the default if no ReportingDateRange is provided.", + "Current day.", + "Yesterday.", + "From the start of the current month to the current day. e.g. if the current date is 2020-03-12 then the range will be [2020-03-01, 2020-03-12].", + "From the start of the current year to the current day. e.g. if the current date is 2020-03-12 then the range will be [2020-01-01, 2020-03-12].", + "Last 7 days, excluding current day.", + "Last 30 days, excluding current day." + ], + "location": "query", + "type": "string" + }, + "dimensions": { + "description": "Dimensions to base the report on.", + "enum": [ + "DIMENSION_UNSPECIFIED", + "DATE", + "WEEK", + "MONTH", + "ACCOUNT_NAME", + "AD_CLIENT_ID", + "PRODUCT_NAME", + "PRODUCT_CODE", + "AD_UNIT_NAME", + "AD_UNIT_ID", + "AD_UNIT_SIZE_NAME", + "AD_UNIT_SIZE_CODE", + "CUSTOM_CHANNEL_NAME", + "CUSTOM_CHANNEL_ID", + "OWNED_SITE_DOMAIN_NAME", + "OWNED_SITE_ID", + "URL_CHANNEL_NAME", + "URL_CHANNEL_ID", + "BUYER_NETWORK_NAME", + "BUYER_NETWORK_ID", + "BID_TYPE_NAME", + "BID_TYPE_CODE", + "CREATIVE_SIZE_NAME", + "CREATIVE_SIZE_CODE", + "DOMAIN_NAME", + "DOMAIN_CODE", + "COUNTRY_NAME", + "COUNTRY_CODE", + "PLATFORM_TYPE_NAME", + "PLATFORM_TYPE_CODE", + "TARGETING_TYPE_NAME", + "TARGETING_TYPE_CODE", + "CONTENT_PLATFORM_NAME", + "CONTENT_PLATFORM_CODE", + "AD_PLACEMENT_NAME", + "AD_PLACEMENT_CODE", + "REQUESTED_AD_TYPE_NAME", + "REQUESTED_AD_TYPE_CODE", + "SERVED_AD_TYPE_NAME", + "SERVED_AD_TYPE_CODE", + "AD_FORMAT_NAME", + "AD_FORMAT_CODE", + "CUSTOM_SEARCH_STYLE_NAME", + "CUSTOM_SEARCH_STYLE_ID", + "DOMAIN_REGISTRANT", + "WEBSEARCH_QUERY_STRING" + ], + "enumDescriptions": [ + "Unspecified dimension.", + "Date dimension in YYYY-MM-DD format (e.g. \"2010-02-10\").", + "Week dimension in YYYY-MM-DD format, representing the first day of each week (e.g. \"2010-02-08\"). The first day of the week is determined by the language_code specified in a report generation request (so e.g. this would be a Monday for \"en-GB\" or \"es\", but a Sunday for \"en\" or \"fr-CA\").", + "Month dimension in YYYY-MM format (e.g. \"2010-02\").", + "Account name. The members of this dimension match the values from Account.display_name.", + "Unique ID of an ad client. The members of this dimension match the values from AdClient.reporting_dimension_id.", + "Localized product name (e.g. \"AdSense for Content\", \"AdSense for Search\").", + "Product code (e.g. \"AFC\", \"AFS\"). The members of this dimension match the values from AdClient.product_code.", + "Ad unit name (within which an ad was served). The members of this dimension match the values from AdUnit.display_name.", + "Unique ID of an ad unit (within which an ad was served). The members of this dimension match the values from AdUnit.reporting_dimension_id.", + "Localized size of an ad unit (e.g. \"728x90\", \"Responsive\").", + "The size code of an ad unit (e.g. \"728x90\", \"responsive\").", + "Custom channel name. The members of this dimension match the values from CustomChannel.display_name.", + "Unique ID of a custom channel. The members of this dimension match the values from CustomChannel.reporting_dimension_id.", + "Domain name of a verified site (e.g. \"example.com\"). The members of this dimension match the values from Site.domain.", + "Unique ID of a verified site. The members of this dimension match the values from Site.reporting_dimension_id.", + "Name of a URL channel. The members of this dimension match the values from UrlChannel.uri_pattern.", + "Unique ID of a URL channel. The members of this dimension match the values from UrlChannel.reporting_dimension_id.", + "Name of an ad network that returned the winning ads for an ad request (e.g. \"Google AdWords\"). Note that unlike other \"NAME\" dimensions, the members of this dimensions are not localized.", + "Unique (opaque) ID of an ad network that returned the winning ads for an ad request.", + "Localized bid type name (e.g. \"CPC bids\", \"CPM bids\") for a served ad.", + "Type of a bid (e.g. \"cpc\", \"cpm\") for a served ad.", + "Localized creative size name (e.g. \"728x90\", \"Dynamic\") of a served ad.", + "Creative size code (e.g. \"728x90\", \"dynamic\") of a served ad.", + "Localized name of a host on which an ad was served, after IDNA decoding (e.g. \"www.google.com\", \"Web caches and other\", \"b\u00fccher.example\").", + "Name of a host on which an ad was served (e.g. \"www.google.com\", \"webcaches\", \"xn--bcher-kva.example\").", + "Localized region name of a user viewing an ad (e.g. \"United States\", \"France\").", + "CLDR region code of a user viewing an ad (e.g. \"US\", \"FR\").", + "Localized platform type name (e.g. \"High-end mobile devices\", \"Desktop\").", + "Platform type code (e.g. \"HighEndMobile\", \"Desktop\").", + "Localized targeting type name (e.g. \"Contextual\", \"Personalized\", \"Run of Network\").", + "Targeting type code (e.g. \"Keyword\", \"UserInterest\", \"RunOfNetwork\").", + "Localized content platform name an ad request was made from (e.g. \"AMP\", \"Web\").", + "Content platform code an ad request was made from (e.g. \"AMP\", \"HTML\").", + "Localized ad placement name (e.g. \"Ad unit\", \"Global settings\", \"Manual\").", + "Ad placement code (e.g. \"AD_UNIT\", \"ca-pub-123456:78910\", \"OTHER\").", + "Localized requested ad type name (e.g. \"Display\", \"Link unit\", \"Other\").", + "Requested ad type code (e.g. \"IMAGE\", \"RADLINK\", \"OTHER\").", + "Localized served ad type name (e.g. \"Display\", \"Link unit\", \"Other\").", + "Served ad type code (e.g. \"IMAGE\", \"RADLINK\", \"OTHER\").", + "Localized ad format name indicating the way an ad is shown to the users on your site (e.g. \"In-page\", \"Anchor\", \"Vignette\").", + "Ad format code indicating the way an ad is shown to the users on your site (e.g. \"ON_PAGE\", \"ANCHOR\", \"INTERSTITIAL\").", + "Custom search style name.", + "Custom search style id.", + "Domain registrants.", + "Query strings for web searches." + ], + "location": "query", + "repeated": true, + "type": "string" + }, + "endDate.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", + "location": "query", + "type": "integer" + }, + "endDate.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", + "location": "query", + "type": "integer" + }, + "endDate.year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "filters": { + "description": "Filters to be run on the report.", + "location": "query", + "repeated": true, + "type": "string" + }, + "languageCode": { + "description": "The language to use for translating report output. If unspecified, this defaults to English (\"en\"). If the given language is not supported, report output will be returned in English. The language is specified as an [IETF BCP-47 language code](https://en.wikipedia.org/wiki/IETF_language_tag).", + "location": "query", + "type": "string" + }, + "limit": { + "description": "The maximum number of rows of report data to return. Reports producing more rows than the requested limit will be truncated. If unset, this defaults to 100,000 rows for `Reports.GenerateReport` and 1,000,000 rows for `Reports.GenerateCsvReport`, which are also the maximum values permitted here. Report truncation can be identified (for `Reports.GenerateReport` only) by comparing the number of rows returned to the value returned in `total_matched_rows`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "metrics": { + "description": "Required. Reporting metrics.", + "enum": [ + "METRIC_UNSPECIFIED", + "PAGE_VIEWS", + "AD_REQUESTS", + "MATCHED_AD_REQUESTS", + "TOTAL_IMPRESSIONS", + "IMPRESSIONS", + "INDIVIDUAL_AD_IMPRESSIONS", + "CLICKS", + "PAGE_VIEWS_SPAM_RATIO", + "AD_REQUESTS_SPAM_RATIO", + "MATCHED_AD_REQUESTS_SPAM_RATIO", + "IMPRESSIONS_SPAM_RATIO", + "INDIVIDUAL_AD_IMPRESSIONS_SPAM_RATIO", + "CLICKS_SPAM_RATIO", + "AD_REQUESTS_COVERAGE", + "PAGE_VIEWS_CTR", + "AD_REQUESTS_CTR", + "MATCHED_AD_REQUESTS_CTR", + "IMPRESSIONS_CTR", + "INDIVIDUAL_AD_IMPRESSIONS_CTR", + "ACTIVE_VIEW_MEASURABILITY", + "ACTIVE_VIEW_VIEWABILITY", + "ACTIVE_VIEW_TIME", + "ESTIMATED_EARNINGS", + "PAGE_VIEWS_RPM", + "AD_REQUESTS_RPM", + "MATCHED_AD_REQUESTS_RPM", + "IMPRESSIONS_RPM", + "INDIVIDUAL_AD_IMPRESSIONS_RPM", + "COST_PER_CLICK", + "ADS_PER_IMPRESSION", + "TOTAL_EARNINGS", + "WEBSEARCH_RESULT_PAGES" + ], + "enumDescriptions": [ + "Unspecified metric.", + "Number of page views.", + "Number of ad units that requested ads (for content ads) or search queries (for search ads). An ad request may result in zero, one, or multiple individual ad impressions depending on the size of the ad unit and whether any ads were available.", + "Requests that returned at least one ad.", + "Impressions. An impression is counted for each ad request where at least one ad has been downloaded to the user\u2019s device and has begun to load. It is the number of ad units (for content ads) or search queries (for search ads) that showed ads.", + "Impressions. An impression is counted for each ad request where at least one ad has been downloaded to the user\u2019s device and has begun to load. It is the number of ad units (for content ads) or search queries (for search ads) that showed ads.", + "Ads shown. Different ad formats will display varying numbers of ads. For example, a vertical banner may consist of 2 or more ads. Also, the number of ads in an ad unit may vary depending on whether the ad unit is displaying standard text ads, expanded text ads or image ads.", + "Number of times a user clicked on a standard content ad.", + "Fraction of page views considered to be spam. Only available to premium accounts.", + "Fraction of ad requests considered to be spam. Only available to premium accounts.", + "Fraction of ad requests that returned ads considered to be spam. Only available to premium accounts.", + "Fraction of impressions considered to be spam. Only available to premium accounts.", + "Fraction of ad impressions considered to be spam. Only available to premium accounts.", + "Fraction of clicks considered to be spam. Only available to premium accounts.", + "Ratio of requested ad units or queries to the number returned to the site.", + "Ratio of individual page views that resulted in a click.", + "Ratio of ad requests that resulted in a click.", + "Ratio of clicks to matched requests.", + "Ratio of IMPRESSIONS that resulted in a click.", + "Ratio of individual ad impressions that resulted in a click.", + "Ratio of requests that were measurable for viewability.", + "Ratio of requests that were viewable.", + "Mean time an ad was displayed on screen.", + "Estimated earnings of the publisher. Note that earnings up to yesterday are accurate, more recent earnings are estimated due to the possibility of spam, or exchange rate fluctuations.", + "Revenue per thousand page views. This is calculated by dividing the estimated revenue by the number of page views multiplied by 1000.", + "Revenue per thousand ad requests. This is calculated by dividing estimated revenue by the number of ad requests multiplied by 1000.", + "Revenue per thousand matched ad requests. This is calculated by dividing estimated revenue by the number of matched ad requests multiplied by 1000.", + "Revenue per thousand ad impressions. This is calculated by dividing estimated revenue by the number of ad impressions multiplied by 1000.", + "Revenue per thousand individual ad impressions. This is calculated by dividing estimated revenue by the number of individual ad impressions multiplied by 1000.", + "Amount the publisher earns each time a user clicks on an ad. CPC is calculated by dividing the estimated revenue by the number of clicks received.", + "Number of ad views per impression.", + "Total earnings.", + "Number of results pages." + ], + "location": "query", + "repeated": true, + "type": "string" + }, + "orderBy": { + "description": "The name of a dimension or metric to sort the resulting report on, can be prefixed with \"+\" to sort ascending or \"-\" to sort descending. If no prefix is specified, the column is sorted ascending.", + "location": "query", + "repeated": true, + "type": "string" + }, + "reportingTimeZone": { + "description": "Timezone in which to generate the report. If unspecified, this defaults to the account timezone. For more information, see [changing the time zone of your reports](https://support.google.com/adsense/answer/9830725).", + "enum": [ + "REPORTING_TIME_ZONE_UNSPECIFIED", + "ACCOUNT_TIME_ZONE", + "GOOGLE_TIME_ZONE" + ], + "enumDescriptions": [ + "Unspecified timezone.", + "Use the account timezone in the report.", + "Use the Google timezone in the report (America/Los_Angeles)." + ], + "location": "query", + "type": "string" + }, + "startDate.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", + "location": "query", + "type": "integer" + }, + "startDate.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", + "location": "query", + "type": "integer" + }, + "startDate.year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "location": "query", + "type": "integer" + } + }, + "path": "v2/{+account}/reports:generate", + "response": { + "$ref": "ReportResult" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + }, + "generateCsv": { + "description": "Generates a csv formatted ad hoc report.", + "flatPath": "v2/accounts/{accountsId}/reports:generateCsv", + "httpMethod": "GET", + "id": "adsense.accounts.reports.generateCsv", + "parameterOrder": [ + "account" + ], + "parameters": { + "account": { + "description": "Required. The account which owns the collection of reports. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + }, + "currencyCode": { + "description": "The [ISO-4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) to use when reporting on monetary metrics. Defaults to the account's currency if not set.", + "location": "query", + "type": "string" + }, + "dateRange": { + "description": "Date range of the report, if unset the range will be considered CUSTOM.", + "enum": [ + "REPORTING_DATE_RANGE_UNSPECIFIED", + "CUSTOM", + "TODAY", + "YESTERDAY", + "MONTH_TO_DATE", + "YEAR_TO_DATE", + "LAST_7_DAYS", + "LAST_30_DAYS" + ], + "enumDescriptions": [ + "Unspecified date range.", + "A custom date range specified using the `start_date` and `end_date` fields. This is the default if no ReportingDateRange is provided.", + "Current day.", + "Yesterday.", + "From the start of the current month to the current day. e.g. if the current date is 2020-03-12 then the range will be [2020-03-01, 2020-03-12].", + "From the start of the current year to the current day. e.g. if the current date is 2020-03-12 then the range will be [2020-01-01, 2020-03-12].", + "Last 7 days, excluding current day.", + "Last 30 days, excluding current day." + ], + "location": "query", + "type": "string" + }, + "dimensions": { + "description": "Dimensions to base the report on.", + "enum": [ + "DIMENSION_UNSPECIFIED", + "DATE", + "WEEK", + "MONTH", + "ACCOUNT_NAME", + "AD_CLIENT_ID", + "PRODUCT_NAME", + "PRODUCT_CODE", + "AD_UNIT_NAME", + "AD_UNIT_ID", + "AD_UNIT_SIZE_NAME", + "AD_UNIT_SIZE_CODE", + "CUSTOM_CHANNEL_NAME", + "CUSTOM_CHANNEL_ID", + "OWNED_SITE_DOMAIN_NAME", + "OWNED_SITE_ID", + "URL_CHANNEL_NAME", + "URL_CHANNEL_ID", + "BUYER_NETWORK_NAME", + "BUYER_NETWORK_ID", + "BID_TYPE_NAME", + "BID_TYPE_CODE", + "CREATIVE_SIZE_NAME", + "CREATIVE_SIZE_CODE", + "DOMAIN_NAME", + "DOMAIN_CODE", + "COUNTRY_NAME", + "COUNTRY_CODE", + "PLATFORM_TYPE_NAME", + "PLATFORM_TYPE_CODE", + "TARGETING_TYPE_NAME", + "TARGETING_TYPE_CODE", + "CONTENT_PLATFORM_NAME", + "CONTENT_PLATFORM_CODE", + "AD_PLACEMENT_NAME", + "AD_PLACEMENT_CODE", + "REQUESTED_AD_TYPE_NAME", + "REQUESTED_AD_TYPE_CODE", + "SERVED_AD_TYPE_NAME", + "SERVED_AD_TYPE_CODE", + "AD_FORMAT_NAME", + "AD_FORMAT_CODE", + "CUSTOM_SEARCH_STYLE_NAME", + "CUSTOM_SEARCH_STYLE_ID", + "DOMAIN_REGISTRANT", + "WEBSEARCH_QUERY_STRING" + ], + "enumDescriptions": [ + "Unspecified dimension.", + "Date dimension in YYYY-MM-DD format (e.g. \"2010-02-10\").", + "Week dimension in YYYY-MM-DD format, representing the first day of each week (e.g. \"2010-02-08\"). The first day of the week is determined by the language_code specified in a report generation request (so e.g. this would be a Monday for \"en-GB\" or \"es\", but a Sunday for \"en\" or \"fr-CA\").", + "Month dimension in YYYY-MM format (e.g. \"2010-02\").", + "Account name. The members of this dimension match the values from Account.display_name.", + "Unique ID of an ad client. The members of this dimension match the values from AdClient.reporting_dimension_id.", + "Localized product name (e.g. \"AdSense for Content\", \"AdSense for Search\").", + "Product code (e.g. \"AFC\", \"AFS\"). The members of this dimension match the values from AdClient.product_code.", + "Ad unit name (within which an ad was served). The members of this dimension match the values from AdUnit.display_name.", + "Unique ID of an ad unit (within which an ad was served). The members of this dimension match the values from AdUnit.reporting_dimension_id.", + "Localized size of an ad unit (e.g. \"728x90\", \"Responsive\").", + "The size code of an ad unit (e.g. \"728x90\", \"responsive\").", + "Custom channel name. The members of this dimension match the values from CustomChannel.display_name.", + "Unique ID of a custom channel. The members of this dimension match the values from CustomChannel.reporting_dimension_id.", + "Domain name of a verified site (e.g. \"example.com\"). The members of this dimension match the values from Site.domain.", + "Unique ID of a verified site. The members of this dimension match the values from Site.reporting_dimension_id.", + "Name of a URL channel. The members of this dimension match the values from UrlChannel.uri_pattern.", + "Unique ID of a URL channel. The members of this dimension match the values from UrlChannel.reporting_dimension_id.", + "Name of an ad network that returned the winning ads for an ad request (e.g. \"Google AdWords\"). Note that unlike other \"NAME\" dimensions, the members of this dimensions are not localized.", + "Unique (opaque) ID of an ad network that returned the winning ads for an ad request.", + "Localized bid type name (e.g. \"CPC bids\", \"CPM bids\") for a served ad.", + "Type of a bid (e.g. \"cpc\", \"cpm\") for a served ad.", + "Localized creative size name (e.g. \"728x90\", \"Dynamic\") of a served ad.", + "Creative size code (e.g. \"728x90\", \"dynamic\") of a served ad.", + "Localized name of a host on which an ad was served, after IDNA decoding (e.g. \"www.google.com\", \"Web caches and other\", \"b\u00fccher.example\").", + "Name of a host on which an ad was served (e.g. \"www.google.com\", \"webcaches\", \"xn--bcher-kva.example\").", + "Localized region name of a user viewing an ad (e.g. \"United States\", \"France\").", + "CLDR region code of a user viewing an ad (e.g. \"US\", \"FR\").", + "Localized platform type name (e.g. \"High-end mobile devices\", \"Desktop\").", + "Platform type code (e.g. \"HighEndMobile\", \"Desktop\").", + "Localized targeting type name (e.g. \"Contextual\", \"Personalized\", \"Run of Network\").", + "Targeting type code (e.g. \"Keyword\", \"UserInterest\", \"RunOfNetwork\").", + "Localized content platform name an ad request was made from (e.g. \"AMP\", \"Web\").", + "Content platform code an ad request was made from (e.g. \"AMP\", \"HTML\").", + "Localized ad placement name (e.g. \"Ad unit\", \"Global settings\", \"Manual\").", + "Ad placement code (e.g. \"AD_UNIT\", \"ca-pub-123456:78910\", \"OTHER\").", + "Localized requested ad type name (e.g. \"Display\", \"Link unit\", \"Other\").", + "Requested ad type code (e.g. \"IMAGE\", \"RADLINK\", \"OTHER\").", + "Localized served ad type name (e.g. \"Display\", \"Link unit\", \"Other\").", + "Served ad type code (e.g. \"IMAGE\", \"RADLINK\", \"OTHER\").", + "Localized ad format name indicating the way an ad is shown to the users on your site (e.g. \"In-page\", \"Anchor\", \"Vignette\").", + "Ad format code indicating the way an ad is shown to the users on your site (e.g. \"ON_PAGE\", \"ANCHOR\", \"INTERSTITIAL\").", + "Custom search style name.", + "Custom search style id.", + "Domain registrants.", + "Query strings for web searches." + ], + "location": "query", + "repeated": true, + "type": "string" + }, + "endDate.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", + "location": "query", + "type": "integer" + }, + "endDate.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", + "location": "query", + "type": "integer" + }, + "endDate.year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "filters": { + "description": "Filters to be run on the report.", + "location": "query", + "repeated": true, + "type": "string" + }, + "languageCode": { + "description": "The language to use for translating report output. If unspecified, this defaults to English (\"en\"). If the given language is not supported, report output will be returned in English. The language is specified as an [IETF BCP-47 language code](https://en.wikipedia.org/wiki/IETF_language_tag).", + "location": "query", + "type": "string" + }, + "limit": { + "description": "The maximum number of rows of report data to return. Reports producing more rows than the requested limit will be truncated. If unset, this defaults to 100,000 rows for `Reports.GenerateReport` and 1,000,000 rows for `Reports.GenerateCsvReport`, which are also the maximum values permitted here. Report truncation can be identified (for `Reports.GenerateReport` only) by comparing the number of rows returned to the value returned in `total_matched_rows`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "metrics": { + "description": "Required. Reporting metrics.", + "enum": [ + "METRIC_UNSPECIFIED", + "PAGE_VIEWS", + "AD_REQUESTS", + "MATCHED_AD_REQUESTS", + "TOTAL_IMPRESSIONS", + "IMPRESSIONS", + "INDIVIDUAL_AD_IMPRESSIONS", + "CLICKS", + "PAGE_VIEWS_SPAM_RATIO", + "AD_REQUESTS_SPAM_RATIO", + "MATCHED_AD_REQUESTS_SPAM_RATIO", + "IMPRESSIONS_SPAM_RATIO", + "INDIVIDUAL_AD_IMPRESSIONS_SPAM_RATIO", + "CLICKS_SPAM_RATIO", + "AD_REQUESTS_COVERAGE", + "PAGE_VIEWS_CTR", + "AD_REQUESTS_CTR", + "MATCHED_AD_REQUESTS_CTR", + "IMPRESSIONS_CTR", + "INDIVIDUAL_AD_IMPRESSIONS_CTR", + "ACTIVE_VIEW_MEASURABILITY", + "ACTIVE_VIEW_VIEWABILITY", + "ACTIVE_VIEW_TIME", + "ESTIMATED_EARNINGS", + "PAGE_VIEWS_RPM", + "AD_REQUESTS_RPM", + "MATCHED_AD_REQUESTS_RPM", + "IMPRESSIONS_RPM", + "INDIVIDUAL_AD_IMPRESSIONS_RPM", + "COST_PER_CLICK", + "ADS_PER_IMPRESSION", + "TOTAL_EARNINGS", + "WEBSEARCH_RESULT_PAGES" + ], + "enumDescriptions": [ + "Unspecified metric.", + "Number of page views.", + "Number of ad units that requested ads (for content ads) or search queries (for search ads). An ad request may result in zero, one, or multiple individual ad impressions depending on the size of the ad unit and whether any ads were available.", + "Requests that returned at least one ad.", + "Impressions. An impression is counted for each ad request where at least one ad has been downloaded to the user\u2019s device and has begun to load. It is the number of ad units (for content ads) or search queries (for search ads) that showed ads.", + "Impressions. An impression is counted for each ad request where at least one ad has been downloaded to the user\u2019s device and has begun to load. It is the number of ad units (for content ads) or search queries (for search ads) that showed ads.", + "Ads shown. Different ad formats will display varying numbers of ads. For example, a vertical banner may consist of 2 or more ads. Also, the number of ads in an ad unit may vary depending on whether the ad unit is displaying standard text ads, expanded text ads or image ads.", + "Number of times a user clicked on a standard content ad.", + "Fraction of page views considered to be spam. Only available to premium accounts.", + "Fraction of ad requests considered to be spam. Only available to premium accounts.", + "Fraction of ad requests that returned ads considered to be spam. Only available to premium accounts.", + "Fraction of impressions considered to be spam. Only available to premium accounts.", + "Fraction of ad impressions considered to be spam. Only available to premium accounts.", + "Fraction of clicks considered to be spam. Only available to premium accounts.", + "Ratio of requested ad units or queries to the number returned to the site.", + "Ratio of individual page views that resulted in a click.", + "Ratio of ad requests that resulted in a click.", + "Ratio of clicks to matched requests.", + "Ratio of IMPRESSIONS that resulted in a click.", + "Ratio of individual ad impressions that resulted in a click.", + "Ratio of requests that were measurable for viewability.", + "Ratio of requests that were viewable.", + "Mean time an ad was displayed on screen.", + "Estimated earnings of the publisher. Note that earnings up to yesterday are accurate, more recent earnings are estimated due to the possibility of spam, or exchange rate fluctuations.", + "Revenue per thousand page views. This is calculated by dividing the estimated revenue by the number of page views multiplied by 1000.", + "Revenue per thousand ad requests. This is calculated by dividing estimated revenue by the number of ad requests multiplied by 1000.", + "Revenue per thousand matched ad requests. This is calculated by dividing estimated revenue by the number of matched ad requests multiplied by 1000.", + "Revenue per thousand ad impressions. This is calculated by dividing estimated revenue by the number of ad impressions multiplied by 1000.", + "Revenue per thousand individual ad impressions. This is calculated by dividing estimated revenue by the number of individual ad impressions multiplied by 1000.", + "Amount the publisher earns each time a user clicks on an ad. CPC is calculated by dividing the estimated revenue by the number of clicks received.", + "Number of ad views per impression.", + "Total earnings.", + "Number of results pages." + ], + "location": "query", + "repeated": true, + "type": "string" + }, + "orderBy": { + "description": "The name of a dimension or metric to sort the resulting report on, can be prefixed with \"+\" to sort ascending or \"-\" to sort descending. If no prefix is specified, the column is sorted ascending.", + "location": "query", + "repeated": true, + "type": "string" + }, + "reportingTimeZone": { + "description": "Timezone in which to generate the report. If unspecified, this defaults to the account timezone. For more information, see [changing the time zone of your reports](https://support.google.com/adsense/answer/9830725).", + "enum": [ + "REPORTING_TIME_ZONE_UNSPECIFIED", + "ACCOUNT_TIME_ZONE", + "GOOGLE_TIME_ZONE" + ], + "enumDescriptions": [ + "Unspecified timezone.", + "Use the account timezone in the report.", + "Use the Google timezone in the report (America/Los_Angeles)." + ], + "location": "query", + "type": "string" + }, + "startDate.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", + "location": "query", + "type": "integer" + }, + "startDate.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", + "location": "query", + "type": "integer" + }, + "startDate.year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "location": "query", + "type": "integer" + } + }, + "path": "v2/{+account}/reports:generateCsv", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + } + }, + "resources": { + "saved": { + "methods": { + "generate": { + "description": "Generates a saved report.", + "flatPath": "v2/accounts/{accountsId}/reports/{reportsId}/saved:generate", + "httpMethod": "GET", + "id": "adsense.accounts.reports.saved.generate", + "parameterOrder": [ + "name" + ], + "parameters": { + "currencyCode": { + "description": "The [ISO-4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) to use when reporting on monetary metrics. Defaults to the account's currency if not set.", + "location": "query", + "type": "string" + }, + "dateRange": { + "description": "Date range of the report, if unset the range will be considered CUSTOM.", + "enum": [ + "REPORTING_DATE_RANGE_UNSPECIFIED", + "CUSTOM", + "TODAY", + "YESTERDAY", + "MONTH_TO_DATE", + "YEAR_TO_DATE", + "LAST_7_DAYS", + "LAST_30_DAYS" + ], + "enumDescriptions": [ + "Unspecified date range.", + "A custom date range specified using the `start_date` and `end_date` fields. This is the default if no ReportingDateRange is provided.", + "Current day.", + "Yesterday.", + "From the start of the current month to the current day. e.g. if the current date is 2020-03-12 then the range will be [2020-03-01, 2020-03-12].", + "From the start of the current year to the current day. e.g. if the current date is 2020-03-12 then the range will be [2020-01-01, 2020-03-12].", + "Last 7 days, excluding current day.", + "Last 30 days, excluding current day." + ], + "location": "query", + "type": "string" + }, + "endDate.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", + "location": "query", + "type": "integer" + }, + "endDate.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", + "location": "query", + "type": "integer" + }, + "endDate.year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "languageCode": { + "description": "The language to use for translating report output. If unspecified, this defaults to English (\"en\"). If the given language is not supported, report output will be returned in English. The language is specified as an [IETF BCP-47 language code](https://en.wikipedia.org/wiki/IETF_language_tag).", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Name of the saved report. Format: accounts/{account}/reports/{report}", + "location": "path", + "pattern": "^accounts/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + }, + "reportingTimeZone": { + "description": "Timezone in which to generate the report. If unspecified, this defaults to the account timezone. For more information, see [changing the time zone of your reports](https://support.google.com/adsense/answer/9830725).", + "enum": [ + "REPORTING_TIME_ZONE_UNSPECIFIED", + "ACCOUNT_TIME_ZONE", + "GOOGLE_TIME_ZONE" + ], + "enumDescriptions": [ + "Unspecified timezone.", + "Use the account timezone in the report.", + "Use the Google timezone in the report (America/Los_Angeles)." + ], + "location": "query", + "type": "string" + }, + "startDate.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", + "location": "query", + "type": "integer" + }, + "startDate.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", + "location": "query", + "type": "integer" + }, + "startDate.year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "location": "query", + "type": "integer" + } + }, + "path": "v2/{+name}/saved:generate", + "response": { + "$ref": "ReportResult" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + }, + "generateCsv": { + "description": "Generates a csv formatted saved report.", + "flatPath": "v2/accounts/{accountsId}/reports/{reportsId}/saved:generateCsv", + "httpMethod": "GET", + "id": "adsense.accounts.reports.saved.generateCsv", + "parameterOrder": [ + "name" + ], + "parameters": { + "currencyCode": { + "description": "The [ISO-4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) to use when reporting on monetary metrics. Defaults to the account's currency if not set.", + "location": "query", + "type": "string" + }, + "dateRange": { + "description": "Date range of the report, if unset the range will be considered CUSTOM.", + "enum": [ + "REPORTING_DATE_RANGE_UNSPECIFIED", + "CUSTOM", + "TODAY", + "YESTERDAY", + "MONTH_TO_DATE", + "YEAR_TO_DATE", + "LAST_7_DAYS", + "LAST_30_DAYS" + ], + "enumDescriptions": [ + "Unspecified date range.", + "A custom date range specified using the `start_date` and `end_date` fields. This is the default if no ReportingDateRange is provided.", + "Current day.", + "Yesterday.", + "From the start of the current month to the current day. e.g. if the current date is 2020-03-12 then the range will be [2020-03-01, 2020-03-12].", + "From the start of the current year to the current day. e.g. if the current date is 2020-03-12 then the range will be [2020-01-01, 2020-03-12].", + "Last 7 days, excluding current day.", + "Last 30 days, excluding current day." + ], + "location": "query", + "type": "string" + }, + "endDate.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", + "location": "query", + "type": "integer" + }, + "endDate.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", + "location": "query", + "type": "integer" + }, + "endDate.year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "languageCode": { + "description": "The language to use for translating report output. If unspecified, this defaults to English (\"en\"). If the given language is not supported, report output will be returned in English. The language is specified as an [IETF BCP-47 language code](https://en.wikipedia.org/wiki/IETF_language_tag).", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Name of the saved report. Format: accounts/{account}/reports/{report}", + "location": "path", + "pattern": "^accounts/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + }, + "reportingTimeZone": { + "description": "Timezone in which to generate the report. If unspecified, this defaults to the account timezone. For more information, see [changing the time zone of your reports](https://support.google.com/adsense/answer/9830725).", + "enum": [ + "REPORTING_TIME_ZONE_UNSPECIFIED", + "ACCOUNT_TIME_ZONE", + "GOOGLE_TIME_ZONE" + ], + "enumDescriptions": [ + "Unspecified timezone.", + "Use the account timezone in the report.", + "Use the Google timezone in the report (America/Los_Angeles)." + ], + "location": "query", + "type": "string" + }, + "startDate.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", + "location": "query", + "type": "integer" + }, + "startDate.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", + "location": "query", + "type": "integer" + }, + "startDate.year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "location": "query", + "type": "integer" + } + }, + "path": "v2/{+name}/saved:generateCsv", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + }, + "list": { + "description": "Lists saved reports.", + "flatPath": "v2/accounts/{accountsId}/reports/saved", + "httpMethod": "GET", + "id": "adsense.accounts.reports.saved.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of reports to include in the response, used for paging. If unspecified, at most 10000 reports will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListPayments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPayments` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account which owns the collection of reports. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/reports/saved", + "response": { + "$ref": "ListSavedReportsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + } + } + } + } + }, + "sites": { + "methods": { + "get": { + "description": "Gets information about the selected site.", + "flatPath": "v2/accounts/{accountsId}/sites/{sitesId}", + "httpMethod": "GET", + "id": "adsense.accounts.sites.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the site. Format: accounts/{account}/sites/{site}", + "location": "path", + "pattern": "^accounts/[^/]+/sites/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Site" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + }, + "list": { + "description": "Lists all the sites available in an account.", + "flatPath": "v2/accounts/{accountsId}/sites", + "httpMethod": "GET", + "id": "adsense.accounts.sites.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of sites to include in the response, used for paging. If unspecified, at most 10000 sites will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListSites` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSites` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account which owns the collection of sites. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/sites", + "response": { + "$ref": "ListSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + } + } + } + } + } + }, + "revision": "20220304", + "rootUrl": "https://adsense.googleapis.com/", + "schemas": { + "Account": { + "description": "Representation of an account.", + "id": "Account", + "properties": { + "createTime": { + "description": "Output only. Creation time of the account.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. Display name of this account.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Resource name of the account. Format: accounts/pub-[0-9]+", + "type": "string" + }, + "pendingTasks": { + "description": "Output only. Outstanding tasks that need to be completed as part of the sign-up process for a new account. e.g. \"billing-profile-creation\", \"phone-pin-verification\".", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "premium": { + "description": "Output only. Whether this account is premium.", + "readOnly": true, + "type": "boolean" + }, + "timeZone": { + "$ref": "TimeZone", + "description": "The account time zone, as used by reporting. For more information, see [changing the time zone of your reports](https://support.google.com/adsense/answer/9830725)." + } + }, + "type": "object" + }, + "AdClient": { + "description": "Representation of an ad client. An ad client represents a user's subscription with a specific AdSense product.", + "id": "AdClient", + "properties": { + "name": { + "description": "Resource name of the ad client. Format: accounts/{account}/adclients/{adclient}", + "type": "string" + }, + "productCode": { + "description": "Output only. Product code of the ad client. For example, \"AFC\" for AdSense for Content.", + "readOnly": true, + "type": "string" + }, + "reportingDimensionId": { + "description": "Output only. Unique ID of the ad client as used in the `AD_CLIENT_ID` reporting dimension. Present only if the ad client supports reporting.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AdClientAdCode": { + "description": "Representation of the AdSense code for a given ad client. For more information, see [About the AdSense code](https://support.google.com/adsense/answer/9274634).", + "id": "AdClientAdCode", + "properties": { + "adCode": { + "description": "Output only. The AdSense code snippet to add to the head of an HTML page.", + "readOnly": true, + "type": "string" + }, + "ampBody": { + "description": "Output only. The AdSense code snippet to add to the body of an AMP page.", + "readOnly": true, + "type": "string" + }, + "ampHead": { + "description": "Output only. The AdSense code snippet to add to the head of an AMP page.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AdUnit": { + "description": "Representation of an ad unit. An ad unit represents a saved ad unit with a specific set of ad settings that have been customized within an account.", + "id": "AdUnit", + "properties": { + "contentAdsSettings": { + "$ref": "ContentAdsSettings", + "description": "Settings specific to content ads (AFC)." + }, + "displayName": { + "description": "Display name of the ad unit, as provided when the ad unit was created.", + "type": "string" + }, + "name": { + "description": "Resource name of the ad unit. Format: accounts/{account}/adclients/{adclient}/adunits/{adunit}", + "type": "string" + }, + "reportingDimensionId": { + "description": "Output only. Unique ID of the ad unit as used in the `AD_UNIT_ID` reporting dimension.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "State of the ad unit.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "ARCHIVED" + ], + "enumDescriptions": [ + "State unspecified.", + "Ad unit has been activated by the user.", + "Ad unit has been archived by the user. Note that archived ad units are only removed from the default view in the UI. Archived ad units can still serve ads." + ], + "type": "string" + } + }, + "type": "object" + }, + "AdUnitAdCode": { + "description": "Representation of the AdSense code for a given ad unit.", + "id": "AdUnitAdCode", + "properties": { + "adCode": { + "description": "Output only. The AdSense code snippet to add to the body of an HTML page.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Alert": { + "description": "Representation of an alert.", + "id": "Alert", + "properties": { + "message": { + "description": "Output only. The localized alert message. This may contain HTML markup, such as phrase elements or links.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Resource name of the alert. Format: accounts/{account}/alerts/{alert}", + "type": "string" + }, + "severity": { + "description": "Output only. Severity of this alert.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "INFO", + "WARNING", + "SEVERE" + ], + "enumDescriptions": [ + "Unspecified severity.", + "Info.", + "Warning.", + "Severe." + ], + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. Type of alert. This identifies the broad type of this alert, and provides a stable machine-readable identifier that will not be translated. For example, \"payment-hold\".", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Cell": { + "description": "Cell representation.", + "id": "Cell", + "properties": { + "value": { + "description": "Value in the cell. The dimension cells contain strings, and the metric cells contain numbers.", + "type": "string" + } + }, + "type": "object" + }, + "ContentAdsSettings": { + "description": "Settings specific to content ads (AFC).", + "id": "ContentAdsSettings", + "properties": { + "size": { + "description": "Size of the ad unit. e.g. \"728x90\", \"1x3\" (for responsive ad units).", + "type": "string" + }, + "type": { + "description": "Type of the ad unit.", + "enum": [ + "TYPE_UNSPECIFIED", + "DISPLAY", + "FEED", + "ARTICLE", + "MATCHED_CONTENT", + "LINK" + ], + "enumDescriptions": [ + "Unspecified ad unit type.", + "Display ad unit.", + "In-feed ad unit.", + "In-article ad unit.", + "Matched content unit.", + "Link ad unit. Note that link ad units have now been retired, see https://support.google.com/adsense/answer/9987221." + ], + "type": "string" + } + }, + "type": "object" + }, + "CustomChannel": { + "description": "Representation of a custom channel.", + "id": "CustomChannel", + "properties": { + "displayName": { + "description": "Display name of the custom channel.", + "type": "string" + }, + "name": { + "description": "Resource name of the custom channel. Format: accounts/{account}/adclients/{adclient}/customchannels/{customchannel}", + "type": "string" + }, + "reportingDimensionId": { + "description": "Output only. Unique ID of the custom channel as used in the `CUSTOM_CHANNEL_ID` reporting dimension.", + "readOnly": true, + "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" + }, + "Header": { + "description": "The header information of the columns requested in the report.", + "id": "Header", + "properties": { + "currencyCode": { + "description": "The [ISO-4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) of this column. Only present if the header type is METRIC_CURRENCY.", + "type": "string" + }, + "name": { + "description": "Required. Name of the header.", + "type": "string" + }, + "type": { + "description": "Required. Type of the header.", + "enum": [ + "HEADER_TYPE_UNSPECIFIED", + "DIMENSION", + "METRIC_TALLY", + "METRIC_RATIO", + "METRIC_CURRENCY", + "METRIC_MILLISECONDS", + "METRIC_DECIMAL" + ], + "enumDescriptions": [ + "Unspecified header.", + "Dimension header type.", + "Tally header type.", + "Ratio header type.", + "Currency header type.", + "Milliseconds header type.", + "Decimal header type." + ], + "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" + }, + "ListAccountsResponse": { + "description": "Response definition for the account list rpc.", + "id": "ListAccountsResponse", + "properties": { + "accounts": { + "description": "The accounts returned in this list response.", + "items": { + "$ref": "Account" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Continuation token used to page through accounts. To retrieve the next page of the results, set the next request's \"page_token\" value to this.", + "type": "string" + } + }, + "type": "object" + }, + "ListAdClientsResponse": { + "description": "Response definition for the ad client list rpc.", + "id": "ListAdClientsResponse", + "properties": { + "adClients": { + "description": "The ad clients returned in this list response.", + "items": { + "$ref": "AdClient" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Continuation token used to page through ad clients. To retrieve the next page of the results, set the next request's \"page_token\" value to this.", + "type": "string" + } + }, + "type": "object" + }, + "ListAdUnitsResponse": { + "description": "Response definition for the adunit list rpc.", + "id": "ListAdUnitsResponse", + "properties": { + "adUnits": { + "description": "The ad units returned in the list response.", + "items": { + "$ref": "AdUnit" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Continuation token used to page through ad units. To retrieve the next page of the results, set the next request's \"page_token\" value to this.", + "type": "string" + } + }, + "type": "object" + }, + "ListAlertsResponse": { + "description": "Response definition for the alerts list rpc.", + "id": "ListAlertsResponse", + "properties": { + "alerts": { + "description": "The alerts returned in this list response.", + "items": { + "$ref": "Alert" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListChildAccountsResponse": { + "description": "Response definition for the child account list rpc.", + "id": "ListChildAccountsResponse", + "properties": { + "accounts": { + "description": "The accounts returned in this list response.", + "items": { + "$ref": "Account" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Continuation token used to page through accounts. To retrieve the next page of the results, set the next request's \"page_token\" value to this.", + "type": "string" + } + }, + "type": "object" + }, + "ListCustomChannelsResponse": { + "description": "Response definition for the custom channel list rpc.", + "id": "ListCustomChannelsResponse", + "properties": { + "customChannels": { + "description": "The custom channels returned in this list response.", + "items": { + "$ref": "CustomChannel" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Continuation token used to page through alerts. To retrieve the next page of the results, set the next request's \"page_token\" value to this.", + "type": "string" + } + }, + "type": "object" + }, + "ListLinkedAdUnitsResponse": { + "description": "Response definition for the ad units linked to a custom channel list rpc.", + "id": "ListLinkedAdUnitsResponse", + "properties": { + "adUnits": { + "description": "The ad units returned in the list response.", + "items": { + "$ref": "AdUnit" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Continuation token used to page through ad units. To retrieve the next page of the results, set the next request's \"page_token\" value to this.", + "type": "string" + } + }, + "type": "object" + }, + "ListLinkedCustomChannelsResponse": { + "description": "Response definition for the custom channels linked to an adunit list rpc.", + "id": "ListLinkedCustomChannelsResponse", + "properties": { + "customChannels": { + "description": "The custom channels returned in this list response.", + "items": { + "$ref": "CustomChannel" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Continuation token used to page through alerts. To retrieve the next page of the results, set the next request's \"page_token\" value to this.", + "type": "string" + } + }, + "type": "object" + }, + "ListPaymentsResponse": { + "description": "Response definition for the payments list rpc.", + "id": "ListPaymentsResponse", + "properties": { + "payments": { + "description": "The payments returned in this list response.", + "items": { + "$ref": "Payment" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListSavedReportsResponse": { + "description": "Response definition for the saved reports list rpc.", + "id": "ListSavedReportsResponse", + "properties": { + "nextPageToken": { + "description": "Continuation token used to page through reports. To retrieve the next page of the results, set the next request's \"page_token\" value to this.", + "type": "string" + }, + "savedReports": { + "description": "The reports returned in this list response.", + "items": { + "$ref": "SavedReport" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListSitesResponse": { + "description": "Response definition for the sites list rpc.", + "id": "ListSitesResponse", + "properties": { + "nextPageToken": { + "description": "Continuation token used to page through sites. To retrieve the next page of the results, set the next request's \"page_token\" value to this.", + "type": "string" + }, + "sites": { + "description": "The sites returned in this list response.", + "items": { + "$ref": "Site" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListUrlChannelsResponse": { + "description": "Response definition for the url channels list rpc.", + "id": "ListUrlChannelsResponse", + "properties": { + "nextPageToken": { + "description": "Continuation token used to page through url channels. To retrieve the next page of the results, set the next request's \"page_token\" value to this.", + "type": "string" + }, + "urlChannels": { + "description": "The url channels returned in this list response.", + "items": { + "$ref": "UrlChannel" + }, + "type": "array" + } + }, + "type": "object" + }, + "Payment": { + "description": "Representation of an unpaid or paid payment. See [Payment timelines for AdSense](https://support.google.com/adsense/answer/7164703) for more information about payments and the [YouTube homepage and payments account](https://support.google.com/adsense/answer/11622510) article for information about dedicated payments accounts for YouTube.", + "id": "Payment", + "properties": { + "amount": { + "description": "Output only. The amount of unpaid or paid earnings, as a formatted string, including the currency. E.g. \"\u00a51,235 JPY\", \"$1,234.57\", \"\u00a387.65\".", + "readOnly": true, + "type": "string" + }, + "date": { + "$ref": "Date", + "description": "Output only. For paid earnings, the date that the payment was credited. For unpaid earnings, this field is empty. Payment dates are always returned in the billing timezone (America/Los_Angeles).", + "readOnly": true + }, + "name": { + "description": "Resource name of the payment. Format: - accounts/{account}/payments/unpaid for unpaid (current) AdSense earnings. - accounts/{account}/payments/youtube-unpaid for unpaid (current) YouTube earnings. - accounts/{account}/payments/yyyy-MM-dd for paid AdSense earnings. - accounts/{account}/payments/youtube-yyyy-MM-dd for paid YouTube earnings. ", + "type": "string" + } + }, + "type": "object" + }, + "ReportResult": { + "description": "Result of a generated report.", + "id": "ReportResult", + "properties": { + "averages": { + "$ref": "Row", + "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." + }, + "endDate": { + "$ref": "Date", + "description": "Required. End date of the range (inclusive)." + }, + "headers": { + "description": "The header information; one for each dimension in the request, followed by one for each metric in the request.", + "items": { + "$ref": "Header" + }, + "type": "array" + }, + "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.", + "items": { + "$ref": "Row" + }, + "type": "array" + }, + "startDate": { + "$ref": "Date", + "description": "Required. Start date of the range (inclusive)." + }, + "totalMatchedRows": { + "description": "The total number of rows matched by the report request.", + "format": "int64", + "type": "string" + }, + "totals": { + "$ref": "Row", + "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." + }, + "warnings": { + "description": "Any warnings associated with generation of the report. These warnings are always returned in English.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Row": { + "description": "Row representation.", + "id": "Row", + "properties": { + "cells": { + "description": "Cells in the row.", + "items": { + "$ref": "Cell" + }, + "type": "array" + } + }, + "type": "object" + }, + "SavedReport": { + "description": "Representation of a saved report.", + "id": "SavedReport", + "properties": { + "name": { + "description": "Resource name of the report. Format: accounts/{account}/reports/{report}", + "type": "string" + }, + "title": { + "description": "Report title as specified by publisher.", + "type": "string" + } + }, + "type": "object" + }, + "Site": { + "description": "Representation of a Site.", + "id": "Site", + "properties": { + "autoAdsEnabled": { + "description": "Whether auto ads is turned on for the site.", + "type": "boolean" + }, + "domain": { + "description": "Domain (or subdomain) of the site, e.g. \"example.com\" or \"www.example.com\". This is used in the `OWNED_SITE_DOMAIN_NAME` reporting dimension.", + "type": "string" + }, + "name": { + "description": "Resource name of a site. Format: accounts/{account}/sites/{site}", + "type": "string" + }, + "reportingDimensionId": { + "description": "Output only. Unique ID of the site as used in the `OWNED_SITE_ID` reporting dimension.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. State of a site.", + "enum": [ + "STATE_UNSPECIFIED", + "REQUIRES_REVIEW", + "GETTING_READY", + "READY", + "NEEDS_ATTENTION" + ], + "enumDescriptions": [ + "State unspecified.", + "The site hasn't been checked yet.", + "Running some checks on the site. This usually takes a few days, but in some cases can take up to 2 weeks.", + "The site is ready to show ads.", + "Publisher needs to fix some issues before the site is ready to show ads." + ], + "readOnly": true, + "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, e.g. \"America/New_York\".", + "type": "string" + }, + "version": { + "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "type": "string" + } + }, + "type": "object" + }, + "UrlChannel": { + "description": "Representation of a URL channel. URL channels allow you to track the performance of particular pages in your site; see [URL channels](https://support.google.com/adsense/answer/2923836) for more information.", + "id": "UrlChannel", + "properties": { + "name": { + "description": "Resource name of the URL channel. Format: accounts/{account}/adclients/{adclient}/urlchannels/{urlchannel}", + "type": "string" + }, + "reportingDimensionId": { + "description": "Output only. Unique ID of the custom channel as used in the `URL_CHANNEL_ID` reporting dimension.", + "readOnly": true, + "type": "string" + }, + "uriPattern": { + "description": "URI pattern of the channel. Does not include \"http://\" or \"https://\". Example: www.example.com/home", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "AdSense Management API", + "version": "v2", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/alertcenter/v1beta1/alertcenter-api.json b/etc/api/alertcenter/v1beta1/alertcenter-api.json index 95f8dbaa2e..3e2f1705eb 100644 --- a/etc/api/alertcenter/v1beta1/alertcenter-api.json +++ b/etc/api/alertcenter/v1beta1/alertcenter-api.json @@ -243,7 +243,7 @@ "type": "string" }, "filter": { - "description": "Optional. A query string for filtering alert results. For more details, see [Query filters](/admin-sdk/alertcenter/guides/query-filters) and [Supported query filter fields](/admin-sdk/alertcenter/reference/filter-fields#alerts.list).", + "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" }, @@ -356,7 +356,7 @@ "type": "string" }, "filter": { - "description": "Optional. A query string for filtering alert feedback results. For more details, see [Query filters](/admin-sdk/alertcenter/guides/query-filters) and [Supported query filter fields](/admin-sdk/alertcenter/reference/filter-fields#alerts.feedback.list).", + "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" } @@ -423,9 +423,83 @@ } } }, - "revision": "20210323", + "revision": "20220221", "rootUrl": "https://alertcenter.googleapis.com/", "schemas": { + "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", @@ -558,7 +632,7 @@ "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 * Domain wide takeout * State sponsored attack * Google identity", + "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": { @@ -567,7 +641,7 @@ "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](/admin-sdk/alertcenter/reference/alert-types).", + "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": { @@ -639,7 +713,7 @@ "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 metatdata 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.", + "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": { @@ -672,6 +746,82 @@ }, "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", @@ -953,7 +1103,7 @@ "type": "array" }, "date": { - "description": "The date the malicious email was sent.", + "description": "The date of the event related to this email.", "format": "google-datetime", "type": "string" }, @@ -1003,6 +1153,10 @@ "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" @@ -1136,8 +1290,23 @@ }, "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](/admin-sdk/alertcenter/guides/notifications).", + "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": { @@ -1184,6 +1353,27 @@ }, "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", @@ -1486,6 +1676,17 @@ }, "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", diff --git a/etc/api/analyticsadmin/v1alpha/analyticsadmin-api.json b/etc/api/analyticsadmin/v1alpha/analyticsadmin-api.json index 4572028ad3..2e4e7ab913 100644 --- a/etc/api/analyticsadmin/v1alpha/analyticsadmin-api.json +++ b/etc/api/analyticsadmin/v1alpha/analyticsadmin-api.json @@ -618,7 +618,7 @@ ], "parameters": { "name": { - "description": "Example format: properties/1234/userLinks/5678", + "description": "Output only. Example format: properties/1234/userLinks/5678", "location": "path", "pattern": "^accounts/[^/]+/userLinks/[^/]+$", "required": true, @@ -642,6 +642,34 @@ }, "properties": { "methods": { + "acknowledgeUserDataCollection": { + "description": "Acknowledges the terms of user data collection for the specified property. This acknowledgement must be completed (either in the Google Analytics UI or via this API) before MeasurementProtocolSecret resources may be created.", + "flatPath": "v1alpha/properties/{propertiesId}:acknowledgeUserDataCollection", + "httpMethod": "POST", + "id": "analyticsadmin.properties.acknowledgeUserDataCollection", + "parameterOrder": [ + "property" + ], + "parameters": { + "property": { + "description": "Required. The property for which to acknowledge user data collection.", + "location": "path", + "pattern": "^properties/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+property}:acknowledgeUserDataCollection", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionRequest" + }, + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + }, "create": { "description": "Creates an \"GA4\" property with the specified location and attributes.", "flatPath": "v1alpha/properties", @@ -679,7 +707,7 @@ }, "path": "v1alpha/{+name}", "response": { - "$ref": "GoogleProtobufEmpty" + "$ref": "GoogleAnalyticsAdminV1alphaProperty" }, "scopes": [ "https://www.googleapis.com/auth/analytics.edit" @@ -711,6 +739,58 @@ "https://www.googleapis.com/auth/analytics.readonly" ] }, + "getDataRetentionSettings": { + "description": "Returns the singleton data retention settings for this property.", + "flatPath": "v1alpha/properties/{propertiesId}/dataRetentionSettings", + "httpMethod": "GET", + "id": "analyticsadmin.properties.getDataRetentionSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the settings to lookup. Format: properties/{property}/dataRetentionSettings Example: \"properties/1000/dataRetentionSettings\"", + "location": "path", + "pattern": "^properties/[^/]+/dataRetentionSettings$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaDataRetentionSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, + "getGoogleSignalsSettings": { + "description": "Lookup for Google Signals settings for a property.", + "flatPath": "v1alpha/properties/{propertiesId}/googleSignalsSettings", + "httpMethod": "GET", + "id": "analyticsadmin.properties.getGoogleSignalsSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the google signals settings to retrieve. Format: properties/{property}/googleSignalsSettings", + "location": "path", + "pattern": "^properties/[^/]+/googleSignalsSettings$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, "list": { "description": "Returns child Properties under the specified parent Account. Only \"GA4\" properties will be returned. Properties will be excluded if the caller does not have access. Soft-deleted (ie: \"trashed\") properties are excluded by default. Returns an empty list if no relevant properties are found.", "flatPath": "v1alpha/properties", @@ -719,7 +799,7 @@ "parameterOrder": [], "parameters": { "filter": { - "description": "Required. An expression for filtering the results of the request. Fields eligible for filtering are: `parent:`(The resource name of the parent account) or `firebase_project:`(The id or number of the linked firebase project). Some examples of filters: ``` | Filter | Description | |-----------------------------|-------------------------------------------| | parent:accounts/123 | The account with account id: 123. | | firebase_project:project-id | The firebase project with id: project-id. | | firebase_project:123 | The firebase project with number: 123. | ```", + "description": "Required. An expression for filtering the results of the request. Fields eligible for filtering are: `parent:`(The resource name of the parent account/property) or `ancestor:`(The resource name of the parent account) or `firebase_project:`(The id or number of the linked firebase project). Some examples of filters: ``` | Filter | Description | |-----------------------------|-------------------------------------------| | parent:accounts/123 | The account with account id: 123. | | parent:properties/123 | The property with property id: 123. | | ancestor:accounts/123 | The account with account id: 123. | | firebase_project:project-id | The firebase project with id: project-id. | | firebase_project:123 | The firebase project with number: 123. | ```", "location": "query", "type": "string" }, @@ -782,52 +862,120 @@ "scopes": [ "https://www.googleapis.com/auth/analytics.edit" ] + }, + "updateDataRetentionSettings": { + "description": "Updates the singleton data retention settings for this property.", + "flatPath": "v1alpha/properties/{propertiesId}/dataRetentionSettings", + "httpMethod": "PATCH", + "id": "analyticsadmin.properties.updateDataRetentionSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Resource name for this DataRetentionSetting resource. Format: properties/{property}/dataRetentionSettings", + "location": "path", + "pattern": "^properties/[^/]+/dataRetentionSettings$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaDataRetentionSettings" + }, + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaDataRetentionSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + }, + "updateGoogleSignalsSettings": { + "description": "Updates Google Signals settings for a property.", + "flatPath": "v1alpha/properties/{propertiesId}/googleSignalsSettings", + "httpMethod": "PATCH", + "id": "analyticsadmin.properties.updateGoogleSignalsSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Resource name of this setting. Format: properties/{property_id}/googleSignalsSettings Example: \"properties/1000/googleSignalsSettings\"", + "location": "path", + "pattern": "^properties/[^/]+/googleSignalsSettings$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings" + }, + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] } }, "resources": { - "androidAppDataStreams": { + "conversionEvents": { "methods": { "create": { - "description": "Creates an Android app stream with the specified location and attributes. Note that an Android app stream must be linked to a Firebase app to receive traffic. To create a working app stream, make sure your property is linked to a Firebase project. Then, use the Firebase API to create a Firebase app, which will also create an appropriate data stream in Analytics (may take up to 24 hours).", - "flatPath": "v1alpha/properties/{propertiesId}/androidAppDataStreams", + "description": "Creates a conversion event with the specified attributes.", + "flatPath": "v1alpha/properties/{propertiesId}/conversionEvents", "httpMethod": "POST", - "id": "analyticsadmin.properties.androidAppDataStreams.create", + "id": "analyticsadmin.properties.conversionEvents.create", "parameterOrder": [ "parent" ], "parameters": { "parent": { - "description": "Required. The parent resource where this android app data stream will be created. Format: properties/123", + "description": "Required. The resource name of the parent property where this conversion event will be created. Format: properties/123", "location": "path", "pattern": "^properties/[^/]+$", "required": true, "type": "string" } }, - "path": "v1alpha/{+parent}/androidAppDataStreams", + "path": "v1alpha/{+parent}/conversionEvents", "request": { - "$ref": "GoogleAnalyticsAdminV1alphaAndroidAppDataStream" + "$ref": "GoogleAnalyticsAdminV1alphaConversionEvent" }, "response": { - "$ref": "GoogleAnalyticsAdminV1alphaAndroidAppDataStream" + "$ref": "GoogleAnalyticsAdminV1alphaConversionEvent" }, "scopes": [ "https://www.googleapis.com/auth/analytics.edit" ] }, "delete": { - "description": "Deletes an android app stream on a property.", - "flatPath": "v1alpha/properties/{propertiesId}/androidAppDataStreams/{androidAppDataStreamsId}", + "description": "Deletes a conversion event in a property.", + "flatPath": "v1alpha/properties/{propertiesId}/conversionEvents/{conversionEventsId}", "httpMethod": "DELETE", - "id": "analyticsadmin.properties.androidAppDataStreams.delete", + "id": "analyticsadmin.properties.conversionEvents.delete", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Required. The name of the android app data stream to delete. Format: properties/{property_id}/androidAppDataStreams/{stream_id} Example: \"properties/123/androidAppDataStreams/456\"", + "description": "Required. The resource name of the conversion event to delete. Format: properties/{property}/conversionEvents/{conversion_event} Example: \"properties/123/conversionEvents/456\"", "location": "path", - "pattern": "^properties/[^/]+/androidAppDataStreams/[^/]+$", + "pattern": "^properties/[^/]+/conversionEvents/[^/]+$", "required": true, "type": "string" } @@ -841,25 +989,25 @@ ] }, "get": { - "description": "Lookup for a single AndroidAppDataStream", - "flatPath": "v1alpha/properties/{propertiesId}/androidAppDataStreams/{androidAppDataStreamsId}", + "description": "Retrieve a single conversion event.", + "flatPath": "v1alpha/properties/{propertiesId}/conversionEvents/{conversionEventsId}", "httpMethod": "GET", - "id": "analyticsadmin.properties.androidAppDataStreams.get", + "id": "analyticsadmin.properties.conversionEvents.get", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Required. The name of the android app data stream to lookup. Format: properties/{property_id}/androidAppDataStreams/{stream_id} Example: \"properties/123/androidAppDataStreams/456\"", + "description": "Required. The resource name of the conversion event to retrieve. Format: properties/{property}/conversionEvents/{conversion_event} Example: \"properties/123/conversionEvents/456\"", "location": "path", - "pattern": "^properties/[^/]+/androidAppDataStreams/[^/]+$", + "pattern": "^properties/[^/]+/conversionEvents/[^/]+$", "required": true, "type": "string" } }, "path": "v1alpha/{+name}", "response": { - "$ref": "GoogleAnalyticsAdminV1alphaAndroidAppDataStream" + "$ref": "GoogleAnalyticsAdminV1alphaConversionEvent" }, "scopes": [ "https://www.googleapis.com/auth/analytics.edit", @@ -867,10 +1015,10 @@ ] }, "list": { - "description": "Returns child android app streams under the specified parent property. Android app streams will be excluded if the caller does not have access. Returns an empty list if no relevant android app streams are found.", - "flatPath": "v1alpha/properties/{propertiesId}/androidAppDataStreams", + "description": "Returns a list of conversion events in the specified parent property. Returns an empty list if no conversion events are found.", + "flatPath": "v1alpha/properties/{propertiesId}/conversionEvents", "httpMethod": "GET", - "id": "analyticsadmin.properties.androidAppDataStreams.list", + "id": "analyticsadmin.properties.conversionEvents.list", "parameterOrder": [ "parent" ], @@ -882,21 +1030,144 @@ "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 `ListAndroidAppDataStreams` must match the call that provided the page token.", + "description": "A page token, received from a previous `ListConversionEvents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListConversionEvents` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The name of the parent property. For example, to limit results to app streams under the property with Id 123: \"properties/123\"", + "description": "Required. The resource name of the parent property. Example: 'properties/123'", "location": "path", "pattern": "^properties/[^/]+$", "required": true, "type": "string" } }, - "path": "v1alpha/{+parent}/androidAppDataStreams", + "path": "v1alpha/{+parent}/conversionEvents", "response": { - "$ref": "GoogleAnalyticsAdminV1alphaListAndroidAppDataStreamsResponse" + "$ref": "GoogleAnalyticsAdminV1alphaListConversionEventsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit", + "https://www.googleapis.com/auth/analytics.readonly" + ] + } + } + }, + "customDimensions": { + "methods": { + "archive": { + "description": "Archives a CustomDimension on a property.", + "flatPath": "v1alpha/properties/{propertiesId}/customDimensions/{customDimensionsId}:archive", + "httpMethod": "POST", + "id": "analyticsadmin.properties.customDimensions.archive", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the CustomDimension to archive. Example format: properties/1234/customDimensions/5678", + "location": "path", + "pattern": "^properties/[^/]+/customDimensions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}:archive", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaArchiveCustomDimensionRequest" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + }, + "create": { + "description": "Creates a CustomDimension.", + "flatPath": "v1alpha/properties/{propertiesId}/customDimensions", + "httpMethod": "POST", + "id": "analyticsadmin.properties.customDimensions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Example format: properties/1234", + "location": "path", + "pattern": "^properties/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/customDimensions", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaCustomDimension" + }, + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaCustomDimension" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + }, + "get": { + "description": "Lookup for a single CustomDimension.", + "flatPath": "v1alpha/properties/{propertiesId}/customDimensions/{customDimensionsId}", + "httpMethod": "GET", + "id": "analyticsadmin.properties.customDimensions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the CustomDimension to get. Example format: properties/1234/customDimensions/5678", + "location": "path", + "pattern": "^properties/[^/]+/customDimensions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaCustomDimension" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, + "list": { + "description": "Lists CustomDimensions on a property.", + "flatPath": "v1alpha/properties/{propertiesId}/customDimensions", + "httpMethod": "GET", + "id": "analyticsadmin.properties.customDimensions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListCustomDimensions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCustomDimensions` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Example format: properties/1234", + "location": "path", + "pattern": "^properties/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/customDimensions", + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaListCustomDimensionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/analytics.edit", @@ -904,23 +1175,23 @@ ] }, "patch": { - "description": "Updates an android app stream on a property.", - "flatPath": "v1alpha/properties/{propertiesId}/androidAppDataStreams/{androidAppDataStreamsId}", + "description": "Updates a CustomDimension on a property.", + "flatPath": "v1alpha/properties/{propertiesId}/customDimensions/{customDimensionsId}", "httpMethod": "PATCH", - "id": "analyticsadmin.properties.androidAppDataStreams.patch", + "id": "analyticsadmin.properties.customDimensions.patch", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Output only. Resource name of this Data Stream. Format: properties/{property_id}/androidAppDataStreams/{stream_id} Example: \"properties/1000/androidAppDataStreams/2000\"", + "description": "Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}", "location": "path", - "pattern": "^properties/[^/]+/androidAppDataStreams/[^/]+$", + "pattern": "^properties/[^/]+/customDimensions/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", + "description": "Required. The list of fields to be updated. Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -928,10 +1199,833 @@ }, "path": "v1alpha/{+name}", "request": { - "$ref": "GoogleAnalyticsAdminV1alphaAndroidAppDataStream" + "$ref": "GoogleAnalyticsAdminV1alphaCustomDimension" }, "response": { - "$ref": "GoogleAnalyticsAdminV1alphaAndroidAppDataStream" + "$ref": "GoogleAnalyticsAdminV1alphaCustomDimension" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + } + } + }, + "customMetrics": { + "methods": { + "archive": { + "description": "Archives a CustomMetric on a property.", + "flatPath": "v1alpha/properties/{propertiesId}/customMetrics/{customMetricsId}:archive", + "httpMethod": "POST", + "id": "analyticsadmin.properties.customMetrics.archive", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the CustomMetric to archive. Example format: properties/1234/customMetrics/5678", + "location": "path", + "pattern": "^properties/[^/]+/customMetrics/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}:archive", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaArchiveCustomMetricRequest" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + }, + "create": { + "description": "Creates a CustomMetric.", + "flatPath": "v1alpha/properties/{propertiesId}/customMetrics", + "httpMethod": "POST", + "id": "analyticsadmin.properties.customMetrics.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Example format: properties/1234", + "location": "path", + "pattern": "^properties/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/customMetrics", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaCustomMetric" + }, + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaCustomMetric" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + }, + "get": { + "description": "Lookup for a single CustomMetric.", + "flatPath": "v1alpha/properties/{propertiesId}/customMetrics/{customMetricsId}", + "httpMethod": "GET", + "id": "analyticsadmin.properties.customMetrics.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the CustomMetric to get. Example format: properties/1234/customMetrics/5678", + "location": "path", + "pattern": "^properties/[^/]+/customMetrics/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaCustomMetric" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, + "list": { + "description": "Lists CustomMetrics on a property.", + "flatPath": "v1alpha/properties/{propertiesId}/customMetrics", + "httpMethod": "GET", + "id": "analyticsadmin.properties.customMetrics.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListCustomMetrics` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCustomMetrics` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Example format: properties/1234", + "location": "path", + "pattern": "^properties/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/customMetrics", + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaListCustomMetricsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, + "patch": { + "description": "Updates a CustomMetric on a property.", + "flatPath": "v1alpha/properties/{propertiesId}/customMetrics/{customMetricsId}", + "httpMethod": "PATCH", + "id": "analyticsadmin.properties.customMetrics.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}", + "location": "path", + "pattern": "^properties/[^/]+/customMetrics/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The list of fields to be updated. Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaCustomMetric" + }, + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaCustomMetric" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + } + } + }, + "dataStreams": { + "methods": { + "create": { + "description": "Creates a DataStream.", + "flatPath": "v1alpha/properties/{propertiesId}/dataStreams", + "httpMethod": "POST", + "id": "analyticsadmin.properties.dataStreams.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Example format: properties/1234", + "location": "path", + "pattern": "^properties/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/dataStreams", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaDataStream" + }, + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaDataStream" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + }, + "delete": { + "description": "Deletes a DataStream on a property.", + "flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}", + "httpMethod": "DELETE", + "id": "analyticsadmin.properties.dataStreams.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the DataStream to delete. Example format: properties/1234/dataStreams/5678", + "location": "path", + "pattern": "^properties/[^/]+/dataStreams/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + }, + "get": { + "description": "Lookup for a single DataStream.", + "flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}", + "httpMethod": "GET", + "id": "analyticsadmin.properties.dataStreams.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the DataStream to get. Example format: properties/1234/dataStreams/5678", + "location": "path", + "pattern": "^properties/[^/]+/dataStreams/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaDataStream" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, + "getGlobalSiteTag": { + "description": "Returns the Site Tag for the specified web stream. Site Tags are immutable singletons.", + "flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/globalSiteTag", + "httpMethod": "GET", + "id": "analyticsadmin.properties.dataStreams.getGlobalSiteTag", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the site tag to lookup. Note that site tags are singletons and do not have unique IDs. Format: properties/{property_id}/dataStreams/{stream_id}/globalSiteTag Example: \"properties/123/dataStreams/456/globalSiteTag\"", + "location": "path", + "pattern": "^properties/[^/]+/dataStreams/[^/]+/globalSiteTag$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaGlobalSiteTag" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, + "list": { + "description": "Lists DataStreams on a property.", + "flatPath": "v1alpha/properties/{propertiesId}/dataStreams", + "httpMethod": "GET", + "id": "analyticsadmin.properties.dataStreams.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListDataStreams` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDataStreams` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Example format: properties/1234", + "location": "path", + "pattern": "^properties/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/dataStreams", + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaListDataStreamsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, + "patch": { + "description": "Updates a DataStream on a property.", + "flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}", + "httpMethod": "PATCH", + "id": "analyticsadmin.properties.dataStreams.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Resource name of this Data Stream. Format: properties/{property_id}/dataStreams/{stream_id} Example: \"properties/1000/dataStreams/2000\"", + "location": "path", + "pattern": "^properties/[^/]+/dataStreams/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The list of fields to be updated. Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaDataStream" + }, + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaDataStream" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + } + }, + "resources": { + "measurementProtocolSecrets": { + "methods": { + "create": { + "description": "Creates a measurement protocol secret.", + "flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets", + "httpMethod": "POST", + "id": "analyticsadmin.properties.dataStreams.measurementProtocolSecrets.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource where this secret will be created. Format: properties/{property}/dataStreams/{dataStream}", + "location": "path", + "pattern": "^properties/[^/]+/dataStreams/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/measurementProtocolSecrets", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret" + }, + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + }, + "delete": { + "description": "Deletes target MeasurementProtocolSecret.", + "flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}", + "httpMethod": "DELETE", + "id": "analyticsadmin.properties.dataStreams.measurementProtocolSecrets.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the MeasurementProtocolSecret to delete. Format: properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}", + "location": "path", + "pattern": "^properties/[^/]+/dataStreams/[^/]+/measurementProtocolSecrets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + }, + "get": { + "description": "Lookup for a single \"GA4\" MeasurementProtocolSecret.", + "flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}", + "httpMethod": "GET", + "id": "analyticsadmin.properties.dataStreams.measurementProtocolSecrets.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the measurement protocol secret to lookup. Format: properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}", + "location": "path", + "pattern": "^properties/[^/]+/dataStreams/[^/]+/measurementProtocolSecrets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, + "list": { + "description": "Returns child MeasurementProtocolSecrets under the specified parent Property.", + "flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets", + "httpMethod": "GET", + "id": "analyticsadmin.properties.dataStreams.measurementProtocolSecrets.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of resources to return. If unspecified, at most 10 resources will be returned. The maximum value is 10. Higher values will be coerced to the maximum.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListMeasurementProtocolSecrets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMeasurementProtocolSecrets` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the parent stream. Format: properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets", + "location": "path", + "pattern": "^properties/[^/]+/dataStreams/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/measurementProtocolSecrets", + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaListMeasurementProtocolSecretsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, + "patch": { + "description": "Updates a measurement protocol secret.", + "flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}", + "httpMethod": "PATCH", + "id": "analyticsadmin.properties.dataStreams.measurementProtocolSecrets.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}", + "location": "path", + "pattern": "^properties/[^/]+/dataStreams/[^/]+/measurementProtocolSecrets/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to be updated. Omitted fields will not be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret" + }, + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + } + } + } + } + }, + "displayVideo360AdvertiserLinkProposals": { + "methods": { + "approve": { + "description": "Approves a DisplayVideo360AdvertiserLinkProposal. The DisplayVideo360AdvertiserLinkProposal will be deleted and a new DisplayVideo360AdvertiserLink will be created.", + "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals/{displayVideo360AdvertiserLinkProposalsId}:approve", + "httpMethod": "POST", + "id": "analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.approve", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the DisplayVideo360AdvertiserLinkProposal to approve. Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678", + "location": "path", + "pattern": "^properties/[^/]+/displayVideo360AdvertiserLinkProposals/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}:approve", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalRequest" + }, + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + }, + "cancel": { + "description": "Cancels a DisplayVideo360AdvertiserLinkProposal. Cancelling can mean either: - Declining a proposal initiated from Display & Video 360 - Withdrawing a proposal initiated from Google Analytics After being cancelled, a proposal will eventually be deleted automatically.", + "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals/{displayVideo360AdvertiserLinkProposalsId}:cancel", + "httpMethod": "POST", + "id": "analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the DisplayVideo360AdvertiserLinkProposal to cancel. Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678", + "location": "path", + "pattern": "^properties/[^/]+/displayVideo360AdvertiserLinkProposals/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}:cancel", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaCancelDisplayVideo360AdvertiserLinkProposalRequest" + }, + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + }, + "create": { + "description": "Creates a DisplayVideo360AdvertiserLinkProposal.", + "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals", + "httpMethod": "POST", + "id": "analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Example format: properties/1234", + "location": "path", + "pattern": "^properties/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/displayVideo360AdvertiserLinkProposals", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal" + }, + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + }, + "delete": { + "description": "Deletes a DisplayVideo360AdvertiserLinkProposal on a property. This can only be used on cancelled proposals.", + "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals/{displayVideo360AdvertiserLinkProposalsId}", + "httpMethod": "DELETE", + "id": "analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the DisplayVideo360AdvertiserLinkProposal to delete. Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678", + "location": "path", + "pattern": "^properties/[^/]+/displayVideo360AdvertiserLinkProposals/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + }, + "get": { + "description": "Lookup for a single DisplayVideo360AdvertiserLinkProposal.", + "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals/{displayVideo360AdvertiserLinkProposalsId}", + "httpMethod": "GET", + "id": "analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the DisplayVideo360AdvertiserLinkProposal to get. Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678", + "location": "path", + "pattern": "^properties/[^/]+/displayVideo360AdvertiserLinkProposals/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, + "list": { + "description": "Lists DisplayVideo360AdvertiserLinkProposals on a property.", + "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals", + "httpMethod": "GET", + "id": "analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListDisplayVideo360AdvertiserLinkProposals` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDisplayVideo360AdvertiserLinkProposals` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Example format: properties/1234", + "location": "path", + "pattern": "^properties/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/displayVideo360AdvertiserLinkProposals", + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaListDisplayVideo360AdvertiserLinkProposalsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit", + "https://www.googleapis.com/auth/analytics.readonly" + ] + } + } + }, + "displayVideo360AdvertiserLinks": { + "methods": { + "create": { + "description": "Creates a DisplayVideo360AdvertiserLink. This can only be utilized by users who have proper authorization both on the Google Analytics property and on the Display & Video 360 advertiser. Users who do not have access to the Display & Video 360 advertiser should instead seek to create a DisplayVideo360LinkProposal.", + "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinks", + "httpMethod": "POST", + "id": "analyticsadmin.properties.displayVideo360AdvertiserLinks.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Example format: properties/1234", + "location": "path", + "pattern": "^properties/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/displayVideo360AdvertiserLinks", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink" + }, + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + }, + "delete": { + "description": "Deletes a DisplayVideo360AdvertiserLink on a property.", + "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinks/{displayVideo360AdvertiserLinksId}", + "httpMethod": "DELETE", + "id": "analyticsadmin.properties.displayVideo360AdvertiserLinks.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the DisplayVideo360AdvertiserLink to delete. Example format: properties/1234/displayVideo360AdvertiserLinks/5678", + "location": "path", + "pattern": "^properties/[^/]+/displayVideo360AdvertiserLinks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + }, + "get": { + "description": "Look up a single DisplayVideo360AdvertiserLink", + "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinks/{displayVideo360AdvertiserLinksId}", + "httpMethod": "GET", + "id": "analyticsadmin.properties.displayVideo360AdvertiserLinks.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the DisplayVideo360AdvertiserLink to get. Example format: properties/1234/displayVideo360AdvertiserLink/5678", + "location": "path", + "pattern": "^properties/[^/]+/displayVideo360AdvertiserLinks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, + "list": { + "description": "Lists all DisplayVideo360AdvertiserLinks on a property.", + "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinks", + "httpMethod": "GET", + "id": "analyticsadmin.properties.displayVideo360AdvertiserLinks.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListDisplayVideo360AdvertiserLinks` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDisplayVideo360AdvertiserLinks` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Example format: properties/1234", + "location": "path", + "pattern": "^properties/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/displayVideo360AdvertiserLinks", + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaListDisplayVideo360AdvertiserLinksResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, + "patch": { + "description": "Updates a DisplayVideo360AdvertiserLink on a property.", + "flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinks/{displayVideo360AdvertiserLinksId}", + "httpMethod": "PATCH", + "id": "analyticsadmin.properties.displayVideo360AdvertiserLinks.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The resource name for this DisplayVideo360AdvertiserLink resource. Format: properties/{propertyId}/displayVideo360AdvertiserLinks/{linkId} Note: linkId is not the Display & Video 360 Advertiser ID", + "location": "path", + "pattern": "^properties/[^/]+/displayVideo360AdvertiserLinks/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The list of fields to be updated. Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink" + }, + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink" }, "scopes": [ "https://www.googleapis.com/auth/analytics.edit" @@ -1030,40 +2124,6 @@ "https://www.googleapis.com/auth/analytics.edit", "https://www.googleapis.com/auth/analytics.readonly" ] - }, - "patch": { - "description": "Updates a FirebaseLink on a property", - "flatPath": "v1alpha/properties/{propertiesId}/firebaseLinks/{firebaseLinksId}", - "httpMethod": "PATCH", - "id": "analyticsadmin.properties.firebaseLinks.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Output only. Example format: properties/1234/firebaseLinks/5678", - "location": "path", - "pattern": "^properties/[^/]+/firebaseLinks/[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1alpha/{+name}", - "request": { - "$ref": "GoogleAnalyticsAdminV1alphaFirebaseLink" - }, - "response": { - "$ref": "GoogleAnalyticsAdminV1alphaFirebaseLink" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] } } }, @@ -1195,160 +2255,6 @@ } } }, - "iosAppDataStreams": { - "methods": { - "create": { - "description": "Creates an iOS app stream with the specified location and attributes. Note that an iOS app stream must be linked to a Firebase app to receive traffic. To create a working app stream, make sure your property is linked to a Firebase project. Then, use the Firebase API to create a Firebase app, which will also create an appropriate data stream in Analytics (may take up to 24 hours).", - "flatPath": "v1alpha/properties/{propertiesId}/iosAppDataStreams", - "httpMethod": "POST", - "id": "analyticsadmin.properties.iosAppDataStreams.create", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "Required. The parent resource where this ios app data stream will be created. Format: properties/123", - "location": "path", - "pattern": "^properties/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+parent}/iosAppDataStreams", - "request": { - "$ref": "GoogleAnalyticsAdminV1alphaIosAppDataStream" - }, - "response": { - "$ref": "GoogleAnalyticsAdminV1alphaIosAppDataStream" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "delete": { - "description": "Deletes an iOS app stream on a property.", - "flatPath": "v1alpha/properties/{propertiesId}/iosAppDataStreams/{iosAppDataStreamsId}", - "httpMethod": "DELETE", - "id": "analyticsadmin.properties.iosAppDataStreams.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the iOS app data stream to delete. Format: properties/{property_id}/iosAppDataStreams/{stream_id} Example: \"properties/123/iosAppDataStreams/456\"", - "location": "path", - "pattern": "^properties/[^/]+/iosAppDataStreams/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+name}", - "response": { - "$ref": "GoogleProtobufEmpty" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "get": { - "description": "Lookup for a single IosAppDataStream", - "flatPath": "v1alpha/properties/{propertiesId}/iosAppDataStreams/{iosAppDataStreamsId}", - "httpMethod": "GET", - "id": "analyticsadmin.properties.iosAppDataStreams.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the iOS app data stream to lookup. Format: properties/{property_id}/iosAppDataStreams/{stream_id} Example: \"properties/123/iosAppDataStreams/456\"", - "location": "path", - "pattern": "^properties/[^/]+/iosAppDataStreams/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+name}", - "response": { - "$ref": "GoogleAnalyticsAdminV1alphaIosAppDataStream" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "list": { - "description": "Returns child iOS app data streams under the specified parent property. iOS app data streams will be excluded if the caller does not have access. Returns an empty list if no relevant iOS app data streams are found.", - "flatPath": "v1alpha/properties/{propertiesId}/iosAppDataStreams", - "httpMethod": "GET", - "id": "analyticsadmin.properties.iosAppDataStreams.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "pageSize": { - "description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200; (higher values will be coerced to the maximum)", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "A page token, received from a previous `ListIosAppDataStreams` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListIosAppDataStreams` must match the call that provided the page token.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The name of the parent property. For example, to list results of app streams under the property with Id 123: \"properties/123\"", - "location": "path", - "pattern": "^properties/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+parent}/iosAppDataStreams", - "response": { - "$ref": "GoogleAnalyticsAdminV1alphaListIosAppDataStreamsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "patch": { - "description": "Updates an iOS app stream on a property.", - "flatPath": "v1alpha/properties/{propertiesId}/iosAppDataStreams/{iosAppDataStreamsId}", - "httpMethod": "PATCH", - "id": "analyticsadmin.properties.iosAppDataStreams.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Output only. Resource name of this Data Stream. Format: properties/{property_id}/iosAppDataStreams/{stream_id} Example: \"properties/1000/iosAppDataStreams/2000\"", - "location": "path", - "pattern": "^properties/[^/]+/iosAppDataStreams/[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1alpha/{+name}", - "request": { - "$ref": "GoogleAnalyticsAdminV1alphaIosAppDataStream" - }, - "response": { - "$ref": "GoogleAnalyticsAdminV1alphaIosAppDataStream" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - } - } - }, "userLinks": { "methods": { "audit": { @@ -1627,7 +2533,7 @@ ], "parameters": { "name": { - "description": "Example format: properties/1234/userLinks/5678", + "description": "Output only. Example format: properties/1234/userLinks/5678", "location": "path", "pattern": "^properties/[^/]+/userLinks/[^/]+$", "required": true, @@ -1646,251 +2552,11 @@ ] } } - }, - "webDataStreams": { - "methods": { - "create": { - "description": "Creates a web stream with the specified location and attributes.", - "flatPath": "v1alpha/properties/{propertiesId}/webDataStreams", - "httpMethod": "POST", - "id": "analyticsadmin.properties.webDataStreams.create", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "Required. The parent resource where this web data stream will be created. Format: properties/123", - "location": "path", - "pattern": "^properties/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+parent}/webDataStreams", - "request": { - "$ref": "GoogleAnalyticsAdminV1alphaWebDataStream" - }, - "response": { - "$ref": "GoogleAnalyticsAdminV1alphaWebDataStream" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "delete": { - "description": "Deletes a web stream on a property.", - "flatPath": "v1alpha/properties/{propertiesId}/webDataStreams/{webDataStreamsId}", - "httpMethod": "DELETE", - "id": "analyticsadmin.properties.webDataStreams.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the web data stream to delete. Format: properties/{property_id}/webDataStreams/{stream_id} Example: \"properties/123/webDataStreams/456\"", - "location": "path", - "pattern": "^properties/[^/]+/webDataStreams/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+name}", - "response": { - "$ref": "GoogleProtobufEmpty" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "get": { - "description": "Lookup for a single WebDataStream", - "flatPath": "v1alpha/properties/{propertiesId}/webDataStreams/{webDataStreamsId}", - "httpMethod": "GET", - "id": "analyticsadmin.properties.webDataStreams.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the web data stream to lookup. Format: properties/{property_id}/webDataStreams/{stream_id} Example: \"properties/123/webDataStreams/456\"", - "location": "path", - "pattern": "^properties/[^/]+/webDataStreams/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+name}", - "response": { - "$ref": "GoogleAnalyticsAdminV1alphaWebDataStream" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "getEnhancedMeasurementSettings": { - "description": "Returns the singleton enhanced measurement settings for this web stream. Note that the stream must enable enhanced measurement for these settings to take effect.", - "flatPath": "v1alpha/properties/{propertiesId}/webDataStreams/{webDataStreamsId}/enhancedMeasurementSettings", - "httpMethod": "GET", - "id": "analyticsadmin.properties.webDataStreams.getEnhancedMeasurementSettings", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the settings to lookup. Format: properties/{property_id}/webDataStreams/{stream_id}/enhancedMeasurementSettings Example: \"properties/1000/webDataStreams/2000/enhancedMeasurementSettings\"", - "location": "path", - "pattern": "^properties/[^/]+/webDataStreams/[^/]+/enhancedMeasurementSettings$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+name}", - "response": { - "$ref": "GoogleAnalyticsAdminV1alphaEnhancedMeasurementSettings" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "getGlobalSiteTag": { - "description": "Returns the Site Tag for the specified web stream. Site Tags are immutable singletons.", - "flatPath": "v1alpha/properties/{propertiesId}/webDataStreams/{webDataStreamsId}/globalSiteTag", - "httpMethod": "GET", - "id": "analyticsadmin.properties.webDataStreams.getGlobalSiteTag", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the site tag to lookup. Note that site tags are singletons and do not have unique IDs. Format: properties/{property_id}/webDataStreams/{stream_id}/globalSiteTag Example: \"properties/123/webDataStreams/456/globalSiteTag\"", - "location": "path", - "pattern": "^properties/[^/]+/webDataStreams/[^/]+/globalSiteTag$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+name}", - "response": { - "$ref": "GoogleAnalyticsAdminV1alphaGlobalSiteTag" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "list": { - "description": "Returns child web data streams under the specified parent property. Web data streams will be excluded if the caller does not have access. Returns an empty list if no relevant web data streams are found.", - "flatPath": "v1alpha/properties/{propertiesId}/webDataStreams", - "httpMethod": "GET", - "id": "analyticsadmin.properties.webDataStreams.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "pageSize": { - "description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200; (higher values will be coerced to the maximum)", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "A page token, received from a previous `ListWebDataStreams` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWebDataStreams` must match the call that provided the page token.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The name of the parent property. For example, to list results of web streams under the property with Id 123: \"properties/123\"", - "location": "path", - "pattern": "^properties/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+parent}/webDataStreams", - "response": { - "$ref": "GoogleAnalyticsAdminV1alphaListWebDataStreamsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "patch": { - "description": "Updates a web stream on a property.", - "flatPath": "v1alpha/properties/{propertiesId}/webDataStreams/{webDataStreamsId}", - "httpMethod": "PATCH", - "id": "analyticsadmin.properties.webDataStreams.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Output only. Resource name of this Data Stream. Format: properties/{property_id}/webDataStreams/{stream_id} Example: \"properties/1000/webDataStreams/2000\"", - "location": "path", - "pattern": "^properties/[^/]+/webDataStreams/[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1alpha/{+name}", - "request": { - "$ref": "GoogleAnalyticsAdminV1alphaWebDataStream" - }, - "response": { - "$ref": "GoogleAnalyticsAdminV1alphaWebDataStream" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "updateEnhancedMeasurementSettings": { - "description": "Updates the singleton enhanced measurement settings for this web stream. Note that the stream must enable enhanced measurement for these settings to take effect.", - "flatPath": "v1alpha/properties/{propertiesId}/webDataStreams/{webDataStreamsId}/enhancedMeasurementSettings", - "httpMethod": "PATCH", - "id": "analyticsadmin.properties.webDataStreams.updateEnhancedMeasurementSettings", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Output only. Resource name of this Data Stream. Format: properties/{property_id}/webDataStreams/{stream_id}/enhancedMeasurementSettings Example: \"properties/1000/webDataStreams/2000/enhancedMeasurementSettings\"", - "location": "path", - "pattern": "^properties/[^/]+/webDataStreams/[^/]+/enhancedMeasurementSettings$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1alpha/{+name}", - "request": { - "$ref": "GoogleAnalyticsAdminV1alphaEnhancedMeasurementSettings" - }, - "response": { - "$ref": "GoogleAnalyticsAdminV1alphaEnhancedMeasurementSettings" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - } - } } } } }, - "revision": "20210331", + "revision": "20220307", "rootUrl": "https://analyticsadmin.googleapis.com/", "schemas": { "GoogleAnalyticsAdminV1alphaAccount": { @@ -1956,56 +2622,65 @@ }, "type": "object" }, - "GoogleAnalyticsAdminV1alphaAndroidAppDataStream": { - "description": "A resource message representing a Google Analytics Android app stream.", - "id": "GoogleAnalyticsAdminV1alphaAndroidAppDataStream", + "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionRequest": { + "description": "Request message for AcknowledgeUserDataCollection RPC.", + "id": "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionRequest", "properties": { - "createTime": { - "description": "Output only. Time when this stream was originally created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Human-readable display name for the Data Stream. The max allowed display name length is 255 UTF-16 code units.", - "type": "string" - }, - "firebaseAppId": { - "description": "Output only. ID of the corresponding Android app in Firebase, if any. This ID can change if the Android app is deleted and recreated.", - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Output only. Resource name of this Data Stream. Format: properties/{property_id}/androidAppDataStreams/{stream_id} Example: \"properties/1000/androidAppDataStreams/2000\"", - "readOnly": true, - "type": "string" - }, - "packageName": { - "description": "Immutable. The package name for the app being measured. Example: \"com.example.myandroidapp\"", - "type": "string" - }, - "updateTime": { - "description": "Output only. Time when stream payload fields were last updated.", - "format": "google-datetime", - "readOnly": true, + "acknowledgement": { + "description": "Required. An acknowledgement that the caller of this method understands the terms of user data collection. This field must contain the exact value: \"I acknowledge that I have the necessary privacy disclosures and rights from my end users for the collection and processing of their data, including the association of such data with the visitation information Google Analytics collects from my site and/or app property.\"", "type": "string" } }, "type": "object" }, + "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionResponse": { + "description": "Response message for AcknowledgeUserDataCollection RPC.", + "id": "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionResponse", + "properties": {}, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalRequest": { + "description": "Request message for ApproveDisplayVideo360AdvertiserLinkProposal RPC.", + "id": "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalRequest", + "properties": {}, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalResponse": { + "description": "Response message for ApproveDisplayVideo360AdvertiserLinkProposal RPC.", + "id": "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalResponse", + "properties": { + "displayVideo360AdvertiserLink": { + "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink", + "description": "The DisplayVideo360AdvertiserLink created as a result of approving the proposal." + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaArchiveCustomDimensionRequest": { + "description": "Request message for ArchiveCustomDimension RPC.", + "id": "GoogleAnalyticsAdminV1alphaArchiveCustomDimensionRequest", + "properties": {}, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaArchiveCustomMetricRequest": { + "description": "Request message for ArchiveCustomMetric RPC.", + "id": "GoogleAnalyticsAdminV1alphaArchiveCustomMetricRequest", + "properties": {}, + "type": "object" + }, "GoogleAnalyticsAdminV1alphaAuditUserLink": { "description": "Read-only resource used to summarize a principal's effective roles.", "id": "GoogleAnalyticsAdminV1alphaAuditUserLink", "properties": { "directRoles": { - "description": "Roles directly assigned to this user for this entity. Format: predefinedRoles/read Excludes roles that are inherited from an account (if this is for a property), group, or organization admin role.", + "description": "Roles directly assigned to this user for this entity. Format: predefinedRoles/viewer Excludes roles that are inherited from an account (if this is for a property), group, or organization admin role.", "items": { "type": "string" }, "type": "array" }, "effectiveRoles": { - "description": "Union of all permissions a user has at this account or property (includes direct permissions, group-inherited permissions, etc.). Format: predefinedRoles/read", + "description": "Union of all permissions a user has at this account or property (includes direct permissions, group-inherited permissions, etc.). Format: predefinedRoles/viewer", "items": { "type": "string" }, @@ -2144,6 +2819,12 @@ }, "type": "object" }, + "GoogleAnalyticsAdminV1alphaCancelDisplayVideo360AdvertiserLinkProposalRequest": { + "description": "Request message for CancelDisplayVideo360AdvertiserLinkProposal RPC.", + "id": "GoogleAnalyticsAdminV1alphaCancelDisplayVideo360AdvertiserLinkProposalRequest", + "properties": {}, + "type": "object" + }, "GoogleAnalyticsAdminV1alphaChangeHistoryChange": { "description": "A description of a change to a single Google Analytics resource.", "id": "GoogleAnalyticsAdminV1alphaChangeHistoryChange", @@ -2187,9 +2868,33 @@ "$ref": "GoogleAnalyticsAdminV1alphaAccount", "description": "A snapshot of an Account resource in change history." }, - "androidAppDataStream": { - "$ref": "GoogleAnalyticsAdminV1alphaAndroidAppDataStream", - "description": "A snapshot of an AndroidAppDataStream resource in change history." + "conversionEvent": { + "$ref": "GoogleAnalyticsAdminV1alphaConversionEvent", + "description": "A snapshot of a ConversionEvent resource in change history." + }, + "customDimension": { + "$ref": "GoogleAnalyticsAdminV1alphaCustomDimension", + "description": "A snapshot of a CustomDimension resource in change history." + }, + "customMetric": { + "$ref": "GoogleAnalyticsAdminV1alphaCustomMetric", + "description": "A snapshot of a CustomMetric resource in change history." + }, + "dataRetentionSettings": { + "$ref": "GoogleAnalyticsAdminV1alphaDataRetentionSettings", + "description": "A snapshot of a data retention settings resource in change history." + }, + "dataStream": { + "$ref": "GoogleAnalyticsAdminV1alphaDataStream", + "description": "A snapshot of a DataStream resource in change history." + }, + "displayVideo360AdvertiserLink": { + "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink", + "description": "A snapshot of a DisplayVideo360AdvertiserLink resource in change history." + }, + "displayVideo360AdvertiserLinkProposal": { + "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal", + "description": "A snapshot of a DisplayVideo360AdvertiserLinkProposal resource in change history." }, "firebaseLink": { "$ref": "GoogleAnalyticsAdminV1alphaFirebaseLink", @@ -2199,17 +2904,17 @@ "$ref": "GoogleAnalyticsAdminV1alphaGoogleAdsLink", "description": "A snapshot of a GoogleAdsLink resource in change history." }, - "iosAppDataStream": { - "$ref": "GoogleAnalyticsAdminV1alphaIosAppDataStream", - "description": "A snapshot of an IosAppDataStream resource in change history." + "googleSignalsSettings": { + "$ref": "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings", + "description": "A snapshot of a GoogleSignalsSettings resource in change history." + }, + "measurementProtocolSecret": { + "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret", + "description": "A snapshot of a MeasurementProtocolSecret resource in change history." }, "property": { "$ref": "GoogleAnalyticsAdminV1alphaProperty", "description": "A snapshot of a Property resource in change history." - }, - "webDataStream": { - "$ref": "GoogleAnalyticsAdminV1alphaWebDataStream", - "description": "A snapshot of a WebDataStream resource in change history." } }, "type": "object" @@ -2261,6 +2966,38 @@ }, "type": "object" }, + "GoogleAnalyticsAdminV1alphaConversionEvent": { + "description": "A conversion event in a Google Analytics property.", + "id": "GoogleAnalyticsAdminV1alphaConversionEvent", + "properties": { + "createTime": { + "description": "Output only. Time when this conversion event was created in the property.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "custom": { + "description": "Output only. If set to true, this conversion event refers to a custom event. If set to false, this conversion event refers to a default event in GA. Default events typically have special meaning in GA. Default events are usually created for you by the GA system, but in some cases can be created by property admins. Custom events count towards the maximum number of custom conversion events that may be created per property.", + "readOnly": true, + "type": "boolean" + }, + "deletable": { + "description": "Output only. If set, this event can currently be deleted via DeleteConversionEvent.", + "readOnly": true, + "type": "boolean" + }, + "eventName": { + "description": "Immutable. The event name for this conversion event. Examples: 'click', 'purchase'", + "type": "string" + }, + "name": { + "description": "Output only. Resource name of this conversion event. Format: properties/{property}/conversionEvents/{conversion_event}", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleAnalyticsAdminV1alphaCreateUserLinkRequest": { "description": "Request message for CreateUserLink RPC. Users can have multiple email addresses associated with their Google account, and one of these email addresses is the \"primary\" email address. Any of the email addresses associated with a Google account may be used for a new UserLink, but the returned UserLink will always contain the \"primary\" email address. As a result, the input and output email address for this request may differ.", "id": "GoogleAnalyticsAdminV1alphaCreateUserLinkRequest", @@ -2280,6 +3017,167 @@ }, "type": "object" }, + "GoogleAnalyticsAdminV1alphaCustomDimension": { + "description": "A definition for a CustomDimension.", + "id": "GoogleAnalyticsAdminV1alphaCustomDimension", + "properties": { + "description": { + "description": "Optional. Description for this custom dimension. Max length of 150 characters.", + "type": "string" + }, + "disallowAdsPersonalization": { + "description": "Optional. If set to true, sets this dimension as NPA and excludes it from ads personalization. This is currently only supported by user-scoped custom dimensions.", + "type": "boolean" + }, + "displayName": { + "description": "Required. Display name for this custom dimension as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.", + "type": "string" + }, + "name": { + "description": "Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}", + "readOnly": true, + "type": "string" + }, + "parameterName": { + "description": "Required. Immutable. Tagging parameter name for this custom dimension. If this is a user-scoped dimension, then this is the user property name. If this is an event-scoped dimension, then this is the event parameter name. May only contain alphanumeric and underscore characters, starting with a letter. Max length of 24 characters for user-scoped dimensions, 40 characters for event-scoped dimensions.", + "type": "string" + }, + "scope": { + "description": "Required. Immutable. The scope of this dimension.", + "enum": [ + "DIMENSION_SCOPE_UNSPECIFIED", + "EVENT", + "USER" + ], + "enumDescriptions": [ + "Scope unknown or not specified.", + "Dimension scoped to an event.", + "Dimension scoped to a user." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaCustomMetric": { + "description": "A definition for a custom metric.", + "id": "GoogleAnalyticsAdminV1alphaCustomMetric", + "properties": { + "description": { + "description": "Optional. Description for this custom dimension. Max length of 150 characters.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name for this custom metric as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.", + "type": "string" + }, + "measurementUnit": { + "description": "Required. The type for the custom metric's value.", + "enum": [ + "MEASUREMENT_UNIT_UNSPECIFIED", + "STANDARD", + "CURRENCY", + "FEET", + "METERS", + "KILOMETERS", + "MILES", + "MILLISECONDS", + "SECONDS", + "MINUTES", + "HOURS" + ], + "enumDescriptions": [ + "MeasurementUnit unspecified or missing.", + "This metric uses default units.", + "This metric measures a currency.", + "This metric measures feet.", + "This metric measures meters.", + "This metric measures kilometers.", + "This metric measures miles.", + "This metric measures milliseconds.", + "This metric measures seconds.", + "This metric measures minutes.", + "This metric measures hours." + ], + "type": "string" + }, + "name": { + "description": "Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}", + "readOnly": true, + "type": "string" + }, + "parameterName": { + "description": "Required. Immutable. Tagging name for this custom metric. If this is an event-scoped metric, then this is the event parameter name. May only contain alphanumeric and underscore charactes, starting with a letter. Max length of 40 characters for event-scoped metrics.", + "type": "string" + }, + "restrictedMetricType": { + "description": "Optional. Types of restricted data that this metric may contain. Required for metrics with CURRENCY measurement unit. Must be empty for metrics with a non-CURRENCY measurement unit.", + "items": { + "enum": [ + "RESTRICTED_METRIC_TYPE_UNSPECIFIED", + "COST_DATA", + "REVENUE_DATA" + ], + "enumDescriptions": [ + "Type unknown or unspecified.", + "Metric reports cost data.", + "Metric reports revenue data." + ], + "type": "string" + }, + "type": "array" + }, + "scope": { + "description": "Required. Immutable. The scope of this custom metric.", + "enum": [ + "METRIC_SCOPE_UNSPECIFIED", + "EVENT" + ], + "enumDescriptions": [ + "Scope unknown or not specified.", + "Metric scoped to an event." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaDataRetentionSettings": { + "description": "Settings values for data retention. This is a singleton resource.", + "id": "GoogleAnalyticsAdminV1alphaDataRetentionSettings", + "properties": { + "eventDataRetention": { + "description": "The length of time that event-level data is retained.", + "enum": [ + "RETENTION_DURATION_UNSPECIFIED", + "TWO_MONTHS", + "FOURTEEN_MONTHS", + "TWENTY_SIX_MONTHS", + "THIRTY_EIGHT_MONTHS", + "FIFTY_MONTHS" + ], + "enumDescriptions": [ + "Data retention time duration is not specified.", + "The data retention time duration is 2 months.", + "The data retention time duration is 14 months.", + "The data retention time duration is 26 months. Available to 360 properties only.", + "The data retention time duration is 38 months. Available to 360 properties only.", + "The data retention time duration is 50 months. Available to 360 properties only." + ], + "type": "string" + }, + "name": { + "description": "Output only. Resource name for this DataRetentionSetting resource. Format: properties/{property}/dataRetentionSettings", + "readOnly": true, + "type": "string" + }, + "resetUserDataOnNewActivity": { + "description": "If true, reset the retention period for the user identifier with every event from that user.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleAnalyticsAdminV1alphaDataSharingSettings": { "description": "A resource message representing data sharing settings of a Google Analytics account.", "id": "GoogleAnalyticsAdminV1alphaDataSharingSettings", @@ -2312,6 +3210,115 @@ }, "type": "object" }, + "GoogleAnalyticsAdminV1alphaDataStream": { + "description": "A resource message representing a data stream.", + "id": "GoogleAnalyticsAdminV1alphaDataStream", + "properties": { + "androidAppStreamData": { + "$ref": "GoogleAnalyticsAdminV1alphaDataStreamAndroidAppStreamData", + "description": "Data specific to Android app streams. Must be populated if type is ANDROID_APP_DATA_STREAM." + }, + "createTime": { + "description": "Output only. Time when this stream was originally created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Human-readable display name for the Data Stream. Required for web data streams. The max allowed display name length is 255 UTF-16 code units.", + "type": "string" + }, + "iosAppStreamData": { + "$ref": "GoogleAnalyticsAdminV1alphaDataStreamIosAppStreamData", + "description": "Data specific to iOS app streams. Must be populated if type is IOS_APP_DATA_STREAM." + }, + "name": { + "description": "Output only. Resource name of this Data Stream. Format: properties/{property_id}/dataStreams/{stream_id} Example: \"properties/1000/dataStreams/2000\"", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Required. Immutable. The type of this DataStream resource.", + "enum": [ + "DATA_STREAM_TYPE_UNSPECIFIED", + "WEB_DATA_STREAM", + "ANDROID_APP_DATA_STREAM", + "IOS_APP_DATA_STREAM" + ], + "enumDescriptions": [ + "Type unknown or not specified.", + "Web data stream.", + "Android app data stream.", + "iOS app data stream." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. Time when stream payload fields were last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "webStreamData": { + "$ref": "GoogleAnalyticsAdminV1alphaDataStreamWebStreamData", + "description": "Data specific to web streams. Must be populated if type is WEB_DATA_STREAM." + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaDataStreamAndroidAppStreamData": { + "description": "Data specific to Android app streams.", + "id": "GoogleAnalyticsAdminV1alphaDataStreamAndroidAppStreamData", + "properties": { + "firebaseAppId": { + "description": "Output only. ID of the corresponding Android app in Firebase, if any. This ID can change if the Android app is deleted and recreated.", + "readOnly": true, + "type": "string" + }, + "packageName": { + "description": "Immutable. The package name for the app being measured. Example: \"com.example.myandroidapp\"", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaDataStreamIosAppStreamData": { + "description": "Data specific to iOS app streams.", + "id": "GoogleAnalyticsAdminV1alphaDataStreamIosAppStreamData", + "properties": { + "bundleId": { + "description": "Required. Immutable. The Apple App Store Bundle ID for the app Example: \"com.example.myiosapp\"", + "type": "string" + }, + "firebaseAppId": { + "description": "Output only. ID of the corresponding iOS app in Firebase, if any. This ID can change if the iOS app is deleted and recreated.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaDataStreamWebStreamData": { + "description": "Data specific to web streams.", + "id": "GoogleAnalyticsAdminV1alphaDataStreamWebStreamData", + "properties": { + "defaultUri": { + "description": "Immutable. Domain name of the web app being measured, or empty. Example: \"http://www.google.com\", \"https://www.google.com\"", + "type": "string" + }, + "firebaseAppId": { + "description": "Output only. ID of the corresponding web app in Firebase, if any. This ID can change if the web app is deleted and recreated.", + "readOnly": true, + "type": "string" + }, + "measurementId": { + "description": "Output only. Analytics \"Measurement ID\", without the \"G-\" prefix. Example: \"G-1A2BCD345E\" would just be \"1A2BCD345E\"", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleAnalyticsAdminV1alphaDeleteUserLinkRequest": { "description": "Request message for DeleteUserLink RPC.", "id": "GoogleAnalyticsAdminV1alphaDeleteUserLinkRequest", @@ -2323,66 +3330,83 @@ }, "type": "object" }, - "GoogleAnalyticsAdminV1alphaEnhancedMeasurementSettings": { - "description": "Singleton resource under a WebDataStream, configuring measurement of additional site interactions and content.", - "id": "GoogleAnalyticsAdminV1alphaEnhancedMeasurementSettings", + "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink": { + "description": "A link between a GA4 property and a Display & Video 360 advertiser.", + "id": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink", "properties": { - "fileDownloadsEnabled": { - "description": "If enabled, capture a file download event each time a link is clicked with a common document, compressed file, application, video, or audio extension.", + "adsPersonalizationEnabled": { + "description": "Enables personalized advertising features with this integration. If this field is not set on create/update, it will be defaulted to true.", + "type": "boolean" + }, + "advertiserDisplayName": { + "description": "Output only. The display name of the Display & Video 360 Advertiser.", + "readOnly": true, + "type": "string" + }, + "advertiserId": { + "description": "Immutable. The Display & Video 360 Advertiser's advertiser ID.", + "type": "string" + }, + "campaignDataSharingEnabled": { + "description": "Immutable. Enables the import of campaign data from Display & Video 360 into the GA4 property. After link creation, this can only be updated from the Display & Video 360 product. If this field is not set on create, it will be defaulted to true.", + "type": "boolean" + }, + "costDataSharingEnabled": { + "description": "Immutable. Enables the import of cost data from Display & Video 360 into the GA4 property. This can only be enabled if campaign_data_sharing_enabled is enabled. After link creation, this can only be updated from the Display & Video 360 product. If this field is not set on create, it will be defaulted to true.", "type": "boolean" }, "name": { - "description": "Output only. Resource name of this Data Stream. Format: properties/{property_id}/webDataStreams/{stream_id}/enhancedMeasurementSettings Example: \"properties/1000/webDataStreams/2000/enhancedMeasurementSettings\"", + "description": "Output only. The resource name for this DisplayVideo360AdvertiserLink resource. Format: properties/{propertyId}/displayVideo360AdvertiserLinks/{linkId} Note: linkId is not the Display & Video 360 Advertiser ID", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal": { + "description": "A proposal for a link between a GA4 property and a Display & Video 360 advertiser. A proposal is converted to a DisplayVideo360AdvertiserLink once approved. Google Analytics admins approve inbound proposals while Display & Video 360 admins approve outbound proposals.", + "id": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal", + "properties": { + "adsPersonalizationEnabled": { + "description": "Immutable. Enables personalized advertising features with this integration. If this field is not set on create, it will be defaulted to true.", + "type": "boolean" + }, + "advertiserDisplayName": { + "description": "Output only. The display name of the Display & Video Advertiser. Only populated for proposals that originated from Display & Video 360.", "readOnly": true, "type": "string" }, - "outboundClicksEnabled": { - "description": "If enabled, capture an outbound click event each time a visitor clicks a link that leads them away from your domain.", - "type": "boolean" - }, - "pageChangesEnabled": { - "description": "If enabled, capture a page view event each time the website changes the browser history state.", - "type": "boolean" - }, - "pageLoadsEnabled": { - "description": "Output only. If enabled, capture a page view event each time a page loads.", - "readOnly": true, - "type": "boolean" - }, - "pageViewsEnabled": { - "description": "Output only. If enabled, capture a page view event each time a page loads or the website changes the browser history state.", - "readOnly": true, - "type": "boolean" - }, - "scrollsEnabled": { - "description": "If enabled, capture scroll events each time a visitor gets to the bottom of a page.", - "type": "boolean" - }, - "searchQueryParameter": { - "description": "Required. URL query parameters to interpret as site search parameters. Max length is 1024 characters. Must not be empty.", + "advertiserId": { + "description": "Immutable. The Display & Video 360 Advertiser's advertiser ID.", "type": "string" }, - "siteSearchEnabled": { - "description": "If enabled, capture a view search results event each time a visitor performs a search on your site (based on a query parameter).", + "campaignDataSharingEnabled": { + "description": "Immutable. Enables the import of campaign data from Display & Video 360. If this field is not set on create, it will be defaulted to true.", "type": "boolean" }, - "streamEnabled": { - "description": "Indicates whether Enhanced Measurement Settings will be used to automatically measure interactions and content on this web stream. Changing this value does not affect the settings themselves, but determines whether they are respected.", + "costDataSharingEnabled": { + "description": "Immutable. Enables the import of cost data from Display & Video 360. This can only be enabled if campaign_data_sharing_enabled is enabled. If this field is not set on create, it will be defaulted to true.", "type": "boolean" }, - "uriQueryParameter": { - "description": "Additional URL query parameters. Max length is 1024 characters.", + "linkProposalStatusDetails": { + "$ref": "GoogleAnalyticsAdminV1alphaLinkProposalStatusDetails", + "description": "Output only. The status information for this link proposal.", + "readOnly": true + }, + "name": { + "description": "Output only. The resource name for this DisplayVideo360AdvertiserLinkProposal resource. Format: properties/{propertyId}/displayVideo360AdvertiserLinkProposals/{proposalId} Note: proposalId is not the Display & Video 360 Advertiser ID", + "readOnly": true, "type": "string" }, - "videoEngagementEnabled": { - "description": "If enabled, capture video play, progress, and complete events as visitors view embedded videos on your site.", - "type": "boolean" + "validationEmail": { + "description": "Input only. On a proposal being sent to Display & Video 360, this field must be set to the email address of an admin on the target advertiser. This is used to verify that the Google Analytics admin is aware of at least one admin on the Display & Video 360 Advertiser. This does not restrict approval of the proposal to a single user. Any admin on the Display & Video 360 Advertiser may approve the proposal.", + "type": "string" } }, "type": "object" }, "GoogleAnalyticsAdminV1alphaFirebaseLink": { - "description": "A link between an GA4 property and a Firebase project.", + "description": "A link between a GA4 property and a Firebase project.", "id": "GoogleAnalyticsAdminV1alphaFirebaseLink", "properties": { "createTime": { @@ -2391,24 +3415,6 @@ "readOnly": true, "type": "string" }, - "maximumUserAccess": { - "description": "Maximum user access to the GA4 property allowed to admins of the linked Firebase project.", - "enum": [ - "MAXIMUM_USER_ACCESS_UNSPECIFIED", - "NO_ACCESS", - "READ_AND_ANALYZE", - "EDITOR_WITHOUT_LINK_MANAGEMENT", - "EDITOR_INCLUDING_LINK_MANAGEMENT" - ], - "enumDescriptions": [ - "Unspecified maximum user access.", - "Firebase users have no access to the Analytics property.", - "Firebase users have Read & Analyze access to the Analytics property.", - "Firebase users have edit access to the Analytics property, but may not manage the Firebase link.", - "Firebase users have edit access to the Analytics property and may manage the Firebase link." - ], - "type": "string" - }, "name": { "description": "Output only. Example format: properties/1234/firebaseLinks/5678", "readOnly": true, @@ -2422,11 +3428,11 @@ "type": "object" }, "GoogleAnalyticsAdminV1alphaGlobalSiteTag": { - "description": "Read-only resource with the tag for sending data from a website to a WebDataStream.", + "description": "Read-only resource with the tag for sending data from a website to a DataStream. Only present for web DataStream resources.", "id": "GoogleAnalyticsAdminV1alphaGlobalSiteTag", "properties": { "name": { - "description": "Output only. Resource name for this GlobalSiteTag resource. Format: properties/{propertyId}/globalSiteTag", + "description": "Output only. Resource name for this GlobalSiteTag resource. Format: properties/{property_id}/dataStreams/{stream_id}/globalSiteTag Example: \"properties/123/dataStreams/456/globalSiteTag\"", "readOnly": true, "type": "string" }, @@ -2438,11 +3444,11 @@ "type": "object" }, "GoogleAnalyticsAdminV1alphaGoogleAdsLink": { - "description": "A link between an GA4 property and a Google Ads account.", + "description": "A link between a GA4 property and a Google Ads account.", "id": "GoogleAnalyticsAdminV1alphaGoogleAdsLink", "properties": { "adsPersonalizationEnabled": { - "description": "Enable personalized advertising features with this integration. Automatically publish my Google Analytics audience lists and Google Analytics remarketing events/parameters to the linked Google Ads account. If this field is not set on create/update it will be defaulted to true.", + "description": "Enable personalized advertising features with this integration. Automatically publish my Google Analytics audience lists and Google Analytics remarketing events/parameters to the linked Google Ads account. If this field is not set on create/update, it will be defaulted to true.", "type": "boolean" }, "canManageClients": { @@ -2456,15 +3462,15 @@ "readOnly": true, "type": "string" }, - "customerId": { - "description": "Immutable. Google Ads customer ID.", - "type": "string" - }, - "emailAddress": { + "creatorEmailAddress": { "description": "Output only. Email address of the user that created the link. An empty string will be returned if the email address can't be retrieved.", "readOnly": true, "type": "string" }, + "customerId": { + "description": "Immutable. Google Ads customer ID.", + "type": "string" + }, "name": { "description": "Output only. Format: properties/{propertyId}/googleAdsLinks/{googleAdsLinkId} Note: googleAdsLinkId is not the Google Ads customer ID.", "readOnly": true, @@ -2479,37 +3485,91 @@ }, "type": "object" }, - "GoogleAnalyticsAdminV1alphaIosAppDataStream": { - "description": "A resource message representing a Google Analytics IOS app stream.", - "id": "GoogleAnalyticsAdminV1alphaIosAppDataStream", + "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings": { + "description": "Settings values for Google Signals. This is a singleton resource.", + "id": "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings", "properties": { - "bundleId": { - "description": "Required. Immutable. The Apple App Store Bundle ID for the app Example: \"com.example.myiosapp\"", - "type": "string" - }, - "createTime": { - "description": "Output only. Time when this stream was originally created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Human-readable display name for the Data Stream. The max allowed display name length is 255 UTF-16 code units.", - "type": "string" - }, - "firebaseAppId": { - "description": "Output only. ID of the corresponding iOS app in Firebase, if any. This ID can change if the iOS app is deleted and recreated.", + "consent": { + "description": "Output only. Terms of Service acceptance.", + "enum": [ + "GOOGLE_SIGNALS_CONSENT_UNSPECIFIED", + "GOOGLE_SIGNALS_CONSENT_CONSENTED", + "GOOGLE_SIGNALS_CONSENT_NOT_CONSENTED" + ], + "enumDescriptions": [ + "Google Signals consent value defaults to GOOGLE_SIGNALS_CONSENT_UNSPECIFIED. This will be treated as GOOGLE_SIGNALS_CONSENT_NOT_CONSENTED.", + "Terms of service have been accepted", + "Terms of service have not been accepted" + ], "readOnly": true, "type": "string" }, "name": { - "description": "Output only. Resource name of this Data Stream. Format: properties/{property_id}/iosAppDataStreams/{stream_id} Example: \"properties/1000/iosAppDataStreams/2000\"", + "description": "Output only. Resource name of this setting. Format: properties/{property_id}/googleSignalsSettings Example: \"properties/1000/googleSignalsSettings\"", "readOnly": true, "type": "string" }, - "updateTime": { - "description": "Output only. Time when stream payload fields were last updated.", - "format": "google-datetime", + "state": { + "description": "Status of this setting.", + "enum": [ + "GOOGLE_SIGNALS_STATE_UNSPECIFIED", + "GOOGLE_SIGNALS_ENABLED", + "GOOGLE_SIGNALS_DISABLED" + ], + "enumDescriptions": [ + "Google Signals status defaults to GOOGLE_SIGNALS_STATE_UNSPECIFIED to represent that the user has not made an explicit choice.", + "Google Signals is enabled.", + "Google Signals is disabled." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaLinkProposalStatusDetails": { + "description": "Status information for a link proposal.", + "id": "GoogleAnalyticsAdminV1alphaLinkProposalStatusDetails", + "properties": { + "linkProposalInitiatingProduct": { + "description": "Output only. The source of this proposal.", + "enum": [ + "LINK_PROPOSAL_INITIATING_PRODUCT_UNSPECIFIED", + "GOOGLE_ANALYTICS", + "LINKED_PRODUCT" + ], + "enumDescriptions": [ + "Unspecified product.", + "This proposal was created by a user from Google Analytics.", + "This proposal was created by a user from a linked product (not Google Analytics)." + ], + "readOnly": true, + "type": "string" + }, + "linkProposalState": { + "description": "Output only. The state of this proposal.", + "enum": [ + "LINK_PROPOSAL_STATE_UNSPECIFIED", + "AWAITING_REVIEW_FROM_GOOGLE_ANALYTICS", + "AWAITING_REVIEW_FROM_LINKED_PRODUCT", + "WITHDRAWN", + "DECLINED", + "EXPIRED", + "OBSOLETE" + ], + "enumDescriptions": [ + "Unspecified state", + "This proposal is awaiting review from a Google Analytics user. This proposal will automatically expire after some time.", + "This proposal is awaiting review from a user of a linked product. This proposal will automatically expire after some time.", + "This proposal has been withdrawn by an admin on the initiating product. This proposal will be automatically deleted after some time.", + "This proposal has been declined by an admin on the receiving product. This proposal will be automatically deleted after some time.", + "This proposal expired due to lack of response from an admin on the receiving product. This proposal will be automatically deleted after some time.", + "This proposal has become obsolete because a link was directly created to the same external product resource that this proposal specifies. This proposal will be automatically deleted after some time." + ], + "readOnly": true, + "type": "string" + }, + "requestorEmail": { + "description": "Output only. The email address of the user that proposed this linkage.", "readOnly": true, "type": "string" } @@ -2552,14 +3612,104 @@ }, "type": "object" }, - "GoogleAnalyticsAdminV1alphaListAndroidAppDataStreamsResponse": { - "description": "Request message for ListAndroidDataStreams RPC.", - "id": "GoogleAnalyticsAdminV1alphaListAndroidAppDataStreamsResponse", + "GoogleAnalyticsAdminV1alphaListConversionEventsResponse": { + "description": "Response message for ListConversionEvents RPC.", + "id": "GoogleAnalyticsAdminV1alphaListConversionEventsResponse", "properties": { - "androidAppDataStreams": { - "description": "Results that matched the filter criteria and were accessible to the caller.", + "conversionEvents": { + "description": "The requested conversion events", "items": { - "$ref": "GoogleAnalyticsAdminV1alphaAndroidAppDataStream" + "$ref": "GoogleAnalyticsAdminV1alphaConversionEvent" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaListCustomDimensionsResponse": { + "description": "Response message for ListCustomDimensions RPC.", + "id": "GoogleAnalyticsAdminV1alphaListCustomDimensionsResponse", + "properties": { + "customDimensions": { + "description": "List of CustomDimensions.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaCustomDimension" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaListCustomMetricsResponse": { + "description": "Response message for ListCustomMetrics RPC.", + "id": "GoogleAnalyticsAdminV1alphaListCustomMetricsResponse", + "properties": { + "customMetrics": { + "description": "List of CustomMetrics.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaCustomMetric" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaListDataStreamsResponse": { + "description": "Response message for ListDataStreams RPC.", + "id": "GoogleAnalyticsAdminV1alphaListDataStreamsResponse", + "properties": { + "dataStreams": { + "description": "List of DataStreams.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaDataStream" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaListDisplayVideo360AdvertiserLinkProposalsResponse": { + "description": "Response message for ListDisplayVideo360AdvertiserLinkProposals RPC.", + "id": "GoogleAnalyticsAdminV1alphaListDisplayVideo360AdvertiserLinkProposalsResponse", + "properties": { + "displayVideo360AdvertiserLinkProposals": { + "description": "List of DisplayVideo360AdvertiserLinkProposals.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaListDisplayVideo360AdvertiserLinksResponse": { + "description": "Response message for ListDisplayVideo360AdvertiserLinks RPC.", + "id": "GoogleAnalyticsAdminV1alphaListDisplayVideo360AdvertiserLinksResponse", + "properties": { + "displayVideo360AdvertiserLinks": { + "description": "List of DisplayVideo360AdvertiserLinks.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink" }, "type": "array" }, @@ -2606,14 +3756,14 @@ }, "type": "object" }, - "GoogleAnalyticsAdminV1alphaListIosAppDataStreamsResponse": { - "description": "Request message for ListIosAppDataStreams RPC.", - "id": "GoogleAnalyticsAdminV1alphaListIosAppDataStreamsResponse", + "GoogleAnalyticsAdminV1alphaListMeasurementProtocolSecretsResponse": { + "description": "Response message for ListMeasurementProtocolSecret RPC", + "id": "GoogleAnalyticsAdminV1alphaListMeasurementProtocolSecretsResponse", "properties": { - "iosAppDataStreams": { - "description": "Results that matched the filter criteria and were accessible to the caller.", + "measurementProtocolSecrets": { + "description": "A list of secrets for the parent stream specified in the request.", "items": { - "$ref": "GoogleAnalyticsAdminV1alphaIosAppDataStream" + "$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret" }, "type": "array" }, @@ -2660,20 +3810,23 @@ }, "type": "object" }, - "GoogleAnalyticsAdminV1alphaListWebDataStreamsResponse": { - "description": "Request message for ListWebDataStreams RPC.", - "id": "GoogleAnalyticsAdminV1alphaListWebDataStreamsResponse", + "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret": { + "description": "A secret value used for sending hits to Measurement Protocol.", + "id": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret", "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.", + "displayName": { + "description": "Required. Human-readable display name for this secret.", "type": "string" }, - "webDataStreams": { - "description": "Results that matched the filter criteria and were accessible to the caller.", - "items": { - "$ref": "GoogleAnalyticsAdminV1alphaWebDataStream" - }, - "type": "array" + "name": { + "description": "Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/webDataStreams/{webDataStream}/measurementProtocolSecrets/{measurementProtocolSecret}", + "readOnly": true, + "type": "string" + }, + "secretValue": { + "description": "Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret's parent property.", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -2682,6 +3835,10 @@ "description": "A resource message representing a Google Analytics GA4 property.", "id": "GoogleAnalyticsAdminV1alphaProperty", "properties": { + "account": { + "description": "Immutable. The resource name of the parent account Format: accounts/{account_id} Example: \"accounts/123\"", + "type": "string" + }, "createTime": { "description": "Output only. Time when the entity was originally created.", "format": "google-datetime", @@ -2692,15 +3849,22 @@ "description": "The currency type used in reports involving monetary values. Format: https://en.wikipedia.org/wiki/ISO_4217 Examples: \"USD\", \"EUR\", \"JPY\"", "type": "string" }, - "deleted": { - "description": "Output only. Indicates whether this Property is soft-deleted or not. Deleted properties are excluded from List results unless specifically requested.", + "deleteTime": { + "description": "Output only. If set, the time at which this property was trashed. If not set, then this property is not currently in the trash can.", + "format": "google-datetime", "readOnly": true, - "type": "boolean" + "type": "string" }, "displayName": { "description": "Required. Human-readable display name for this property. The max allowed display name length is 100 UTF-16 code units.", "type": "string" }, + "expireTime": { + "description": "Output only. If set, the time at which this trashed property will be permanently deleted. If not set, then this property is not currently in the trash can and is not slated to be deleted.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, "industryCategory": { "description": "Industry associated with this property Example: AUTOMOTIVE, FOOD_AND_DRINK", "enum": [ @@ -2772,6 +3936,21 @@ "description": "Immutable. Resource name of this property's logical parent. Note: The Property-Moving UI can be used to change the parent. Format: accounts/{account} Example: \"accounts/100\"", "type": "string" }, + "serviceLevel": { + "description": "Output only. The Google Analytics service level that applies to this property.", + "enum": [ + "SERVICE_LEVEL_UNSPECIFIED", + "GOOGLE_ANALYTICS_STANDARD", + "GOOGLE_ANALYTICS_360" + ], + "enumDescriptions": [ + "Service level not specified or invalid.", + "The standard version of Google Analytics.", + "The paid, premium version of Google Analytics." + ], + "readOnly": true, + "type": "string" + }, "timeZone": { "description": "Required. Reporting Time Zone, used as the day boundary for reports, regardless of where the data originates. If the time zone honors DST, Analytics will automatically adjust for the changes. NOTE: Changing the time zone only affects data going forward, and is not applied retroactively. Format: https://www.iana.org/time-zones Example: \"America/Los_Angeles\"", "type": "string" @@ -2786,11 +3965,11 @@ "type": "object" }, "GoogleAnalyticsAdminV1alphaPropertySummary": { - "description": "A virtual resource representing metadata for an GA4 property.", + "description": "A virtual resource representing metadata for a GA4 property.", "id": "GoogleAnalyticsAdminV1alphaPropertySummary", "properties": { "displayName": { - "description": "Display name for the property referred to in this account summary.", + "description": "Display name for the property referred to in this property summary.", "type": "string" }, "property": { @@ -2886,21 +4065,33 @@ "CHANGE_HISTORY_RESOURCE_TYPE_UNSPECIFIED", "ACCOUNT", "PROPERTY", - "WEB_DATA_STREAM", - "ANDROID_APP_DATA_STREAM", - "IOS_APP_DATA_STREAM", "FIREBASE_LINK", - "GOOGLE_ADS_LINK" + "GOOGLE_ADS_LINK", + "GOOGLE_SIGNALS_SETTINGS", + "CONVERSION_EVENT", + "MEASUREMENT_PROTOCOL_SECRET", + "CUSTOM_DIMENSION", + "CUSTOM_METRIC", + "DATA_RETENTION_SETTINGS", + "DISPLAY_VIDEO_360_ADVERTISER_LINK", + "DISPLAY_VIDEO_360_ADVERTISER_LINK_PROPOSAL", + "DATA_STREAM" ], "enumDescriptions": [ "Resource type unknown or not specified.", "Account resource", "Property resource", - "WebDataStream resource", - "AndroidAppDataStream resource", - "IosAppDataStream resource", "FirebaseLink resource", - "GoogleAdsLink resource" + "GoogleAdsLink resource", + "GoogleSignalsSettings resource", + "ConversionEvent resource", + "MeasurementProtocolSecret resource", + "CustomDimension resource", + "CustomMetric resource", + "DataRetentionSettings resource", + "DisplayVideo360AdvertiserLink resource", + "DisplayVideo360AdvertiserLinkProposal resource", + "DataStream resource" ], "type": "string" }, @@ -2943,59 +4134,18 @@ "id": "GoogleAnalyticsAdminV1alphaUserLink", "properties": { "directRoles": { - "description": "Roles directly assigned to this user for this account or property. Valid values: predefinedRoles/read predefinedRoles/collaborate predefinedRoles/edit predefinedRoles/manage-users Excludes roles that are inherited from a higher-level entity, group, or organization admin role. A UserLink that is updated to have an empty list of direct_roles will be deleted.", + "description": "Roles directly assigned to this user for this account or property. Valid values: predefinedRoles/viewer predefinedRoles/analyst predefinedRoles/editor predefinedRoles/admin predefinedRoles/no-cost-data predefinedRoles/no-revenue-data Excludes roles that are inherited from a higher-level entity, group, or organization admin role. A UserLink that is updated to have an empty list of direct_roles will be deleted.", "items": { "type": "string" }, "type": "array" }, "emailAddress": { - "description": "Email address of the user to link", + "description": "Immutable. Email address of the user to link", "type": "string" }, "name": { - "description": "Example format: properties/1234/userLinks/5678", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAnalyticsAdminV1alphaWebDataStream": { - "description": "A resource message representing a Google Analytics web stream.", - "id": "GoogleAnalyticsAdminV1alphaWebDataStream", - "properties": { - "createTime": { - "description": "Output only. Time when this stream was originally created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "defaultUri": { - "description": "Immutable. Domain name of the web app being measured, or empty. Example: \"http://www.google.com\", \"https://www.google.com\"", - "type": "string" - }, - "displayName": { - "description": "Required. Human-readable display name for the Data Stream. The max allowed display name length is 100 UTF-16 code units.", - "type": "string" - }, - "firebaseAppId": { - "description": "Output only. ID of the corresponding web app in Firebase, if any. This ID can change if the web app is deleted and recreated.", - "readOnly": true, - "type": "string" - }, - "measurementId": { - "description": "Output only. Analytics \"Measurement ID\", without the \"G-\" prefix. Example: \"G-1A2BCD345E\" would just be \"1A2BCD345E\"", - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Output only. Resource name of this Data Stream. Format: properties/{property_id}/webDataStreams/{stream_id} Example: \"properties/1000/webDataStreams/2000\"", - "readOnly": true, - "type": "string" - }, - "updateTime": { - "description": "Output only. Time when stream payload fields were last updated.", - "format": "google-datetime", + "description": "Output only. Example format: properties/1234/userLinks/5678", "readOnly": true, "type": "string" } diff --git a/etc/api/analyticsdata/v1beta/analyticsdata-api.json b/etc/api/analyticsdata/v1beta/analyticsdata-api.json index 748a666568..c96dbb6225 100644 --- a/etc/api/analyticsdata/v1beta/analyticsdata-api.json +++ b/etc/api/analyticsdata/v1beta/analyticsdata-api.json @@ -168,6 +168,35 @@ "https://www.googleapis.com/auth/analytics.readonly" ] }, + "checkCompatibility": { + "description": "This compatibility method lists dimensions and metrics that can be added to a report request and maintain compatibility. This method fails if the request's dimensions and metrics are incompatible. In Google Analytics, reports fail if they request incompatible dimensions and/or metrics; in that case, you will need to remove dimensions and/or metrics from the incompatible report until the report is compatible. The Realtime and Core reports have different compatibility rules. This method checks compatibility for Core reports.", + "flatPath": "v1beta/properties/{propertiesId}:checkCompatibility", + "httpMethod": "POST", + "id": "analyticsdata.properties.checkCompatibility", + "parameterOrder": [ + "property" + ], + "parameters": { + "property": { + "description": "A Google Analytics GA4 property identifier whose events are tracked. To learn more, see [where to find your Property ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). `property` should be the same value as in your `runReport` request. Example: properties/1234 Set the Property ID to 0 for compatibility checking on dimensions and metrics common to all properties. In this special mode, this method will not return custom dimensions and metrics.", + "location": "path", + "pattern": "^properties/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+property}:checkCompatibility", + "request": { + "$ref": "CheckCompatibilityRequest" + }, + "response": { + "$ref": "CheckCompatibilityResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, "getMetadata": { "description": "Returns metadata for dimensions and metrics available in reporting methods. Used to explore the dimensions and metrics. In this method, a Google Analytics GA4 Property Identifier is specified in the request, and the metadata response includes Custom dimensions and metrics as well as Universal metadata. For example if a custom metric with parameter name `levels_unlocked` is registered to a property, the Metadata response will contain `customEvent:levels_unlocked`. Universal metadata are dimensions and metrics applicable to any property such as `country` and `totalUsers`.", "flatPath": "v1beta/properties/{propertiesId}/metadata", @@ -284,9 +313,37 @@ } } }, - "revision": "20210329", + "revision": "20220303", "rootUrl": "https://analyticsdata.googleapis.com/", "schemas": { + "ActiveMetricRestriction": { + "description": "A metric actively restricted in creating the report.", + "id": "ActiveMetricRestriction", + "properties": { + "metricName": { + "description": "The name of the restricted metric.", + "type": "string" + }, + "restrictedMetricTypes": { + "description": "The reason for this metric's restriction.", + "items": { + "enum": [ + "RESTRICTED_METRIC_TYPE_UNSPECIFIED", + "COST_DATA", + "REVENUE_DATA" + ], + "enumDescriptions": [ + "Unspecified type.", + "Cost metrics such as `adCost`.", + "Revenue metrics such as `purchaseRevenue`." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "BatchRunPivotReportsRequest": { "description": "The batch request containing multiple pivot report requests.", "id": "BatchRunPivotReportsRequest", @@ -377,6 +434,70 @@ }, "type": "object" }, + "CheckCompatibilityRequest": { + "description": "The request for compatibility information for a report's dimensions and metrics. Check compatibility provides a preview of the compatibility of a report; fields shared with the `runReport` request should be the same values as in your `runReport` request.", + "id": "CheckCompatibilityRequest", + "properties": { + "compatibilityFilter": { + "description": "Filters the dimensions and metrics in the response to just this compatibility. Commonly used as `\u201dcompatibilityFilter\u201d: \u201cCOMPATIBLE\u201d` to only return compatible dimensions & metrics.", + "enum": [ + "COMPATIBILITY_UNSPECIFIED", + "COMPATIBLE", + "INCOMPATIBLE" + ], + "enumDescriptions": [ + "Unspecified compatibility.", + "The dimension or metric is compatible. This dimension or metric can be successfully added to a report.", + "The dimension or metric is incompatible. This dimension or metric cannot be successfully added to a report." + ], + "type": "string" + }, + "dimensionFilter": { + "$ref": "FilterExpression", + "description": "The filter clause of dimensions. `dimensionFilter` should be the same value as in your `runReport` request." + }, + "dimensions": { + "description": "The dimensions in this report. `dimensions` should be the same value as in your `runReport` request.", + "items": { + "$ref": "Dimension" + }, + "type": "array" + }, + "metricFilter": { + "$ref": "FilterExpression", + "description": "The filter clause of metrics. `metricFilter` should be the same value as in your `runReport` request" + }, + "metrics": { + "description": "The metrics in this report. `metrics` should be the same value as in your `runReport` request.", + "items": { + "$ref": "Metric" + }, + "type": "array" + } + }, + "type": "object" + }, + "CheckCompatibilityResponse": { + "description": "The compatibility response with the compatibility of each dimension & metric.", + "id": "CheckCompatibilityResponse", + "properties": { + "dimensionCompatibilities": { + "description": "The compatibility of each dimension.", + "items": { + "$ref": "DimensionCompatibility" + }, + "type": "array" + }, + "metricCompatibilities": { + "description": "The compatibility of each metric.", + "items": { + "$ref": "MetricCompatibility" + }, + "type": "array" + } + }, + "type": "object" + }, "Cohort": { "description": "Defines a cohort selection criteria. A cohort is a group of users who share a common characteristic. For example, users with the same `firstSessionDate` belong to the same cohort.", "id": "Cohort", @@ -500,7 +621,7 @@ "type": "object" }, "Dimension": { - "description": "Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, city could be \"Paris\" or \"New York\". Requests are allowed up to 8 dimensions.", + "description": "Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, the city could be \"Paris\" or \"New York\". Requests are allowed up to 9 dimensions.", "id": "Dimension", "properties": { "dimensionExpression": { @@ -508,12 +629,37 @@ "description": "One dimension can be the result of an expression of multiple dimensions. For example, dimension \"country, city\": concatenate(country, \", \", city)." }, "name": { - "description": "The name of the dimension. See the [API Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#dimensions) for the list of dimension names. If `dimensionExpression` is specified, `name` can be any string that you would like within the allowed character set. For example if a `dimensionExpression` concatenates `country` and `city`, you could call that dimension `countryAndCity`. Dimension names that you choose must match the regular expression \"^[a-zA-Z0-9_]$\". Dimensions are referenced by `name` in `dimensionFilter`, `orderBys`, `dimensionExpression`, and `pivots`.", + "description": "The name of the dimension. See the [API Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#dimensions) for the list of dimension names. If `dimensionExpression` is specified, `name` can be any string that you would like within the allowed character set. For example if a `dimensionExpression` concatenates `country` and `city`, you could call that dimension `countryAndCity`. Dimension names that you choose must match the regular expression `^[a-zA-Z0-9_]$`. Dimensions are referenced by `name` in `dimensionFilter`, `orderBys`, `dimensionExpression`, and `pivots`.", "type": "string" } }, "type": "object" }, + "DimensionCompatibility": { + "description": "The compatibility for a single dimension.", + "id": "DimensionCompatibility", + "properties": { + "compatibility": { + "description": "The compatibility of this dimension. If the compatibility is COMPATIBLE, this dimension can be successfully added to the report.", + "enum": [ + "COMPATIBILITY_UNSPECIFIED", + "COMPATIBLE", + "INCOMPATIBLE" + ], + "enumDescriptions": [ + "Unspecified compatibility.", + "The dimension or metric is compatible. This dimension or metric can be successfully added to a report.", + "The dimension or metric is incompatible. This dimension or metric cannot be successfully added to a report." + ], + "type": "string" + }, + "dimensionMetadata": { + "$ref": "DimensionMetadata", + "description": "The dimension metadata contains the API name for this compatibility information. The dimension metadata also contains other helpful information like the UI name and description." + } + }, + "type": "object" + }, "DimensionExpression": { "description": "Used to express a dimension which is the result of a formula of multiple dimensions. Example usages: 1) lower_case(dimension) 2) concatenate(dimension1, symbol, dimension2).", "id": "DimensionExpression", @@ -552,6 +698,10 @@ "description": "This dimension's name. Useable in [Dimension](#Dimension)'s `name`. For example, `eventName`.", "type": "string" }, + "category": { + "description": "The display name of the category that this dimension belongs to. Similar dimensions and metrics are categorized together.", + "type": "string" + }, "customDefinition": { "description": "True if the dimension is a custom dimension for this property.", "type": "boolean" @@ -649,7 +799,7 @@ }, "filter": { "$ref": "Filter", - "description": "A primitive filter. All fields in filter in same FilterExpression needs to be either all dimensions or metrics." + "description": "A primitive filter. In the same FilterExpression, all of the filter's field names need to be either all dimensions or all metrics." }, "notExpression": { "$ref": "FilterExpression", @@ -732,12 +882,37 @@ "type": "boolean" }, "name": { - "description": "The name of the metric. See the [API Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#metrics) for the list of metric names. If `expression` is specified, `name` can be any string that you would like within the allowed character set. For example if `expression` is `screenPageViews/sessions`, you could call that metric's name = `viewsPerSession`. Metric names that you choose must match the regular expression \"^[a-zA-Z0-9_]$\". Metrics are referenced by `name` in `metricFilter`, `orderBys`, and metric `expression`.", + "description": "The name of the metric. See the [API Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#metrics) for the list of metric names. If `expression` is specified, `name` can be any string that you would like within the allowed character set. For example if `expression` is `screenPageViews/sessions`, you could call that metric's name = `viewsPerSession`. Metric names that you choose must match the regular expression `^[a-zA-Z0-9_]$`. Metrics are referenced by `name` in `metricFilter`, `orderBys`, and metric `expression`.", "type": "string" } }, "type": "object" }, + "MetricCompatibility": { + "description": "The compatibility for a single metric.", + "id": "MetricCompatibility", + "properties": { + "compatibility": { + "description": "The compatibility of this metric. If the compatibility is COMPATIBLE, this metric can be successfully added to the report.", + "enum": [ + "COMPATIBILITY_UNSPECIFIED", + "COMPATIBLE", + "INCOMPATIBLE" + ], + "enumDescriptions": [ + "Unspecified compatibility.", + "The dimension or metric is compatible. This dimension or metric can be successfully added to a report.", + "The dimension or metric is incompatible. This dimension or metric cannot be successfully added to a report." + ], + "type": "string" + }, + "metricMetadata": { + "$ref": "MetricMetadata", + "description": "The metric metadata contains the API name for this compatibility information. The metric metadata also contains other helpful information like the UI name and description." + } + }, + "type": "object" + }, "MetricHeader": { "description": "Describes a metric column in the report. Visible metrics requested in a report produce column entries within rows and MetricHeaders. However, metrics used exclusively within filters or expressions do not produce columns in a report; correspondingly, those metrics do not produce headers.", "id": "MetricHeader", @@ -791,6 +966,27 @@ "description": "A metric name. Useable in [Metric](#Metric)'s `name`. For example, `eventCount`.", "type": "string" }, + "blockedReasons": { + "description": "If reasons are specified, your access is blocked to this metric for this property. API requests from you to this property for this metric will succeed; however, the report will contain only zeros for this metric. API requests with metric filters on blocked metrics will fail. If reasons are empty, you have access to this metric. To learn more, see [Access and data-restriction management](https://support.google.com/analytics/answer/10851388).", + "items": { + "enum": [ + "BLOCKED_REASON_UNSPECIFIED", + "NO_REVENUE_METRICS", + "NO_COST_METRICS" + ], + "enumDescriptions": [ + "Will never be specified in API response.", + "If present, your access is blocked to revenue related metrics for this property, and this metric is revenue related.", + "If present, your access is blocked to cost related metrics for this property, and this metric is cost related." + ], + "type": "string" + }, + "type": "array" + }, + "category": { + "description": "The display name of the category that this metrics belongs to. Similar dimensions and metrics are categorized together.", + "type": "string" + }, "customDefinition": { "description": "True if the metric is a custom metric for this property.", "type": "boolean" @@ -873,6 +1069,27 @@ }, "type": "object" }, + "MinuteRange": { + "description": "A contiguous set of minutes: startMinutesAgo, startMinutesAgo + 1, ..., endMinutesAgo. Requests are allowed up to 2 minute ranges.", + "id": "MinuteRange", + "properties": { + "endMinutesAgo": { + "description": "The inclusive end minute for the query as a number of minutes before now. Cannot be before `startMinutesAgo`. For example, `\"endMinutesAgo\": 15` specifies the report should include event data from prior to 15 minutes ago. If unspecified, `endMinutesAgo` is defaulted to 0. Standard Analytics properties can request any minute in the last 30 minutes of event data (`endMinutesAgo <= 29`), and 360 Analytics properties can request any minute in the last 60 minutes of event data (`endMinutesAgo <= 59`).", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "Assigns a name to this minute range. The dimension `dateRange` is valued to this name in a report response. If set, cannot begin with `date_range_` or `RESERVED_`. If not set, minute ranges are named by their zero based index in the request: `date_range_0`, `date_range_1`, etc.", + "type": "string" + }, + "startMinutesAgo": { + "description": "The inclusive start minute for the query as a number of minutes before now. For example, `\"startMinutesAgo\": 29` specifies the report should include event data from 29 minutes ago and after. Cannot be after `endMinutesAgo`. If unspecified, `startMinutesAgo` is defaulted to 29. Standard Analytics properties can request up to the last 30 minutes of event data (`startMinutesAgo <= 29`), and 360 Analytics properties can request up to the last 60 minutes of event data (`startMinutesAgo <= 59`).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "NumericFilter": { "description": "Filters for numeric or date values.", "id": "NumericFilter", @@ -1110,9 +1327,29 @@ "description": "Response's metadata carrying additional information about the report content.", "id": "ResponseMetaData", "properties": { + "currencyCode": { + "description": "The currency code used in this report. Intended to be used in formatting currency metrics like `purchaseRevenue` for visualization. If currency_code was specified in the request, this response parameter will echo the request parameter; otherwise, this response parameter is the property's current currency_code. Currency codes are string encodings of currency types from the ISO 4217 standard (https://en.wikipedia.org/wiki/ISO_4217); for example \"USD\", \"EUR\", \"JPY\". To learn more, see https://support.google.com/analytics/answer/9796179.", + "type": "string" + }, "dataLossFromOtherRow": { "description": "If true, indicates some buckets of dimension combinations are rolled into \"(other)\" row. This can happen for high cardinality reports.", "type": "boolean" + }, + "emptyReason": { + "description": "If empty reason is specified, the report is empty for this reason.", + "type": "string" + }, + "schemaRestrictionResponse": { + "$ref": "SchemaRestrictionResponse", + "description": "Describes the schema restrictions actively enforced in creating this report. To learn more, see [Access and data-restriction management](https://support.google.com/analytics/answer/10851388)." + }, + "subjectToThresholding": { + "description": "If `subjectToThresholding` is true, this report is subject to thresholding and only returns data that meets the minimum aggregation thresholds. It is possible for a request to be subject to thresholding thresholding and no data is absent from the report, and this happens when all data is above the thresholds. To learn more, see [Data thresholds](https://support.google.com/analytics/answer/9383630) and [About Demographics and Interests](https://support.google.com/analytics/answer/2799357).", + "type": "boolean" + }, + "timeZone": { + "description": "The property's current timezone. Intended to be used to interpret time-based dimensions like `hour` and `minute`. Formatted as strings from the IANA Time Zone database (https://www.iana.org/time-zones); for example \"America/New_York\" or \"Asia/Tokyo\".", + "type": "string" } }, "type": "object" @@ -1307,6 +1544,13 @@ }, "type": "array" }, + "minuteRanges": { + "description": "The minute ranges of event data to read. If unspecified, one minute range for the last 30 minutes will be used. If multiple minute ranges are requested, each response row will contain a zero based minute range index. If two minute ranges overlap, the event data for the overlapping minutes is included in the response rows for both minute ranges.", + "items": { + "$ref": "MinuteRange" + }, + "type": "array" + }, "orderBys": { "description": "Specifies how rows are ordered in the response.", "items": { @@ -1404,7 +1648,7 @@ }, "dimensionFilter": { "$ref": "FilterExpression", - "description": "The filter clause of dimensions. Dimensions must be requested to be used in this filter. Metrics cannot be used in this filter." + "description": "Dimension filters allow you to ask for only specific dimension values in the report. To learn more, see [Fundamentals of Dimension Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) for examples. Metrics cannot be used in this filter." }, "dimensions": { "description": "The dimensions requested and displayed.", @@ -1445,7 +1689,7 @@ }, "metricFilter": { "$ref": "FilterExpression", - "description": "The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Metrics must be requested to be used in this filter. Dimensions cannot be used in this filter." + "description": "The filter clause of metrics. Applied after aggregating the report's rows, similar to SQL having-clause. Dimensions cannot be used in this filter." }, "metrics": { "description": "The metrics requested and displayed.", @@ -1543,6 +1787,20 @@ }, "type": "object" }, + "SchemaRestrictionResponse": { + "description": "The schema restrictions actively enforced in creating this report. To learn more, see [Access and data-restriction management](https://support.google.com/analytics/answer/10851388).", + "id": "SchemaRestrictionResponse", + "properties": { + "activeMetricRestrictions": { + "description": "All restrictions actively enforced in creating the report. For example, `purchaseRevenue` always has the restriction type `REVENUE_DATA`. However, this active response restriction is only populated if the user's custom role disallows access to `REVENUE_DATA`.", + "items": { + "$ref": "ActiveMetricRestriction" + }, + "type": "array" + } + }, + "type": "object" + }, "StringFilter": { "description": "The filter for string", "id": "StringFilter", @@ -1568,8 +1826,8 @@ "Begins with the string value.", "Ends with the string value.", "Contains the string value.", - "Full regular expression match with the string value.", - "Partial regular expression match with the string value." + "Full match for the regular expression with the string value.", + "Partial match for the regular expression with the string value." ], "type": "string" }, diff --git a/etc/api/analyticsreporting/v4/analyticsreporting-api.json b/etc/api/analyticsreporting/v4/analyticsreporting-api.json index 41ebfaba2e..18edfdac6c 100644 --- a/etc/api/analyticsreporting/v4/analyticsreporting-api.json +++ b/etc/api/analyticsreporting/v4/analyticsreporting-api.json @@ -155,7 +155,7 @@ } } }, - "revision": "20210310", + "revision": "20220215", "rootUrl": "https://analyticsreporting.googleapis.com/", "schemas": { "Activity": { @@ -1039,6 +1039,10 @@ "format": "google-datetime", "type": "string" }, + "emptyReason": { + "description": "If empty reason is specified, the report is empty for this reason.", + "type": "string" + }, "isDataGolden": { "description": "Indicates if response to this request is golden or not. Data is golden when the exact same request will not produce any new results if asked at a later point in time.", "type": "boolean" diff --git a/etc/api/androiddeviceprovisioning/v1/androiddeviceprovisioning-api.json b/etc/api/androiddeviceprovisioning/v1/androiddeviceprovisioning-api.json index c6ca4aecf5..9216b5ac74 100644 --- a/etc/api/androiddeviceprovisioning/v1/androiddeviceprovisioning-api.json +++ b/etc/api/androiddeviceprovisioning/v1/androiddeviceprovisioning-api.json @@ -112,7 +112,7 @@ "type": "integer" }, "pageToken": { - "description": "A token specifying which result page to return.", + "description": "A token specifying which result page to return. This field has custom validations in ListCustomersRequestValidator", "location": "query", "type": "string" } @@ -136,7 +136,7 @@ ], "parameters": { "parent": { - "description": "Required. The customer that manages the configuration. An API resource name in the format `customers/[CUSTOMER_ID]`.", + "description": "Required. The customer that manages the configuration. An API resource name in the format `customers/[CUSTOMER_ID]`. This field has custom validation in CreateConfigurationRequestValidator", "location": "path", "pattern": "^customers/[^/]+$", "required": true, @@ -825,7 +825,7 @@ } } }, - "revision": "20210331", + "revision": "20220305", "rootUrl": "https://androiddeviceprovisioning.googleapis.com/", "schemas": { "ClaimDeviceRequest": { @@ -913,18 +913,26 @@ "description": "Required. The name of the company. For example _XYZ Corp_. Displayed to the company's employees in the zero-touch enrollment portal.", "type": "string" }, + "languageCode": { + "description": "Input only. The preferred locale of the customer represented as a BCP47 language code. This field is validated on input and requests containing unsupported language codes will be rejected. Supported language codes: Arabic (ar) Chinese (Hong Kong) (zh-HK) Chinese (Simplified) (zh-CN) Chinese (Traditional) (zh-TW) Czech (cs) Danish (da) Dutch (nl) English (UK) (en-GB) English (US) (en-US) Filipino (fil) Finnish (fi) French (fr) German (de) Hebrew (iw) Hindi (hi) Hungarian (hu) Indonesian (id) Italian (it) Japanese (ja) Korean (ko) Norwegian (Bokmal) (no) Polish (pl) Portuguese (Brazil) (pt-BR) Portuguese (Portugal) (pt-PT) Russian (ru) Spanish (es) Spanish (Latin America) (es-419) Swedish (sv) Thai (th) Turkish (tr) Ukrainian (uk) Vietnamese (vi)", + "type": "string" + }, "name": { "description": "Output only. The API resource name of the company. The resource name is one of the following formats: * `partners/[PARTNER_ID]/customers/[CUSTOMER_ID]` * `partners/[PARTNER_ID]/vendors/[VENDOR_ID]` * `partners/[PARTNER_ID]/vendors/[VENDOR_ID]/customers/[CUSTOMER_ID]` Assigned by the server.", "readOnly": true, "type": "string" }, "ownerEmails": { - "description": "Required. Input only. Email address of customer's users in the owner role. At least one `owner_email` is required. Each email address must be associated with a Google Account. Owners share the same access as admins but can also add, delete, and edit your organization's portal users.", + "description": "Required. Input only. Email address of customer's users in the owner role. At least one `owner_email` is required. Owners share the same access as admins but can also add, delete, and edit your organization's portal users.", "items": { "type": "string" }, "type": "array" }, + "skipWelcomeEmail": { + "description": "Input only. If set to true, welcome email will not be sent to the customer. It is recommended to skip the welcome email if devices will be claimed with additional DEVICE_PROTECTION service, as the customer will receive separate emails at device claim time. This field is ignored if this is not a Zero-touch customer.", + "type": "boolean" + }, "termsStatus": { "description": "Output only. Whether any user from the company has accepted the latest Terms of Service (ToS). See TermsStatus.", "enum": [ @@ -1016,7 +1024,7 @@ }, "device": { "$ref": "DeviceReference", - "description": "Required. The device the configuration is applied to." + "description": "Required. The device the configuration is applied to. There are custom validations in ApplyConfigurationRequestValidator" } }, "type": "object" @@ -1091,7 +1099,7 @@ "properties": { "device": { "$ref": "DeviceReference", - "description": "Required. The device to remove the configuration from." + "description": "Required. The device to remove the configuration from. There are custom validations in RemoveConfigurationRequestValidator" } }, "type": "object" @@ -1102,7 +1110,7 @@ "properties": { "device": { "$ref": "DeviceReference", - "description": "Required. The device to unclaim." + "description": "Required. The device to unclaim. There are custom validations in UnclaimDeviceRequestValidator." } }, "type": "object" @@ -1149,6 +1157,18 @@ "description": "A record of a device claimed by a reseller for a customer. Devices claimed for zero-touch enrollment have a claim with the type `SECTION_TYPE_ZERO_TOUCH`. To learn more, read [Claim devices for customers](/zero-touch/guides/how-it-works#claim).", "id": "DeviceClaim", "properties": { + "additionalService": { + "description": "The Additional service registered for the device.", + "enum": [ + "ADDITIONAL_SERVICE_UNSPECIFIED", + "DEVICE_PROTECTION" + ], + "enumDescriptions": [ + "No additional service.", + "Device protection service, also known as Android Enterprise Essentials. To claim a device with the device protection service you must enroll with the partnership team." + ], + "type": "string" + }, "ownerCompanyId": { "description": "The ID of the Customer that purchased the device.", "format": "int64", diff --git a/etc/api/androidenterprise/v1/androidenterprise-api.json b/etc/api/androidenterprise/v1/androidenterprise-api.json index 7aedb39a16..583d46a411 100644 --- a/etc/api/androidenterprise/v1/androidenterprise-api.json +++ b/etc/api/androidenterprise/v1/androidenterprise-api.json @@ -290,7 +290,7 @@ ] }, "update": { - "description": "Updates the device policy. To ensure the policy is properly enforced, you need to prevent unmanaged accounts from accessing Google Play by setting the allowed_accounts in the managed configuration for the Google Play package. See restrict accounts in Google Play.", + "description": "Updates the device policy. To ensure the policy is properly enforced, you need to prevent unmanaged accounts from accessing Google Play by setting the allowed_accounts in the managed configuration for the Google Play package. See restrict accounts in Google Play. When provisioning a new device, you should set the device policy using this method before adding the managed Google Play Account to the device, otherwise the policy will not be applied for a short period of time after adding the account to the device.", "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}", "httpMethod": "PUT", "id": "androidenterprise.devices.update", @@ -2610,7 +2610,7 @@ } } }, - "revision": "20210324", + "revision": "20220303", "rootUrl": "https://androidenterprise.googleapis.com/", "schemas": { "Administrator": { @@ -2679,6 +2679,10 @@ "webApps": { "$ref": "AdministratorWebTokenSpecWebApps", "description": "Options for displaying the Web Apps page." + }, + "zeroTouch": { + "$ref": "AdministratorWebTokenSpecZeroTouch", + "description": "Options for displaying the Zero Touch page." } }, "type": "object" @@ -2737,6 +2741,16 @@ }, "type": "object" }, + "AdministratorWebTokenSpecZeroTouch": { + "id": "AdministratorWebTokenSpecZeroTouch", + "properties": { + "enabled": { + "description": "Whether zero-touch embedded UI is usable with this token. If enabled, the admin can link zero-touch customers to this enterprise.", + "type": "boolean" + } + }, + "type": "object" + }, "AppRestrictionsSchema": { "description": "Represents the list of app restrictions available to be pre-configured for the product.", "id": "AppRestrictionsSchema", @@ -3860,7 +3874,7 @@ "id": "Policy", "properties": { "autoUpdatePolicy": { - "description": "The auto-update policy for apps installed on the device. \"choiceToTheUser\" allows the device's user to configure the app update policy. \"always\" enables auto updates. \"never\" disables auto updates. \"wifiOnly\" enables auto updates only when the device is connected to wifi.", + "description": "Deprecated. Use autoUpdateMode instead. When autoUpdateMode is set to AUTO_UPDATE_POSTPONED or AUTO_UPDATE_HIGH_PRIORITY, this field has no effect. \"choiceToTheUser\" allows the device's user to configure the app update policy. \"always\" enables auto updates. \"never\" disables auto updates. \"wifiOnly\" enables auto updates only when the device is connected to wifi.", "enum": [ "autoUpdatePolicyUnspecified", "choiceToTheUser", @@ -4212,7 +4226,7 @@ ], "enumDescriptions": [ "Unspecified. Defaults to AUTO_UPDATE_DEFAULT.", - "The app is automatically updated with low priority to minimize the impact on the user. The app is updated when the following constraints are met: * The device is not actively used * The device is connected to a Wi-Fi network. * The device is charging * If the system update policy is set to `WINDOWED`: the local time of the device is within the daily maintenance window 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 automatically updated with low priority to minimize the impact on the user. The app is updated when the following constraints are met: * The device is not actively used * The device is connected to an unmetered network * The device is charging 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 immediately about a new app update after it is published by the developer." ], diff --git a/etc/api/androidmanagement/v1/androidmanagement-api.json b/etc/api/androidmanagement/v1/androidmanagement-api.json index 52bae02d4d..5dd58c4806 100644 --- a/etc/api/androidmanagement/v1/androidmanagement-api.json +++ b/etc/api/androidmanagement/v1/androidmanagement-api.json @@ -115,12 +115,12 @@ "parameterOrder": [], "parameters": { "agreementAccepted": { - "description": "This feature is not generally available yet. Whether the managed Google Play Agreement is presented and agreed.", + "description": "Whether the enterprise admin has seen and agreed to the managed Google Play Agreement (https://www.android.com/enterprise/terms/). Always set this to true when creating an EMM-managed enterprise. Do not create the enterprise until the admin has viewed and accepted the agreement.", "location": "query", "type": "boolean" }, "enterpriseToken": { - "description": "The enterprise token appended to the callback URL.", + "description": "The enterprise token appended to the callback URL. Only set this when creating a customer-managed enterprise.", "location": "query", "type": "string" }, @@ -130,7 +130,7 @@ "type": "string" }, "signupUrlName": { - "description": "The name of the SignupUrl used to sign up for the enterprise.", + "description": "The name of the SignupUrl used to sign up for the enterprise. Only set this when creating a customer-managed enterprise.", "location": "query", "type": "string" } @@ -147,7 +147,7 @@ ] }, "delete": { - "description": "This feature is not generally available yet. Deletes an enterprise.", + "description": "Deletes an enterprise. Only available for EMM-managed enterprises.", "flatPath": "v1/enterprises/{enterprisesId}", "httpMethod": "DELETE", "id": "androidmanagement.enterprises.delete", @@ -156,7 +156,7 @@ ], "parameters": { "name": { - "description": "This feature is not generally available yet. The name of the enterprise in the form enterprises/{enterpriseId}.", + "description": "The name of the enterprise in the form enterprises/{enterpriseId}.", "location": "path", "pattern": "^enterprises/[^/]+$", "required": true, @@ -197,37 +197,37 @@ ] }, "list": { - "description": "This feature is not generally available yet. Lists enterprises that are managed by an EMM. Only partial views are returned.", + "description": "Lists EMM-managed enterprises. Only BASIC fields are returned.", "flatPath": "v1/enterprises", "httpMethod": "GET", "id": "androidmanagement.enterprises.list", "parameterOrder": [], "parameters": { "pageSize": { - "description": "This feature is not generally available yet. The requested page size. The actual page size may be fixed to a min or max value.", + "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": "This feature is not generally available yet. A token identifying a page of results returned by the server.", + "description": "A token identifying a page of results returned by the server.", "location": "query", "type": "string" }, "projectId": { - "description": "Required. This feature is not generally available yet. The ID of the Cloud project of the EMM the enterprises belongs to.", + "description": "Required. The Cloud project ID of the EMM managing the enterprises.", "location": "query", "type": "string" }, "view": { - "description": "This feature is not generally available yet. View that specify that partial response should be returned.", + "description": "Specifies which Enterprise fields to return. This method only supports BASIC.", "enum": [ "ENTERPRISE_VIEW_UNSPECIFIED", "BASIC" ], "enumDescriptions": [ - "This feature is not generally available yet. The API will default to the BASIC view for the List method.", - "This feature is not generally available yet. Includes name and enterprise_display_name fields." + "The API will default to the BASIC view for the List method.", + "Includes name and enterprise_display_name fields." ], "location": "query", "type": "string" @@ -877,7 +877,7 @@ ], "parameters": { "pageSize": { - "description": "The requested page size. The actual page size may be fixed to a min or max value.", + "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" @@ -1004,11 +1004,11 @@ } } }, - "revision": "20210322", + "revision": "20220302", "rootUrl": "https://androidmanagement.googleapis.com/", "schemas": { "AdvancedSecurityOverrides": { - "description": "Security policies set to the most secure values by default. To maintain the security posture of a device, we don't recommend overriding any of the default values.", + "description": "Security policies set to secure values by default. To maintain the security posture of a device, we don't recommend overriding any of the default values.", "id": "AdvancedSecurityOverrides", "properties": { "commonCriteriaMode": { @@ -1025,6 +1025,41 @@ ], "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" + }, + "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": [ @@ -1086,10 +1121,53 @@ }, "type": "object" }, + "AppVersion": { + "description": "This represents a single version of the app.", + "id": "AppVersion", + "properties": { + "production": { + "description": "True if this version is a production track.", + "type": "boolean" + }, + "trackIds": { + "description": "Track ids that the app version is published in. This doesn't 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": { @@ -1097,6 +1175,91 @@ }, "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 at up to 512px x 512px", + "type": "string" + }, "managedProperties": { "description": "The set of managed properties available to be pre-configured for the app.", "items": { @@ -1104,8 +1267,13 @@ }, "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/{enterpriseId}/applications/{package_name}.", + "description": "The name of the app in the form enterprises/{enterprise}/applications/{package_name}.", "type": "string" }, "permissions": { @@ -1115,9 +1283,34 @@ }, "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 at up to 128px x 128px.", + "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" @@ -1191,7 +1384,7 @@ "type": "array" }, "autoUpdateMode": { - "description": "This feature is not generally available yet.", + "description": "Controls the auto-update mode for the app.", "enum": [ "AUTO_UPDATE_MODE_UNSPECIFIED", "AUTO_UPDATE_DEFAULT", @@ -1199,10 +1392,10 @@ "AUTO_UPDATE_HIGH_PRIORITY" ], "enumDescriptions": [ - "This feature is not generally available yet.", - "This feature is not generally available yet.", - "This feature is not generally available yet.", - "This feature is not generally available yet." + "Unspecified. Defaults to AUTO_UPDATE_DEFAULT.", + "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 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 immediately about a new update after it becomes available." ], "type": "string" }, @@ -1265,6 +1458,10 @@ "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." + }, "installType": { "description": "The type of installation to perform.", "enum": [ @@ -1594,7 +1791,7 @@ "type": "object" }, "ContactInfo": { - "description": "Contact details for LaForge enterprises.", + "description": "Contact details for managed Google Play enterprises.", "id": "ContactInfo", "properties": { "contactEmail": { @@ -1650,8 +1847,59 @@ }, "type": "object" }, + "CrossProfilePolicies": { + "description": "Cross-profile policies applied on the device.", + "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" + }, + "showWorkContactsInPersonalProfile": { + "description": "Whether contacts stored in the work profile can be shown in personal profile contact searches and incoming calls.", + "enum": [ + "SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_UNSPECIFIED", + "SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_DISALLOWED", + "SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_ALLOWED" + ], + "enumDescriptions": [ + "Unspecified. Defaults to SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_ALLOWED.", + "Prevents work profile contacts from appearing in personal profile contact searches and incoming calls", + "Default. Allows work profile contacts to appear in personal profile contact searches and incoming calls" + ], + "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 value, with a zero year, such as an anniversary A year on its own, with zero month and day values A year and month value, with a zero day, such as a credit card expiration dateRelated types are google.type.TimeOfDay and google.protobuf.Timestamp.", + "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 (e.g., an anniversary) A year on its own, with a zero month and a zero day A year and month, with a zero day (e.g., a credit card expiration date)Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "Date", "properties": { "day": { @@ -1688,6 +1936,13 @@ }, "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" @@ -1710,7 +1965,7 @@ "This value is disallowed.", "The device is active.", "The device is disabled.", - "The device was deleted. This state will never be returned by an API call, but is used in the final status report published to Cloud Pub/Sub when the device acknowledges the deletion.", + "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." ], "type": "string" @@ -1796,7 +2051,7 @@ }, "memoryInfo": { "$ref": "MemoryInfo", - "description": "Memory information. This information is only available if memoryInfoEnabled is true in the device's policy." + "description": "Memory information: contains information about device memory and storage." }, "name": { "description": "The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}.", @@ -1870,7 +2125,7 @@ "This value is disallowed.", "The device is active.", "The device is disabled.", - "The device was deleted. This state will never be returned by an API call, but is used in the final status report published to Cloud Pub/Sub when the device acknowledges the deletion.", + "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." ], "type": "string" @@ -1940,7 +2195,7 @@ "type": "boolean" }, "verifyAppsEnabled": { - "description": "Whether Verify Apps (Google Play Protect (https://support.google.com/googleplay/answer/2812853)) is enabled on the device.", + "description": "Whether Google Play Protect verification (https://support.google.com/accounts/answer/2812853) is enforced on the device.", "type": "boolean" } }, @@ -2075,7 +2330,7 @@ }, "contactInfo": { "$ref": "ContactInfo", - "description": "This feature is not generally available yet. The enterprise contact info of an EMM owned enterprise" + "description": "The enterprise contact info of an EMM-managed enterprise." }, "enabledNotificationTypes": { "description": "The types of Google Pub/Sub notifications enabled for the enterprise.", @@ -2136,6 +2391,24 @@ }, "type": "object" }, + "ExtensionConfig": { + "description": "Configuration to enable an app as an extension app, with the capability of interacting with Android Device Policy offline.", + "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 SHA256 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", @@ -2210,6 +2483,11 @@ "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": { @@ -2321,6 +2599,12 @@ }, "type": "object" }, + "IssueCommandResponse": { + "description": "Response on issuing a command. This is currently empty as a placeholder.", + "id": "IssueCommandResponse", + "properties": {}, + "type": "object" + }, "KeyedAppState": { "description": "Keyed app state reported by the app.", "id": "KeyedAppState", @@ -2475,18 +2759,18 @@ "type": "object" }, "ListEnterprisesResponse": { - "description": "This feature is not generally available yet. Response to a request to list enterprises.", + "description": "Response to a request to list enterprises.", "id": "ListEnterprisesResponse", "properties": { "enterprises": { - "description": "This feature is not generally available yet. The list of enterprises.", + "description": "The list of enterprises.", "items": { "$ref": "Enterprise" }, "type": "array" }, "nextPageToken": { - "description": "This feature is not generally available yet. If there are more results, a token to retrieve next page of results.", + "description": "If there are more results, a token to retrieve next page of results.", "type": "string" } }, @@ -2985,17 +3269,23 @@ "NUMERIC_COMPLEX", "ALPHABETIC", "ALPHANUMERIC", - "COMPLEX" + "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).", - "A password is required, but there are no restrictions on what the password must contain.", - "The password must contain numeric characters.", - "The password must contain numeric characters with no repeating (4444) or ordered (1234, 4321, 2468) sequences.", - "The password must contain alphabetic (or symbol) characters.", - "The password must contain both numeric and alphabetic (or symbol) characters.", - "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." + "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" }, @@ -3026,6 +3316,20 @@ "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 has no effect on other devices. 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" @@ -3178,7 +3482,7 @@ }, "advancedSecurityOverrides": { "$ref": "AdvancedSecurityOverrides", - "description": "Security policies set to the most secure values by default. To maintain the security posture of a device, we don't recommend overriding any of the default values." + "description": "Security policies set to secure values by default. To maintain the security posture of a device, we don't recommend overriding any of the default values." }, "alwaysOnVpnPackage": { "$ref": "AlwaysOnVpnPackage", @@ -3202,7 +3506,7 @@ "type": "array" }, "appAutoUpdatePolicy": { - "description": "The app auto update policy, which controls when automatic app updates can be applied.", + "description": "Deprecated. Use autoUpdateMode instead.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", @@ -3260,8 +3564,24 @@ "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": { - "description": "Whether all cameras on the device are disabled.", + "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": { @@ -3290,6 +3610,10 @@ "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" @@ -3386,7 +3710,7 @@ "Disable unredacted notifications on secure keyguard screens.", "Ignore trust agent state on secure keyguard screens.", "Disable fingerprint sensor on secure keyguard screens.", - "Disable text entry into notifications 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.", @@ -3437,6 +3761,22 @@ "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", @@ -3459,7 +3799,7 @@ "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.", + "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.", "type": "boolean" }, "networkResetDisabled": { @@ -3498,7 +3838,7 @@ }, "passwordRequirements": { "$ref": "PasswordRequirements", - "description": "Password requirements. The field password_requirements.require_password_unlock must not be set. DEPRECATED - Use password_policies.Note:Complexity-based values of PasswordQuality, that is, COMPLEXITY_LOW, COMPLEXITY_MEDIUM, and COMPLEXITY_HIGH, cannot be used here." + "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.", @@ -3547,6 +3887,20 @@ }, "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" + }, "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.", "type": "boolean" @@ -3576,7 +3930,7 @@ "type": "boolean" }, "setupActions": { - "description": "Actions to take during the setup process.", + "description": "Action to take during the setup process. At most one action may be specified.", "items": { "$ref": "SetupAction" }, @@ -3638,7 +3992,7 @@ "type": "boolean" }, "unmuteMicrophoneDisabled": { - "description": "Whether the microphone is muted and adjusting microphone volume is disabled.", + "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" }, "usbFileTransferDisabled": { @@ -3659,7 +4013,7 @@ "type": "boolean" }, "wifiConfigDisabled": { - "description": "Whether configuring Wi-Fi access points is disabled.", + "description": "Whether configuring Wi-Fi access points is disabled.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": { @@ -3824,7 +4178,7 @@ }, "launchApp": { "$ref": "LaunchAppAction", - "description": "An action to launch an app." + "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." }, "title": { "$ref": "UserFacingMessage", @@ -3990,7 +4344,7 @@ "type": "boolean" }, "memoryInfoEnabled": { - "description": "Whether memory reporting is enabled.", + "description": "Whether memory event reporting is enabled.", "type": "boolean" }, "networkInfoEnabled": { @@ -4044,7 +4398,7 @@ "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.", + "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." ], "type": "string" @@ -4212,7 +4566,8 @@ "PRIVATE_APPS", "WEB_APPS", "STORE_BUILDER", - "MANAGED_CONFIGURATIONS" + "MANAGED_CONFIGURATIONS", + "ZERO_TOUCH_CUSTOMER_MANAGEMENT" ], "enumDescriptions": [ "Unspecified feature.", @@ -4220,7 +4575,8 @@ "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 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" }, diff --git a/etc/api/androidpublisher/v3/androidpublisher-api.json b/etc/api/androidpublisher/v3/androidpublisher-api.json index a80ee17ca3..db2aea7cac 100644 --- a/etc/api/androidpublisher/v3/androidpublisher-api.json +++ b/etc/api/androidpublisher/v3/androidpublisher-api.json @@ -116,6 +116,11 @@ "editId" ], "parameters": { + "changesNotSentForReview": { + "description": "Indicates that the changes in this edit will not be reviewed until they are explicitly sent for review from the Google Play Console UI. These changes will be added to any other changes that are not yet sent for review.", + "location": "query", + "type": "boolean" + }, "editId": { "description": "Identifier of the edit.", "location": "path", @@ -434,7 +439,7 @@ ], "parameters": { "ackBundleInstallationWarning": { - "description": "Must be set to true if the bundle installation may trigger a warning on user devices (for example, if installation size may be over a threshold, typically 100 MB).", + "description": "Must be set to true if the app bundle installation may trigger a warning on user devices (for example, if installation size may be over a threshold, typically 100 MB).", "location": "query", "type": "boolean" }, @@ -462,6 +467,48 @@ } } }, + "countryavailability": { + "methods": { + "get": { + "description": "Gets country availability.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/countryAvailability/{track}", + "httpMethod": "GET", + "id": "androidpublisher.edits.countryavailability.get", + "parameterOrder": [ + "packageName", + "editId", + "track" + ], + "parameters": { + "editId": { + "description": "Identifier of the edit.", + "location": "path", + "required": true, + "type": "string" + }, + "packageName": { + "description": "Package name of the app.", + "location": "path", + "required": true, + "type": "string" + }, + "track": { + "description": "The track to read from.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/countryAvailability/{track}", + "response": { + "$ref": "TrackCountryAvailability" + }, + "scopes": [ + "https://www.googleapis.com/auth/androidpublisher" + ] + } + } + }, "deobfuscationfiles": { "methods": { "upload": { @@ -473,7 +520,7 @@ "accept": [ "application/octet-stream" ], - "maxSize": "314572800", + "maxSize": "629145600", "protocols": { "resumable": { "multipart": true, @@ -1685,6 +1732,168 @@ } } }, + "generatedapks": { + "methods": { + "download": { + "description": "Downloads a single signed APK generated from an app bundle.", + "flatPath": "androidpublisher/v3/applications/{packageName}/generatedApks/{versionCode}/downloads/{downloadId}:download", + "httpMethod": "GET", + "id": "androidpublisher.generatedapks.download", + "parameterOrder": [ + "packageName", + "versionCode", + "downloadId" + ], + "parameters": { + "downloadId": { + "description": "Download ID, which uniquely identifies the APK to download. Can be obtained from the response of `generatedapks.list` method.", + "location": "path", + "required": true, + "type": "string" + }, + "packageName": { + "description": "Package name of the app.", + "location": "path", + "required": true, + "type": "string" + }, + "versionCode": { + "description": "Version code of the app bundle.", + "format": "int32", + "location": "path", + "required": true, + "type": "integer" + } + }, + "path": "androidpublisher/v3/applications/{packageName}/generatedApks/{versionCode}/downloads/{downloadId}:download", + "scopes": [ + "https://www.googleapis.com/auth/androidpublisher" + ], + "supportsMediaDownload": true, + "useMediaDownloadService": true + }, + "list": { + "description": "Returns download metadata for all APKs that were generated from a given app bundle.", + "flatPath": "androidpublisher/v3/applications/{packageName}/generatedApks/{versionCode}", + "httpMethod": "GET", + "id": "androidpublisher.generatedapks.list", + "parameterOrder": [ + "packageName", + "versionCode" + ], + "parameters": { + "packageName": { + "description": "Package name of the app.", + "location": "path", + "required": true, + "type": "string" + }, + "versionCode": { + "description": "Version code of the app bundle.", + "format": "int32", + "location": "path", + "required": true, + "type": "integer" + } + }, + "path": "androidpublisher/v3/applications/{packageName}/generatedApks/{versionCode}", + "response": { + "$ref": "GeneratedApksListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/androidpublisher" + ] + } + } + }, + "grants": { + "methods": { + "create": { + "description": "Grant access for a user to the given package.", + "flatPath": "androidpublisher/v3/developers/{developersId}/users/{usersId}/grants", + "httpMethod": "POST", + "id": "androidpublisher.grants.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The user which needs permission. Format: developers/{developer}/users/{user}", + "location": "path", + "pattern": "^developers/[^/]+/users/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "androidpublisher/v3/{+parent}/grants", + "request": { + "$ref": "Grant" + }, + "response": { + "$ref": "Grant" + }, + "scopes": [ + "https://www.googleapis.com/auth/androidpublisher" + ] + }, + "delete": { + "description": "Removes all access for the user to the given package or developer account.", + "flatPath": "androidpublisher/v3/developers/{developersId}/users/{usersId}/grants/{grantsId}", + "httpMethod": "DELETE", + "id": "androidpublisher.grants.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the grant to delete. Format: developers/{developer}/users/{email}/grants/{package_name}", + "location": "path", + "pattern": "^developers/[^/]+/users/[^/]+/grants/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "androidpublisher/v3/{+name}", + "scopes": [ + "https://www.googleapis.com/auth/androidpublisher" + ] + }, + "patch": { + "description": "Updates access for the user to the given package.", + "flatPath": "androidpublisher/v3/developers/{developersId}/users/{usersId}/grants/{grantsId}", + "httpMethod": "PATCH", + "id": "androidpublisher.grants.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name for this grant, following the pattern \"developers/{developer}/users/{email}/grants/{package_name}\".", + "location": "path", + "pattern": "^developers/[^/]+/users/[^/]+/grants/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "androidpublisher/v3/{+name}", + "request": { + "$ref": "Grant" + }, + "response": { + "$ref": "Grant" + }, + "scopes": [ + "https://www.googleapis.com/auth/androidpublisher" + ] + } + } + }, "inappproducts": { "methods": { "delete": { @@ -1779,7 +1988,7 @@ ] }, "list": { - "description": "Lists all in-app products - both managed products and subscriptions.", + "description": "Lists all in-app products - both managed products and subscriptions. If an app has a large number of in-app products, the response may be paginated. In this case the response field `tokenPagination.nextPageToken` will be set and the caller should provide its value as a `token` request parameter to retrieve the next page.", "flatPath": "androidpublisher/v3/applications/{packageName}/inappproducts", "httpMethod": "GET", "id": "androidpublisher.inappproducts.list", @@ -1788,7 +1997,7 @@ ], "parameters": { "maxResults": { - "description": "How many results the list operation should return.", + "description": "Deprecated and ignored. The page size is determined by the server.", "format": "uint32", "location": "query", "type": "integer" @@ -1800,7 +2009,7 @@ "type": "string" }, "startIndex": { - "description": "The index of the first element to return.", + "description": "Deprecated and ignored. Set the `token` parameter to rertieve the next page.", "format": "uint32", "location": "query", "type": "integer" @@ -1868,6 +2077,11 @@ "sku" ], "parameters": { + "allowMissing": { + "description": "If set to true, and the in-app product with the given package_name and sku doesn't exist, the in-app product will be created.", + "location": "query", + "type": "boolean" + }, "autoConvertMissingPrices": { "description": "If true the prices for all regions targeted by the parent app that don't have a price specified for this in-app product will be auto converted to the target currency based on the default price. Defaults to false.", "location": "query", @@ -1986,10 +2200,41 @@ } } }, + "monetization": { + "methods": { + "convertRegionPrices": { + "description": "Calculates the region prices, using today's exchange rate and country-specific pricing patterns, based on the price in the request for a set of regions.", + "flatPath": "androidpublisher/v3/applications/{packageName}/pricing:convertRegionPrices", + "httpMethod": "POST", + "id": "androidpublisher.monetization.convertRegionPrices", + "parameterOrder": [ + "packageName" + ], + "parameters": { + "packageName": { + "description": "Required. The app package name.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "androidpublisher/v3/applications/{packageName}/pricing:convertRegionPrices", + "request": { + "$ref": "ConvertRegionPricesRequest" + }, + "response": { + "$ref": "ConvertRegionPricesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/androidpublisher" + ] + } + } + }, "orders": { "methods": { "refund": { - "description": "Refund a user's subscription or in-app purchase order.", + "description": "Refunds a user's subscription or in-app purchase order. Orders older than 1 year cannot be refunded.", "flatPath": "androidpublisher/v3/applications/{packageName}/orders/{orderId}:refund", "httpMethod": "POST", "id": "androidpublisher.orders.refund", @@ -2669,9 +2914,133 @@ } } } + }, + "users": { + "methods": { + "create": { + "description": "Grant access for a user to the given developer account.", + "flatPath": "androidpublisher/v3/developers/{developersId}/users", + "httpMethod": "POST", + "id": "androidpublisher.users.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The developer account to add the user to. Format: developers/{developer}", + "location": "path", + "pattern": "^developers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "androidpublisher/v3/{+parent}/users", + "request": { + "$ref": "User" + }, + "response": { + "$ref": "User" + }, + "scopes": [ + "https://www.googleapis.com/auth/androidpublisher" + ] + }, + "delete": { + "description": "Removes all access for the user to the given developer account.", + "flatPath": "androidpublisher/v3/developers/{developersId}/users/{usersId}", + "httpMethod": "DELETE", + "id": "androidpublisher.users.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the user to delete. Format: developers/{developer}/users/{email}", + "location": "path", + "pattern": "^developers/[^/]+/users/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "androidpublisher/v3/{+name}", + "scopes": [ + "https://www.googleapis.com/auth/androidpublisher" + ] + }, + "list": { + "description": "Lists all users with access to a developer account.", + "flatPath": "androidpublisher/v3/developers/{developersId}/users", + "httpMethod": "GET", + "id": "androidpublisher.users.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of results to return. This must be set to -1 to disable pagination.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token received from a previous call to this method, in order to retrieve further results.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The developer account to fetch users from. Format: developers/{developer}", + "location": "path", + "pattern": "^developers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "androidpublisher/v3/{+parent}/users", + "response": { + "$ref": "ListUsersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/androidpublisher" + ] + }, + "patch": { + "description": "Updates access for the user to the developer account.", + "flatPath": "androidpublisher/v3/developers/{developersId}/users/{usersId}", + "httpMethod": "PATCH", + "id": "androidpublisher.users.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name for this user, following the pattern \"developers/{developer}/users/{email}\".", + "location": "path", + "pattern": "^developers/[^/]+/users/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "androidpublisher/v3/{+name}", + "request": { + "$ref": "User" + }, + "response": { + "$ref": "User" + }, + "scopes": [ + "https://www.googleapis.com/auth/androidpublisher" + ] + } + } } }, - "revision": "20210401", + "revision": "20220307", "rootUrl": "https://androidpublisher.googleapis.com/", "schemas": { "Apk": { @@ -2786,7 +3155,7 @@ "type": "object" }, "Bundle": { - "description": "Information about a bundle. The resource for BundlesService.", + "description": "Information about an app bundle. The resource for BundlesService.", "id": "Bundle", "properties": { "sha1": { @@ -2806,11 +3175,11 @@ "type": "object" }, "BundlesListResponse": { - "description": "Response listing all bundles.", + "description": "Response listing all app bundles.", "id": "BundlesListResponse", "properties": { "bundles": { - "description": "All bundles.", + "description": "All app bundles.", "items": { "$ref": "Bundle" }, @@ -2838,6 +3207,69 @@ }, "type": "object" }, + "ConvertRegionPricesRequest": { + "description": "Request message for ConvertRegionPrices.", + "id": "ConvertRegionPricesRequest", + "properties": { + "price": { + "$ref": "Money", + "description": "The intital price to convert other regions from. Tax exclusive." + } + }, + "type": "object" + }, + "ConvertRegionPricesResponse": { + "description": "Response message for ConvertRegionPrices.", + "id": "ConvertRegionPricesResponse", + "properties": { + "convertedOtherRegionsPrice": { + "$ref": "ConvertedOtherRegionsPrice", + "description": "Converted other regions prices in USD and EUR, to use for countries where Play doesn't support a country's local currency." + }, + "convertedRegionPrices": { + "additionalProperties": { + "$ref": "ConvertedRegionPrice" + }, + "description": "Map from region code to converted region price.", + "type": "object" + } + }, + "type": "object" + }, + "ConvertedOtherRegionsPrice": { + "description": "Converted other regions prices.", + "id": "ConvertedOtherRegionsPrice", + "properties": { + "eurPrice": { + "$ref": "Money", + "description": "Price in EUR to use for the \"Other regions\" location exclusive of taxes." + }, + "usdPrice": { + "$ref": "Money", + "description": "Price in USD to use for the \"Other regions\" location exclusive of taxes." + } + }, + "type": "object" + }, + "ConvertedRegionPrice": { + "description": "A converted region price.", + "id": "ConvertedRegionPrice", + "properties": { + "price": { + "$ref": "Money", + "description": "The converted price tax inclusive." + }, + "regionCode": { + "description": "The region code of the region.", + "type": "string" + }, + "taxAmount": { + "$ref": "Money", + "description": "The tax amount of the converted price." + } + }, + "type": "object" + }, "CountryTargeting": { "description": "Country targeting specification.", "id": "CountryTargeting", @@ -3096,6 +3528,179 @@ }, "type": "object" }, + "GeneratedApksListResponse": { + "description": "Response to list generated APKs.", + "id": "GeneratedApksListResponse", + "properties": { + "generatedApks": { + "description": "All generated APKs, grouped by the APK signing key.", + "items": { + "$ref": "GeneratedApksPerSigningKey" + }, + "type": "array" + } + }, + "type": "object" + }, + "GeneratedApksPerSigningKey": { + "description": "Download metadata for split, standalone and universal APKs, as well as asset pack slices, signed with a given key.", + "id": "GeneratedApksPerSigningKey", + "properties": { + "certificateSha256Hash": { + "description": "SHA256 hash of the APK signing public key certificate.", + "type": "string" + }, + "generatedAssetPackSlices": { + "description": "List of asset pack slices which will be served for this app bundle, signed with a key corresponding to certificate_sha256_hash.", + "items": { + "$ref": "GeneratedAssetPackSlice" + }, + "type": "array" + }, + "generatedSplitApks": { + "description": "List of generated split APKs, signed with a key corresponding to certificate_sha256_hash.", + "items": { + "$ref": "GeneratedSplitApk" + }, + "type": "array" + }, + "generatedStandaloneApks": { + "description": "List of generated standalone APKs, signed with a key corresponding to certificate_sha256_hash.", + "items": { + "$ref": "GeneratedStandaloneApk" + }, + "type": "array" + }, + "generatedUniversalApk": { + "$ref": "GeneratedUniversalApk", + "description": "Generated universal APK, signed with a key corresponding to certificate_sha256_hash. This field is not set if no universal APK was generated for this signing key." + } + }, + "type": "object" + }, + "GeneratedAssetPackSlice": { + "description": "Download metadata for an asset pack slice.", + "id": "GeneratedAssetPackSlice", + "properties": { + "downloadId": { + "description": "Download ID, which uniquely identifies the APK to download. Should be supplied to `generatedapks.download` method.", + "type": "string" + }, + "moduleName": { + "description": "Name of the module that this asset slice belongs to.", + "type": "string" + }, + "sliceId": { + "description": "Asset slice ID.", + "type": "string" + }, + "version": { + "description": "Asset module version.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GeneratedSplitApk": { + "description": "Download metadata for a split APK.", + "id": "GeneratedSplitApk", + "properties": { + "downloadId": { + "description": "Download ID, which uniquely identifies the APK to download. Should be supplied to `generatedapks.download` method.", + "type": "string" + }, + "moduleName": { + "description": "Name of the module that this APK belongs to.", + "type": "string" + }, + "splitId": { + "description": "Split ID. Empty for the main split of the base module.", + "type": "string" + }, + "variantId": { + "description": "ID of the generated variant.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GeneratedStandaloneApk": { + "description": "Download metadata for a standalone APK.", + "id": "GeneratedStandaloneApk", + "properties": { + "downloadId": { + "description": "Download ID, which uniquely identifies the APK to download. Should be supplied to `generatedapks.download` method.", + "type": "string" + }, + "variantId": { + "description": "ID of the generated variant.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GeneratedUniversalApk": { + "description": "Download metadata for a universal APK.", + "id": "GeneratedUniversalApk", + "properties": { + "downloadId": { + "description": "Download ID, which uniquely identifies the APK to download. Should be supplied to `generatedapks.download` method.", + "type": "string" + } + }, + "type": "object" + }, + "Grant": { + "description": "An access grant resource.", + "id": "Grant", + "properties": { + "appLevelPermissions": { + "description": "The permissions granted to the user for this app.", + "items": { + "enum": [ + "APP_LEVEL_PERMISSION_UNSPECIFIED", + "CAN_ACCESS_APP", + "CAN_VIEW_FINANCIAL_DATA", + "CAN_MANAGE_PERMISSIONS", + "CAN_REPLY_TO_REVIEWS", + "CAN_MANAGE_PUBLIC_APKS", + "CAN_MANAGE_TRACK_APKS", + "CAN_MANAGE_TRACK_USERS", + "CAN_MANAGE_PUBLIC_LISTING", + "CAN_MANAGE_DRAFT_APPS", + "CAN_MANAGE_ORDERS" + ], + "enumDescriptions": [ + "Unknown or unspecified permission.", + "View app information (read-only).", + "View financial data.", + "Admin (all permissions).", + "Reply to reviews.", + "Release to production, exclude devices, and use app signing by Google Play.", + "Release to testing tracks.", + "Manage testing tracks and edit tester lists.", + "Manage store presence.", + "Edit and delete draft apps.", + "Manage orders and subscriptions." + ], + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Required. Resource name for this grant, following the pattern \"developers/{developer}/users/{email}/grants/{package_name}\".", + "type": "string" + }, + "packageName": { + "description": "Immutable. The package name of the app.", + "type": "string" + } + }, + "type": "object" + }, "Image": { "description": "An uploaded image. The resource for ImagesService.", "id": "Image", @@ -3181,6 +3786,10 @@ "description": "List of localized title and description data. Map key is the language of the localized data, as defined by BCP-47, e.g. \"en-US\".", "type": "object" }, + "managedProductTaxesAndComplianceSettings": { + "$ref": "ManagedProductTaxAndComplianceSettings", + "description": "Details about taxes and legal compliance. Only applicable to managed products." + }, "packageName": { "description": "Package name of the parent app.", "type": "string" @@ -3228,6 +3837,10 @@ "description": "Subscription period, specified in ISO 8601 format. Acceptable values are P1W (one week), P1M (one month), P3M (three months), P6M (six months), and P1Y (one year).", "type": "string" }, + "subscriptionTaxesAndComplianceSettings": { + "$ref": "SubscriptionTaxAndComplianceSettings", + "description": "Details about taxes and legal compliance. Only applicable to subscription products." + }, "trialPeriod": { "description": "Trial period, specified in ISO 8601 format. Acceptable values are anything between P7D (seven days) and P999D (999 days).", "type": "string" @@ -3274,7 +3887,7 @@ }, "pageInfo": { "$ref": "PageInfo", - "description": "Information about the current page." + "description": "Deprecated and unset." }, "tokenPagination": { "$ref": "TokenPagination", @@ -3327,6 +3940,24 @@ }, "type": "object" }, + "ListUsersResponse": { + "description": "A response containing one or more users with access to an account.", + "id": "ListUsersResponse", + "properties": { + "nextPageToken": { + "description": "A token to pass to subsequent calls in order to retrieve subsequent results. This will not be set if there are no more results to return.", + "type": "string" + }, + "users": { + "description": "The resulting users.", + "items": { + "$ref": "User" + }, + "type": "array" + } + }, + "type": "object" + }, "Listing": { "description": "A localized store listing. The resource for ListingsService.", "id": "Listing", @@ -3373,7 +4004,7 @@ "type": "object" }, "LocalizedText": { - "description": "Release notes specification, i.e. language and text.", + "description": "Localized text in given language.", "id": "LocalizedText", "properties": { "language": { @@ -3387,6 +4018,55 @@ }, "type": "object" }, + "ManagedProductTaxAndComplianceSettings": { + "description": "Details about taxation and legal compliance for managed products.", + "id": "ManagedProductTaxAndComplianceSettings", + "properties": { + "eeaWithdrawalRightType": { + "description": "Digital content or service classification for products distributed to users in the European Economic Area (EEA). The withdrawal regime under EEA consumer laws depends on this classification. Refer to the [Help Center article](https://support.google.com/googleplay/android-developer/answer/10463498) for more information.", + "enum": [ + "WITHDRAWAL_RIGHT_TYPE_UNSPECIFIED", + "WITHDRAWAL_RIGHT_DIGITAL_CONTENT", + "WITHDRAWAL_RIGHT_SERVICE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "taxRateInfoByRegionCode": { + "additionalProperties": { + "$ref": "RegionalTaxRateInfo" + }, + "description": "A mapping from region code to tax rate details. The keys are region codes as defined by Unicode's \"CLDR\".", + "type": "object" + } + }, + "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" + }, "PageInfo": { "description": "Information about the current page. List operations that supports paging return only one \"page\" of results. This protocol buffer message describes the page that has been returned.", "id": "PageInfo", @@ -3504,6 +4184,37 @@ }, "type": "object" }, + "RegionalTaxRateInfo": { + "description": "Specified details about taxation in a given geographical region.", + "id": "RegionalTaxRateInfo", + "properties": { + "eligibleForStreamingServiceTaxRate": { + "description": "You must tell us if your app contains streaming products to correctly charge US state and local sales tax. Field only supported in United States.", + "type": "boolean" + }, + "taxTier": { + "description": "Tax tier to specify reduced tax rate. Developers who sell digital news, magazines, newspapers, books, or audiobooks in various regions may be eligible for reduced tax rates. [Learn more](https://support.google.com/googleplay/android-developer/answer/10463498).", + "enum": [ + "TAX_TIER_UNSPECIFIED", + "TAX_TIER_BOOKS_1", + "TAX_TIER_NEWS_1", + "TAX_TIER_NEWS_2", + "TAX_TIER_MUSIC_OR_AUDIO_1", + "TAX_TIER_LIVE_OR_BROADCAST_1" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "Review": { "description": "An Android app review.", "id": "Review", @@ -3711,7 +4422,7 @@ "type": "string" }, "orderId": { - "description": "The order id of the latest recurring order associated with the purchase of the subscription.", + "description": "The order id of the latest recurring order associated with the purchase of the subscription. If the subscription was canceled because payment was declined, this will be the order id from the payment declined order.", "type": "string" }, "paymentState": { @@ -3720,7 +4431,7 @@ "type": "integer" }, "priceAmountMicros": { - "description": "Price of the subscription, not including tax. Price is expressed in micro-units, where 1,000,000 micro-units represents one unit of the currency. For example, if the subscription price is \u20ac1.99, price_amount_micros is 1990000.", + "description": "Price of the subscription, For tax exclusive countries, the price doesn't include tax. For tax inclusive countries, the price includes tax. Price is expressed in micro-units, where 1,000,000 micro-units represents one unit of the currency. For example, if the subscription price is \u20ac1.99, price_amount_micros is 1990000.", "format": "int64", "type": "string" }, @@ -3801,6 +4512,34 @@ }, "type": "object" }, + "SubscriptionTaxAndComplianceSettings": { + "description": "Details about taxation, Google Play policy and legal compliance for subscription products.", + "id": "SubscriptionTaxAndComplianceSettings", + "properties": { + "eeaWithdrawalRightType": { + "description": "Digital content or service classification for products distributed to users in the European Economic Area (EEA). The withdrawal regime under EEA consumer laws depends on this classification. Refer to the [Help Center article](https://support.google.com/googleplay/android-developer/answer/10463498) for more information.", + "enum": [ + "WITHDRAWAL_RIGHT_TYPE_UNSPECIFIED", + "WITHDRAWAL_RIGHT_DIGITAL_CONTENT", + "WITHDRAWAL_RIGHT_SERVICE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "taxRateInfoByRegionCode": { + "additionalProperties": { + "$ref": "RegionalTaxRateInfo" + }, + "description": "A mapping from region code to tax rate details. The keys are region codes as defined by Unicode's \"CLDR\".", + "type": "object" + } + }, + "type": "object" + }, "SystemApksListResponse": { "description": "Response to list previously created system APK variants.", "id": "SystemApksListResponse", @@ -3878,6 +4617,28 @@ }, "type": "object" }, + "TrackCountryAvailability": { + "description": "Resource for per-track country availability information.", + "id": "TrackCountryAvailability", + "properties": { + "countries": { + "description": "A list of one or more countries where artifacts in this track are available. This list includes all countries that are targeted by the track, even if only specific carriers are targeted in that country.", + "items": { + "$ref": "TrackTargetedCountry" + }, + "type": "array" + }, + "restOfWorld": { + "description": "Whether artifacts in this track are available to \"rest of the world\" countries.", + "type": "boolean" + }, + "syncWithProduction": { + "description": "Whether this track's availability is synced with the default production track. See https://support.google.com/googleplay/android-developer/answer/7550024 for more information on syncing country availability with production. Note that if this is true, the returned \"countries\" and \"rest_of_world\" fields will reflect the values for the default production track.", + "type": "boolean" + } + }, + "type": "object" + }, "TrackRelease": { "description": "A release within a track.", "id": "TrackRelease", @@ -3936,6 +4697,17 @@ }, "type": "object" }, + "TrackTargetedCountry": { + "description": "Representation of a single country where the contents of a track are available.", + "id": "TrackTargetedCountry", + "properties": { + "countryCode": { + "description": "The country to target, as a two-letter CLDR code.", + "type": "string" + } + }, + "type": "object" + }, "TracksListResponse": { "description": "Response listing all tracks.", "id": "TracksListResponse", @@ -3954,6 +4726,99 @@ }, "type": "object" }, + "User": { + "description": "A user resource.", + "id": "User", + "properties": { + "accessState": { + "description": "Output only. The state of the user's access to the Play Console.", + "enum": [ + "ACCESS_STATE_UNSPECIFIED", + "INVITED", + "INVITATION_EXPIRED", + "ACCESS_GRANTED", + "ACCESS_EXPIRED" + ], + "enumDescriptions": [ + "Unknown or unspecified access state.", + "User is invited but has not yet accepted the invitation.", + "Invitation has expired.", + "User has accepted an invitation and has access to the Play Console.", + "Account access has expired." + ], + "readOnly": true, + "type": "string" + }, + "developerAccountPermissions": { + "description": "Permissions for the user which apply across the developer account.", + "items": { + "enum": [ + "DEVELOPER_LEVEL_PERMISSION_UNSPECIFIED", + "CAN_SEE_ALL_APPS", + "CAN_VIEW_FINANCIAL_DATA_GLOBAL", + "CAN_MANAGE_PERMISSIONS_GLOBAL", + "CAN_EDIT_GAMES_GLOBAL", + "CAN_PUBLISH_GAMES_GLOBAL", + "CAN_REPLY_TO_REVIEWS_GLOBAL", + "CAN_MANAGE_PUBLIC_APKS_GLOBAL", + "CAN_MANAGE_TRACK_APKS_GLOBAL", + "CAN_MANAGE_TRACK_USERS_GLOBAL", + "CAN_MANAGE_PUBLIC_LISTING_GLOBAL", + "CAN_MANAGE_DRAFT_APPS_GLOBAL", + "CAN_CREATE_MANAGED_PLAY_APPS_GLOBAL", + "CAN_CHANGE_MANAGED_PLAY_SETTING_GLOBAL", + "CAN_MANAGE_ORDERS_GLOBAL" + ], + "enumDescriptions": [ + "Unknown or unspecified permission.", + "View app information and download bulk reports (read-only).", + "View financial data, orders, and cancellation survey responses.", + "Admin (all permissions).", + "Edit Play Games Services projects.", + "Publish Play Games Services projects.", + "Reply to reviews.", + "Release to production, exclude devices, and use app signing by Google Play.", + "Release to testing tracks.", + "Manage testing tracks and edit tester lists.", + "Manage store presence.", + "Create, edit, and delete draft apps.", + "Create and publish private apps to your organization.", + "Choose whether apps are public, or only available to your organization.", + "Manage orders and subscriptions." + ], + "type": "string" + }, + "type": "array" + }, + "email": { + "description": "Immutable. The user's email address.", + "type": "string" + }, + "expirationTime": { + "description": "The time at which the user's access expires, if set.", + "format": "google-datetime", + "type": "string" + }, + "grants": { + "description": "Output only. Per-app permissions for the user.", + "items": { + "$ref": "Grant" + }, + "readOnly": true, + "type": "array" + }, + "name": { + "description": "Required. Resource name for this user, following the pattern \"developers/{developer}/users/{email}\".", + "type": "string" + }, + "partial": { + "description": "Output only. Whether there are more permissions for the user that are not represented here.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, "UserComment": { "description": "User entry from conversation between user and developer.", "id": "UserComment", diff --git a/etc/api/api-list.yaml b/etc/api/api-list.yaml index a5cbe05b0f..08e29bf34f 100644 --- a/etc/api/api-list.yaml +++ b/etc/api/api-list.yaml @@ -29,6 +29,7 @@ api: - v1 adsense: - v1.4 + - v2 adsensehost: - v4.1 alertcenter: @@ -54,6 +55,8 @@ api: - v1 apigee: - v1 + apikeys: + - v2 appengine: - v1 - v1beta4 @@ -69,8 +72,12 @@ api: - v1beta1 assuredworkloads: - v1 + authorizedbuyersmarketplace: + - v1 autoscaler: - v1beta2 + baremetalsolution: + - v2 bigquery: - v2 bigqueryconnection: @@ -93,6 +100,8 @@ api: - v1 calendar: - v3 + certificatemanager: + - v1 chat: - v1 chromemanagement: @@ -116,6 +125,8 @@ api: - v1 clouddebugger: - v2 + clouddeploy: + - v1 clouderrorreporting: - v1beta1 cloudfunctions: @@ -149,6 +160,8 @@ api: - v1 cloudshell: - v1 + cloudsupport: + - v2beta cloudtasks: - v2 - v2beta2 @@ -164,12 +177,17 @@ api: - v1 compute: - v1 + connectors: + - v1 consumersurveys: - v2 + contactcenterinsights: + - v1 container: - v1 containeranalysis: - v1beta1 + - v1 content: - v2 - v2sandbox @@ -179,6 +197,7 @@ api: - v1 datacatalog: - v1beta1 + - v1 dataflow: - v1b4 - v1b3 @@ -189,11 +208,17 @@ api: - v1beta1 datamigration: - v1 + datapipelines: + - v1 + dataplex: + - v1 dataproc: - v1 datastore: - v1 - v1beta3 + datastream: + - v1 deploymentmanager: - v2 - v2beta2 @@ -203,6 +228,7 @@ api: - v3.2 - v3.3 - v3.4 + - v3.5 dialogflow: - v2 - v2beta1 @@ -218,6 +244,7 @@ api: - v2beta1 dns: - v1 + - v2 docs: - v1 documentai: @@ -225,6 +252,7 @@ api: - v1beta2 domains: - v1beta1 + - v1 domainsrdap: - v1 doubleclickbidmanager: @@ -237,17 +265,23 @@ api: - v3 driveactivity: - v2 + essentialcontacts: + - v1 eventarc: - v1 factchecktools: - v1alpha1 fcm: - v1 + fcmdata: + - v1beta1 file: - v1 - v1beta1 firebase: - v1beta1 + firebaseappcheck: + - v1beta firebasedatabase: - v1beta firebasedynamiclinks: @@ -305,13 +339,19 @@ api: iap: - v1 - v1beta1 + ideahub: + - v1beta identitytoolkit: - v3 + ids: + - v1 indexing: - v3 jobs: - v3 - v4 + keep: + - v1 kgsearch: - v1 language: @@ -349,10 +389,29 @@ api: - v4 mybusinessaccountmanagement: - v1 + mybusinessbusinesscalls: + - v1 + mybusinessbusinessinformation: + - v1 + mybusinesslodging: + - v1 + mybusinessnotifications: + - v1 + mybusinessplaceactions: + - v1 + mybusinessqanda: + - v1 + mybusinessverifications: + - v1 networkconnectivity: - v1alpha1 + - v1 networkmanagement: - v1 + networksecurity: + - v1 + networkservices: + - v1 notebooks: - v1 oauth2: @@ -374,6 +433,8 @@ api: - v5 partners: - v2 + paymentsresellersubscription: + - v1 people: - v1 photoslibrary: @@ -382,12 +443,16 @@ api: - v3 playcustomapp: - v1 + playintegrity: + - v1 playmoviespartner: - v1 plus: - v1 plusdomains: - v1 + policyanalyzer: + - v1 policysimulator: - v1 policytroubleshooter: @@ -398,6 +463,7 @@ api: - v1.6 privateca: - v1beta1 + - v1 prod_tt_sasportal: - v1alpha1 proximitybeacon: @@ -411,6 +477,8 @@ api: - v1 realtimebidding: - v1 + recaptchaenterprise: + - v1 recommendationengine: - v1beta1 recommender: @@ -426,12 +494,15 @@ api: - v1beta1 reseller: - v1sandbox + resourcesettings: + - v1 resourceviews: - v1beta2 retail: - v2 run: - v1 + - v2 runtimeconfig: - v1 - v1beta1 @@ -490,6 +561,7 @@ api: - v1beta4 sqladmin: - v1beta4 + - v1 storage: - v1 storagetransfer: @@ -521,6 +593,7 @@ api: - v2 transcoder: - v1beta1 + - v1 translate: - v2 - v3 @@ -532,11 +605,15 @@ api: - v1 verifiedaccess: - v1 + versionhistory: + - v1 videointelligence: - v1 - v1beta1 vision: - v1 + vmmigration: + - v1 webfonts: - v1 webmasters: diff --git a/etc/api/apigateway/v1/apigateway-api.json b/etc/api/apigateway/v1/apigateway-api.json index 5136fa7b70..d2421f73f0 100644 --- a/etc/api/apigateway/v1/apigateway-api.json +++ b/etc/api/apigateway/v1/apigateway-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -155,7 +155,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -271,7 +271,7 @@ ], "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).", + "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" @@ -540,7 +540,7 @@ ], "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).", + "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" @@ -796,7 +796,7 @@ ], "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).", + "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" @@ -1083,7 +1083,7 @@ } } }, - "revision": "20210318", + "revision": "20220223", "rootUrl": "https://apigateway.googleapis.com/", "schemas": { "ApigatewayApi": { @@ -1328,22 +1328,22 @@ "type": "object" }, "ApigatewayBinding": { - "description": "Associates `members` with a `role`.", + "description": "Associates `members`, or principals, with a `role`.", "id": "ApigatewayBinding", "properties": { "condition": { "$ref": "ApigatewayExpr", - "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -1691,7 +1691,7 @@ "type": "object" }, "ApigatewayPolicy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` 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/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "ApigatewayPolicy", "properties": { "auditConfigs": { @@ -1702,7 +1702,7 @@ "type": "array" }, "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.", + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", "items": { "$ref": "ApigatewayBinding" }, diff --git a/etc/api/apigateway/v1beta/apigateway-api.json b/etc/api/apigateway/v1beta/apigateway-api.json index b48907132a..bacb635914 100644 --- a/etc/api/apigateway/v1beta/apigateway-api.json +++ b/etc/api/apigateway/v1beta/apigateway-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -155,7 +155,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -271,7 +271,7 @@ ], "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).", + "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" @@ -540,7 +540,7 @@ ], "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).", + "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" @@ -796,7 +796,7 @@ ], "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).", + "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" @@ -1083,7 +1083,7 @@ } } }, - "revision": "20210318", + "revision": "20220223", "rootUrl": "https://apigateway.googleapis.com/", "schemas": { "ApigatewayApi": { @@ -1343,22 +1343,22 @@ "type": "object" }, "ApigatewayBinding": { - "description": "Associates `members` with a `role`.", + "description": "Associates `members`, or principals, with a `role`.", "id": "ApigatewayBinding", "properties": { "condition": { "$ref": "ApigatewayExpr", - "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -1717,7 +1717,7 @@ "type": "object" }, "ApigatewayPolicy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` 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/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "ApigatewayPolicy", "properties": { "auditConfigs": { @@ -1728,7 +1728,7 @@ "type": "array" }, "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.", + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", "items": { "$ref": "ApigatewayBinding" }, diff --git a/etc/api/apigee/v1/apigee-api.json b/etc/api/apigee/v1/apigee-api.json index 4a44cf11bb..0772bd2f5e 100644 --- a/etc/api/apigee/v1/apigee-api.json +++ b/etc/api/apigee/v1/apigee-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -254,6 +254,31 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getRuntimeConfig": { + "description": "Get runtime config for an organization.", + "flatPath": "v1/organizations/{organizationsId}/runtimeConfig", + "httpMethod": "GET", + "id": "apigee.organizations.getRuntimeConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the runtime config for the organization in the following format: 'organizations/{org}/runtimeConfig'.", + "location": "path", + "pattern": "^organizations/[^/]+/runtimeConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1RuntimeConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "getSyncAuthorization": { "description": "Lists the service accounts with the permissions required to allow the Synchronizer to download environment data from the control plane. An ETag is returned in the response to `getSyncAuthorization`. Pass that ETag when calling [setSyncAuthorization](setSyncAuthorization) to ensure that you are updating the correct version. If you don't pass the ETag in the call to `setSyncAuthorization`, then the existing authorization is overwritten indiscriminately. For more information, see [Configure the Synchronizer](https://cloud.google.com/apigee/docs/hybrid/latest/synchronizer-access). **Note**: Available to Apigee hybrid only.", "flatPath": "v1/organizations/{organizationsId}:getSyncAuthorization", @@ -307,6 +332,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "setAddons": { + "description": "Configures the add-ons for the Apigee organization. The existing add-on configuration will be fully replaced.", + "flatPath": "v1/organizations/{organizationsId}:setAddons", + "httpMethod": "POST", + "id": "apigee.organizations.setAddons", + "parameterOrder": [ + "org" + ], + "parameters": { + "org": { + "description": "Required. Name of the organization. Use the following structure in your request: `organizations/{org}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+org}:setAddons", + "request": { + "$ref": "GoogleCloudApigeeV1SetAddonsRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "setSyncAuthorization": { "description": "Sets the permissions required to allow the Synchronizer to download environment data from the control plane. You must call this API to enable proper functioning of hybrid. Pass the ETag when calling `setSyncAuthorization` to ensure that you are updating the correct version. To get an ETag, call [getSyncAuthorization](getSyncAuthorization). If you don't pass the ETag in the call to `setSyncAuthorization`, then the existing authorization is overwritten indiscriminately. For more information, see [Configure the Synchronizer](https://cloud.google.com/apigee/docs/hybrid/latest/synchronizer-access). **Note**: Available to Apigee hybrid only.", "flatPath": "v1/organizations/{organizationsId}:setSyncAuthorization", @@ -568,7 +621,7 @@ ] }, "create": { - "description": "Creates an API product in an organization. You create API products after you have proxied backend services using API proxies. An API product is a collection of API resources combined with quota settings and metadata that you can use to deliver customized and productized API bundles to your developer community. This metadata can include: - Scope - Environments - API proxies - Extensible profile API products enable you repackage APIs on-the-fly, without having to do any additional coding or configuration. Apigee recommends that you start with a simple API product including only required elements. You then provision credentials to apps to enable them to start testing your APIs. After you have authentication and authorization working against a simple API product, you can iterate to create finer grained API products, defining different sets of API resources for each API product. **WARNING:** - If you don't specify an API proxy in the request body, *any* app associated with the product can make calls to *any* API in your entire organization. - If you don't specify an environment in the request body, the product allows access to all environments. For more information, see What is an API product?", + "description": "Creates an API product in an organization. You create API products after you have proxied backend services using API proxies. An API product is a collection of API resources combined with quota settings and metadata that you can use to deliver customized and productized API bundles to your developer community. This metadata can include: - Scope - Environments - API proxies - Extensible profile API products enable you repackage APIs on the fly, without having to do any additional coding or configuration. Apigee recommends that you start with a simple API product including only required elements. You then provision credentials to apps to enable them to start testing your APIs. After you have authentication and authorization working against a simple API product, you can iterate to create finer-grained API products, defining different sets of API resources for each API product. **WARNING:** - If you don't specify an API proxy in the request body, *any* app associated with the product can make calls to *any* API in your entire organization. - If you don't specify an environment in the request body, the product allows access to all environments. For more information, see What is an API product?", "flatPath": "v1/organizations/{organizationsId}/apiproducts", "httpMethod": "POST", "id": "apigee.organizations.apiproducts.create", @@ -646,7 +699,7 @@ ] }, "list": { - "description": "Lists all API product names for an organization. Filter the list by passing an `attributename` and `attibutevalue`. The limit on the number of API products returned by the API is 1000. You can paginate the list of API products returned using the `startKey` and `count` query parameters.", + "description": "Lists all API product names for an organization. Filter the list by passing an `attributename` and `attibutevalue`. The maximum number of API products returned is 1000. You can paginate the list of API products returned using the `startKey` and `count` query parameters.", "flatPath": "v1/organizations/{organizationsId}/apiproducts", "httpMethod": "GET", "id": "apigee.organizations.apiproducts.list", @@ -697,7 +750,7 @@ ] }, "update": { - "description": "Updates an existing API product. You must include all required values, whether or not you are updating them, as well as any optional values that you are updating. The API product name required in the request URL is the internal name of the product, not the Display Name. While they may be the same, it depends on whether the API product was created via UI or API. View the list of API products to identify their internal names.", + "description": "Updates an existing API product. You must include all required values, whether or not you are updating them, as well as any optional values that you are updating. The API product name required in the request URL is the internal name of the product, not the display name. While they may be the same, it depends on whether the API product was created via UI or API. View the list of API products to identify their internal names.", "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}", "httpMethod": "PUT", "id": "apigee.organizations.apiproducts.update", @@ -832,6 +885,177 @@ ] } } + }, + "rateplans": { + "methods": { + "create": { + "description": "Create a rate plan that is associated with an API product in an organization. Using rate plans, API product owners can monetize their API products by configuring one or more of the following: - Billing frequency - Initial setup fees for using an API product - Payment funding model (postpaid only) - Fixed recurring or consumption-based charges for using an API product - Revenue sharing with developer partners An API product can have multiple rate plans associated with it but *only one* rate plan can be active at any point of time. **Note: From the developer's perspective, they purchase API products not rate plans.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/rateplans", + "httpMethod": "POST", + "id": "apigee.organizations.apiproducts.rateplans.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the API product that is associated with the rate plan. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}`", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/rateplans", + "request": { + "$ref": "GoogleCloudApigeeV1RatePlan" + }, + "response": { + "$ref": "GoogleCloudApigeeV1RatePlan" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a rate plan.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/rateplans/{rateplansId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.apiproducts.rateplans.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. ID of the rate plan. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}/rateplans/{rateplan}`", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+/rateplans/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1RatePlan" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the details of a rate plan.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/rateplans/{rateplansId}", + "httpMethod": "GET", + "id": "apigee.organizations.apiproducts.rateplans.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the rate plan. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}/rateplans/{rateplan}`", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+/rateplans/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1RatePlan" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all the rate plans for an API product.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/rateplans", + "httpMethod": "GET", + "id": "apigee.organizations.apiproducts.rateplans.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "count": { + "description": "Number of rate plans to return in the API call. Use with the `startKey` parameter to provide more targeted filtering. The maximum limit is 1000. Defaults to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "expand": { + "description": "Flag that specifies whether to expand the results. Set to `true` to get expanded details about each API. Defaults to `false`.", + "location": "query", + "type": "boolean" + }, + "orderBy": { + "description": "Name of the attribute used for sorting. Valid values include: * `name`: Name of the rate plan. * `state`: State of the rate plan (`DRAFT`, `PUBLISHED`). * `startTime`: Time when the rate plan becomes active. * `endTime`: Time when the rate plan expires. **Note**: Not supported by Apigee at this time.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of the API product. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}` Use `organizations/{org}/apiproducts/-` to return rate plans for all API products within the organization.", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+$", + "required": true, + "type": "string" + }, + "startKey": { + "description": "Name of the rate plan from which to start displaying the list of rate plans. If omitted, the list starts from the first item. For example, to view the rate plans from 51-150, set the value of `startKey` to the name of the 51st rate plan and set the value of `count` to 100.", + "location": "query", + "type": "string" + }, + "state": { + "description": "State of the rate plans (`DRAFT`, `PUBLISHED`) that you want to display.", + "enum": [ + "STATE_UNSPECIFIED", + "DRAFT", + "PUBLISHED" + ], + "enumDescriptions": [ + "State of the rate plan is not specified.", + "Rate plan is in draft mode and only visible to API providers.", + "Rate plan is published and will become visible to developers for the configured duration (between `startTime` and `endTime`)." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/rateplans", + "response": { + "$ref": "GoogleCloudApigeeV1ListRatePlansResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Updates an existing rate plan.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/rateplans/{rateplansId}", + "httpMethod": "PUT", + "id": "apigee.organizations.apiproducts.rateplans.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the rate plan. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}/rateplans/{rateplan}`", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+/rateplans/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1RatePlan" + }, + "response": { + "$ref": "GoogleCloudApigeeV1RatePlan" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } }, @@ -964,6 +1188,40 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "patch": { + "description": "Updates an existing API proxy.", + "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}", + "httpMethod": "PATCH", + "id": "apigee.organizations.apis.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. API proxy to update in the following format: `organizations/{org}/apis/{api}`", + "location": "path", + "pattern": "^organizations/[^/]+/apis/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1ApiProxy" + }, + "response": { + "$ref": "GoogleCloudApigeeV1ApiProxy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -999,7 +1257,7 @@ "keyvaluemaps": { "methods": { "create": { - "description": "Creates a key value map in an api proxy.", + "description": "Creates a key value map in an API proxy.", "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}/keyvaluemaps", "httpMethod": "POST", "id": "apigee.organizations.apis.keyvaluemaps.create", @@ -1008,7 +1266,7 @@ ], "parameters": { "parent": { - "description": "Required. The name of the environment in which to create the key value map. Must be of the form `organizations/{organization}/apis/{api}`.", + "description": "Required. Name of the environment in which to create the key value map. Use the following structure in your request: `organizations/{org}/apis/{api}`", "location": "path", "pattern": "^organizations/[^/]+/apis/[^/]+$", "required": true, @@ -1027,7 +1285,7 @@ ] }, "delete": { - "description": "Delete a key value map in an api proxy.", + "description": "Deletes a key value map from an API proxy.", "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}/keyvaluemaps/{keyvaluemapsId}", "httpMethod": "DELETE", "id": "apigee.organizations.apis.keyvaluemaps.delete", @@ -1036,7 +1294,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the key value map. Must be of the form `organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`.", + "description": "Required. Name of the key value map. Use the following structure in your request: `organizations/{org}/apis/{api}/keyvaluemaps/{keyvaluemap}`", "location": "path", "pattern": "^organizations/[^/]+/apis/[^/]+/keyvaluemaps/[^/]+$", "required": true, @@ -1290,7 +1548,7 @@ ], "parameters": { "dataCollectorId": { - "description": "ID of the data collector. Overrides any ID in the data collector resource. Must begin with `dc_`.", + "description": "ID of the data collector. Overrides any ID in the data collector resource. Must be a string beginning with `dc_` that contains only letters, numbers, and underscores.", "location": "query", "type": "string" }, @@ -1481,7 +1739,7 @@ ], "parameters": { "parent": { - "description": "Required. Email address of the developer for which attributes are being updated in the following format: `organizations/{org}/developers/{developer_email}`", + "description": "Required. Email address of the developer for which attributes are being updated. Use the following structure in your request: `organizations/{org}/developers/{developer_email}`", "location": "path", "pattern": "^organizations/[^/]+/developers/[^/]+$", "required": true, @@ -1582,6 +1840,56 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getBalance": { + "description": "Gets the account balance for the developer.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/balance", + "httpMethod": "GET", + "id": "apigee.organizations.developers.getBalance", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Account balance for the developer. Use the following structure in your request: `organizations/{org}/developers/{developer}/balance`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/balance$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperBalance" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getMonetizationConfig": { + "description": "Gets the monetization configuration for the developer.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/monetizationConfig", + "httpMethod": "GET", + "id": "apigee.organizations.developers.getMonetizationConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Monetization configuration for the developer. Use the following structure in your request: `organizations/{org}/developers/{developer}/monetizationConfig`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/monetizationConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperMonetizationConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "Lists all developers in an organization by email address. By default, the response does not include company developers. Set the `includeCompany` query parameter to `true` to include company developers. **Note**: A maximum of 1000 developers are returned in the response. You paginate the list of developers returned using the `startKey` and `count` query parameters.", "flatPath": "v1/organizations/{organizationsId}/developers", @@ -1639,7 +1947,7 @@ ] }, "setDeveloperStatus": { - "description": "Sets the status of a developer. Valid values are `active` or `inactive`. A developer is `active` by default. If you set a developer's status to `inactive`, the API keys assigned to the developer apps are no longer valid even though the API keys are set to `approved`. Inactive developers can still sign in to the developer portal and create apps; however, any new API keys generated during app creation won't work. If successful, the API call returns the following HTTP status code: `204 No Content`", + "description": "Sets the status of a developer. A developer is `active` by default. If you set a developer's status to `inactive`, the API keys assigned to the developer apps are no longer valid even though the API keys are set to `approved`. Inactive developers can still sign in to the developer portal and create apps; however, any new API keys generated during app creation won't work. To set the status of a developer, set the `action` query parameter to `active` or `inactive`, and the `Content-Type` header to `application/octet-stream`. If successful, the API call returns the following HTTP status code: `204 No Content`", "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}", "httpMethod": "POST", "id": "apigee.organizations.developers.setDeveloperStatus", @@ -1653,7 +1961,7 @@ "type": "string" }, "name": { - "description": "Required. Email address of the developer. Use the following structure in your request: `organizations/{org}/developers/{developer_email}`", + "description": "Required. Name of the developer. Use the following structure in your request: `organizations/{org}/developers/{developer_id}`", "location": "path", "pattern": "^organizations/[^/]+/developers/[^/]+$", "required": true, @@ -1695,6 +2003,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "updateMonetizationConfig": { + "description": "Updates the monetization configuration for the developer.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/monetizationConfig", + "httpMethod": "PUT", + "id": "apigee.organizations.developers.updateMonetizationConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Monetization configuration for the developer. Use the following structure in your request: `organizations/{org}/developers/{developer}/monetizationConfig`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/monetizationConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1DeveloperMonetizationConfig" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperMonetizationConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -2035,7 +2371,7 @@ "keys": { "methods": { "create": { - "description": "Creates a custom consumer key and secret for a developer app. This is particularly useful if you want to migrate existing consumer keys and secrets to Apigee hybrid from another system. Consumer keys and secrets can contain letters, numbers, underscores, and hyphens. No other special characters are allowed. To avoid service disruptions, a consumer key and secret should not exceed 2 KBs each. **Note**: When creating the consumer key and secret, an association to API products will not be made. Therefore, you should not specify the associated API products in your request. Instead, use the UpdateDeveloperAppKey API to make the association after the consumer key and secret are created. If a consumer key and secret already exist, you can keep them or delete them using the DeleteDeveloperAppKey API.", + "description": "Creates a custom consumer key and secret for a developer app. This is particularly useful if you want to migrate existing consumer keys and secrets to Apigee from another system. Consumer keys and secrets can contain letters, numbers, underscores, and hyphens. No other special characters are allowed. To avoid service disruptions, a consumer key and secret should not exceed 2 KBs each. **Note**: When creating the consumer key and secret, an association to API products will not be made. Therefore, you should not specify the associated API products in your request. Instead, use the UpdateDeveloperAppKey API to make the association after the consumer key and secret are created. If a consumer key and secret already exist, you can keep them or delete them using the DeleteDeveloperAppKey API.", "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys", "httpMethod": "POST", "id": "apigee.organizations.developers.apps.keys.create", @@ -2088,7 +2424,7 @@ ] }, "get": { - "description": "Returns details for a consumer key for a developer app, including the key and secret value, associated API products, and other information.", + "description": "Gets details for a consumer key for a developer app, including the key and secret value, associated API products, and other information.", "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/{keysId}", "httpMethod": "GET", "id": "apigee.organizations.developers.apps.keys.get", @@ -2150,7 +2486,7 @@ ], "parameters": { "action": { - "description": "Approve or revoke the consumer key by setting this value to `approve` or `revoke`, respectively.", + "description": "Approve or revoke the consumer key by setting this value to `approve` or `revoke`, respectively. The `Content-Type` header must be set to `application/octet-stream`.", "location": "query", "type": "string" }, @@ -2203,7 +2539,7 @@ ] }, "updateDeveloperAppKeyApiProduct": { - "description": "Approve or revoke an app's consumer key. After a consumer key is approved, the app can use it to access APIs. A consumer key that is revoked or pending cannot be used to access an API. Any access tokens associated with a revoked consumer key will remain active. However, Apigee hybrid checks the status of the consumer key and if set to `revoked` will not allow access to the API.", + "description": "Approves or revokes the consumer key for an API product. After a consumer key is approved, the app can use it to access APIs. A consumer key that is revoked or pending cannot be used to access an API. Any access tokens associated with a revoked consumer key will remain active. However, Apigee checks the status of the consumer key and if set to `revoked` will not allow access to the API.", "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/{keysId}/apiproducts/{apiproductsId}", "httpMethod": "POST", "id": "apigee.organizations.developers.apps.keys.apiproducts.updateDeveloperAppKeyApiProduct", @@ -2237,7 +2573,7 @@ "create": { "methods": { "create": { - "description": "Creates a custom consumer key and secret for a developer app. This is particularly useful if you want to migrate existing consumer keys and secrets to Apigee hybrid from another system. Consumer keys and secrets can contain letters, numbers, underscores, and hyphens. No other special characters are allowed. To avoid service disruptions, a consumer key and secret should not exceed 2 KBs each. **Note**: When creating the consumer key and secret, an association to API products will not be made. Therefore, you should not specify the associated API products in your request. Instead, use the UpdateDeveloperAppKey API to make the association after the consumer key and secret are created. If a consumer key and secret already exist, you can keep them or delete them using the DeleteDeveloperAppKey API.", + "description": "Creates a custom consumer key and secret for a developer app. This is particularly useful if you want to migrate existing consumer keys and secrets to Apigee from another system. Consumer keys and secrets can contain letters, numbers, underscores, and hyphens. No other special characters are allowed. To avoid service disruptions, a consumer key and secret should not exceed 2 KBs each. **Note**: When creating the consumer key and secret, an association to API products will not be made. Therefore, you should not specify the associated API products in your request. Instead, use the UpdateDeveloperAppKey API to make the association after the consumer key and secret are created. If a consumer key and secret already exist, you can keep them or delete them using the DeleteDeveloperAppKey API.", "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/create", "httpMethod": "POST", "id": "apigee.organizations.developers.apps.keys.create.create", @@ -2332,7 +2668,7 @@ ], "parameters": { "parent": { - "description": "Required. Email address of the developer for which attributes are being listed in the following format: `organizations/{org}/developers/{developer_email}`", + "description": "Required. Email address of the developer for which attributes are being listed. Use the following structure in your request: `organizations/{org}/developers/{developer_email}`", "location": "path", "pattern": "^organizations/[^/]+/developers/[^/]+$", "required": true, @@ -2376,6 +2712,310 @@ ] } } + }, + "balance": { + "methods": { + "adjust": { + "description": "Adjust the prepaid balance for the developer. This API will be used in scenarios where the developer has been under-charged or over-charged.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/balance:adjust", + "httpMethod": "POST", + "id": "apigee.organizations.developers.balance.adjust", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Account balance for the developer. Use the following structure in your request: `organizations/{org}/developers/{developer}/balance`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/balance$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:adjust", + "request": { + "$ref": "GoogleCloudApigeeV1AdjustDeveloperBalanceRequest" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperBalance" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "credit": { + "description": "Credits the account balance for the developer.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/balance:credit", + "httpMethod": "POST", + "id": "apigee.organizations.developers.balance.credit", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Account balance for the developer. Use the following structure in your request: `organizations/{org}/developers/{developer}/balance`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/balance$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:credit", + "request": { + "$ref": "GoogleCloudApigeeV1CreditDeveloperBalanceRequest" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperBalance" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "subscriptions": { + "methods": { + "create": { + "description": "Creates a subscription to an API product. ", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/subscriptions", + "httpMethod": "POST", + "id": "apigee.organizations.developers.subscriptions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Email address of the developer that is purchasing a subscription to the API product. Use the following structure in your request: `organizations/{org}/developers/{developer_email}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/subscriptions", + "request": { + "$ref": "GoogleCloudApigeeV1DeveloperSubscription" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperSubscription" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "expire": { + "description": "Expires an API product subscription immediately.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/subscriptions/{subscriptionsId}:expire", + "httpMethod": "POST", + "id": "apigee.organizations.developers.subscriptions.expire", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the API product subscription. Use the following structure in your request: `organizations/{org}/developers/{developer_email}/subscriptions/{subscription}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/subscriptions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:expire", + "request": { + "$ref": "GoogleCloudApigeeV1ExpireDeveloperSubscriptionRequest" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperSubscription" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details for an API product subscription.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/subscriptions/{subscriptionsId}", + "httpMethod": "GET", + "id": "apigee.organizations.developers.subscriptions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the API product subscription. Use the following structure in your request: `organizations/{org}/developers/{developer_email}/subscriptions/{subscription}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/subscriptions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperSubscription" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all API product subscriptions for a developer.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/subscriptions", + "httpMethod": "GET", + "id": "apigee.organizations.developers.subscriptions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "count": { + "description": "Number of API product subscriptions to return in the API call. Use with `startKey` to provide more targeted filtering. Defaults to 100. The maximum limit is 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "parent": { + "description": "Required. Email address of the developer. Use the following structure in your request: `organizations/{org}/developers/{developer_email}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+$", + "required": true, + "type": "string" + }, + "startKey": { + "description": "Name of the API product subscription from which to start displaying the list of subscriptions. If omitted, the list starts from the first item. For example, to view the API product subscriptions from 51-150, set the value of `startKey` to the name of the 51st subscription and set the value of `count` to 100.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/subscriptions", + "response": { + "$ref": "GoogleCloudApigeeV1ListDeveloperSubscriptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "endpointAttachments": { + "methods": { + "create": { + "description": "Creates an endpoint attachment. **Note:** Not supported for Apigee hybrid.", + "flatPath": "v1/organizations/{organizationsId}/endpointAttachments", + "httpMethod": "POST", + "id": "apigee.organizations.endpointAttachments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "endpointAttachmentId": { + "description": "ID to use for the endpoint attachment. The ID can contain lowercase letters and numbers, must start with a letter, and must be 1-20 characters in length.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Organization the endpoint attachment will be created in.", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/endpointAttachments", + "request": { + "$ref": "GoogleCloudApigeeV1EndpointAttachment" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an endpoint attachment.", + "flatPath": "v1/organizations/{organizationsId}/endpointAttachments/{endpointAttachmentsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.endpointAttachments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the endpoint attachment. Use the following structure in your request: `organizations/{org}/endpointAttachments/{endpoint_attachment}`", + "location": "path", + "pattern": "^organizations/[^/]+/endpointAttachments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the endpoint attachment.", + "flatPath": "v1/organizations/{organizationsId}/endpointAttachments/{endpointAttachmentsId}", + "httpMethod": "GET", + "id": "apigee.organizations.endpointAttachments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the endpoint attachment. Use the following structure in your request: `organizations/{org}/endpointAttachments/{endpoint_attachment}`", + "location": "path", + "pattern": "^organizations/[^/]+/endpointAttachments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1EndpointAttachment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the endpoint attachments in an organization.", + "flatPath": "v1/organizations/{organizationsId}/endpointAttachments", + "httpMethod": "GET", + "id": "apigee.organizations.endpointAttachments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of endpoint attachments to return. If unspecified, at most 25 attachments will be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. Page token, returned from a previous `ListEndpointAttachments` call, that you can use to retrieve the next page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of the organization for which to list endpoint attachments. Use the following structure in your request: `organizations/{org}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/endpointAttachments", + "response": { + "$ref": "GoogleCloudApigeeV1ListEndpointAttachmentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } }, @@ -2801,7 +3441,7 @@ ], "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).", + "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" @@ -2957,7 +3597,7 @@ ] }, "update": { - "description": "Updates an existing environment. When updating properties, you must pass all existing properties to the API, even if they are not being changed. If you omit properties from the payload, the properties are removed. To get the current list of properties for the environment, use the [Get Environment API](get).", + "description": "Updates an existing environment. When updating properties, you must pass all existing properties to the API, even if they are not being changed. If you omit properties from the payload, the properties are removed. To get the current list of properties for the environment, use the [Get Environment API](get). **Note**: Both `PUT` and `POST` methods are supported for updating an existing environment.", "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}", "httpMethod": "PUT", "id": "apigee.organizations.environments.update", @@ -3024,7 +3664,7 @@ ] }, "updateEnvironment": { - "description": "Updates an existing environment. When updating properties, you must pass all existing properties to the API, even if they are not being changed. If you omit properties from the payload, the properties are removed. To get the current list of properties for the environment, use the [Get Environment API](get).", + "description": "Updates an existing environment. When updating properties, you must pass all existing properties to the API, even if they are not being changed. If you omit properties from the payload, the properties are removed. To get the current list of properties for the environment, use the [Get Environment API](get). **Note**: Both `PUT` and `POST` methods are supported for updating an existing environment.", "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}", "httpMethod": "POST", "id": "apigee.organizations.environments.updateEnvironment", @@ -3267,9 +3907,14 @@ "type": "boolean" }, "sequencedRollout": { - "description": "Flag that specifies whether to enable sequenced rollout. If set to `true`, a best-effort attempt will be made to roll out the routing rules corresponding to this deployment and the environment changes to add this deployment in a safe order. This reduces the risk of downtime that could be caused by changing the environment group's routing before the new destination for the affected traffic is ready to receive it. This should only be necessary if the new deployment will be capturing traffic from another environment under a shared environment group or if traffic will be rerouted to a different environment due to a base path removal. The [GenerateDeployChangeReport API](GenerateDeployChangeReport) may be used to examine routing changes before issuing the deployment request, and its response will indicate if a sequenced rollout is recommended for the deployment.", + "description": "Flag that specifies whether to enable sequenced rollout. If set to `true`, the routing rules for this deployment and the environment changes to add the deployment will be rolled out in a safe order. This reduces the risk of downtime that could be caused by changing the environment group's routing before the new destination for the affected traffic is ready to receive it. This should only be necessary if the new deployment will be capturing traffic from another environment under a shared environment group or if traffic will be rerouted to a different environment due to a base path removal. The [GenerateDeployChangeReport API](GenerateDeployChangeReport) may be used to examine routing changes before issuing the deployment request, and its response will indicate if a sequenced rollout is recommended for the deployment.", "location": "query", "type": "boolean" + }, + "serviceAccount": { + "description": "Google Cloud IAM service account. The service account represents the identity of the deployed proxy, and determines what permissions it has. The format must be `{ACCOUNT_ID}@{PROJECT}.iam.gserviceaccount.com`.", + "location": "query", + "type": "string" } }, "path": "v1/{+name}/deployments", @@ -3322,7 +3967,7 @@ "type": "string" }, "sequencedRollout": { - "description": "Flag that specifies whether to enable sequenced rollout. If set to `true`, a best-effort attempt will be made to remove the environment group routing rules corresponding to this deployment before removing the deployment from the runtime. This is likely to be a rare use case; it is only needed when the intended effect of undeploying this proxy is to cause the traffic it currently handles to be rerouted to some other existing proxy in the environment group. The [GenerateUndeployChangeReport API](GenerateUndeployChangeReport) may be used to examine routing changes before issuing the undeployment request, and its response will indicate if a sequenced rollout is recommended for the undeployment.", + "description": "Flag that specifies whether to enable sequenced rollout. If set to `true`, the environment group routing rules corresponding to this deployment will be removed before removing the deployment from the runtime. This is likely to be a rare use case; it is only needed when the intended effect of undeploying this proxy is to cause the traffic it currently handles to be rerouted to some other existing proxy in the environment group. The [GenerateUndeployChangeReport API](GenerateUndeployChangeReport) may be used to examine routing changes before issuing the undeployment request, and its response will indicate if a sequenced rollout is recommended for the undeployment.", "location": "query", "type": "boolean" } @@ -3555,6 +4200,219 @@ } } }, + "archiveDeployments": { + "methods": { + "create": { + "description": "Creates a new ArchiveDeployment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments", + "httpMethod": "POST", + "id": "apigee.organizations.environments.archiveDeployments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The Environment this Archive Deployment will be created in.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/archiveDeployments", + "request": { + "$ref": "GoogleCloudApigeeV1ArchiveDeployment" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an archive deployment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments/{archiveDeploymentsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.archiveDeployments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the Archive Deployment in the following format: `organizations/{org}/environments/{env}/archiveDeployments/{id}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/archiveDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "generateDownloadUrl": { + "description": "Generates a signed URL for downloading the original zip file used to create an Archive Deployment. The URL is only valid for a limited period and should be used within minutes after generation. Each call returns a new upload URL.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments/{archiveDeploymentsId}:generateDownloadUrl", + "httpMethod": "POST", + "id": "apigee.organizations.environments.archiveDeployments.generateDownloadUrl", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the Archive Deployment you want to download.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/archiveDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:generateDownloadUrl", + "request": { + "$ref": "GoogleCloudApigeeV1GenerateDownloadUrlRequest" + }, + "response": { + "$ref": "GoogleCloudApigeeV1GenerateDownloadUrlResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "generateUploadUrl": { + "description": "Generates a signed URL for uploading an Archive zip file to Google Cloud Storage. Once the upload is complete, the signed URL should be passed to CreateArchiveDeployment. When uploading to the generated signed URL, please follow these restrictions: * Source file type should be a zip file. * Source file size should not exceed 1GB limit. * No credentials should be attached - the signed URLs provide access to the target bucket using internal service identity; if credentials were attached, the identity from the credentials would be used, but that identity does not have permissions to upload files to the URL. When making a HTTP PUT request, these two headers need to be specified: * `content-type: application/zip` * `x-goog-content-length-range: 0,1073741824` And this header SHOULD NOT be specified: * `Authorization: Bearer YOUR_TOKEN`", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments:generateUploadUrl", + "httpMethod": "POST", + "id": "apigee.organizations.environments.archiveDeployments.generateUploadUrl", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The organization and environment to upload to.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/archiveDeployments:generateUploadUrl", + "request": { + "$ref": "GoogleCloudApigeeV1GenerateUploadUrlRequest" + }, + "response": { + "$ref": "GoogleCloudApigeeV1GenerateUploadUrlResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the specified ArchiveDeployment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments/{archiveDeploymentsId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.archiveDeployments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the Archive Deployment in the following format: `organizations/{org}/environments/{env}/archiveDeployments/{id}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/archiveDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1ArchiveDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the ArchiveDeployments in the specified Environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments", + "httpMethod": "GET", + "id": "apigee.organizations.environments.archiveDeployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. An optional query used to return a subset of Archive Deployments using the semantics defined in https://google.aip.dev/160.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Maximum number of Archive Deployments to return. If unspecified, at most 25 deployments will be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. Page token, returned from a previous ListArchiveDeployments call, that you can use to retrieve the next page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of the Environment for which to list Archive Deployments in the format: `organizations/{org}/environments/{env}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/archiveDeployments", + "response": { + "$ref": "GoogleCloudApigeeV1ListArchiveDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing ArchiveDeployment. Labels can modified but most of the other fields are not modifiable.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/archiveDeployments/{archiveDeploymentsId}", + "httpMethod": "PATCH", + "id": "apigee.organizations.environments.archiveDeployments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of the Archive Deployment in the following format: `organizations/{org}/environments/{env}/archiveDeployments/{id}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/archiveDeployments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1ArchiveDeployment" + }, + "response": { + "$ref": "GoogleCloudApigeeV1ArchiveDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "caches": { "methods": { "delete": { @@ -3996,7 +4854,7 @@ ], "parameters": { "parent": { - "description": "Required. The name of the environment in which to create the key value map. Must be of the form `organizations/{organization}/environments/{environment}`.", + "description": "Required. Name of the environment in which to create the key value map. Use the following structure in your request: `organizations/{org}/environments/{env}`", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+$", "required": true, @@ -4015,7 +4873,7 @@ ] }, "delete": { - "description": "Delete a key value map in an environment.", + "description": "Deletes a key value map from an environment.", "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keyvaluemaps/{keyvaluemapsId}", "httpMethod": "DELETE", "id": "apigee.organizations.environments.keyvaluemaps.delete", @@ -4024,7 +4882,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the key value map. Must be of the form `organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}`.", + "description": "Required. Name of the key value map. Use the following structure in your request: `organizations/{org}/environments/{env}/keyvaluemaps/{keyvaluemap}`", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/keyvaluemaps/[^/]+$", "required": true, @@ -4044,7 +4902,7 @@ "optimizedStats": { "methods": { "get": { - "description": "This api is similar to GetStats except that the response is less verbose. In the current scheme, a query parameter _optimized instructs Edge Analytics to change the response but since this behavior is not possible with protocol buffer and since this parameter is predominantly used by Edge UI, we are introducing a separate api.", + "description": "Similar to GetStats except that the response is less verbose.", "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/optimizedStats/{optimizedStatsId}", "httpMethod": "GET", "id": "apigee.organizations.environments.optimizedStats.get", @@ -4053,84 +4911,84 @@ ], "parameters": { "accuracy": { - "description": "Legacy field: not used anymore.", + "description": "No longer used by Apigee. Supported for backwards compatibility.", "location": "query", "type": "string" }, "aggTable": { - "description": "If customers want to query custom aggregate tables, then this parameter can be used to specify the table name. If this parameter is skipped, then Edge Query will try to retrieve the data from fact tables which will be expensive.", + "description": "Table name used to query custom aggregate tables. If this parameter is skipped, then Apigee will try to retrieve the data from fact tables which will be expensive.", "location": "query", "type": "string" }, "filter": { - "description": "Enables drill-down on specific dimension values.", + "description": "Filter that enables you to drill-down on specific dimension values.", "location": "query", "type": "string" }, "limit": { - "description": "This parameter is used to limit the number of result items. Default and the max value is 14400.", + "description": "Maximum number of result items to return. The default and maximum value that can be returned is 14400.", "location": "query", "type": "string" }, "name": { - "description": "Required. The resource name for which the interactive query will be executed. Must be of the form `organizations/{organization_id}/environments/{environment_id/optimizedStats/{dimensions}` Dimensions let you view metrics in meaningful groupings. E.g. apiproxy, target_host. The value of dimensions should be comma separated list as shown below `organizations/{org}/environments/{env}/optimizedStats/apiproxy,request_verb`", + "description": "Required. Resource name for which the interactive query will be executed. Use the following format in your request: `organizations/{org}/environments/{env}/optimizedStats/{dimensions}` Dimensions let you view metrics in meaningful groupings, such as `apiproxy`, `target_host`. The value of `dimensions` should be a comma-separated list as shown below: `organizations/{org}/environments/{env}/optimizedStats/apiproxy,request_verb`", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/optimizedStats/.*$", "required": true, "type": "string" }, "offset": { - "description": "Use offset with limit to enable pagination of results. For example, to display results 11-20, set limit to '10' and offset to '10'.", + "description": "Offset value. Use `offset` with `limit` to enable pagination of results. For example, to display results 11-20, set limit to `10` and offset to `10`.", "location": "query", "type": "string" }, "realtime": { - "description": "Legacy field: not used anymore.", + "description": "No longer used by Apigee. Supported for backwards compatibility.", "location": "query", "type": "boolean" }, "select": { - "description": "Required. The select parameter contains a comma separated list of metrics. E.g. sum(message_count),sum(error_count)", + "description": "Required. Comma-separated list of metrics. For example: `sum(message_count),sum(error_count)`", "location": "query", "type": "string" }, "sonar": { - "description": "This parameter routes the query to api monitoring service for last hour.", + "description": "Routes the query to API Monitoring for the last hour.", "location": "query", "type": "boolean" }, "sort": { - "description": "This parameter specifies if the sort order should be ascending or descending Supported values are DESC and ASC.", + "description": "Flag that specifies whether the sort order should be ascending or descending. Valid values include `DESC` and `ASC`.", "location": "query", "type": "string" }, "sortby": { - "description": "Comma separated list of columns to sort the final result.", + "description": "Comma-separated list of columns to sort the final result.", "location": "query", "type": "string" }, "timeRange": { - "description": "Required. Time interval for the interactive query. Time range is specified as start~end E.g. 04/15/2017 00:00~05/15/2017 23:59", + "description": "Required. Time interval for the interactive query. Time range is specified in GMT as `start~end`. For example: `04/15/2017 00:00~05/15/2017 23:59`", "location": "query", "type": "string" }, "timeUnit": { - "description": "A value of second, minute, hour, day, week, month. Time Unit specifies the granularity of metrics returned.", + "description": "Granularity of metrics returned. Valid values include: `second`, `minute`, `hour`, `day`, `week`, or `month`.", "location": "query", "type": "string" }, "topk": { - "description": "Take 'top k' results from results, for example, to return the top 5 results 'topk=5'.", + "description": "Top number of results to return. For example, to return the top 5 results, set `topk=5`.", "location": "query", "type": "string" }, "tsAscending": { - "description": "Lists timestamps in ascending order if set to true. Recommend setting this value to true if you are using sortby with sort=DESC.", + "description": "Flag that specifies whether to list timestamps in ascending (`true`) or descending (`false`) order. Apigee recommends setting this value to `true` if you are using `sortby` with `sort=DESC`.", "location": "query", "type": "boolean" }, "tzo": { - "description": "This parameters contains the timezone offset value.", + "description": "Timezone offset value.", "location": "query", "type": "string" } @@ -4669,6 +5527,11 @@ "description": "Flag that specifies whether the new deployment replaces other deployed revisions of the shared flow in the environment. Set `override` to `true` to replace other deployed revisions. By default, `override` is `false` and the deployment is rejected if other revisions of the shared flow are deployed in the environment.", "location": "query", "type": "boolean" + }, + "serviceAccount": { + "description": "Google Cloud IAM service account. The service account represents the identity of the deployed proxy, and determines what permissions it has. The format must be `{ACCOUNT_ID}@{PROJECT}.iam.gserviceaccount.com`.", + "location": "query", + "type": "string" } }, "path": "v1/{+name}/deployments", @@ -4736,7 +5599,7 @@ "stats": { "methods": { "get": { - "description": "Retrieve metrics grouped by dimensions. The types of metrics you can retrieve include traffic, message counts, API call latency, response size, and cache hits and counts. Dimensions let you view metrics in meaningful groups. The stats api does accept dimensions as path params. The dimensions are optional in which case the metrics are computed on the entire data for the given timerange.", + "description": "Retrieve metrics grouped by dimensions. The types of metrics you can retrieve include traffic, message counts, API call latency, response size, and cache hits and counts. Dimensions let you view metrics in meaningful groups. You can optionally pass dimensions as path parameters to the `stats` API. If dimensions are not specified, the metrics are computed on the entire set of data for the given time range.", "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/stats/{statsId}", "httpMethod": "GET", "id": "apigee.organizations.environments.stats.get", @@ -4745,84 +5608,84 @@ ], "parameters": { "accuracy": { - "description": "Legacy field: not used anymore. This field is present to support UI calls which still use this parameter.", + "description": "No longer used by Apigee. Supported for backwards compatibility.", "location": "query", "type": "string" }, "aggTable": { - "description": "If customers want to query custom aggregate tables, then this parameter can be used to specify the table name. If this parameter is skipped, then Edge Query will try to retrieve the data from fact tables which will be expensive.", + "description": "Table name used to query custom aggregate tables. If this parameter is skipped, then Apigee will try to retrieve the data from fact tables which will be expensive.", "location": "query", "type": "string" }, "filter": { - "description": "Enables drill-down on specific dimension values", + "description": "Filter that enables you to drill down on specific dimension values.", "location": "query", "type": "string" }, "limit": { - "description": "This parameter is used to limit the number of result items. Default and the max value is 14400.", + "description": "Maximum number of result items to return. The default and maximum value that can be returned is 14400.", "location": "query", "type": "string" }, "name": { - "description": "Required. The resource name for which the interactive query will be executed. Must be of the form `organizations/{organization_id}/environments/{environment_id/stats/{dimensions}` Dimensions let you view metrics in meaningful groupings. E.g. apiproxy, target_host. The value of dimensions should be comma separated list as shown below `organizations/{org}/environments/{env}/stats/apiproxy,request_verb`", + "description": "Required. Resource name for which the interactive query will be executed. Use the following format in your request: `organizations/{org}/environments/{env}/stats/{dimensions}` Dimensions let you view metrics in meaningful groupings, such as `apiproxy` or `target_host`. The value of dimensions should be a comma-separated list, as shown below: `organizations/{org}/environments/{env}/stats/apiproxy,request_verb`", "location": "path", "pattern": "^organizations/[^/]+/environments/[^/]+/stats/.*$", "required": true, "type": "string" }, "offset": { - "description": "Use offset with limit to enable pagination of results. For example, to display results 11-20, set limit to '10' and offset to '10'.", + "description": "Offset value. Use `offset` with `limit` to enable pagination of results. For example, to display results 11-20, set limit to `10` and offset to `10`.", "location": "query", "type": "string" }, "realtime": { - "description": "Legacy field: not used anymore.", + "description": "No longer used by Apigee. Supported for backwards compatibility.", "location": "query", "type": "boolean" }, "select": { - "description": "The select parameter contains a comma separated list of metrics. E.g. sum(message_count),sum(error_count)", + "description": "Comma-separated list of metrics. For example: `sum(message_count),sum(error_count)`", "location": "query", "type": "string" }, "sonar": { - "description": "This parameter routes the query to api monitoring service for last hour.", + "description": "Routes the query to API Monitoring for the last hour.", "location": "query", "type": "boolean" }, "sort": { - "description": "This parameter specifies if the sort order should be ascending or descending Supported values are DESC and ASC.", + "description": "Flag that specifies whether the sort order should be ascending or descending. Valid values include: `DESC` and `ASC`.", "location": "query", "type": "string" }, "sortby": { - "description": "Comma separated list of columns to sort the final result.", + "description": "Comma-separated list of columns to sort the final result.", "location": "query", "type": "string" }, "timeRange": { - "description": "Time interval for the interactive query. Time range is specified as start~end E.g. 04/15/2017 00:00~05/15/2017 23:59", + "description": "Time interval for the interactive query. Time range is specified in GMT as `start~end`. For example: `04/15/2017 00:00~05/15/2017 23:59`", "location": "query", "type": "string" }, "timeUnit": { - "description": "A value of second, minute, hour, day, week, month. Time Unit specifies the granularity of metrics returned.", + "description": "Granularity of metrics returned. Valid values include: `second`, `minute`, `hour`, `day`, `week`, or` month`.", "location": "query", "type": "string" }, "topk": { - "description": "Take 'top k' results from results, for example, to return the top 5 results 'topk=5'.", + "description": "Top number of results to return. For example, to return the top 5 results, set `topk=5`.", "location": "query", "type": "string" }, "tsAscending": { - "description": "Lists timestamps in ascending order if set to true. Recommend setting this value to true if you are using sortby with sort=DESC.", + "description": "Flag that specifies whether to list timestamps in ascending (`true`) or descending (`false`) order. Apigee recommends that you set this value to `true` if you are using `sortby` with `sort=DESC`.", "location": "query", "type": "boolean" }, "tzo": { - "description": "This parameters contains the timezone offset value.", + "description": "Timezone offset value.", "location": "query", "type": "string" } @@ -5280,7 +6143,7 @@ "hostStats": { "methods": { "get": { - "description": "Retrieve metrics grouped by dimensions in host level. The types of metrics you can retrieve include traffic, message counts, API call latency, response size, and cache hits and counts. Dimensions let you view metrics in meaningful groups. The stats api does accept dimensions as path params. The dimensions are optional in which case the metrics are computed on the entire data for the given timerange.", + "description": "Retrieve metrics grouped by dimensions in host level. The types of metrics you can retrieve include traffic, message counts, API call latency, response size, and cache hits and counts. Dimensions let you view metrics in meaningful groups. You can optionally pass dimensions as path parameters to the `stats` API. If dimensions are not specified, the metrics are computed on the entire set of data for the given time range.", "flatPath": "v1/organizations/{organizationsId}/hostStats/{hostStatsId}", "httpMethod": "GET", "id": "apigee.organizations.hostStats.get", @@ -5289,79 +6152,79 @@ ], "parameters": { "accuracy": { - "description": "Legacy field: not used anymore.", + "description": "No longer used by Apigee. Supported for backwards compatibility.", "location": "query", "type": "string" }, "envgroupHostname": { - "description": "Required. The hostname for which the interactive query will be executed.", + "description": "Required. Hostname for which the interactive query will be executed.", "location": "query", "type": "string" }, "filter": { - "description": "Enables drill-down on specific dimension values.", + "description": "Flag that enables drill-down on specific dimension values.", "location": "query", "type": "string" }, "limit": { - "description": "This parameter is used to limit the number of result items. Default and the max value is 14400.", + "description": "Maximum number of result items to return. The default and maximum value that can be returned is 14400.", "location": "query", "type": "string" }, "name": { - "description": "Required. The resource name for which the interactive query will be executed. Must be of the form `organizations/{organization_id}/hostStats/{dimensions}`. Dimensions let you view metrics in meaningful groupings. E.g. apiproxy, target_host. The value of dimensions should be comma separated list as shown below `organizations/{org}/hostStats/apiproxy,request_verb`", + "description": "Required. Resource name for which the interactive query will be executed. Use the following format in your request: `organizations/{org}/hostStats/{dimensions}` Dimensions let you view metrics in meaningful groupings, such as `apiproxy`, `target_host`. The value of dimensions should be a comma-separated list as shown below `organizations/{org}/hostStats/apiproxy,request_verb`", "location": "path", "pattern": "^organizations/[^/]+/hostStats/.*$", "required": true, "type": "string" }, "offset": { - "description": "Use offset with limit to enable pagination of results. For example, to display results 11-20, set limit to '10' and offset to '10'.", + "description": "Offset value. Use `offset` with `limit` to enable pagination of results. For example, to display results 11-20, set limit to `10` and offset to `10`.", "location": "query", "type": "string" }, "realtime": { - "description": "Legacy field: not used anymore.", + "description": "No longer used by Apigee. Supported for backwards compatibility.", "location": "query", "type": "boolean" }, "select": { - "description": "The select parameter contains a comma separated list of metrics. E.g. sum(message_count),sum(error_count)", + "description": "Comma-separated list of metrics. For example: `sum(message_count),sum(error_count)`", "location": "query", "type": "string" }, "sort": { - "description": "This parameter specifies if the sort order should be ascending or descending Supported values are DESC and ASC.", + "description": "Flag that specifies if the sort order should be ascending or descending. Valid values are `DESC` and `ASC`.", "location": "query", "type": "string" }, "sortby": { - "description": "Comma separated list of columns to sort the final result.", + "description": "Comma-separated list of columns to sort the final result.", "location": "query", "type": "string" }, "timeRange": { - "description": "Time interval for the interactive query. Time range is specified as start~end E.g. 04/15/2017 00:00~05/15/2017 23:59", + "description": "Time interval for the interactive query. Time range is specified in GMT as `start~end`. For example: `04/15/2017 00:00~05/15/2017 23:59`", "location": "query", "type": "string" }, "timeUnit": { - "description": "A value of second, minute, hour, day, week, month. Time Unit specifies the granularity of metrics returned.", + "description": "Granularity of metrics returned. Valid values include: `second`, `minute`, `hour`, `day`, `week`, or `month`.", "location": "query", "type": "string" }, "topk": { - "description": "Take 'top k' results from results, for example, to return the top 5 results 'topk=5'.", + "description": "Top number of results to return. For example, to return the top 5 results, set `topk=5`.", "location": "query", "type": "string" }, "tsAscending": { - "description": "Lists timestamps in ascending order if set to true. Recommend setting this value to true if you are using sortby with sort=DESC.", + "description": "Flag that specifies whether to list timestamps in ascending (`true`) or descending (`false`) order. Apigee recommends that you set this value to `true` if you are using `sortby` with `sort=DESC`.", "location": "query", "type": "boolean" }, "tzo": { - "description": "This parameters contains the timezone offset value.", + "description": "Timezone offset value.", "location": "query", "type": "string" } @@ -5492,6 +6355,40 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "patch": { + "description": "Updates an Apigee runtime instance. You can update the fields described in NodeConfig. No other fields will be updated. **Note:** Not supported for Apigee hybrid.", + "flatPath": "v1/organizations/{organizationsId}/instances/{instancesId}", + "httpMethod": "PATCH", + "id": "apigee.organizations.instances.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the instance. Use the following structure in your request: `organizations/{org}/instances/{instance}`.", + "location": "path", + "pattern": "^organizations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "List of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1Instance" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "reportStatus": { "description": "Reports the latest status for a runtime instance.", "flatPath": "v1/organizations/{organizationsId}/instances/{instancesId}:reportStatus", @@ -5857,7 +6754,7 @@ ], "parameters": { "parent": { - "description": "Required. The name of the organization in which to create the key value map file. Must be of the form `organizations/{organization}`.", + "description": "Required. Name of the organization in which to create the key value map file. Use the following structure in your request: `organizations/{org}`", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -5876,7 +6773,7 @@ ] }, "delete": { - "description": "Delete a key value map in an organization.", + "description": "Deletes a key value map from an organization.", "flatPath": "v1/organizations/{organizationsId}/keyvaluemaps/{keyvaluemapsId}", "httpMethod": "DELETE", "id": "apigee.organizations.keyvaluemaps.delete", @@ -5885,7 +6782,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the key value map. Must be of the form `organizations/{organization}/keyvaluemaps/{keyvaluemap}`.", + "description": "Required. Name of the key value map. Use the following structure in your request: `organizations/{org}/keyvaluemaps/{keyvaluemap}`", "location": "path", "pattern": "^organizations/[^/]+/keyvaluemaps/[^/]+$", "required": true, @@ -5975,7 +6872,7 @@ "optimizedHostStats": { "methods": { "get": { - "description": "This api is similar to GetHostStats except that the response is less verbose.", + "description": "Similar to GetHostStats except that the response is less verbose.", "flatPath": "v1/organizations/{organizationsId}/optimizedHostStats/{optimizedHostStatsId}", "httpMethod": "GET", "id": "apigee.organizations.optimizedHostStats.get", @@ -5984,79 +6881,79 @@ ], "parameters": { "accuracy": { - "description": "Legacy field: not used anymore.", + "description": "No longer used by Apigee. Supported for backwards compatibility.", "location": "query", "type": "string" }, "envgroupHostname": { - "description": "Required. The hostname for which the interactive query will be executed.", + "description": "Required. Hostname for which the interactive query will be executed.", "location": "query", "type": "string" }, "filter": { - "description": "Enables drill-down on specific dimension values.", + "description": "Filter that enables you to drill-down on specific dimension values.", "location": "query", "type": "string" }, "limit": { - "description": "This parameter is used to limit the number of result items. Default and the max value is 14400.", + "description": "Maximum number of result items to return. The default and maximum value that can be returned is 14400.", "location": "query", "type": "string" }, "name": { - "description": "Required. The resource name for which the interactive query will be executed. Must be of the form `organizations/{organization_id}/optimizedHostStats/{dimensions}`. Dimensions let you view metrics in meaningful groupings. E.g. apiproxy, target_host. The value of dimensions should be comma separated list as shown below `organizations/{org}/optimizedHostStats/apiproxy,request_verb`", + "description": "Required. Resource name for which the interactive query will be executed. Use the following format in your request: `organizations/{organization_id}/optimizedHostStats/{dimensions}` Dimensions let you view metrics in meaningful groupings, such as `apiproxy`, `target_host`. The value of dimensions should be a comma-separated list as shown below: `organizations/{org}/optimizedHostStats/apiproxy,request_verb`", "location": "path", "pattern": "^organizations/[^/]+/optimizedHostStats/.*$", "required": true, "type": "string" }, "offset": { - "description": "Use offset with limit to enable pagination of results. For example, to display results 11-20, set limit to '10' and offset to '10'.", + "description": "Offset value. Use `offset` with `limit` to enable pagination of results. For example, to display results 11-20, set limit to `10` and offset to `10`.", "location": "query", "type": "string" }, "realtime": { - "description": "Legacy field: not used anymore.", + "description": "No longer used by Apigee. Supported for backwards compatibility.", "location": "query", "type": "boolean" }, "select": { - "description": "Required. The select parameter contains a comma separated list of metrics. E.g. sum(message_count),sum(error_count)", + "description": "Required. Comma-separated list of metrics. For example: `sum(message_count),sum(error_count)`", "location": "query", "type": "string" }, "sort": { - "description": "This parameter specifies if the sort order should be ascending or descending Supported values are DESC and ASC.", + "description": "Flag that specifies whether the sort order should be ascending or descending. Valid values include `DESC` and `ASC`.", "location": "query", "type": "string" }, "sortby": { - "description": "Comma separated list of columns to sort the final result.", + "description": "Comma-separated list of columns used to sort the final result.", "location": "query", "type": "string" }, "timeRange": { - "description": "Required. Time interval for the interactive query. Time range is specified as start~end. E.g 04/15/2017 00:00~05/15/2017 23:59.", + "description": "Required. Time interval for the interactive query. Time range is specified in GMT as `start~end`. For example: `04/15/2017 00:00~05/15/2017 23:59`.", "location": "query", "type": "string" }, "timeUnit": { - "description": "A value of second, minute, hour, day, week, month. Time Unit specifies the granularity of metrics returned.", + "description": "Granularity of metrics returned. Valid values include: `second`, `minute`, `hour`, `day`, `week`, or `month`.", "location": "query", "type": "string" }, "topk": { - "description": "Take 'top k' results from results, for example, to return the top 5 results 'topk=5'.", + "description": "Top number of results to return. For example, to return the top 5 results, set `topk=5`.", "location": "query", "type": "string" }, "tsAscending": { - "description": "Lists timestamps in ascending order if set to true. Recommend setting this value to true if you are using sortby with sort=DESC.", + "description": "Flag that specifies whether to list timestamps in ascending (`true`) or descending (`false`) order. Apigee recommends that you set this value to `true` if you are using `sortby` with `sort=DESC`.", "location": "query", "type": "boolean" }, "tzo": { - "description": "This parameters contains the timezone offset value.", + "description": "Timezone offset value.", "location": "query", "type": "string" } @@ -6666,9 +7563,38 @@ } } }, - "revision": "20210319", + "revision": "20220301", "rootUrl": "https://apigee.googleapis.com/", "schemas": { + "EdgeConfigstoreBundleBadBundle": { + "description": "Describes why a bundle is invalid. Intended for use in error details.", + "id": "EdgeConfigstoreBundleBadBundle", + "properties": { + "violations": { + "description": "Describes all precondition violations.", + "items": { + "$ref": "EdgeConfigstoreBundleBadBundleViolation" + }, + "type": "array" + } + }, + "type": "object" + }, + "EdgeConfigstoreBundleBadBundleViolation": { + "description": "A message type used to describe a single bundle validation error.", + "id": "EdgeConfigstoreBundleBadBundleViolation", + "properties": { + "description": { + "description": "A description of why the bundle is invalid and how to fix it.", + "type": "string" + }, + "filename": { + "description": "The filename (including relative path from the bundle root) in which the error occurred.", + "type": "string" + } + }, + "type": "object" + }, "GoogleApiHttpBody": { "description": "Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.", "id": "GoogleApiHttpBody", @@ -6759,6 +7685,51 @@ "properties": {}, "type": "object" }, + "GoogleCloudApigeeV1AddonsConfig": { + "description": "Add-on configurations for the Apigee organization.", + "id": "GoogleCloudApigeeV1AddonsConfig", + "properties": { + "advancedApiOpsConfig": { + "$ref": "GoogleCloudApigeeV1AdvancedApiOpsConfig", + "description": "Configuration for the Advanced API Ops add-on." + }, + "connectorsPlatformConfig": { + "$ref": "GoogleCloudApigeeV1ConnectorsPlatformConfig", + "description": "Configuration for the Connectors Platform add-on." + }, + "integrationConfig": { + "$ref": "GoogleCloudApigeeV1IntegrationConfig", + "description": "Configuration for the Integration add-on." + }, + "monetizationConfig": { + "$ref": "GoogleCloudApigeeV1MonetizationConfig", + "description": "Configuration for the Monetization add-on." + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1AdjustDeveloperBalanceRequest": { + "description": "Request for AdjustDeveloperBalance.", + "id": "GoogleCloudApigeeV1AdjustDeveloperBalanceRequest", + "properties": { + "adjustment": { + "$ref": "GoogleTypeMoney", + "description": "* A positive value of `adjustment` means that that the API provider wants to adjust the balance for an under-charged developer i.e. the balance of the developer will decrease. * A negative value of `adjustment` means that that the API provider wants to adjust the balance for an over-charged developer i.e. the balance of the developer will increase." + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1AdvancedApiOpsConfig": { + "description": "Configuration for the Advanced API Ops add-on.", + "id": "GoogleCloudApigeeV1AdvancedApiOpsConfig", + "properties": { + "enabled": { + "description": "Flag that specifies whether the Advanced API Ops add-on is enabled.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1Alias": { "description": "Reference to a certificate or key/certificate pair.", "id": "GoogleCloudApigeeV1Alias", @@ -6960,7 +7931,7 @@ "type": "string" }, "status": { - "description": "Status of the API product.", + "description": "Status of the API product. Valid values are `approved` or `revoked`.", "type": "string" } }, @@ -6970,23 +7941,54 @@ "description": "Metadata describing the API proxy", "id": "GoogleCloudApigeeV1ApiProxy", "properties": { + "apiProxyType": { + "description": "Output only. The type of the API proxy.", + "enum": [ + "API_PROXY_TYPE_UNSPECIFIED", + "PROGRAMMABLE", + "CONFIGURABLE" + ], + "enumDescriptions": [ + "API proxy type not specified.", + "Programmable API Proxies enable you to develop APIs with highly flexible behavior using bundled policy configuration and one or more programming languages to describe complex sequential and/or conditional flows of logic.", + "Configurable API Proxies enable you to develop efficient APIs using simple configuration while complex execution control flow logic is handled by Apigee. This type only works with the ARCHIVE deployment type and cannot be combined with the PROXY deployment type." + ], + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "User labels applied to this API Proxy.", + "type": "object" + }, "latestRevisionId": { - "description": "The id of the most recently created revision for this api proxy.", + "description": "Output only. The id of the most recently created revision for this api proxy.", + "readOnly": true, "type": "string" }, "metaData": { "$ref": "GoogleCloudApigeeV1EntityMetadata", - "description": "Metadata describing the API proxy." + "description": "Output only. Metadata describing the API proxy.", + "readOnly": true }, "name": { - "description": "Name of the API proxy.", + "description": "Output only. Name of the API proxy.", + "readOnly": true, "type": "string" }, + "readOnly": { + "description": "Output only. Whether this proxy is read-only. A read-only proxy cannot have new revisions created through calls to CreateApiProxyRevision. A proxy is read-only if it was generated by an archive.", + "readOnly": true, + "type": "boolean" + }, "revision": { - "description": "List of revisons defined for the API proxy.", + "description": "Output only. List of revisons defined for the API proxy.", "items": { "type": "string" }, + "readOnly": true, "type": "array" } }, @@ -6996,6 +7998,11 @@ "description": "API proxy revision.", "id": "GoogleCloudApigeeV1ApiProxyRevision", "properties": { + "archive": { + "description": "Output only. The archive that generated this proxy revision. This field is only present on proxy revisions that were generated by an archive. Proxies generated by archives cannot be updated, deleted, or deployed to other environments. Format: `organizations/*/environments/*/archiveDeployments/*`", + "readOnly": true, + "type": "string" + }, "basepaths": { "description": "Base URL of the API proxy.", "items": { @@ -7031,6 +8038,13 @@ "description": "Metadata describing the API proxy revision as a key-value map.", "type": "object" }, + "integrationEndpoints": { + "description": "List of IntegrationEndpoints in the '/integration-endpoints' directory of the API proxy. This is a 'manifest' setting designed to provide visibility into the contents of the API proxy.", + "items": { + "type": "string" + }, + "type": "array" + }, "lastModifiedAt": { "description": "Time that the API proxy revision was last modified in milliseconds since epoch.", "format": "int64", @@ -7220,6 +8234,45 @@ }, "type": "object" }, + "GoogleCloudApigeeV1ArchiveDeployment": { + "description": "Archive Deployment information.", + "id": "GoogleCloudApigeeV1ArchiveDeployment", + "properties": { + "createdAt": { + "description": "Output only. The time at which the Archive Deployment was created in milliseconds since the epoch.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "gcsUri": { + "description": "Input only. The Google Cloud Storage signed URL returned from GenerateUploadUrl and used to upload the Archive zip file.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "User-supplied key-value pairs used to organize ArchiveDeployments. 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": "Name of the Archive Deployment in the following format: `organizations/{org}/environments/{env}/archiveDeployments/{id}`.", + "type": "string" + }, + "operation": { + "description": "Output only. A reference to the LRO that created this Archive Deployment in the following format: `organizations/{org}/operations/{id}`", + "readOnly": true, + "type": "string" + }, + "updatedAt": { + "description": "Output only. The time at which the Archive Deployment was updated in milliseconds since the epoch.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1AsyncQuery": { "id": "GoogleCloudApigeeV1AsyncQuery", "properties": { @@ -7541,6 +8594,23 @@ }, "type": "object" }, + "GoogleCloudApigeeV1ConnectorsPlatformConfig": { + "description": "Configuration for the Connectors Platform add-on.", + "id": "GoogleCloudApigeeV1ConnectorsPlatformConfig", + "properties": { + "enabled": { + "description": "Flag that specifies whether the Connectors Platform add-on is enabled.", + "type": "boolean" + }, + "expiresAt": { + "description": "Output only. Time at which the Connectors Platform add-on expires in milliseconds since epoch. If unspecified, the add-on will never expire.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1Credential": { "id": "GoogleCloudApigeeV1Credential", "properties": { @@ -7584,7 +8654,22 @@ "type": "array" }, "status": { - "description": "Status of the credential.", + "description": "Status of the credential. Valid values include `approved` or `revoked`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1CreditDeveloperBalanceRequest": { + "description": "Request for CreditDeveloperBalance.", + "id": "GoogleCloudApigeeV1CreditDeveloperBalanceRequest", + "properties": { + "transactionAmount": { + "$ref": "GoogleTypeMoney", + "description": "The amount of money to be credited. The wallet corresponding to the currency specified within `transaction_amount` will be updated. For example, if you specified `currency_code` within `transaction_amount` as \"USD\", then the amount would be added to the wallet which has the \"USD\" currency or if no such wallet exists, a new wallet will be created with the \"USD\" currency." + }, + "transactionId": { + "description": "Each transaction_id uniquely identifies a credit balance request. If multiple requests are received with the same transaction_id, only one of them will be considered.", "type": "string" } }, @@ -7960,6 +9045,12 @@ "format": "int32", "type": "integer" }, + "createTime": { + "description": "Output only. The first transaction creation timestamp, recorded by UAP.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, "filter": { "description": "Optional. A conditional statement which is evaluated against the request message to determine if it should be traced. Syntax matches that of on API Proxy bundle flow Condition.", "type": "string" @@ -8062,6 +9153,10 @@ }, "type": "array" }, + "serviceAccount": { + "description": "The full resource name of Cloud IAM Service Account that this deployment is using, eg, `projects/-/serviceAccounts/{email}`.", + "type": "string" + }, "state": { "description": "Current state of the deployment. This field is not populated in List APIs.", "enum": [ @@ -8176,6 +9271,7 @@ "type": "object" }, "GoogleCloudApigeeV1DeploymentConfig": { + "description": "NEXT ID: 9", "id": "GoogleCloudApigeeV1DeploymentConfig", "properties": { "attributes": { @@ -8201,6 +9297,10 @@ "description": "Unique ID of the API proxy revision.", "type": "string" }, + "serviceAccount": { + "description": "The service account identity associated with this deployment. If non-empty, will be in the following format: `projects/-/serviceAccounts/{account_email}`", + "type": "string" + }, "uid": { "description": "Unique ID. The ID will only change if the deployment is deleted and recreated.", "type": "string" @@ -8415,19 +9515,134 @@ }, "type": "object" }, + "GoogleCloudApigeeV1DeveloperBalance": { + "description": "Account balance for the developer.", + "id": "GoogleCloudApigeeV1DeveloperBalance", + "properties": { + "wallets": { + "description": "Output only. List of all wallets. Each individual wallet stores the account balance for a particular currency.", + "items": { + "$ref": "GoogleCloudApigeeV1DeveloperBalanceWallet" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1DeveloperBalanceWallet": { + "description": "Wallet used to manage an account balance for a particular currency.", + "id": "GoogleCloudApigeeV1DeveloperBalanceWallet", + "properties": { + "balance": { + "$ref": "GoogleTypeMoney", + "description": "Current remaining balance of the developer for a particular currency." + }, + "lastCreditTime": { + "description": "Output only. Time at which the developer last added credit to the account in milliseconds since epoch.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1DeveloperMonetizationConfig": { + "description": "Monetization configuration for the developer.", + "id": "GoogleCloudApigeeV1DeveloperMonetizationConfig", + "properties": { + "billingType": { + "description": "Billing type.", + "enum": [ + "BILLING_TYPE_UNSPECIFIED", + "PREPAID", + "POSTPAID" + ], + "enumDescriptions": [ + "The default/unset value.", + "Developer pays in advance for the use of APIs and the charged amount is deducted from their account balance.", + "Developer does not maintain an account balance. The API provider bills the developer for API usage." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1DeveloperSubscription": { + "description": "Structure of a DeveloperSubscription.", + "id": "GoogleCloudApigeeV1DeveloperSubscription", + "properties": { + "apiproduct": { + "description": "Name of the API product for which the developer is purchasing a subscription.", + "type": "string" + }, + "createdAt": { + "description": "Output only. Time when the API product subscription was created in milliseconds since epoch.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Time when the API product subscription ends in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "lastModifiedAt": { + "description": "Output only. Time when the API product subscription was last modified in milliseconds since epoch.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Name of the API product subscription.", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Time when the API product subscription starts in milliseconds since epoch.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1DimensionMetric": { - "description": "This message type encapsulates a metric grouped by dimension.", + "description": "Encapsulates a metric grouped by dimension.", "id": "GoogleCloudApigeeV1DimensionMetric", "properties": { "metrics": { - "description": "This field contains a list of metrics.", + "description": "List of metrics.", "items": { "$ref": "GoogleCloudApigeeV1Metric" }, "type": "array" }, "name": { - "description": "This field contains the name of the dimension.", + "description": "Name of the dimension.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1EndpointAttachment": { + "description": "Apigee endpoint attachment. For more information, see Southbound networking patterns.", + "id": "GoogleCloudApigeeV1EndpointAttachment", + "properties": { + "host": { + "description": "Output only. Host that can be used in either the HTTP target endpoint directly or as the host in target server.", + "readOnly": true, + "type": "string" + }, + "location": { + "description": "Required. Location of the endpoint attachment.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint attachment. Use the following structure in your request: `organizations/{org}/endpointAttachments/{endpoint_attachment}`", + "type": "string" + }, + "serviceAttachment": { + "description": "Format: projects/*/regions/*/serviceAttachments/*", "type": "string" } }, @@ -8457,12 +9672,40 @@ "GoogleCloudApigeeV1Environment": { "id": "GoogleCloudApigeeV1Environment", "properties": { + "apiProxyType": { + "description": "Optional. API Proxy type supported by the environment. The type can be set when creating the Environment and cannot be changed.", + "enum": [ + "API_PROXY_TYPE_UNSPECIFIED", + "PROGRAMMABLE", + "CONFIGURABLE" + ], + "enumDescriptions": [ + "API proxy type not specified.", + "Programmable API Proxies enable you to develop APIs with highly flexible behavior using bundled policy configuration and one or more programming languages to describe complex sequential and/or conditional flows of logic.", + "Configurable API Proxies enable you to develop efficient APIs using simple configuration while complex execution control flow logic is handled by Apigee. This type only works with the ARCHIVE deployment type and cannot be combined with the PROXY deployment type." + ], + "type": "string" + }, "createdAt": { "description": "Output only. Creation time of this environment as milliseconds since epoch.", "format": "int64", "readOnly": true, "type": "string" }, + "deploymentType": { + "description": "Optional. Deployment type supported by the environment. The deployment type can be set when creating the environment and cannot be changed. When you enable archive deployment, you will be **prevented from performing** a [subset of actions](/apigee/docs/api-platform/local-development/overview#prevented-actions) within the environment, including: * Managing the deployment of API proxy or shared flow revisions * Creating, updating, or deleting resource files * Creating, updating, or deleting target servers", + "enum": [ + "DEPLOYMENT_TYPE_UNSPECIFIED", + "PROXY", + "ARCHIVE" + ], + "enumDescriptions": [ + "Deployment type not specified.", + "Proxy deployment enables you to develop and deploy API proxies using Apigee on Google Cloud. This cannot currently be combined with the CONFIGURABLE API proxy type.", + "Archive deployment enables you to develop API proxies locally then deploy an archive of your API proxy configuration to an environment in Apigee on Google Cloud. You will be prevented from performing a [subset of actions](/apigee/docs/api-platform/local-development/overview#prevented-actions) within the environment." + ], + "type": "string" + }, "description": { "description": "Optional. Description of the environment.", "type": "string" @@ -8491,13 +9734,15 @@ "STATE_UNSPECIFIED", "CREATING", "ACTIVE", - "DELETING" + "DELETING", + "UPDATING" ], "enumDescriptions": [ "Resource is in an unspecified state.", "Resource is being created.", "Resource is provisioned and ready to use.", - "The resource is being deleted." + "The resource is being deleted.", + "The resource is being updated." ], "readOnly": true, "type": "string" @@ -8508,6 +9753,10 @@ "GoogleCloudApigeeV1EnvironmentConfig": { "id": "GoogleCloudApigeeV1EnvironmentConfig", "properties": { + "arcConfigLocation": { + "description": "The location for the config blob of API Runtime Control, aka Envoy Adapter, for op-based authentication as a URI, e.g. a Cloud Storage URI. This is only used by Envoy-based gateways.", + "type": "string" + }, "createTime": { "description": "Time that the environment configuration was created.", "format": "google-datetime", @@ -8545,6 +9794,10 @@ }, "type": "array" }, + "gatewayConfigLocation": { + "description": "The location for the gateway config blob as a URI, e.g. a Cloud Storage URI. This is only used by Envoy-based gateways.", + "type": "string" + }, "keystores": { "description": "List of keystores in the environment.", "items": { @@ -8639,13 +9892,15 @@ "STATE_UNSPECIFIED", "CREATING", "ACTIVE", - "DELETING" + "DELETING", + "UPDATING" ], "enumDescriptions": [ "Resource is in an unspecified state.", "Resource is being created.", "Resource is provisioned and ready to use.", - "The resource is being deleted." + "The resource is being deleted.", + "The resource is being updated." ], "readOnly": true, "type": "string" @@ -8708,6 +9963,12 @@ }, "type": "object" }, + "GoogleCloudApigeeV1ExpireDeveloperSubscriptionRequest": { + "description": "Request for ExpireDeveloperSubscription.", + "id": "GoogleCloudApigeeV1ExpireDeveloperSubscriptionRequest", + "properties": {}, + "type": "object" + }, "GoogleCloudApigeeV1Export": { "description": "Details of an export job.", "id": "GoogleCloudApigeeV1Export", @@ -8829,6 +10090,40 @@ }, "type": "object" }, + "GoogleCloudApigeeV1GenerateDownloadUrlRequest": { + "description": "Request for GenerateDownloadUrl method.", + "id": "GoogleCloudApigeeV1GenerateDownloadUrlRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudApigeeV1GenerateDownloadUrlResponse": { + "description": "Response for GenerateDownloadUrl method.", + "id": "GoogleCloudApigeeV1GenerateDownloadUrlResponse", + "properties": { + "downloadUri": { + "description": "The Google Cloud Storage signed URL that can be used to download the Archive zip file.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1GenerateUploadUrlRequest": { + "description": "Request for GenerateUploadUrl method.", + "id": "GoogleCloudApigeeV1GenerateUploadUrlRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudApigeeV1GenerateUploadUrlResponse": { + "description": "Response for GenerateUploadUrl method.", + "id": "GoogleCloudApigeeV1GenerateUploadUrlResponse", + "properties": { + "uploadUri": { + "description": "The Google Cloud Storage signed URL that can be used to upload a new Archive zip file.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1GetSyncAuthorizationRequest": { "description": "Request for GetSyncAuthorization.", "id": "GoogleCloudApigeeV1GetSyncAuthorizationRequest", @@ -8836,15 +10131,15 @@ "type": "object" }, "GoogleCloudApigeeV1GraphQLOperation": { - "description": "GraphQLOperation represents the pairing of graphQL operation types and the graphQL operation name.", + "description": "Represents the pairing of GraphQL operation types and the GraphQL operation name.", "id": "GoogleCloudApigeeV1GraphQLOperation", "properties": { "operation": { - "description": "GraphQL operation name, along with operation type which will be used to associate quotas with. If no name is specified, the quota will be applied to all graphQL operations irrespective of their operation names in the payload.", + "description": "GraphQL operation name. The name and operation type will be used to apply quotas. If no name is specified, the quota will be applied to all GraphQL operations irrespective of their operation names in the payload.", "type": "string" }, "operationTypes": { - "description": "Required. `query`, `mutation` and `subscription` are the three operation types offered by graphQL. Currently we support only `query` and `mutation`.", + "description": "Required. GraphQL operation types. Valid values include `query` or `mutation`. **Note**: Apigee does not currently support `subscription` types.", "items": { "type": "string" }, @@ -8854,11 +10149,11 @@ "type": "object" }, "GoogleCloudApigeeV1GraphQLOperationConfig": { - "description": "GraphQLOperationConfig binds the resources in a proxy or remote service with the graphQL operation and its associated quota enforcement.", + "description": "Binds the resources in a proxy or remote service with the GraphQL operation and its associated quota enforcement.", "id": "GoogleCloudApigeeV1GraphQLOperationConfig", "properties": { "apiSource": { - "description": "Required. API proxy endpoint or remote service name with which the graphQL operation, and quota are associated.", + "description": "Required. Name of the API proxy endpoint or remote service with which the GraphQL operation and quota are associated.", "type": "string" }, "attributes": { @@ -8869,7 +10164,7 @@ "type": "array" }, "operations": { - "description": "Required. List of graphQL name/Operation type pairs for the proxy/remote service, upon which quota will applied. If GraphQLOperation operation has only the operation type(s), that would imply that quota will be applied on all graphQL requests irrespective of the graphQL name. **Note**: Currently, we can specify only a single GraphQLOperation. Specifying more than one will result in failure of the operation.", + "description": "Required. List of GraphQL name/operation type pairs for the proxy or remote service to which quota will be applied. If only operation types are specified, the quota will be applied to all GraphQL requests irrespective of the GraphQL name. **Note**: Currently, you can specify only a single GraphQLOperation. Specifying more than one will cause the operation to fail.", "items": { "$ref": "GoogleCloudApigeeV1GraphQLOperation" }, @@ -8877,7 +10172,7 @@ }, "quota": { "$ref": "GoogleCloudApigeeV1Quota", - "description": "Quota parameters to be enforced for the resources, methods, api_source combination. If none are specified, quota enforcement will not be done." + "description": "Quota parameters to be enforced for the resources, methods, and API source combination. If none are specified, quota enforcement will not be done." } }, "type": "object" @@ -8887,7 +10182,7 @@ "id": "GoogleCloudApigeeV1GraphQLOperationGroup", "properties": { "operationConfigType": { - "description": "Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values are `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.", + "description": "Flag that specifies whether the configuration is for Apigee API proxy or a remote service. Valid values include `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.", "type": "string" }, "operationConfigs": { @@ -8958,6 +10253,10 @@ "readOnly": true, "type": "string" }, + "ipRange": { + "description": "Optional. IP range represents the customer-provided CIDR block of length 22 that will be used for the Apigee instance creation. This optional range, if provided, should be freely available as part of larger named range the customer has allocated to the Service Networking peering. If this is not provided, Apigee will automatically request for any available /22 CIDR block from Service Networking. The customer should use this CIDR block for configuring their firewall needs to allow traffic from Apigee. Input format: \"a.b.c.d/22\", Output format: a.b.c.d/22, e.f.g.h/28\"", + "type": "string" + }, "lastModifiedAt": { "description": "Output only. Time the instance was last modified in milliseconds since epoch.", "format": "int64", @@ -8977,12 +10276,22 @@ "enum": [ "CIDR_RANGE_UNSPECIFIED", "SLASH_16", - "SLASH_20" + "SLASH_17", + "SLASH_18", + "SLASH_19", + "SLASH_20", + "SLASH_22", + "SLASH_23" ], "enumDescriptions": [ "Range not specified.", "`/16` CIDR range.", - "`/20` CIDR range." + "`/17` CIDR range.", + "`/18` CIDR range.", + "`/19` CIDR range.", + "`/20` CIDR range.", + "`/22` CIDR range. Supported for evaluation only.", + "`/23` CIDR range. Supported for evaluation only." ], "type": "string" }, @@ -8991,19 +10300,26 @@ "readOnly": true, "type": "string" }, + "runtimeVersion": { + "description": "Output only. Version of the runtime system running in the instance. The runtime system is the set of components that serve the API Proxy traffic in your Environments.", + "readOnly": true, + "type": "string" + }, "state": { "description": "Output only. State of the instance. Values other than `ACTIVE` means the resource is not ready to use.", "enum": [ "STATE_UNSPECIFIED", "CREATING", "ACTIVE", - "DELETING" + "DELETING", + "UPDATING" ], "enumDescriptions": [ "Resource is in an unspecified state.", "Resource is being created.", "Resource is provisioned and ready to use.", - "The resource is being deleted." + "The resource is being deleted.", + "The resource is being updated." ], "readOnly": true, "type": "string" @@ -9098,6 +10414,17 @@ }, "type": "object" }, + "GoogleCloudApigeeV1IntegrationConfig": { + "description": "Configuration for the Integration add-on.", + "id": "GoogleCloudApigeeV1IntegrationConfig", + "properties": { + "enabled": { + "description": "Flag that specifies whether the Integration add-on is enabled.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1KeyAliasReference": { "id": "GoogleCloudApigeeV1KeyAliasReference", "properties": { @@ -9113,15 +10440,15 @@ "type": "object" }, "GoogleCloudApigeeV1KeyValueMap": { - "description": "A collection of key, value string pairs", + "description": "Collection of key/value string pairs.", "id": "GoogleCloudApigeeV1KeyValueMap", "properties": { "encrypted": { - "description": "Optional. If `true` entry values will be encrypted.", + "description": "Optional. Flag that specifies whether entry values will be encrypted. Enable to encrypt entry values.", "type": "boolean" }, "name": { - "description": "Required. The id of the key value map.", + "description": "Required. ID of the key value map.", "type": "string" } }, @@ -9230,6 +10557,24 @@ }, "type": "object" }, + "GoogleCloudApigeeV1ListArchiveDeploymentsResponse": { + "description": "Response for ListArchiveDeployments method.", + "id": "GoogleCloudApigeeV1ListArchiveDeploymentsResponse", + "properties": { + "archiveDeployments": { + "description": "Archive Deployments in the specified environment.", + "items": { + "$ref": "GoogleCloudApigeeV1ArchiveDeployment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Page token that you can include in a ListArchiveDeployments request to retrieve the next page. If omitted, no subsequent pages exist.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1ListAsyncQueriesResponse": { "description": "The response for ListAsyncQueries.", "id": "GoogleCloudApigeeV1ListAsyncQueriesResponse", @@ -9332,6 +10677,42 @@ }, "type": "object" }, + "GoogleCloudApigeeV1ListDeveloperSubscriptionsResponse": { + "description": "Response for ListDeveloperSubscriptions.", + "id": "GoogleCloudApigeeV1ListDeveloperSubscriptionsResponse", + "properties": { + "developerSubscriptions": { + "description": "List of all subscriptions.", + "items": { + "$ref": "GoogleCloudApigeeV1DeveloperSubscription" + }, + "type": "array" + }, + "nextStartKey": { + "description": "Value that can be sent as `startKey` to retrieve the next page of content. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListEndpointAttachmentsResponse": { + "description": "Response for ListEndpointAttachments method.", + "id": "GoogleCloudApigeeV1ListEndpointAttachmentsResponse", + "properties": { + "endpointAttachments": { + "description": "Endpoint attachments in the specified organization.", + "items": { + "$ref": "GoogleCloudApigeeV1EndpointAttachment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Page token that you can include in an `ListEndpointAttachments` request to retrieve the next page. If omitted, no subsequent pages exist.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1ListEnvironmentGroupAttachmentsResponse": { "description": "Response for ListEnvironmentGroupAttachments.", "id": "GoogleCloudApigeeV1ListEnvironmentGroupAttachmentsResponse", @@ -9489,6 +10870,24 @@ }, "type": "object" }, + "GoogleCloudApigeeV1ListRatePlansResponse": { + "description": "Response for ListRatePlans.", + "id": "GoogleCloudApigeeV1ListRatePlansResponse", + "properties": { + "nextStartKey": { + "description": "Value that can be sent as `startKey` to retrieve the next page of content. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "ratePlans": { + "description": "List of rate plans in an organization.", + "items": { + "$ref": "GoogleCloudApigeeV1RatePlan" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1ListSharedFlowsResponse": { "id": "GoogleCloudApigeeV1ListSharedFlowsResponse", "properties": { @@ -9520,7 +10919,7 @@ "type": "object" }, "GoogleCloudApigeeV1Metadata": { - "description": "This message type encapsulates additional information about query execution.", + "description": "Encapsulates additional information about query execution.", "id": "GoogleCloudApigeeV1Metadata", "properties": { "errors": { @@ -9531,7 +10930,7 @@ "type": "array" }, "notices": { - "description": "List of additional information such as data source, if result was truncated etc. E.g \"notices\": [ \"Source:Postgres\", \"PG Host:uappg0rw.e2e.apigeeks.net\", \"query served by:4b64601e-40de-4eb1-bfb9-eeee7ac929ed\", \"Table used: edge.api.uapgroup2.agg_api\" ]", + "description": "List of additional information such as data source, if result was truncated. For example: ``` \"notices\": [ \"Source:Postgres\", \"PG Host:uappg0rw.e2e.apigeeks.net\", \"query served by:4b64601e-40de-4eb1-bfb9-eeee7ac929ed\", \"Table used: edge.api.uapgroup2.agg_api\" ]```", "items": { "type": "string" }, @@ -9541,15 +10940,15 @@ "type": "object" }, "GoogleCloudApigeeV1Metric": { - "description": "This message type encapsulates the metric data point. Example: { \"name\": \"sum(message_count)\", \"values\" : [ { \"timestamp\": 1549004400000, \"value\": \"39.0\" }, { \"timestamp\" : 1548997200000, \"value\" : \"0.0\" } ] } or { \"name\": \"sum(message_count)\", \"values\" : [\"39.0\"] }", + "description": "Encapsulates the metric data point. For example: ```{ \"name\": \"sum(message_count)\", \"values\" : [ { \"timestamp\": 1549004400000, \"value\": \"39.0\" }, { \"timestamp\" : 1548997200000, \"value\" : \"0.0\" } ] }``` or ```{ \"name\": \"sum(message_count)\", \"values\" : [\"39.0\"] }```", "id": "GoogleCloudApigeeV1Metric", "properties": { "name": { - "description": "This field contains the metric name.", + "description": "Metric name.", "type": "string" }, "values": { - "description": "List of metric values. Possible value format: \"values\":[\"39.0\"] or \"values\":[ { \"value\": \"39.0\", \"timestamp\": 1232434354} ]", + "description": "List of metric values. Possible value formats include: `\"values\":[\"39.0\"]` or `\"values\":[ { \"value\": \"39.0\", \"timestamp\": 1232434354} ]`", "items": { "type": "any" }, @@ -9558,6 +10957,17 @@ }, "type": "object" }, + "GoogleCloudApigeeV1MonetizationConfig": { + "description": "Configuration for the Monetization add-on.", + "id": "GoogleCloudApigeeV1MonetizationConfig", + "properties": { + "enabled": { + "description": "Flag that specifies whether the Monetization add-on is enabled.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1NatAddress": { "description": "Apigee NAT(network address translation) address. A NAT address is a static external IP address used for Internet egress traffic.", "id": "GoogleCloudApigeeV1NatAddress", @@ -9594,7 +11004,7 @@ "type": "object" }, "GoogleCloudApigeeV1Operation": { - "description": "Operation represents the pairing of REST resource path and the actions (verbs) allowed on the resource path.", + "description": "Represents the pairing of REST resource path and the actions (verbs) allowed on the resource path.", "id": "GoogleCloudApigeeV1Operation", "properties": { "methods": { @@ -9605,18 +11015,18 @@ "type": "array" }, "resource": { - "description": "Required. resource represents REST resource path associated with the proxy/remote service.", + "description": "Required. REST resource path associated with the API proxy or remote service.", "type": "string" } }, "type": "object" }, "GoogleCloudApigeeV1OperationConfig": { - "description": "OperationConfig binds the resources in a proxy or remote service with the allowed REST methods and its associated quota enforcement.", + "description": "Binds the resources in an API proxy or remote service with the allowed REST methods and associated quota enforcement.", "id": "GoogleCloudApigeeV1OperationConfig", "properties": { "apiSource": { - "description": "Required. API proxy or remote service name with which the resources, methods, and quota are associated.", + "description": "Required. Name of the API proxy or remote service with which the resources, methods, and quota are associated.", "type": "string" }, "attributes": { @@ -9627,7 +11037,7 @@ "type": "array" }, "operations": { - "description": "List of resource/method pairs for the proxy/remote service, upon which quota will applied. **Note**: Currently, you can specify only a single resource/method pair. The call will fail if more than one resource/method pair is provided.", + "description": "List of resource/method pairs for the API proxy or remote service to which quota will applied. **Note**: Currently, you can specify only a single resource/method pair. The call will fail if more than one resource/method pair is provided.", "items": { "$ref": "GoogleCloudApigeeV1Operation" }, @@ -9635,7 +11045,7 @@ }, "quota": { "$ref": "GoogleCloudApigeeV1Quota", - "description": "Quota parameters to be enforced for the resources, methods, api_source combination. If none are specified, quota enforcement will not be done." + "description": "Quota parameters to be enforced for the resources, methods, and API source combination. If none are specified, quota enforcement will not be done." } }, "type": "object" @@ -9645,7 +11055,7 @@ "id": "GoogleCloudApigeeV1OperationGroup", "properties": { "operationConfigType": { - "description": "Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values are `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.", + "description": "Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values include `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.", "type": "string" }, "operationConfigs": { @@ -9677,6 +11087,10 @@ ], "type": "string" }, + "progress": { + "$ref": "GoogleCloudApigeeV1OperationMetadataProgress", + "description": "Progress of the operation." + }, "state": { "enum": [ "STATE_UNSPECIFIED", @@ -9699,18 +11113,58 @@ }, "type": "object" }, + "GoogleCloudApigeeV1OperationMetadataProgress": { + "description": "Information about operation progress.", + "id": "GoogleCloudApigeeV1OperationMetadataProgress", + "properties": { + "description": { + "description": "Description of the operation's progress.", + "type": "string" + }, + "details": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The additional details of the progress.", + "type": "object" + }, + "percentDone": { + "description": "The percentage of the operation progress.", + "format": "int32", + "type": "integer" + }, + "state": { + "description": "State of the operation.", + "enum": [ + "STATE_UNSPECIFIED", + "NOT_STARTED", + "IN_PROGRESS", + "FINISHED" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1OptimizedStats": { "id": "GoogleCloudApigeeV1OptimizedStats", "properties": { "Response": { "$ref": "GoogleCloudApigeeV1OptimizedStatsResponse", - "description": "This field wraps the stats response for Js Optimized Scenario with a Response key. E.g. { \"Response\": { \"TimeUnit\": [], \"metaData\": { \"errors\": [], \"notices\": [ \"Source:Postgres\", \"Table used: edge.api.aaxgroup001.agg_api\", \"PG Host:ruappg08-ro.production.apigeeks.net\", \"query served by:80c4ebca-6a10-4a2e-8faf-c60c1ee306ca\" ] }, \"resultTruncated\": false, \"stats\": { \"data\": [ { \"identifier\": { \"names\": [ \"apiproxy\" ], \"values\": [ \"sirjee\" ] }, \"metric\": [ { \"env\": \"prod\", \"name\": \"sum(message_count)\", \"values\": [ 36.0 ] }, { \"env\": \"prod\", \"name\": \"sum(is_error)\", \"values\": [ 36.0 ] } ] } ] } } }" + "description": "Wraps the `stats` response for JavaScript Optimized Scenario with a response key. For example: ```{ \"Response\": { \"TimeUnit\": [], \"metaData\": { \"errors\": [], \"notices\": [ \"Source:Postgres\", \"Table used: edge.api.aaxgroup001.agg_api\", \"PG Host:ruappg08-ro.production.apigeeks.net\", \"query served by:80c4ebca-6a10-4a2e-8faf-c60c1ee306ca\" ] }, \"resultTruncated\": false, \"stats\": { \"data\": [ { \"identifier\": { \"names\": [ \"apiproxy\" ], \"values\": [ \"sirjee\" ] }, \"metric\": [ { \"env\": \"prod\", \"name\": \"sum(message_count)\", \"values\": [ 36.0 ] }, { \"env\": \"prod\", \"name\": \"sum(is_error)\", \"values\": [ 36.0 ] } ] } ] } } }```" } }, "type": "object" }, "GoogleCloudApigeeV1OptimizedStatsNode": { - "description": "This message type encapsulates a data node as represented below: { \"identifier\": { \"names\": [ \"apiproxy\" ], \"values\": [ \"sirjee\" ] }, \"metric\": [ { \"env\": \"prod\", \"name\": \"sum(message_count)\", \"values\": [ 36.0 ] } ] } OR { \"env\": \"prod\", \"name\": \"sum(message_count)\", \"values\": [ 36.0 ] } Depending on whether a dimension is present in the query or not the data node type can be a simple metric value or dimension identifier with list of metrics.", + "description": "Encapsulates a data node as represented below: ``` { \"identifier\": { \"names\": [ \"apiproxy\" ], \"values\": [ \"sirjee\" ] }, \"metric\": [ { \"env\": \"prod\", \"name\": \"sum(message_count)\", \"values\": [ 36.0 ] } ] }``` or ``` { \"env\": \"prod\", \"name\": \"sum(message_count)\", \"values\": [ 36.0 ] }``` Depending on whether a dimension is present in the query or not the data node type can be a simple metric value or dimension identifier with list of metrics.", "id": "GoogleCloudApigeeV1OptimizedStatsNode", "properties": { "data": { @@ -9723,11 +11177,11 @@ "type": "object" }, "GoogleCloudApigeeV1OptimizedStatsResponse": { - "description": "This message type encapsulates a response format for Js Optimized Scenario.", + "description": "Encapsulates a response format for JavaScript Optimized Scenario.", "id": "GoogleCloudApigeeV1OptimizedStatsResponse", "properties": { "TimeUnit": { - "description": "This field contains a list of time unit values. Time unit refers to an epoch timestamp value.", + "description": "List of time unit values. Time unit refers to an epoch timestamp value.", "items": { "format": "int64", "type": "string" @@ -9736,15 +11190,15 @@ }, "metaData": { "$ref": "GoogleCloudApigeeV1Metadata", - "description": "This field contains metadata information about the query executed" + "description": "Metadata information about the query executed." }, "resultTruncated": { - "description": "This ia a boolean field to indicate if the results were truncated based on the limit parameter.", + "description": "Boolean flag that indicates whether the results were truncated based on the limit parameter.", "type": "boolean" }, "stats": { "$ref": "GoogleCloudApigeeV1OptimizedStatsNode", - "description": "This field contains a stats results." + "description": "`stats` results." } }, "type": "object" @@ -9752,6 +11206,10 @@ "GoogleCloudApigeeV1Organization": { "id": "GoogleCloudApigeeV1Organization", "properties": { + "addonsConfig": { + "$ref": "GoogleCloudApigeeV1AddonsConfig", + "description": "Addon configurations of the Apigee organization." + }, "analyticsRegion": { "description": "Required. Primary GCP region for analytics data storage. For valid values, see [Create an Apigee organization](https://cloud.google.com/apigee/docs/api-platform/get-started/create-org).", "type": "string" @@ -9802,6 +11260,7 @@ "type": "string" }, "displayName": { + "description": "Display name for the Apigee organization. Unused, but reserved for future use.", "type": "string" }, "environments": { @@ -9829,6 +11288,10 @@ "readOnly": true, "type": "string" }, + "portalDisabled": { + "description": "Configuration for the Portals settings.", + "type": "boolean" + }, "projectId": { "description": "Output only. Project ID associated with the Apigee organization.", "readOnly": true, @@ -9862,13 +11325,15 @@ "STATE_UNSPECIFIED", "CREATING", "ACTIVE", - "DELETING" + "DELETING", + "UPDATING" ], "enumDescriptions": [ "Resource is in an unspecified state.", "Resource is being created.", "Resource is provisioned and ready to use.", - "The resource is being deleted." + "The resource is being deleted.", + "The resource is being updated." ], "readOnly": true, "type": "string" @@ -9914,8 +11379,12 @@ "description": "Name of the Apigee organization.", "type": "string" }, + "projectId": { + "description": "GCP project associated with the Apigee organization", + "type": "string" + }, "projectIds": { - "description": "List of GCP projects associated with the Apigee organization.", + "description": "DEPRECATED: Use `project_id`. An Apigee Organization is mapped to a single project.", "items": { "type": "string" }, @@ -10029,7 +11498,7 @@ "type": "string" }, "runtimeLocation": { - "description": "Cloud Platform location for the runtime instance. Defaults to `us-west1-a`.", + "description": "Cloud Platform location for the runtime instance. Defaults to zone `us-west1-a`. If a region is provided, `EVAL` organizations will use the region for automatically selecting a zone for the runtime instance.", "type": "string" } }, @@ -10156,7 +11625,7 @@ "type": "object" }, "GoogleCloudApigeeV1Quota": { - "description": "Quota contains the essential parameters needed that can be applied on a proxy/remote service, resources and methods combination associated with this API product. While setting of Quota is optional, setting it prevents requests from exceeding the provisioned parameters.", + "description": "Quota contains the essential parameters needed that can be applied on the resources, methods, API source combination associated with this API product. While Quota is optional, setting it prevents requests from exceeding the provisioned parameters.", "id": "GoogleCloudApigeeV1Quota", "properties": { "interval": { @@ -10174,6 +11643,178 @@ }, "type": "object" }, + "GoogleCloudApigeeV1RatePlan": { + "description": "Rate plan details.", + "id": "GoogleCloudApigeeV1RatePlan", + "properties": { + "apiproduct": { + "description": "Name of the API product that the rate plan is associated with.", + "type": "string" + }, + "billingPeriod": { + "description": "Frequency at which the customer will be billed.", + "enum": [ + "BILLING_PERIOD_UNSPECIFIED", + "WEEKLY", + "MONTHLY" + ], + "enumDescriptions": [ + "Billing period not specified.", + "Weekly billing period. **Note**: Not supported by Apigee at this time.", + "Monthly billing period." + ], + "type": "string" + }, + "consumptionPricingRates": { + "description": "API call volume ranges and the fees charged when the total number of API calls is within a given range. The method used to calculate the final fee depends on the selected pricing model. For example, if the pricing model is `STAIRSTEP` and the ranges are defined as follows: ``` { \"start\": 1, \"end\": 100, \"fee\": 75 }, { \"start\": 101, \"end\": 200, \"fee\": 100 }, } ``` Then the following fees would be charged based on the total number of API calls (assuming the currency selected is `USD`): * 1 call costs $75 * 50 calls cost $75 * 150 calls cost $100 The number of API calls cannot exceed 200.", + "items": { + "$ref": "GoogleCloudApigeeV1RateRange" + }, + "type": "array" + }, + "consumptionPricingType": { + "description": "Pricing model used for consumption-based charges.", + "enum": [ + "CONSUMPTION_PRICING_TYPE_UNSPECIFIED", + "FIXED_PER_UNIT", + "BANDED", + "TIERED", + "STAIRSTEP" + ], + "enumDescriptions": [ + "Pricing model not specified. This is the default.", + "Fixed rate charged for each API call.", + "Variable rate charged for each API call based on price tiers. Example: * 1-100 calls cost $2 per call * 101-200 calls cost $1.50 per call * 201-300 calls cost $1 per call * Total price for 50 calls: 50 x $2 = $100 * Total price for 150 calls: 100 x $2 + 50 x $1.5 = $275 * Total price for 250 calls: 100 x $2 + 100 x $1.5 + 50 x $1 = $400. **Note**: Not supported by Apigee at this time.", + "**Note**: Not supported by Apigee at this time.", + "**Note**: Not supported by Apigee at this time." + ], + "type": "string" + }, + "createdAt": { + "description": "Output only. Time that the rate plan was created in milliseconds since epoch.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "currencyCode": { + "description": "Currency to be used for billing. Consists of a three-letter code as defined by the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) standard.", + "type": "string" + }, + "description": { + "description": "Description of the rate plan.", + "type": "string" + }, + "displayName": { + "description": "Display name of the rate plan.", + "type": "string" + }, + "endTime": { + "description": "Time when the rate plan will expire in milliseconds since epoch. Set to 0 or `null` to indicate that the rate plan should never expire.", + "format": "int64", + "type": "string" + }, + "fixedFeeFrequency": { + "description": "Frequency at which the fixed fee is charged.", + "format": "int32", + "type": "integer" + }, + "fixedRecurringFee": { + "$ref": "GoogleTypeMoney", + "description": "Fixed amount that is charged at a defined interval and billed in advance of use of the API product. The fee will be prorated for the first billing period." + }, + "lastModifiedAt": { + "description": "Output only. Time the rate plan was last modified in milliseconds since epoch.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Name of the rate plan.", + "readOnly": true, + "type": "string" + }, + "paymentFundingModel": { + "description": "DEPRECATED: This field is no longer supported and will eventually be removed when Apigee Hybrid 1.5/1.6 is no longer supported. Instead, use the `billingType` field inside `DeveloperMonetizationConfig` resource. Flag that specifies the billing account type, prepaid or postpaid.", + "enum": [ + "PAYMENT_FUNDING_MODEL_UNSPECIFIED", + "PREPAID", + "POSTPAID" + ], + "enumDescriptions": [ + "Billing account type not specified.", + "Prepaid billing account type. Developer pays in advance for the use of your API products. Funds are deducted from their prepaid account balance. **Note**: Not supported by Apigee at this time.", + "Postpaid billing account type. Developer is billed through an invoice after using your API products." + ], + "type": "string" + }, + "revenueShareRates": { + "description": "Details of the revenue sharing model.", + "items": { + "$ref": "GoogleCloudApigeeV1RevenueShareRange" + }, + "type": "array" + }, + "revenueShareType": { + "description": "Method used to calculate the revenue that is shared with developers.", + "enum": [ + "REVENUE_SHARE_TYPE_UNSPECIFIED", + "FIXED", + "VOLUME_BANDED" + ], + "enumDescriptions": [ + "Revenue share type is not specified.", + "Fixed percentage of the total revenue will be shared. The percentage to be shared can be configured by the API provider.", + "Amount of revenue shared depends on the number of API calls. The API call volume ranges and the revenue share percentage for each volume can be configured by the API provider. **Note**: Not supported by Apigee at this time." + ], + "type": "string" + }, + "setupFee": { + "$ref": "GoogleTypeMoney", + "description": "Initial, one-time fee paid when purchasing the API product." + }, + "startTime": { + "description": "Time when the rate plan becomes active in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "state": { + "description": "Current state of the rate plan (draft or published).", + "enum": [ + "STATE_UNSPECIFIED", + "DRAFT", + "PUBLISHED" + ], + "enumDescriptions": [ + "State of the rate plan is not specified.", + "Rate plan is in draft mode and only visible to API providers.", + "Rate plan is published and will become visible to developers for the configured duration (between `startTime` and `endTime`)." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1RateRange": { + "description": "API call volume range and the fees charged when the total number of API calls is within the range.", + "id": "GoogleCloudApigeeV1RateRange", + "properties": { + "end": { + "description": "Ending value of the range. Set to 0 or `null` for the last range of values.", + "format": "int64", + "type": "string" + }, + "fee": { + "$ref": "GoogleTypeMoney", + "description": "Fee to charge when total number of API calls falls within this range." + }, + "start": { + "description": "Starting value of the range. Set to 0 or `null` for the initial range of values.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1Reference": { "description": "A Reference configuration. References must refer to a keystore that also exists in the parent environment.", "id": "GoogleCloudApigeeV1Reference", @@ -10380,6 +12021,28 @@ }, "type": "object" }, + "GoogleCloudApigeeV1RevenueShareRange": { + "description": "API call volume range and the percentage of revenue to share with the developer when the total number of API calls is within the range.", + "id": "GoogleCloudApigeeV1RevenueShareRange", + "properties": { + "end": { + "description": "Ending value of the range. Set to 0 or `null` for the last range of values.", + "format": "int64", + "type": "string" + }, + "sharePercentage": { + "description": "Percentage of the revenue to be shared with the developer. For example, to share 21 percent of the total revenue with the developer, set this value to 21. Specify a decimal number with a maximum of two digits following the decimal point.", + "format": "double", + "type": "number" + }, + "start": { + "description": "Starting value of the range. Set to 0 or `null` for the initial range of values.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1RevisionStatus": { "description": "The status of a specific resource revision.", "id": "GoogleCloudApigeeV1RevisionStatus", @@ -10392,7 +12055,7 @@ "type": "array" }, "jsonSpec": { - "description": "The json content of the resource revision.", + "description": "The json content of the resource revision. Large specs should be sent individually via the spec field to avoid hitting request size limits.", "type": "string" }, "replicas": { @@ -10435,6 +12098,30 @@ }, "type": "object" }, + "GoogleCloudApigeeV1RuntimeConfig": { + "description": "Runtime configuration for the organization. Response for GetRuntimeConfig.", + "id": "GoogleCloudApigeeV1RuntimeConfig", + "properties": { + "analyticsBucket": { + "description": "Cloud Storage bucket used for uploading Analytics records.", + "type": "string" + }, + "name": { + "description": "Name of the resource in the following format: `organizations/{org}/runtimeConfig`.", + "type": "string" + }, + "tenantProjectId": { + "description": "Output only. Tenant project ID associated with the Apigee organization. The tenant project is used to host Google-managed resources that are dedicated to this Apigee organization. Clients have limited access to resources within the tenant project used to support Apigee runtime instances. Access to the tenant project is managed using SetSyncAuthorization. It can be empty if the tenant project hasn't been created yet.", + "readOnly": true, + "type": "string" + }, + "traceBucket": { + "description": "Cloud Storage bucket used for uploading Trace records.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1RuntimeTraceConfig": { "description": "NEXT ID: 8 RuntimeTraceConfig defines the configurations for distributed trace in an environment.", "id": "GoogleCloudApigeeV1RuntimeTraceConfig", @@ -10630,13 +12317,24 @@ "type": "string" }, "timestampMs": { - "description": "The first transaction creation timestamp in millisecond, recoreded by UAP.", + "description": "The first transaction creation timestamp in millisecond, recorded by UAP.", "format": "int64", "type": "string" } }, "type": "object" }, + "GoogleCloudApigeeV1SetAddonsRequest": { + "description": "Request for SetAddons.", + "id": "GoogleCloudApigeeV1SetAddonsRequest", + "properties": { + "addonsConfig": { + "$ref": "GoogleCloudApigeeV1AddonsConfig", + "description": "Required. Add-on configurations." + } + }, + "type": "object" + }, "GoogleCloudApigeeV1SharedFlow": { "description": "The metadata describing a shared flow", "id": "GoogleCloudApigeeV1SharedFlow", @@ -10741,18 +12439,18 @@ "type": "object" }, "GoogleCloudApigeeV1Stats": { - "description": "This message type encapsulates a stats response.", + "description": "Encapsulates a `stats` response.", "id": "GoogleCloudApigeeV1Stats", "properties": { "environments": { - "description": "This field contains a list of query results on environment level.", + "description": "List of query results on the environment level.", "items": { "$ref": "GoogleCloudApigeeV1StatsEnvironmentStats" }, "type": "array" }, "hosts": { - "description": "This field contains a list of query results grouped by host.", + "description": "List of query results grouped by host.", "items": { "$ref": "GoogleCloudApigeeV1StatsHostStats" }, @@ -10760,55 +12458,56 @@ }, "metaData": { "$ref": "GoogleCloudApigeeV1Metadata", - "description": "This field contains the metadata information." + "description": "Metadata information." } }, "type": "object" }, "GoogleCloudApigeeV1StatsEnvironmentStats": { - "description": "This message type encapsulates the environment wrapper: \"environments\": [ { \"metrics\": [ { \"name\": \"sum(message_count)\", \"values\": [ \"2.52056245E8\" ] } ], \"name\": \"prod\" } ]", + "description": "Encapsulates the environment wrapper: ``` \"environments\": [ { \"metrics\": [ { \"name\": \"sum(message_count)\", \"values\": [ \"2.52056245E8\" ] } ], \"name\": \"prod\" } ]```", "id": "GoogleCloudApigeeV1StatsEnvironmentStats", "properties": { "dimensions": { - "description": "This field contains the list of metrics grouped under dimensions.", + "description": "List of metrics grouped under dimensions.", "items": { "$ref": "GoogleCloudApigeeV1DimensionMetric" }, "type": "array" }, "metrics": { - "description": "In the final response, only one of the following fields will be present based on the dimensions provided. If no dimensions are provided, then only a top level metrics is provided. If dimensions are included, then there will be a top level dimensions field under environments which will contain metrics values and the dimension name. Example: \"environments\": [ { \"dimensions\": [ { \"metrics\": [ { \"name\": \"sum(message_count)\", \"values\": [ \"2.14049521E8\" ] } ], \"name\": \"nit_proxy\" } ], \"name\": \"prod\" } ] OR \"environments\": [ { \"metrics\": [ { \"name\": \"sum(message_count)\", \"values\": [ \"2.19026331E8\" ] } ], \"name\": \"prod\" } ] This field contains the list of metric values.", + "description": "In the final response, only one of the following fields will be present based on the dimensions provided. If no dimensions are provided, then only top-level metrics is provided. If dimensions are included, then there will be a top-level dimensions field under environments which will contain metrics values and the dimension name. Example: ``` \"environments\": [ { \"dimensions\": [ { \"metrics\": [ { \"name\": \"sum(message_count)\", \"values\": [ \"2.14049521E8\" ] } ], \"name\": \"nit_proxy\" } ], \"name\": \"prod\" } ]``` or ```\"environments\": [ { \"metrics\": [ { \"name\": \"sum(message_count)\", \"values\": [ \"2.19026331E8\" ] } ], \"name\": \"prod\" } ]``` List of metric values.", "items": { "$ref": "GoogleCloudApigeeV1Metric" }, "type": "array" }, "name": { + "description": "Name of the environment.", "type": "string" } }, "type": "object" }, "GoogleCloudApigeeV1StatsHostStats": { - "description": "This message type encapsulates the hostname wrapper: \"hosts\": [ { \"metrics\": [ { \"name\": \"sum(message_count)\", \"values\": [ \"2.52056245E8\" ] } ], \"name\": \"example.com\" } ]", + "description": "Encapsulates the hostname wrapper: ``` \"hosts\": [ { \"metrics\": [ { \"name\": \"sum(message_count)\", \"values\": [ \"2.52056245E8\" ] } ], \"name\": \"example.com\" } ]```", "id": "GoogleCloudApigeeV1StatsHostStats", "properties": { "dimensions": { - "description": "This field contains the list of metrics grouped under dimensions.", + "description": "List of metrics grouped under dimensions.", "items": { "$ref": "GoogleCloudApigeeV1DimensionMetric" }, "type": "array" }, "metrics": { - "description": "In the final response, only one of the following fields will be present based on the dimensions provided. If no dimensions are provided, then only a top level metrics is provided. If dimensions are included, then there will be a top level dimensions field under hostnames which will contain metrics values and the dimension name. Example: \"hosts\": [ { \"dimensions\": [ { \"metrics\": [ { \"name\": \"sum(message_count)\", \"values\": [ \"2.14049521E8\" ] } ], \"name\": \"nit_proxy\" } ], \"name\": \"example.com\" } ] OR \"hosts\": [ { \"metrics\": [ { \"name\": \"sum(message_count)\", \"values\": [ \"2.19026331E8\" ] } ], \"name\": \"example.com\" } ] This field contains the list of metric values.", + "description": "In the final response, only one of the following fields will be present based on the dimensions provided. If no dimensions are provided, then only the top-level metrics are provided. If dimensions are included, then there will be a top-level dimensions field under hostnames which will contain metrics values and the dimension name. Example: ``` \"hosts\": [ { \"dimensions\": [ { \"metrics\": [ { \"name\": \"sum(message_count)\", \"values\": [ \"2.14049521E8\" ] } ], \"name\": \"nit_proxy\" } ], \"name\": \"example.com\" } ]``` OR ```\"hosts\": [ { \"metrics\": [ { \"name\": \"sum(message_count)\", \"values\": [ \"2.19026331E8\" ] } ], \"name\": \"example.com\" } ]``` List of metric values.", "items": { "$ref": "GoogleCloudApigeeV1Metric" }, "type": "array" }, "name": { - "description": "This field contains the hostname used in query.", + "description": "Hostname used in query.", "type": "string" } }, @@ -10868,6 +12567,20 @@ "format": "int32", "type": "integer" }, + "protocol": { + "description": "Immutable. The protocol used by this TargetServer.", + "enum": [ + "PROTOCOL_UNSPECIFIED", + "HTTP", + "GRPC" + ], + "enumDescriptions": [ + "UNSPECIFIED defaults to HTTP for backwards compatibility.", + "The TargetServer uses HTTP.", + "The TargetServer uses GRPC." + ], + "type": "string" + }, "sSLInfo": { "$ref": "GoogleCloudApigeeV1TlsInfo", "description": "Optional. Specifies TLS configuration info for this TargetServer. The JSON name is `sSLInfo` for legacy/backwards compatibility reasons -- Edge originally supported SSL, and the name is still used for TLS configuration." @@ -10878,6 +12591,10 @@ "GoogleCloudApigeeV1TargetServerConfig": { "id": "GoogleCloudApigeeV1TargetServerConfig", "properties": { + "enabled": { + "description": "Whether the target server is enabled. An empty/omitted value for this field should be interpreted as true.", + "type": "boolean" + }, "host": { "description": "Host name of the target server.", "type": "string" @@ -10891,6 +12608,20 @@ "format": "int32", "type": "integer" }, + "protocol": { + "description": "The protocol used by this target server.", + "enum": [ + "PROTOCOL_UNSPECIFIED", + "HTTP", + "GRPC" + ], + "enumDescriptions": [ + "UNSPECIFIED defaults to HTTP for backwards compatibility.", + "The TargetServer uses HTTP.", + "The TargetServer uses GRPC." + ], + "type": "string" + }, "tlsInfo": { "$ref": "GoogleCloudApigeeV1TlsInfoConfig", "description": "TLS settings for the target server." @@ -10916,7 +12647,7 @@ "type": "object" }, "GoogleCloudApigeeV1TlsInfo": { - "description": "TLS configuration information for VirtualHosts and TargetServers.", + "description": "TLS configuration information for virtual hosts and TargetServers.", "id": "GoogleCloudApigeeV1TlsInfo", "properties": { "ciphers": { @@ -10947,7 +12678,7 @@ "type": "string" }, "keyStore": { - "description": "Required if `client_auth_enabled` is true. The resource ID of the keystore. References not yet supported.", + "description": "Required if `client_auth_enabled` is true. The resource ID of the keystore.", "type": "string" }, "protocols": { @@ -10958,7 +12689,7 @@ "type": "array" }, "trustStore": { - "description": "The resource ID of the truststore. References not yet supported.", + "description": "The resource ID of the truststore.", "type": "string" } }, @@ -11136,7 +12867,7 @@ "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 (e.g., 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. E.g., 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 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", @@ -11210,29 +12941,29 @@ "type": "object" }, "GoogleIamV1Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "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" }, "GoogleIamV1Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` 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/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "GoogleIamV1Policy", "properties": { "auditConfigs": { @@ -11243,7 +12974,7 @@ "type": "array" }, "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.", + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", "items": { "$ref": "GoogleIamV1Binding" }, @@ -11447,6 +13178,27 @@ } }, "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": "", diff --git a/etc/api/apikeys/v2/apikeys-api.json b/etc/api/apikeys/v2/apikeys-api.json new file mode 100644 index 0000000000..0072d1045d --- /dev/null +++ b/etc/api/apikeys/v2/apikeys-api.json @@ -0,0 +1,735 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + }, + "https://www.googleapis.com/auth/cloud-platform.read-only": { + "description": "View your data across Google Cloud services and see the email address of your Google Account" + } + } + } + }, + "basePath": "", + "baseUrl": "https://apikeys.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Api Keys Service", + "description": "Manages the API keys associated with developer projects.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/api-keys/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": "apikeys:v2", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://apikeys.mtls.googleapis.com/", + "name": "apikeys", + "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": { + "keys": { + "methods": { + "lookupKey": { + "description": "Find the parent project and resource name of the API key that matches the key string in the request. If the API key has been purged, resource name will not be set. The service account must have the `apikeys.keys.lookup` permission on the parent project.", + "flatPath": "v2/keys:lookupKey", + "httpMethod": "GET", + "id": "apikeys.keys.lookupKey", + "parameterOrder": [], + "parameters": { + "keyString": { + "description": "Required. Finds the project that owns the key string value.", + "location": "query", + "type": "string" + } + }, + "path": "v2/keys:lookupKey", + "response": { + "$ref": "V2LookupKeyResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + } + }, + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v2/operations/{operationsId}", + "httpMethod": "GET", + "id": "apikeys.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + } + }, + "projects": { + "resources": { + "locations": { + "resources": { + "keys": { + "methods": { + "clone": { + "description": "DEPRECATED: API customers can call `GetKey` and then `CreateKey` methods to create a copy of an existing key. Retire `CloneKey` method to eliminate the unnessary method from API Keys API. Clones the existing key's restriction and display name to a new API key. The service account must have the `apikeys.keys.get` and `apikeys.keys.create` permissions in the project. NOTE: Key is a global resource; hence the only supported value for location is `global`.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/keys/{keysId}:clone", + "httpMethod": "POST", + "id": "apikeys.projects.locations.keys.clone", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the API key to be cloned in the same project.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:clone", + "request": { + "$ref": "V2CloneKeyRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a new API key. NOTE: Key is a global resource; hence the only supported value for location is `global`.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/keys", + "httpMethod": "POST", + "id": "apikeys.projects.locations.keys.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "keyId": { + "description": "User specified key id (optional). If specified, it will become the final component of the key resource 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. In another word, the id must match the regular expression: `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. The id must NOT be a UUID-like string.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project in which the API key is created.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/keys", + "request": { + "$ref": "V2Key" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an API key. Deleted key can be retrieved within 30 days of deletion. Afterward, key will be purged from the project. NOTE: Key is a global resource; hence the only supported value for location is `global`.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/keys/{keysId}", + "httpMethod": "DELETE", + "id": "apikeys.projects.locations.keys.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The etag known to the client for the expected state of the key. This is to be used for optimistic concurrency.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the API key to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the metadata for an API key. The key string of the API key isn't included in the response. NOTE: Key is a global resource; hence the only supported value for location is `global`.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/keys/{keysId}", + "httpMethod": "GET", + "id": "apikeys.projects.locations.keys.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the API key to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "V2Key" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "getKeyString": { + "description": "Get the key string for an API key. NOTE: Key is a global resource; hence the only supported value for location is `global`.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/keys/{keysId}/keyString", + "httpMethod": "GET", + "id": "apikeys.projects.locations.keys.getKeyString", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the API key to be retrieved.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}/keyString", + "response": { + "$ref": "V2GetKeyStringResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists the API keys owned by a project. The key string of the API key isn't included in the response. NOTE: Key is a global resource; hence the only supported value for location is `global`.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/keys", + "httpMethod": "GET", + "id": "apikeys.projects.locations.keys.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Deprecated: Use `show_deleted` instead. Only list keys that conform to the specified filter. The allowed filter strings are `state:ACTIVE` and `state:DELETED`. By default, ListKeys returns only active keys.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Specifies the maximum number of results to be returned at a time.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. Requests a specific page of results.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Lists all API keys associated with this project.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "showDeleted": { + "description": "Optional. Indicate that keys are marked as deleted within 30 days should also be returned. Normally only active keys are returned.", + "location": "query", + "type": "boolean" + } + }, + "path": "v2/{+parent}/keys", + "response": { + "$ref": "V2ListKeysResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "patch": { + "description": "Patches the modifiable fields of an API key. The key string of the API key isn't included in the response. NOTE: Key is a global resource; hence the only supported value for location is `global`.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/keys/{keysId}", + "httpMethod": "PATCH", + "id": "apikeys.projects.locations.keys.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The resource name of the key. The `name` has the form: `projects//locations/global/keys/`. For example: `projects/123456867718/locations/global/keys/b7ff1f9f-8275-410a-94dd-3855ee9b5dd2` NOTE: Key is a global resource; hence the only supported value for location is `global`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The field mask specifies which fields to be updated as part of this request. All other fields are ignored. Mutable fields are: `display_name` and `restrictions`. If an update mask is not provided, the service treats it as an implied mask equivalent to all allowed fields that are set on the wire. If the field mask has a special value \"*\", the service treats it equivalent to replace all allowed mutable fields.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "request": { + "$ref": "V2Key" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "undelete": { + "description": "Undeletes an API key which was deleted within 30 days. NOTE: Key is a global resource; hence the only supported value for location is `global`.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/keys/{keysId}:undelete", + "httpMethod": "POST", + "id": "apikeys.projects.locations.keys.undelete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the API key to be undeleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:undelete", + "request": { + "$ref": "V2UndeleteKeyRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20220305", + "rootUrl": "https://apikeys.googleapis.com/", + "schemas": { + "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" + }, + "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" + }, + "V2AndroidApplication": { + "description": "Identifier of an Android application for key use.", + "id": "V2AndroidApplication", + "properties": { + "packageName": { + "description": "The package name of the application.", + "type": "string" + }, + "sha1Fingerprint": { + "description": "The SHA1 fingerprint of the application. For example, both sha1 formats are acceptable : DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09 or DA39A3EE5E6B4B0D3255BFEF95601890AFD80709. Output format is the latter.", + "type": "string" + } + }, + "type": "object" + }, + "V2AndroidKeyRestrictions": { + "description": "The Android apps that are allowed to use the key.", + "id": "V2AndroidKeyRestrictions", + "properties": { + "allowedApplications": { + "description": "A list of Android applications that are allowed to make API calls with this key.", + "items": { + "$ref": "V2AndroidApplication" + }, + "type": "array" + } + }, + "type": "object" + }, + "V2ApiTarget": { + "description": "A restriction for a specific service and optionally one or multiple specific methods. Both fields are case insensitive.", + "id": "V2ApiTarget", + "properties": { + "methods": { + "description": "Optional. List of one or more methods that can be called. If empty, all methods for the service are allowed. A wildcard (*) can be used as the last symbol. Valid examples: `google.cloud.translate.v2.TranslateService.GetSupportedLanguage` `TranslateText` `Get*` `translate.googleapis.com.Get*`", + "items": { + "type": "string" + }, + "type": "array" + }, + "service": { + "description": "The service for this restriction. It should be the canonical service name, for example: `translate.googleapis.com`. You can use [`gcloud services list`](/sdk/gcloud/reference/services/list) to get a list of services that are enabled in the project.", + "type": "string" + } + }, + "type": "object" + }, + "V2BrowserKeyRestrictions": { + "description": "The HTTP referrers (websites) that are allowed to use the key.", + "id": "V2BrowserKeyRestrictions", + "properties": { + "allowedReferrers": { + "description": "A list of regular expressions for the referrer URLs that are allowed to make API calls with this key.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "V2CloneKeyRequest": { + "description": "Request message for `CloneKey` method.", + "id": "V2CloneKeyRequest", + "properties": { + "keyId": { + "description": "User specified key id (optional). If specified, it will become the final component of the key resource 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. In another word, the id must match the regular expression: `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. The id must NOT be a UUID-like string.", + "type": "string" + } + }, + "type": "object" + }, + "V2GetKeyStringResponse": { + "description": "Response message for `GetKeyString` method.", + "id": "V2GetKeyStringResponse", + "properties": { + "keyString": { + "description": "An encrypted and signed value of the key.", + "type": "string" + } + }, + "type": "object" + }, + "V2IosKeyRestrictions": { + "description": "The iOS apps that are allowed to use the key.", + "id": "V2IosKeyRestrictions", + "properties": { + "allowedBundleIds": { + "description": "A list of bundle IDs that are allowed when making API calls with this key.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "V2Key": { + "description": "The representation of a key managed by the API Keys API.", + "id": "V2Key", + "properties": { + "createTime": { + "description": "Output only. A timestamp identifying the time this key was originally created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deleteTime": { + "description": "Output only. A timestamp when this key was deleted. If the resource is not deleted, this must be empty.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Human-readable display name of this key that you can modify. The maximum length is 63 characters.", + "type": "string" + }, + "etag": { + "description": "Output only. A checksum computed by the server based on the current value of the Key resource. This may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. See https://google.aip.dev/154.", + "readOnly": true, + "type": "string" + }, + "keyString": { + "description": "Output only. An encrypted and signed value held by this key. This field can be accessed only through the `GetKeyString` method.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the key. The `name` has the form: `projects//locations/global/keys/`. For example: `projects/123456867718/locations/global/keys/b7ff1f9f-8275-410a-94dd-3855ee9b5dd2` NOTE: Key is a global resource; hence the only supported value for location is `global`.", + "readOnly": true, + "type": "string" + }, + "restrictions": { + "$ref": "V2Restrictions", + "description": "Key restrictions." + }, + "uid": { + "description": "Output only. Unique id in UUID4 format.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. A timestamp identifying the time this key was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "V2ListKeysResponse": { + "description": "Response message for `ListKeys` method.", + "id": "V2ListKeysResponse", + "properties": { + "keys": { + "description": "A list of API keys.", + "items": { + "$ref": "V2Key" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The pagination token for the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "V2LookupKeyResponse": { + "description": "Response message for `LookupKey` method.", + "id": "V2LookupKeyResponse", + "properties": { + "name": { + "description": "The resource name of the API key. If the API key has been purged, resource name is empty.", + "type": "string" + }, + "parent": { + "description": "The project that owns the key with the value specified in the request.", + "type": "string" + } + }, + "type": "object" + }, + "V2Restrictions": { + "description": "Describes the restrictions on the key.", + "id": "V2Restrictions", + "properties": { + "androidKeyRestrictions": { + "$ref": "V2AndroidKeyRestrictions", + "description": "The Android apps that are allowed to use the key." + }, + "apiTargets": { + "description": "A restriction for a specific service and optionally one or more specific methods. Requests are allowed if they match any of these restrictions. If no restrictions are specified, all targets are allowed.", + "items": { + "$ref": "V2ApiTarget" + }, + "type": "array" + }, + "browserKeyRestrictions": { + "$ref": "V2BrowserKeyRestrictions", + "description": "The HTTP referrers (websites) that are allowed to use the key." + }, + "iosKeyRestrictions": { + "$ref": "V2IosKeyRestrictions", + "description": "The iOS apps that are allowed to use the key." + }, + "serverKeyRestrictions": { + "$ref": "V2ServerKeyRestrictions", + "description": "The IP addresses of callers that are allowed to use the key." + } + }, + "type": "object" + }, + "V2ServerKeyRestrictions": { + "description": "The IP addresses of callers that are allowed to use the key.", + "id": "V2ServerKeyRestrictions", + "properties": { + "allowedIps": { + "description": "A list of the caller IP addresses that are allowed to make API calls with this key.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "V2UndeleteKeyRequest": { + "description": "Request message for `UndeleteKey` method.", + "id": "V2UndeleteKeyRequest", + "properties": {}, + "type": "object" + } + }, + "servicePath": "", + "title": "API Keys API", + "version": "v2", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/appengine/v1/appengine-api.json b/etc/api/appengine/v1/appengine-api.json index d65b4e27ac..5eb3262e99 100644 --- a/etc/api/appengine/v1/appengine-api.json +++ b/etc/api/appengine/v1/appengine-api.json @@ -6,10 +6,10 @@ "description": "View and manage your applications deployed on Google App Engine" }, "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" } } } @@ -20,6 +20,7 @@ "description": "Provisions and manages developers' App Engine applications.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", + "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" @@ -156,7 +157,7 @@ ] }, "patch": { - "description": "Updates the specified Application resource. You can update the following fields: auth_domain - Google authentication domain for controlling user access to the application. default_cookie_expiration - Cookie expiration policy for the application.", + "description": "Updates the specified Application resource. You can update the following fields: auth_domain - Google authentication domain for controlling user access to the application. default_cookie_expiration - Cookie expiration policy for the application. iap - Identity-Aware Proxy properties for the application.", "flatPath": "v1/apps/{appsId}", "httpMethod": "PATCH", "id": "appengine.apps.patch", @@ -171,7 +172,7 @@ "type": "string" }, "updateMask": { - "description": "Standard field mask for the set of fields to be updated.", + "description": "Required. Standard field mask for the set of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -624,7 +625,7 @@ "type": "string" }, "updateMask": { - "description": "Standard field mask for the set of fields to be updated.", + "description": "Required. Standard field mask for the set of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -907,7 +908,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -1140,7 +1141,7 @@ "type": "string" }, "updateMask": { - "description": "Standard field mask for the set of fields to be updated.", + "description": "Required. Standard field mask for the set of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1594,7 +1595,7 @@ } } }, - "revision": "20210324", + "revision": "20220226", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "ApiConfigHandler": { @@ -1742,6 +1743,10 @@ "description": "Full path to the Application resource in the API. Example: apps/myapp.@OutputOnly", "type": "string" }, + "serviceAccount": { + "description": "The service account associated with the application. This is the app-level default identity. If no identity provided during create version, Admin API will fallback to this one.", + "type": "string" + }, "servingStatus": { "description": "Serving status of this application.", "enum": [ @@ -2257,7 +2262,7 @@ "type": "string" }, "description": { - "description": "An optional string description of this rule. This field has a maximum length of 100 characters.", + "description": "An optional string description of this rule. This field has a maximum length of 400 characters.", "type": "string" }, "priority": { @@ -2272,6 +2277,26 @@ }, "type": "object" }, + "GoogleAppengineV1betaLocationMetadata": { + "description": "Metadata for the given google.cloud.location.Location.", + "id": "GoogleAppengineV1betaLocationMetadata", + "properties": { + "flexibleEnvironmentAvailable": { + "description": "App Engine flexible environment is available in the given location.@OutputOnly", + "type": "boolean" + }, + "searchApiAvailable": { + "description": "Output only. Search API (https://cloud.google.com/appengine/docs/standard/python/search) is available in the given location.", + "readOnly": true, + "type": "boolean" + }, + "standardEnvironmentAvailable": { + "description": "App Engine standard environment is available in the given location.@OutputOnly", + "type": "boolean" + } + }, + "type": "object" + }, "HealthCheck": { "description": "Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances. Only applicable for instances in App Engine flexible environment.", "id": "HealthCheck", @@ -3166,6 +3191,13 @@ "description": "Relative name of the service within the application. Example: default.@OutputOnly", "type": "string" }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of labels to apply to this service. Labels are key/value pairs that describe the service and all resources that belong to it (e.g., versions). The labels can be used to search and group resources, and are propagated to the usage and billing reports, enabling fine-grain analysis of costs. An example of using labels is to tag resources belonging to different environments (e.g., \"env=prod\", \"env=qa\"). Label keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, dashes, and international characters. Label keys must start with a lowercase letter or an international character. Each service can have at most 32 labels.", + "type": "object" + }, "name": { "description": "Full path to the Service resource in the API. Example: apps/myapp/services/default.@OutputOnly", "type": "string" @@ -3688,6 +3720,20 @@ "description": "VPC access connector specification.", "id": "VpcAccessConnector", "properties": { + "egressSetting": { + "description": "The egress setting for the connector, controlling what traffic is diverted through it.", + "enum": [ + "EGRESS_SETTING_UNSPECIFIED", + "ALL_TRAFFIC", + "PRIVATE_IP_RANGES" + ], + "enumDescriptions": [ + "", + "Force the use of VPC Access for all egress traffic from the function.", + "Use the VPC Access Connector for private IP space from RFC1918." + ], + "type": "string" + }, "name": { "description": "Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.", "type": "string" diff --git a/etc/api/appengine/v1alpha/appengine-api.json b/etc/api/appengine/v1alpha/appengine-api.json index c46285fcee..8f3007ade9 100644 --- a/etc/api/appengine/v1alpha/appengine-api.json +++ b/etc/api/appengine/v1alpha/appengine-api.json @@ -6,10 +6,10 @@ "description": "View and manage your applications deployed on Google App Engine" }, "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" } } } @@ -20,6 +20,7 @@ "description": "Provisions and manages developers' App Engine applications.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", + "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" @@ -528,7 +529,7 @@ "type": "boolean" }, "updateMask": { - "description": "Standard field mask for the set of fields to be updated.", + "description": "Required. Standard field mask for the set of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -603,7 +604,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -706,9 +707,187 @@ } } } + }, + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "appengine.projects.locations.get", + "parameterOrder": [ + "projectsId", + "locationsId" + ], + "parameters": { + "locationsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "projectsId": { + "description": "Part of `name`. Resource name for the location.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/projects/{projectsId}/locations/{locationsId}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1alpha/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "appengine.projects.locations.list", + "parameterOrder": [ + "projectsId" + ], + "parameters": { + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in AIP-160 (https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. If not set, the service selects a default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from the next_page_token field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + }, + "projectsId": { + "description": "Part of `name`. The resource that owns the locations collection, if applicable.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/projects/{projectsId}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + }, + "resources": { + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "appengine.projects.locations.operations.get", + "parameterOrder": [ + "projectsId", + "locationsId", + "operationsId" + ], + "parameters": { + "locationsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "operationsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "projectsId": { + "description": "Part of `name`. The name of the operation resource.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.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": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "appengine.projects.locations.operations.list", + "parameterOrder": [ + "projectsId", + "locationsId" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "locationsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "projectsId": { + "description": "Part of `name`. The name of the operation's parent resource.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + } + } + } + } + } } }, - "revision": "20210324", + "revision": "20220226", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "AuthorizedCertificate": { @@ -857,6 +1036,26 @@ "properties": {}, "type": "object" }, + "GoogleAppengineV1betaLocationMetadata": { + "description": "Metadata for the given google.cloud.location.Location.", + "id": "GoogleAppengineV1betaLocationMetadata", + "properties": { + "flexibleEnvironmentAvailable": { + "description": "App Engine flexible environment is available in the given location.@OutputOnly", + "type": "boolean" + }, + "searchApiAvailable": { + "description": "Output only. Search API (https://cloud.google.com/appengine/docs/standard/python/search) is available in the given location.", + "readOnly": true, + "type": "boolean" + }, + "standardEnvironmentAvailable": { + "description": "App Engine standard environment is available in the given location.@OutputOnly", + "type": "boolean" + } + }, + "type": "object" + }, "ListAuthorizedCertificatesResponse": { "description": "Response message for AuthorizedCertificates.ListAuthorizedCertificates.", "id": "ListAuthorizedCertificatesResponse", diff --git a/etc/api/appengine/v1beta/appengine-api.json b/etc/api/appengine/v1beta/appengine-api.json index b272ed24e2..ec854bddc1 100644 --- a/etc/api/appengine/v1beta/appengine-api.json +++ b/etc/api/appengine/v1beta/appengine-api.json @@ -6,10 +6,10 @@ "description": "View and manage your applications deployed on Google App Engine" }, "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" } } } @@ -20,6 +20,7 @@ "description": "Provisions and manages developers' App Engine applications.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", + "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" @@ -156,7 +157,7 @@ ] }, "patch": { - "description": "Updates the specified Application resource. You can update the following fields: auth_domain - Google authentication domain for controlling user access to the application. default_cookie_expiration - Cookie expiration policy for the application.", + "description": "Updates the specified Application resource. You can update the following fields: auth_domain - Google authentication domain for controlling user access to the application. default_cookie_expiration - Cookie expiration policy for the application. iap - Identity-Aware Proxy properties for the application.", "flatPath": "v1beta/apps/{appsId}", "httpMethod": "PATCH", "id": "appengine.apps.patch", @@ -171,7 +172,7 @@ "type": "string" }, "updateMask": { - "description": "Standard field mask for the set of fields to be updated.", + "description": "Required. Standard field mask for the set of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -624,7 +625,7 @@ "type": "string" }, "updateMask": { - "description": "Standard field mask for the set of fields to be updated.", + "description": "Required. Standard field mask for the set of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -907,7 +908,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -1140,7 +1141,7 @@ "type": "string" }, "updateMask": { - "description": "Standard field mask for the set of fields to be updated.", + "description": "Required. Standard field mask for the set of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1594,7 +1595,7 @@ } } }, - "revision": "20210324", + "revision": "20220226", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "ApiConfigHandler": { @@ -1742,6 +1743,10 @@ "description": "Full path to the Application resource in the API. Example: apps/myapp.@OutputOnly", "type": "string" }, + "serviceAccount": { + "description": "The service account associated with the application. This is the app-level default identity. If no identity provided during create version, Admin API will fallback to this one.", + "type": "string" + }, "servingStatus": { "description": "Serving status of this application.", "enum": [ @@ -2308,7 +2313,7 @@ "type": "string" }, "description": { - "description": "An optional string description of this rule. This field has a maximum length of 100 characters.", + "description": "An optional string description of this rule. This field has a maximum length of 400 characters.", "type": "string" }, "priority": { @@ -2323,6 +2328,26 @@ }, "type": "object" }, + "GoogleAppengineV1betaLocationMetadata": { + "description": "Metadata for the given google.cloud.location.Location.", + "id": "GoogleAppengineV1betaLocationMetadata", + "properties": { + "flexibleEnvironmentAvailable": { + "description": "App Engine flexible environment is available in the given location.@OutputOnly", + "type": "boolean" + }, + "searchApiAvailable": { + "description": "Output only. Search API (https://cloud.google.com/appengine/docs/standard/python/search) is available in the given location.", + "readOnly": true, + "type": "boolean" + }, + "standardEnvironmentAvailable": { + "description": "App Engine standard environment is available in the given location.@OutputOnly", + "type": "boolean" + } + }, + "type": "object" + }, "HealthCheck": { "description": "Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances. Only applicable for instances in App Engine flexible environment.", "id": "HealthCheck", @@ -2838,6 +2863,20 @@ }, "type": "array" }, + "instanceIpMode": { + "description": "The IP mode for instances. Only applicable in the App Engine flexible environment.", + "enum": [ + "INSTANCE_IP_MODE_UNSPECIFIED", + "EXTERNAL", + "INTERNAL" + ], + "enumDescriptions": [ + "Unspecified should be treated as EXTERNAL", + "VMs should be created with external and internal IPs", + "VMs should be created with internal IPs only" + ], + "type": "string" + }, "instanceTag": { "description": "Tag to apply to the instance during creation. Only applicable in the App Engine flexible environment.", "type": "string" @@ -3215,6 +3254,13 @@ "description": "Relative name of the service within the application. Example: default.@OutputOnly", "type": "string" }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of labels to apply to this service. Labels are key/value pairs that describe the service and all resources that belong to it (e.g., versions). The labels can be used to search and group resources, and are propagated to the usage and billing reports, enabling fine-grain analysis of costs. An example of using labels is to tag resources belonging to different environments (e.g., \"env=prod\", \"env=qa\"). Label keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, dashes, and international characters. Label keys must start with a lowercase letter or an international character. Each service can have at most 32 labels.", + "type": "object" + }, "name": { "description": "Full path to the Service resource in the API. Example: apps/myapp/services/default.@OutputOnly", "type": "string" @@ -3739,6 +3785,20 @@ "description": "VPC access connector specification.", "id": "VpcAccessConnector", "properties": { + "egressSetting": { + "description": "The egress setting for the connector, controlling what traffic is diverted through it.", + "enum": [ + "EGRESS_SETTING_UNSPECIFIED", + "ALL_TRAFFIC", + "PRIVATE_IP_RANGES" + ], + "enumDescriptions": [ + "", + "Force the use of VPC Access for all egress traffic from the function.", + "Use the VPC Access Connector for private IP space from RFC1918." + ], + "type": "string" + }, "name": { "description": "Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.", "type": "string" diff --git a/etc/api/area120tables/v1alpha1/area120tables-api.json b/etc/api/area120tables/v1alpha1/area120tables-api.json index 7f284eea44..1b92ab1484 100644 --- a/etc/api/area120tables/v1alpha1/area120tables-api.json +++ b/etc/api/area120tables/v1alpha1/area120tables-api.json @@ -12,10 +12,10 @@ "description": "See and download all your Google Drive files" }, "https://www.googleapis.com/auth/spreadsheets": { - "description": "See, edit, create, and delete your spreadsheets in Google Drive" + "description": "See, edit, create, and delete all your Google Sheets spreadsheets" }, "https://www.googleapis.com/auth/spreadsheets.readonly": { - "description": "View your Google Spreadsheets" + "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" @@ -159,6 +159,11 @@ "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", @@ -410,6 +415,11 @@ "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", @@ -576,7 +586,7 @@ } } }, - "revision": "20210330", + "revision": "20220301", "rootUrl": "https://area120tables.googleapis.com/", "schemas": { "BatchCreateRowsRequest": { @@ -657,6 +667,10 @@ "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" @@ -672,10 +686,18 @@ "$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." @@ -710,6 +732,17 @@ }, "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); } The JSON representation for `Empty` is empty JSON object `{}`.", "id": "Empty", @@ -839,8 +872,23 @@ }, "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.", + "description": "A single table. NextId: 8", "id": "Table", "properties": { "columns": { @@ -863,6 +911,17 @@ "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", diff --git a/etc/api/artifactregistry/v1/artifactregistry-api.json b/etc/api/artifactregistry/v1/artifactregistry-api.json index c43dc12150..e916be5e5c 100644 --- a/etc/api/artifactregistry/v1/artifactregistry-api.json +++ b/etc/api/artifactregistry/v1/artifactregistry-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" } } } @@ -108,135 +108,450 @@ }, "protocol": "rest", "resources": { - "operations": { + "projects": { "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": "artifactregistry.operations.cancel", + "getProjectSettings": { + "description": "Retrieves the Settings for the Project.", + "flatPath": "v1/projects/{projectsId}/projectSettings", + "httpMethod": "GET", + "id": "artifactregistry.projects.getProjectSettings", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "The name of the operation resource to be cancelled.", + "description": "Required. The name of the projectSettings resource.", "location": "path", - "pattern": "^operations/.*$", + "pattern": "^projects/[^/]+/projectSettings$", "required": true, "type": "string" } }, - "path": "v1/{+name}:cancel", + "path": "v1/{+name}", + "response": { + "$ref": "ProjectSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "updateProjectSettings": { + "description": "Updates the Settings for the Project.", + "flatPath": "v1/projects/{projectsId}/projectSettings", + "httpMethod": "PATCH", + "id": "artifactregistry.projects.updateProjectSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the project's settings. Always of the form: projects/{project-id}/projectSettings In update request: never set In response: always set", + "location": "path", + "pattern": "^projects/[^/]+/projectSettings$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Field mask to support partial updates.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", "request": { - "$ref": "CancelOperationRequest" + "$ref": "ProjectSettings" }, "response": { - "$ref": "Empty" + "$ref": "ProjectSettings" }, "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": "artifactregistry.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": "artifactregistry.operations.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the operation resource.", - "location": "path", - "pattern": "^operations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ] - }, - "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": "v1/operations", - "httpMethod": "GET", - "id": "artifactregistry.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", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ] } - } - }, - "projects": { + }, "resources": { "locations": { "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/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "artifactregistry.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/cloud-platform.read-only" + ] + } + } + }, "repositories": { + "methods": { + "create": { + "description": "Creates a repository. The returned Operation will finish once the repository has been created. Its response will be the created Repository.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the parent resource where the repository will be created.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "repositoryId": { + "description": "The repository id to use for this repository.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/repositories", + "request": { + "$ref": "Repository" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a repository and all of its contents. The returned Operation will finish once the repository has been deleted. It will not have any Operation metadata and will return a google.protobuf.Empty response.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}", + "httpMethod": "DELETE", + "id": "artifactregistry.projects.locations.repositories.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the repository to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a repository.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the repository to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Repository" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "getIamPolicy": { + "description": "Gets the IAM policy for a given resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:getIamPolicy", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists repositories.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of repositories to return. Maximum page size is 1,000.", + "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 parent resource whose repositories will be listed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/repositories", + "response": { + "$ref": "ListRepositoriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "patch": { + "description": "Updates a repository.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}", + "httpMethod": "PATCH", + "id": "artifactregistry.projects.locations.repositories.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the repository, for example: \"projects/p1/locations/us-central1/repositories/repo1\".", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "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": "v1/{+name}", + "request": { + "$ref": "Repository" + }, + "response": { + "$ref": "Repository" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Updates the IAM policy for a given resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:setIamPolicy", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.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/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Tests if the caller has a list of permissions on a resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:testIamPermissions", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.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/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + }, "resources": { + "aptArtifacts": { + "methods": { + "import": { + "description": "Imports Apt artifacts. The returned Operation will complete once the resources are imported. Package, Version, and File resources are created based on the imported artifacts. Imported artifacts that conflict with existing resources are ignored.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/aptArtifacts:import", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.aptArtifacts.import", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The name of the parent resource where the artifacts will be imported.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/aptArtifacts:import", + "request": { + "$ref": "ImportAptArtifactsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "upload": { + "description": "Directly uploads an Apt artifact. The returned Operation will complete once the resources are uploaded. Package, Version, and File resources are created based on the imported artifact. Imported artifacts that conflict with existing resources are ignored.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/aptArtifacts:create", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.aptArtifacts.upload", + "mediaUpload": { + "accept": [ + "*/*" + ], + "protocols": { + "simple": { + "multipart": true, + "path": "/upload/v1/{+parent}/aptArtifacts:create" + } + } + }, + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The name of the parent resource where the artifacts will be uploaded.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/aptArtifacts:create", + "request": { + "$ref": "UploadAptArtifactRequest" + }, + "response": { + "$ref": "UploadAptArtifactMediaResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "supportsMediaUpload": true + } + } + }, "dockerImages": { "methods": { + "get": { + "description": "Gets a docker image.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/dockerImages/{dockerImagesId}", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.dockerImages.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the docker images.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/dockerImages/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "DockerImage" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "list": { "description": "Lists docker images.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/dockerImages", @@ -275,6 +590,621 @@ ] } } + }, + "files": { + "methods": { + "get": { + "description": "Gets a file.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/files/{filesId}", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.files.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the file to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/files/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleDevtoolsArtifactregistryV1File" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists files.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/files", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.files.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are: * `name` * `owner` An example of using a filter: * `name=\"projects/p1/locations/us-central1/repositories/repo1/files/a/b/*\"` --> Files with an ID starting with \"a/b/\". * `owner=\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0\"` --> Files owned by the version `1.0` in package `pkg1`.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "The field to order the results by.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of files 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": "The name of the parent resource whose files will be listed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/files", + "response": { + "$ref": "ListFilesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + } + }, + "gooGetArtifacts": { + "methods": { + "import": { + "description": "Imports GooGet artifacts. The returned Operation will complete once the resources are imported. Package, Version, and File resources are created based on the imported artifacts. Imported artifacts that conflict with existing resources are ignored.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/gooGetArtifacts:import", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.gooGetArtifacts.import", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The name of the parent resource where the artifacts will be imported.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/gooGetArtifacts:import", + "request": { + "$ref": "ImportGooGetArtifactsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "googetArtifacts": { + "methods": { + "upload": { + "description": "Directly uploads a GooGet artifact. The returned Operation will complete once the resources are uploaded. Package, Version, and File resources are created based on the imported artifact. Imported artifacts that conflict with existing resources are ignored.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/googetArtifacts:create", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.googetArtifacts.upload", + "mediaUpload": { + "accept": [ + "*/*" + ], + "protocols": { + "simple": { + "multipart": true, + "path": "/upload/v1/{+parent}/googetArtifacts:create" + } + } + }, + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The name of the parent resource where the artifacts will be uploaded.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/googetArtifacts:create", + "request": { + "$ref": "UploadGooGetArtifactRequest" + }, + "response": { + "$ref": "UploadGooGetArtifactMediaResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "supportsMediaUpload": true + } + } + }, + "packages": { + "methods": { + "delete": { + "description": "Deletes a package and all of its versions and tags. The returned operation will complete once the package has been deleted.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}", + "httpMethod": "DELETE", + "id": "artifactregistry.projects.locations.repositories.packages.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the package to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a package.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.packages.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the package to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Package" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists packages.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.packages.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of packages to return. Maximum page size is 1,000.", + "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 parent resource whose packages will be listed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/packages", + "response": { + "$ref": "ListPackagesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + }, + "resources": { + "tags": { + "methods": { + "create": { + "description": "Creates a tag.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/tags", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.packages.tags.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The name of the parent resource where the tag will be created.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+$", + "required": true, + "type": "string" + }, + "tagId": { + "description": "The tag id to use for this repository.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/tags", + "request": { + "$ref": "Tag" + }, + "response": { + "$ref": "Tag" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a tag.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/tags/{tagsId}", + "httpMethod": "DELETE", + "id": "artifactregistry.projects.locations.repositories.packages.tags.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the tag to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+/tags/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a tag.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/tags/{tagsId}", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.packages.tags.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the tag to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+/tags/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Tag" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists tags.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/tags", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.packages.tags.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are: * `version` An example of using a filter: * `version=\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0\"` --> Tags that are applied to the version `1.0` in package `pkg1`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of tags to return. Maximum page size is 10,000.", + "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": "The name of the parent resource whose tags will be listed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/tags", + "response": { + "$ref": "ListTagsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "patch": { + "description": "Updates a tag.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/tags/{tagsId}", + "httpMethod": "PATCH", + "id": "artifactregistry.projects.locations.repositories.packages.tags.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the tag, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1\". If the package part contains slashes, the slashes are escaped. The tag part can only have characters in [a-zA-Z0-9\\-._~:@], anything else must be URL encoded.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+/tags/[^/]+$", + "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": "v1/{+name}", + "request": { + "$ref": "Tag" + }, + "response": { + "$ref": "Tag" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "versions": { + "methods": { + "delete": { + "description": "Deletes a version and all of its content. The returned operation will complete once the version has been deleted.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/versions/{versionsId}", + "httpMethod": "DELETE", + "id": "artifactregistry.projects.locations.repositories.packages.versions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "By default, a version that is tagged may not be deleted. If force=true, the version and any tags pointing to the version are deleted.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "The name of the version to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a version", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/versions/{versionsId}", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.packages.versions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the version to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "The view that should be returned in the response.", + "enum": [ + "VERSION_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "The default / unset value. The API will default to the BASIC view.", + "Includes basic information about the version, but not any related tags.", + "Include everything." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Version" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists versions.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/versions", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.packages.versions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "orderBy": { + "description": "Optional. The field to order the results by.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of versions to return. Maximum page size is 1,000.", + "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": "The name of the parent resource whose versions will be listed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "The view that should be returned in the response.", + "enum": [ + "VERSION_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "The default / unset value. The API will default to the BASIC view.", + "Includes basic information about the version, but not any related tags.", + "Include everything." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/versions", + "response": { + "$ref": "ListVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + } + } + } + }, + "yumArtifacts": { + "methods": { + "import": { + "description": "Imports Yum (RPM) artifacts. The returned Operation will complete once the resources are imported. Package, Version, and File resources are created based on the imported artifacts. Imported artifacts that conflict with existing resources are ignored.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/yumArtifacts:import", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.yumArtifacts.import", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The name of the parent resource where the artifacts will be imported.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/yumArtifacts:import", + "request": { + "$ref": "ImportYumArtifactsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "upload": { + "description": "Directly uploads a Yum artifact. The returned Operation will complete once the resources are uploaded. Package, Version, and File resources are created based on the imported artifact. Imported artifacts that conflict with existing resources are ignored.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/yumArtifacts:create", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.yumArtifacts.upload", + "mediaUpload": { + "accept": [ + "*/*" + ], + "protocols": { + "simple": { + "multipart": true, + "path": "/upload/v1/{+parent}/yumArtifacts:create" + } + } + }, + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The name of the parent resource where the artifacts will be uploaded.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/yumArtifacts:create", + "request": { + "$ref": "UploadYumArtifactRequest" + }, + "response": { + "$ref": "UploadYumArtifactMediaResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "supportsMediaUpload": true + } + } } } } @@ -283,26 +1213,47 @@ } } }, - "revision": "20210324", + "revision": "20220225", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { - "CancelOperationRequest": { - "description": "The request message for Operations.CancelOperation.", - "id": "CancelOperationRequest", - "properties": {}, + "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 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 the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, "type": "object" }, "DockerImage": { - "description": "DockerImage represents a docker artifact.", + "description": "DockerImage represents a docker artifact. The following fields are returned as untyped metadata in the Version resource, using camelcase keys (i.e. metadata.imageSizeBytes): * imageSizeBytes * mediaType * buildTime", "id": "DockerImage", "properties": { + "buildTime": { + "description": "The time this image was built. This field is returned as the 'metadata.buildTime' field in the Version resource. The build time is returned to the client as an RFC 3339 string, which can be easily used with the JavaScript Date constructor.", + "format": "google-datetime", + "type": "string" + }, "imageSizeBytes": { - "description": "Calculated size of the image.", + "description": "Calculated size of the image. This field is returned as the 'metadata.imageSizeBytes' field in the Version resource.", "format": "int64", "type": "string" }, "mediaType": { - "description": "Media type of this image, e.g. \"application/vnd.docker.distribution.manifest.v2+json\".", + "description": "Media type of this image, e.g. \"application/vnd.docker.distribution.manifest.v2+json\". This field is returned as the 'metadata.mediaType' field in the Version resource.", "type": "string" }, "name": { @@ -334,6 +1285,179 @@ "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" + }, + "GoogleDevtoolsArtifactregistryV1File": { + "description": "Files store content that is potentially associated with Packages or Versions.", + "id": "GoogleDevtoolsArtifactregistryV1File", + "properties": { + "createTime": { + "description": "The time when the File was created.", + "format": "google-datetime", + "type": "string" + }, + "hashes": { + "description": "The hashes of the file content.", + "items": { + "$ref": "Hash" + }, + "type": "array" + }, + "name": { + "description": "The name of the file, for example: \"projects/p1/locations/us-central1/repositories/repo1/files/a%2Fb%2Fc.txt\". If the file ID part contains slashes, they are escaped.", + "type": "string" + }, + "owner": { + "description": "The name of the Package or Version that owns this file, if any.", + "type": "string" + }, + "sizeBytes": { + "description": "The size of the File in bytes.", + "format": "int64", + "type": "string" + }, + "updateTime": { + "description": "The time when the File was last updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "Hash": { + "description": "A hash of file content.", + "id": "Hash", + "properties": { + "type": { + "description": "The algorithm used to compute the hash value.", + "enum": [ + "HASH_TYPE_UNSPECIFIED", + "SHA256", + "MD5" + ], + "enumDescriptions": [ + "Unspecified.", + "SHA256 hash.", + "MD5 hash." + ], + "type": "string" + }, + "value": { + "description": "The hash value.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "ImportAptArtifactsGcsSource": { + "description": "Google Cloud Storage location where the artifacts currently reside.", + "id": "ImportAptArtifactsGcsSource", + "properties": { + "uris": { + "description": "Cloud Storage paths URI (e.g., gs://my_bucket//my_object).", + "items": { + "type": "string" + }, + "type": "array" + }, + "useWildcards": { + "description": "Supports URI wildcards for matching multiple objects from a single URI.", + "type": "boolean" + } + }, + "type": "object" + }, + "ImportAptArtifactsRequest": { + "description": "The request to import new apt artifacts.", + "id": "ImportAptArtifactsRequest", + "properties": { + "gcsSource": { + "$ref": "ImportAptArtifactsGcsSource", + "description": "Google Cloud Storage location where input content is located." + } + }, + "type": "object" + }, + "ImportGooGetArtifactsGcsSource": { + "description": "Google Cloud Storage location where the artifacts currently reside.", + "id": "ImportGooGetArtifactsGcsSource", + "properties": { + "uris": { + "description": "Cloud Storage paths URI (e.g., gs://my_bucket/my_object).", + "items": { + "type": "string" + }, + "type": "array" + }, + "useWildcards": { + "description": "Supports URI wildcards for matching multiple objects from a single URI.", + "type": "boolean" + } + }, + "type": "object" + }, + "ImportGooGetArtifactsRequest": { + "description": "The request to import new googet artifacts.", + "id": "ImportGooGetArtifactsRequest", + "properties": { + "gcsSource": { + "$ref": "ImportGooGetArtifactsGcsSource", + "description": "Google Cloud Storage location where input content is located." + } + }, + "type": "object" + }, + "ImportYumArtifactsGcsSource": { + "description": "Google Cloud Storage location where the artifacts currently reside.", + "id": "ImportYumArtifactsGcsSource", + "properties": { + "uris": { + "description": "Cloud Storage paths URI (e.g., gs://my_bucket//my_object).", + "items": { + "type": "string" + }, + "type": "array" + }, + "useWildcards": { + "description": "Supports URI wildcards for matching multiple objects from a single URI.", + "type": "boolean" + } + }, + "type": "object" + }, + "ImportYumArtifactsRequest": { + "description": "The request to import new yum artifacts.", + "id": "ImportYumArtifactsRequest", + "properties": { + "gcsSource": { + "$ref": "ImportYumArtifactsGcsSource", + "description": "Google Cloud Storage location where input content is located." + } + }, + "type": "object" + }, "ListDockerImagesResponse": { "description": "The response from listing docker images.", "id": "ListDockerImagesResponse", @@ -352,20 +1476,117 @@ }, "type": "object" }, - "ListOperationsResponse": { - "description": "The response message for Operations.ListOperations.", - "id": "ListOperationsResponse", + "ListFilesResponse": { + "description": "The response from listing files.", + "id": "ListFilesResponse", "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.", + "files": { + "description": "The files returned.", "items": { - "$ref": "Operation" + "$ref": "GoogleDevtoolsArtifactregistryV1File" }, "type": "array" + }, + "nextPageToken": { + "description": "The token to retrieve the next page of files, or empty if there are no more files to return.", + "type": "string" + } + }, + "type": "object" + }, + "ListPackagesResponse": { + "description": "The response from listing packages.", + "id": "ListPackagesResponse", + "properties": { + "nextPageToken": { + "description": "The token to retrieve the next page of packages, or empty if there are no more packages to return.", + "type": "string" + }, + "packages": { + "description": "The packages returned.", + "items": { + "$ref": "Package" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListRepositoriesResponse": { + "description": "The response from listing repositories.", + "id": "ListRepositoriesResponse", + "properties": { + "nextPageToken": { + "description": "The token to retrieve the next page of repositories, or empty if there are no more repositories to return.", + "type": "string" + }, + "repositories": { + "description": "The repositories returned.", + "items": { + "$ref": "Repository" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListTagsResponse": { + "description": "The response from listing tags.", + "id": "ListTagsResponse", + "properties": { + "nextPageToken": { + "description": "The token to retrieve the next page of tags, or empty if there are no more tags to return.", + "type": "string" + }, + "tags": { + "description": "The tags returned.", + "items": { + "$ref": "Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListVersionsResponse": { + "description": "The response from listing versions.", + "id": "ListVersionsResponse", + "properties": { + "nextPageToken": { + "description": "The token to retrieve the next page of versions, or empty if there are no more versions to return.", + "type": "string" + }, + "versions": { + "description": "The versions returned.", + "items": { + "$ref": "Version" + }, + "type": "array" + } + }, + "type": "object" + }, + "MavenRepositoryConfig": { + "description": "MavenRepositoryConfig is maven related repository details. Provides additional configuration details for repositories of the maven format type.", + "id": "MavenRepositoryConfig", + "properties": { + "allowSnapshotOverwrites": { + "description": "The repository with this flag will allow publishing the same snapshot versions.", + "type": "boolean" + }, + "versionPolicy": { + "description": "Version policy defines the versions that the registry will accept.", + "enum": [ + "VERSION_POLICY_UNSPECIFIED", + "RELEASE", + "SNAPSHOT" + ], + "enumDescriptions": [ + "VERSION_POLICY_UNSPECIFIED - the version policy is not defined. When the version policy is not defined, no validation is performed for the versions.", + "RELEASE - repository will accept only Release versions.", + "SNAPSHOT - repository will accept only Snapshot versions." + ], + "type": "string" } }, "type": "object" @@ -405,6 +1626,155 @@ }, "type": "object" }, + "Package": { + "description": "Packages are named collections of versions.", + "id": "Package", + "properties": { + "createTime": { + "description": "The time when the package was created.", + "format": "google-datetime", + "type": "string" + }, + "displayName": { + "description": "The display name of the package.", + "type": "string" + }, + "name": { + "description": "The name of the package, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1\". If the package ID part contains slashes, the slashes are escaped.", + "type": "string" + }, + "updateTime": { + "description": "The time when the package was last updated. This includes publishing a new version of the package.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "Policy", + "properties": { + "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" + }, + "ProjectSettings": { + "description": "The Artifact Registry settings that apply to a Project.", + "id": "ProjectSettings", + "properties": { + "legacyRedirectionState": { + "description": "The redirection state of the legacy repositories in this project.", + "enum": [ + "REDIRECTION_STATE_UNSPECIFIED", + "REDIRECTION_FROM_GCR_IO_DISABLED", + "REDIRECTION_FROM_GCR_IO_ENABLED", + "REDIRECTION_FROM_GCR_IO_FINALIZED" + ], + "enumDescriptions": [ + "No redirection status has been set.", + "Redirection is disabled.", + "Redirection is enabled.", + "Redirection is enabled, and has been finalized so cannot be reverted." + ], + "type": "string" + }, + "name": { + "description": "The name of the project's settings. Always of the form: projects/{project-id}/projectSettings In update request: never set In response: always set", + "type": "string" + } + }, + "type": "object" + }, + "Repository": { + "description": "A Repository for storing artifacts with a specific format.", + "id": "Repository", + "properties": { + "createTime": { + "description": "The time when the repository was created.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "The user-provided description of the repository.", + "type": "string" + }, + "format": { + "description": "The format of packages that are stored in the repository.", + "enum": [ + "FORMAT_UNSPECIFIED", + "DOCKER", + "MAVEN", + "NPM", + "APT", + "YUM", + "PYTHON" + ], + "enumDescriptions": [ + "Unspecified package format.", + "Docker package format.", + "Maven package format.", + "NPM package format.", + "APT package format.", + "YUM package format.", + "Python package format." + ], + "type": "string" + }, + "kmsKeyName": { + "description": "The Cloud KMS resource name of the customer managed encryption key that's used to encrypt the contents of the Repository. Has the form: `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`. This value may not be changed after the Repository has been created.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes.", + "type": "object" + }, + "mavenConfig": { + "$ref": "MavenRepositoryConfig", + "description": "Maven repository config contains repository level configuration for the repositories of maven type." + }, + "name": { + "description": "The name of the repository, for example: \"projects/p1/locations/us-central1/repositories/repo1\".", + "type": "string" + }, + "updateTime": { + "description": "The time when the repository was last updated.", + "format": "google-datetime", + "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 Cloud Platform 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", @@ -431,6 +1801,141 @@ } }, "type": "object" + }, + "Tag": { + "description": "Tags point to a version and represent an alternative name that can be used to access the version.", + "id": "Tag", + "properties": { + "name": { + "description": "The name of the tag, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1\". If the package part contains slashes, the slashes are escaped. The tag part can only have characters in [a-zA-Z0-9\\-._~:@], anything else must be URL encoded.", + "type": "string" + }, + "version": { + "description": "The name of the version the tag refers to, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811\" If the package or version ID parts contain slashes, the slashes are escaped.", + "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" + }, + "UploadAptArtifactMediaResponse": { + "description": "The response to upload an artifact.", + "id": "UploadAptArtifactMediaResponse", + "properties": { + "operation": { + "$ref": "Operation", + "description": "Operation to be returned to the user." + } + }, + "type": "object" + }, + "UploadAptArtifactRequest": { + "description": "The request to upload an artifact.", + "id": "UploadAptArtifactRequest", + "properties": {}, + "type": "object" + }, + "UploadGooGetArtifactMediaResponse": { + "description": "The response to upload an artifact.", + "id": "UploadGooGetArtifactMediaResponse", + "properties": { + "operation": { + "$ref": "Operation", + "description": "Operation to be returned to the user." + } + }, + "type": "object" + }, + "UploadGooGetArtifactRequest": { + "description": "The request to upload an artifact.", + "id": "UploadGooGetArtifactRequest", + "properties": {}, + "type": "object" + }, + "UploadYumArtifactMediaResponse": { + "description": "The response to upload an artifact.", + "id": "UploadYumArtifactMediaResponse", + "properties": { + "operation": { + "$ref": "Operation", + "description": "Operation to be returned to the user." + } + }, + "type": "object" + }, + "UploadYumArtifactRequest": { + "description": "The request to upload an artifact.", + "id": "UploadYumArtifactRequest", + "properties": {}, + "type": "object" + }, + "Version": { + "description": "The body of a version resource. A version resource represents a collection of components, such as files and other data. This may correspond to a version in many package management schemes.", + "id": "Version", + "properties": { + "createTime": { + "description": "The time when the version was created.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "Optional. Description of the version, as specified in its metadata.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Output only. Repository-specific Metadata stored against this version. The fields returned are defined by the underlying repository-specific resource. Currently, the only resource in use is DockerImage", + "readOnly": true, + "type": "object" + }, + "name": { + "description": "The name of the version, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/art1\". If the package or version ID parts contain slashes, the slashes are escaped.", + "type": "string" + }, + "relatedTags": { + "description": "Output only. A list of related tags. Will contain up to 100 tags that reference this version.", + "items": { + "$ref": "Tag" + }, + "type": "array" + }, + "updateTime": { + "description": "The time when the version was last updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/etc/api/artifactregistry/v1beta1/artifactregistry-api.json b/etc/api/artifactregistry/v1beta1/artifactregistry-api.json index e93d2ea3ff..24f730e0c2 100644 --- a/etc/api/artifactregistry/v1beta1/artifactregistry-api.json +++ b/etc/api/artifactregistry/v1beta1/artifactregistry-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" } } } @@ -160,7 +160,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -209,48 +209,6 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] - }, - "list": { - "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. 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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations", - "httpMethod": "GET", - "id": "artifactregistry.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", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ] } } }, @@ -266,7 +224,7 @@ ], "parameters": { "parent": { - "description": "The name of the parent resource where the repository will be created.", + "description": "Required. The name of the parent resource where the repository will be created.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -299,7 +257,7 @@ ], "parameters": { "name": { - "description": "The name of the repository to delete.", + "description": "Required. The name of the repository to delete.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", "required": true, @@ -324,7 +282,7 @@ ], "parameters": { "name": { - "description": "The name of the repository to retrieve.", + "description": "Required. The name of the repository to retrieve.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", "required": true, @@ -350,7 +308,7 @@ ], "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).", + "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" @@ -382,7 +340,7 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of repositories to return.", + "description": "The maximum number of repositories to return. Maximum page size is 1,000.", "format": "int32", "location": "query", "type": "integer" @@ -393,7 +351,7 @@ "type": "string" }, "parent": { - "description": "The name of the parent resource whose repositories will be listed.", + "description": "Required. The name of the parent resource whose repositories will be listed.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -586,7 +544,7 @@ ], "parameters": { "name": { - "description": "The name of the package to delete.", + "description": "Required. The name of the package to delete.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+$", "required": true, @@ -611,7 +569,7 @@ ], "parameters": { "name": { - "description": "The name of the package to retrieve.", + "description": "Required. The name of the package to retrieve.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+$", "required": true, @@ -637,7 +595,7 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of packages to return.", + "description": "The maximum number of packages to return. Maximum page size is 1,000.", "format": "int32", "location": "query", "type": "integer" @@ -648,7 +606,7 @@ "type": "string" }, "parent": { - "description": "The name of the parent resource whose packages will be listed.", + "description": "Required. The name of the parent resource whose packages will be listed.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", "required": true, @@ -767,7 +725,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of tags to return.", + "description": "The maximum number of tags to return. Maximum page size is 10,000.", "format": "int32", "location": "query", "type": "integer" @@ -804,7 +762,7 @@ ], "parameters": { "name": { - "description": "The name of the tag, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1\".", + "description": "The name of the tag, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1\". If the package part contains slashes, the slashes are escaped. The tag part can only have characters in [a-zA-Z0-9\\-._~:@], anything else must be URL encoded.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+/tags/[^/]+$", "required": true, @@ -913,12 +871,12 @@ ], "parameters": { "orderBy": { - "description": "Optional. Sorting field and order", + "description": "Optional. The field to order the results by.", "location": "query", "type": "string" }, "pageSize": { - "description": "The maximum number of versions to return.", + "description": "The maximum number of versions to return. Maximum page size is 1,000.", "format": "int32", "location": "query", "type": "integer" @@ -971,26 +929,26 @@ } } }, - "revision": "20210324", + "revision": "20220225", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -1042,7 +1000,7 @@ "type": "array" }, "name": { - "description": "The name of the file, for example: \"projects/p1/locations/us-central1/repositories/repo1/files/a/b/c.txt\".", + "description": "The name of the file, for example: \"projects/p1/locations/us-central1/repositories/repo1/files/a%2Fb%2Fc.txt\". If the file ID part contains slashes, they are escaped.", "type": "string" }, "owner": { @@ -1070,11 +1028,13 @@ "description": "The algorithm used to compute the hash value.", "enum": [ "HASH_TYPE_UNSPECIFIED", - "SHA256" + "SHA256", + "MD5" ], "enumDescriptions": [ "Unspecified.", - "SHA256 hash." + "SHA256 hash.", + "MD5 hash." ], "type": "string" }, @@ -1122,24 +1082,6 @@ }, "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" - }, "ListPackagesResponse": { "description": "The response from listing packages.", "id": "ListPackagesResponse", @@ -1295,7 +1237,7 @@ "type": "string" }, "name": { - "description": "The name of the package, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1\".", + "description": "The name of the package, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1\". If the package ID part contains slashes, the slashes are escaped.", "type": "string" }, "updateTime": { @@ -1307,11 +1249,11 @@ "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/).", + "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` 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.", + "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" }, @@ -1347,16 +1289,26 @@ "description": "The format of packages that are stored in the repository.", "enum": [ "FORMAT_UNSPECIFIED", - "DOCKER" + "DOCKER", + "MAVEN", + "NPM", + "APT", + "YUM", + "PYTHON" ], "enumDescriptions": [ "Unspecified package format.", - "Docker package format." + "Docker package format.", + "Maven package format.", + "NPM package format.", + "APT package format.", + "YUM package format.", + "Python package format." ], "type": "string" }, "kmsKeyName": { - "description": "The Cloud KMS resource name of the customer managed encryption key that\u2019s used to encrypt the contents of the Repository. Has the form: `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`. This value may not be changed after the Repository has been created.", + "description": "The Cloud KMS resource name of the customer managed encryption key that's used to encrypt the contents of the Repository. Has the form: `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`. This value may not be changed after the Repository has been created.", "type": "string" }, "labels": { @@ -1421,11 +1373,11 @@ "id": "Tag", "properties": { "name": { - "description": "The name of the tag, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1\".", + "description": "The name of the tag, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1\". If the package part contains slashes, the slashes are escaped. The tag part can only have characters in [a-zA-Z0-9\\-._~:@], anything else must be URL encoded.", "type": "string" }, "version": { - "description": "The name of the version the tag refers to, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811\"", + "description": "The name of the version the tag refers to, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811\" If the package or version ID parts contain slashes, the slashes are escaped.", "type": "string" } }, @@ -1473,7 +1425,7 @@ "type": "string" }, "name": { - "description": "The name of the version, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/art1\".", + "description": "The name of the version, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/art1\". If the package or version ID parts contain slashes, the slashes are escaped.", "type": "string" }, "relatedTags": { diff --git a/etc/api/artifactregistry/v1beta2/artifactregistry-api.json b/etc/api/artifactregistry/v1beta2/artifactregistry-api.json index 38fdc63509..d6da582f66 100644 --- a/etc/api/artifactregistry/v1beta2/artifactregistry-api.json +++ b/etc/api/artifactregistry/v1beta2/artifactregistry-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" } } } @@ -109,6 +109,68 @@ "protocol": "rest", "resources": { "projects": { + "methods": { + "getProjectSettings": { + "description": "Retrieves the Settings for the Project.", + "flatPath": "v1beta2/projects/{projectsId}/projectSettings", + "httpMethod": "GET", + "id": "artifactregistry.projects.getProjectSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the projectSettings resource.", + "location": "path", + "pattern": "^projects/[^/]+/projectSettings$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+name}", + "response": { + "$ref": "ProjectSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "updateProjectSettings": { + "description": "Updates the Settings for the Project.", + "flatPath": "v1beta2/projects/{projectsId}/projectSettings", + "httpMethod": "PATCH", + "id": "artifactregistry.projects.updateProjectSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the project's settings. Always of the form: projects/{project-id}/projectSettings In update request: never set In response: always set", + "location": "path", + "pattern": "^projects/[^/]+/projectSettings$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Field mask to support partial updates.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta2/{+name}", + "request": { + "$ref": "ProjectSettings" + }, + "response": { + "$ref": "ProjectSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, "resources": { "locations": { "methods": { @@ -160,7 +222,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -209,48 +271,6 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] - }, - "list": { - "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. 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}/locations/{locationsId}/operations", - "httpMethod": "GET", - "id": "artifactregistry.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": "v1beta2/{+name}/operations", - "response": { - "$ref": "ListOperationsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ] } } }, @@ -266,7 +286,7 @@ ], "parameters": { "parent": { - "description": "The name of the parent resource where the repository will be created.", + "description": "Required. The name of the parent resource where the repository will be created.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -299,7 +319,7 @@ ], "parameters": { "name": { - "description": "The name of the repository to delete.", + "description": "Required. The name of the repository to delete.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", "required": true, @@ -324,7 +344,7 @@ ], "parameters": { "name": { - "description": "The name of the repository to retrieve.", + "description": "Required. The name of the repository to retrieve.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", "required": true, @@ -350,7 +370,7 @@ ], "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).", + "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" @@ -382,7 +402,7 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of repositories to return. Maximum page size is 10,000.", + "description": "The maximum number of repositories to return. Maximum page size is 1,000.", "format": "int32", "location": "query", "type": "integer" @@ -393,7 +413,7 @@ "type": "string" }, "parent": { - "description": "The name of the parent resource whose repositories will be listed.", + "description": "Required. The name of the parent resource whose repositories will be listed.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -502,6 +522,78 @@ } }, "resources": { + "aptArtifacts": { + "methods": { + "import": { + "description": "Imports Apt artifacts. The returned Operation will complete once the resources are imported. Package, Version, and File resources are created based on the imported artifacts. Imported artifacts that conflict with existing resources are ignored.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/aptArtifacts:import", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.aptArtifacts.import", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The name of the parent resource where the artifacts will be imported.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+parent}/aptArtifacts:import", + "request": { + "$ref": "ImportAptArtifactsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "upload": { + "description": "Directly uploads an Apt artifact. The returned Operation will complete once the resources are uploaded. Package, Version, and File resources are created based on the imported artifact. Imported artifacts that conflict with existing resources are ignored.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/aptArtifacts:create", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.aptArtifacts.upload", + "mediaUpload": { + "accept": [ + "*/*" + ], + "protocols": { + "simple": { + "multipart": true, + "path": "/upload/v1beta2/{+parent}/aptArtifacts:create" + } + } + }, + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The name of the parent resource where the artifacts will be uploaded.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+parent}/aptArtifacts:create", + "request": { + "$ref": "UploadAptArtifactRequest" + }, + "response": { + "$ref": "UploadAptArtifactMediaResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "supportsMediaUpload": true + } + } + }, "files": { "methods": { "get": { @@ -523,7 +615,7 @@ }, "path": "v1beta2/{+name}", "response": { - "$ref": "File" + "$ref": "GoogleDevtoolsArtifactregistryV1beta2File" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -586,7 +678,7 @@ ], "parameters": { "name": { - "description": "The name of the package to delete.", + "description": "Required. The name of the package to delete.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+$", "required": true, @@ -611,7 +703,7 @@ ], "parameters": { "name": { - "description": "The name of the package to retrieve.", + "description": "Required. The name of the package to retrieve.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+$", "required": true, @@ -637,7 +729,7 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of packages to return. Maximum page size is 10,000.", + "description": "The maximum number of packages to return. Maximum page size is 1,000.", "format": "int32", "location": "query", "type": "integer" @@ -648,7 +740,7 @@ "type": "string" }, "parent": { - "description": "The name of the parent resource whose packages will be listed.", + "description": "Required. The name of the parent resource whose packages will be listed.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", "required": true, @@ -804,7 +896,7 @@ ], "parameters": { "name": { - "description": "The name of the tag, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1\".", + "description": "The name of the tag, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1\". If the package part contains slashes, the slashes are escaped. The tag part can only have characters in [a-zA-Z0-9\\-._~:@], anything else must be URL encoded.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+/tags/[^/]+$", "required": true, @@ -913,12 +1005,12 @@ ], "parameters": { "orderBy": { - "description": "Optional. Sorting field and order", + "description": "Optional. The field to order the results by.", "location": "query", "type": "string" }, "pageSize": { - "description": "The maximum number of versions to return. Maximum page size is 10,000.", + "description": "The maximum number of versions to return. Maximum page size is 1,000.", "format": "int32", "location": "query", "type": "integer" @@ -963,6 +1055,78 @@ } } } + }, + "yumArtifacts": { + "methods": { + "import": { + "description": "Imports Yum (RPM) artifacts. The returned Operation will complete once the resources are imported. Package, Version, and File resources are created based on the imported artifacts. Imported artifacts that conflict with existing resources are ignored.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/yumArtifacts:import", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.yumArtifacts.import", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The name of the parent resource where the artifacts will be imported.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+parent}/yumArtifacts:import", + "request": { + "$ref": "ImportYumArtifactsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "upload": { + "description": "Directly uploads a Yum artifact. The returned Operation will complete once the resources are uploaded. Package, Version, and File resources are created based on the imported artifact. Imported artifacts that conflict with existing resources are ignored.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/yumArtifacts:create", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.yumArtifacts.upload", + "mediaUpload": { + "accept": [ + "*/*" + ], + "protocols": { + "simple": { + "multipart": true, + "path": "/upload/v1beta2/{+parent}/yumArtifacts:create" + } + } + }, + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The name of the parent resource where the artifacts will be uploaded.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+parent}/yumArtifacts:create", + "request": { + "$ref": "UploadYumArtifactRequest" + }, + "response": { + "$ref": "UploadYumArtifactMediaResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "supportsMediaUpload": true + } + } } } } @@ -971,26 +1135,74 @@ } } }, - "revision": "20210324", + "revision": "20220225", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { + "AptArtifact": { + "description": "A detailed representation of an Apt artifact. Information in the record is derived from the archive's control file. See https://www.debian.org/doc/debian-policy/ch-controlfields.html", + "id": "AptArtifact", + "properties": { + "architecture": { + "description": "Output only. Operating system architecture of the artifact.", + "readOnly": true, + "type": "string" + }, + "component": { + "description": "Output only. Repository component of the artifact.", + "readOnly": true, + "type": "string" + }, + "controlFile": { + "description": "Output only. Contents of the artifact's control metadata file.", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The Artifact Registry resource name of the artifact.", + "readOnly": true, + "type": "string" + }, + "packageName": { + "description": "Output only. The Apt package name of the artifact.", + "readOnly": true, + "type": "string" + }, + "packageType": { + "description": "Output only. An artifact is a binary or source package.", + "enum": [ + "PACKAGE_TYPE_UNSPECIFIED", + "BINARY", + "SOURCE" + ], + "enumDescriptions": [ + "Package type is not specified.", + "Binary package.", + "Source package." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -1025,9 +1237,9 @@ }, "type": "object" }, - "File": { + "GoogleDevtoolsArtifactregistryV1beta2File": { "description": "Files store content that is potentially associated with Packages or Versions.", - "id": "File", + "id": "GoogleDevtoolsArtifactregistryV1beta2File", "properties": { "createTime": { "description": "The time when the File was created.", @@ -1042,7 +1254,7 @@ "type": "array" }, "name": { - "description": "The name of the file, for example: \"projects/p1/locations/us-central1/repositories/repo1/files/a/b/c.txt\".", + "description": "The name of the file, for example: \"projects/p1/locations/us-central1/repositories/repo1/files/a%2Fb%2Fc.txt\". If the file ID part contains slashes, they are escaped.", "type": "string" }, "owner": { @@ -1070,11 +1282,13 @@ "description": "The algorithm used to compute the hash value.", "enum": [ "HASH_TYPE_UNSPECIFIED", - "SHA256" + "SHA256", + "MD5" ], "enumDescriptions": [ "Unspecified.", - "SHA256 hash." + "SHA256 hash.", + "MD5 hash." ], "type": "string" }, @@ -1086,6 +1300,136 @@ }, "type": "object" }, + "ImportAptArtifactsErrorInfo": { + "description": "Error information explaining why a package was not imported.", + "id": "ImportAptArtifactsErrorInfo", + "properties": { + "error": { + "$ref": "Status", + "description": "The detailed error status." + }, + "gcsSource": { + "$ref": "ImportAptArtifactsGcsSource", + "description": "Google Cloud Storage location requested." + } + }, + "type": "object" + }, + "ImportAptArtifactsGcsSource": { + "description": "Google Cloud Storage location where the artifacts currently reside.", + "id": "ImportAptArtifactsGcsSource", + "properties": { + "uris": { + "description": "Cloud Storage paths URI (e.g., gs://my_bucket//my_object).", + "items": { + "type": "string" + }, + "type": "array" + }, + "useWildcards": { + "description": "Supports URI wildcards for matching multiple objects from a single URI.", + "type": "boolean" + } + }, + "type": "object" + }, + "ImportAptArtifactsRequest": { + "description": "The request to import new apt artifacts.", + "id": "ImportAptArtifactsRequest", + "properties": { + "gcsSource": { + "$ref": "ImportAptArtifactsGcsSource", + "description": "Google Cloud Storage location where input content is located." + } + }, + "type": "object" + }, + "ImportAptArtifactsResponse": { + "description": "The response message from importing APT artifacts.", + "id": "ImportAptArtifactsResponse", + "properties": { + "aptArtifacts": { + "description": "The Apt artifacts imported.", + "items": { + "$ref": "AptArtifact" + }, + "type": "array" + }, + "errors": { + "description": "Detailed error info for packages that were not imported.", + "items": { + "$ref": "ImportAptArtifactsErrorInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "ImportYumArtifactsErrorInfo": { + "description": "Error information explaining why a package was not imported.", + "id": "ImportYumArtifactsErrorInfo", + "properties": { + "error": { + "$ref": "Status", + "description": "The detailed error status." + }, + "gcsSource": { + "$ref": "ImportYumArtifactsGcsSource", + "description": "Google Cloud Storage location requested." + } + }, + "type": "object" + }, + "ImportYumArtifactsGcsSource": { + "description": "Google Cloud Storage location where the artifacts currently reside.", + "id": "ImportYumArtifactsGcsSource", + "properties": { + "uris": { + "description": "Cloud Storage paths URI (e.g., gs://my_bucket//my_object).", + "items": { + "type": "string" + }, + "type": "array" + }, + "useWildcards": { + "description": "Supports URI wildcards for matching multiple objects from a single URI.", + "type": "boolean" + } + }, + "type": "object" + }, + "ImportYumArtifactsRequest": { + "description": "The request to import new yum artifacts.", + "id": "ImportYumArtifactsRequest", + "properties": { + "gcsSource": { + "$ref": "ImportYumArtifactsGcsSource", + "description": "Google Cloud Storage location where input content is located." + } + }, + "type": "object" + }, + "ImportYumArtifactsResponse": { + "description": "The response message from importing YUM artifacts.", + "id": "ImportYumArtifactsResponse", + "properties": { + "errors": { + "description": "Detailed error info for packages that were not imported.", + "items": { + "$ref": "ImportYumArtifactsErrorInfo" + }, + "type": "array" + }, + "yumArtifacts": { + "description": "The yum artifacts imported.", + "items": { + "$ref": "YumArtifact" + }, + "type": "array" + } + }, + "type": "object" + }, "ListFilesResponse": { "description": "The response from listing files.", "id": "ListFilesResponse", @@ -1093,7 +1437,7 @@ "files": { "description": "The files returned.", "items": { - "$ref": "File" + "$ref": "GoogleDevtoolsArtifactregistryV1beta2File" }, "type": "array" }, @@ -1122,24 +1466,6 @@ }, "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" - }, "ListPackagesResponse": { "description": "The response from listing packages.", "id": "ListPackagesResponse", @@ -1246,6 +1572,31 @@ }, "type": "object" }, + "MavenRepositoryConfig": { + "description": "MavenRepositoryConfig is maven related repository details. Provides additional configuration details for repositories of the maven format type.", + "id": "MavenRepositoryConfig", + "properties": { + "allowSnapshotOverwrites": { + "description": "The repository with this flag will allow publishing the same snapshot versions.", + "type": "boolean" + }, + "versionPolicy": { + "description": "Version policy defines the versions that the registry will accept.", + "enum": [ + "VERSION_POLICY_UNSPECIFIED", + "RELEASE", + "SNAPSHOT" + ], + "enumDescriptions": [ + "VERSION_POLICY_UNSPECIFIED - the version policy is not defined. When the version policy is not defined, no validation is performed for the versions.", + "RELEASE - repository will accept only Release versions.", + "SNAPSHOT - repository will accept only Snapshot versions." + ], + "type": "string" + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -1281,6 +1632,12 @@ }, "type": "object" }, + "OperationMetadata": { + "description": "Metadata type for longrunning-operations, currently empty.", + "id": "OperationMetadata", + "properties": {}, + "type": "object" + }, "Package": { "description": "Packages are named collections of versions.", "id": "Package", @@ -1295,7 +1652,7 @@ "type": "string" }, "name": { - "description": "The name of the package, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1\".", + "description": "The name of the package, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1\". If the package ID part contains slashes, the slashes are escaped.", "type": "string" }, "updateTime": { @@ -1307,11 +1664,11 @@ "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/).", + "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` 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.", + "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" }, @@ -1330,6 +1687,33 @@ }, "type": "object" }, + "ProjectSettings": { + "description": "The Artifact Registry settings that apply to a Project.", + "id": "ProjectSettings", + "properties": { + "legacyRedirectionState": { + "description": "The redirection state of the legacy repositories in this project.", + "enum": [ + "REDIRECTION_STATE_UNSPECIFIED", + "REDIRECTION_FROM_GCR_IO_DISABLED", + "REDIRECTION_FROM_GCR_IO_ENABLED", + "REDIRECTION_FROM_GCR_IO_FINALIZED" + ], + "enumDescriptions": [ + "No redirection status has been set.", + "Redirection is disabled.", + "Redirection is enabled.", + "Redirection is enabled, and has been finalized so cannot be reverted." + ], + "type": "string" + }, + "name": { + "description": "The name of the project's settings. Always of the form: projects/{project-id}/projectSettings In update request: never set In response: always set", + "type": "string" + } + }, + "type": "object" + }, "Repository": { "description": "A Repository for storing artifacts with a specific format.", "id": "Repository", @@ -1347,16 +1731,26 @@ "description": "The format of packages that are stored in the repository.", "enum": [ "FORMAT_UNSPECIFIED", - "DOCKER" + "DOCKER", + "MAVEN", + "NPM", + "APT", + "YUM", + "PYTHON" ], "enumDescriptions": [ "Unspecified package format.", - "Docker package format." + "Docker package format.", + "Maven package format.", + "NPM package format.", + "APT package format.", + "YUM package format.", + "Python package format." ], "type": "string" }, "kmsKeyName": { - "description": "The Cloud KMS resource name of the customer managed encryption key that\u2019s used to encrypt the contents of the Repository. Has the form: `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`. This value may not be changed after the Repository has been created.", + "description": "The Cloud KMS resource name of the customer managed encryption key that's used to encrypt the contents of the Repository. Has the form: `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`. This value may not be changed after the Repository has been created.", "type": "string" }, "labels": { @@ -1366,6 +1760,10 @@ "description": "Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes.", "type": "object" }, + "mavenConfig": { + "$ref": "MavenRepositoryConfig", + "description": "Maven repository config contains repository level configuration for the repositories of maven type." + }, "name": { "description": "The name of the repository, for example: \"projects/p1/locations/us-central1/repositories/repo1\".", "type": "string" @@ -1421,11 +1819,11 @@ "id": "Tag", "properties": { "name": { - "description": "The name of the tag, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1\".", + "description": "The name of the tag, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1\". If the package part contains slashes, the slashes are escaped. The tag part can only have characters in [a-zA-Z0-9\\-._~:@], anything else must be URL encoded.", "type": "string" }, "version": { - "description": "The name of the version the tag refers to, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811\"", + "description": "The name of the version the tag refers to, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811\" If the package or version ID parts contain slashes, the slashes are escaped.", "type": "string" } }, @@ -1459,6 +1857,68 @@ }, "type": "object" }, + "UploadAptArtifactMediaResponse": { + "description": "The response to upload an artifact.", + "id": "UploadAptArtifactMediaResponse", + "properties": { + "operation": { + "$ref": "Operation", + "description": "Operation to be returned to the user." + } + }, + "type": "object" + }, + "UploadAptArtifactRequest": { + "description": "The request to upload an artifact.", + "id": "UploadAptArtifactRequest", + "properties": {}, + "type": "object" + }, + "UploadAptArtifactResponse": { + "description": "The response of the completed artifact upload operation. This response is contained in the Operation and available to users.", + "id": "UploadAptArtifactResponse", + "properties": { + "aptArtifacts": { + "description": "The Apt artifacts updated.", + "items": { + "$ref": "AptArtifact" + }, + "type": "array" + } + }, + "type": "object" + }, + "UploadYumArtifactMediaResponse": { + "description": "The response to upload an artifact.", + "id": "UploadYumArtifactMediaResponse", + "properties": { + "operation": { + "$ref": "Operation", + "description": "Operation to be returned to the user." + } + }, + "type": "object" + }, + "UploadYumArtifactRequest": { + "description": "The request to upload an artifact.", + "id": "UploadYumArtifactRequest", + "properties": {}, + "type": "object" + }, + "UploadYumArtifactResponse": { + "description": "The response of the completed artifact upload operation. This response is contained in the Operation and available to users.", + "id": "UploadYumArtifactResponse", + "properties": { + "yumArtifacts": { + "description": "The Apt artifacts updated.", + "items": { + "$ref": "YumArtifact" + }, + "type": "array" + } + }, + "type": "object" + }, "Version": { "description": "The body of a version resource. A version resource represents a collection of components, such as files and other data. This may correspond to a version in many package management schemes.", "id": "Version", @@ -1472,8 +1932,17 @@ "description": "Optional. Description of the version, as specified in its metadata.", "type": "string" }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Output only. Repository-specific Metadata stored against this version. The fields returned are defined by the underlying repository-specific resource. Currently, the only resource in use is DockerImage", + "readOnly": true, + "type": "object" + }, "name": { - "description": "The name of the version, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/art1\".", + "description": "The name of the version, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/art1\". If the package or version ID parts contain slashes, the slashes are escaped.", "type": "string" }, "relatedTags": { @@ -1490,6 +1959,43 @@ } }, "type": "object" + }, + "YumArtifact": { + "description": "A detailed representation of a Yum artifact.", + "id": "YumArtifact", + "properties": { + "architecture": { + "description": "Output only. Operating system architecture of the artifact.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The Artifact Registry resource name of the artifact.", + "readOnly": true, + "type": "string" + }, + "packageName": { + "description": "Output only. The yum package name of the artifact.", + "readOnly": true, + "type": "string" + }, + "packageType": { + "description": "Output only. An artifact is a binary or source package.", + "enum": [ + "PACKAGE_TYPE_UNSPECIFIED", + "BINARY", + "SOURCE" + ], + "enumDescriptions": [ + "Package type is not specified.", + "Binary package (.rpm).", + "Source package (.srpm)." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/etc/api/assuredworkloads/v1/assuredworkloads-api.json b/etc/api/assuredworkloads/v1/assuredworkloads-api.json index afc935bf90..233989c74e 100644 --- a/etc/api/assuredworkloads/v1/assuredworkloads-api.json +++ b/etc/api/assuredworkloads/v1/assuredworkloads-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -351,7 +351,7 @@ } } }, - "revision": "20210325", + "revision": "20220224", "rootUrl": "https://assuredworkloads.googleapis.com/", "schemas": { "GoogleCloudAssuredworkloadsV1CreateWorkloadOperationMetadata": { @@ -366,7 +366,11 @@ "CJIS", "FEDRAMP_HIGH", "FEDRAMP_MODERATE", - "US_REGIONAL_ACCESS" + "US_REGIONAL_ACCESS", + "HIPAA", + "HITRUST", + "EU_REGIONS_AND_SUPPORT", + "CA_REGIONS_AND_SUPPORT" ], "enumDescriptions": [ "Unknown compliance regime.", @@ -374,7 +378,11 @@ "Criminal Justice Information Services (CJIS) Security policies.", "FedRAMP High data protection controls", "FedRAMP Moderate data protection controls", - "Assured Workloads For US Regions data protection controls" + "Assured Workloads For US Regions data protection controls", + "Health Insurance Portability and Accountability Act controls", + "Health Information Trust Alliance controls", + "Assured Workloads For EU Regions and Support controls", + "Assured Workloads For Canada Regions and Support controls" ], "type": "string" }, @@ -417,7 +425,7 @@ "id": "GoogleCloudAssuredworkloadsV1Workload", "properties": { "billingAccount": { - "description": "Required. Input only. The billing account used for the resources which are direct children of workload. This billing account is initially associated with the resources created as part of Workload creation. After the initial creation of these resources, the customer can change the assigned billing account. The resource name has the form `billingAccounts/{billing_account_id}`. For example, `billingAccounts/012345-567890-ABCDEF`.", + "description": "Optional. The billing account used for the resources which are direct children of workload. This billing account is initially associated with the resources created as part of Workload creation. After the initial creation of these resources, the customer can change the assigned billing account. The resource name has the form `billingAccounts/{billing_account_id}`. For example, `billingAccounts/012345-567890-ABCDEF`.", "type": "string" }, "complianceRegime": { @@ -428,7 +436,11 @@ "CJIS", "FEDRAMP_HIGH", "FEDRAMP_MODERATE", - "US_REGIONAL_ACCESS" + "US_REGIONAL_ACCESS", + "HIPAA", + "HITRUST", + "EU_REGIONS_AND_SUPPORT", + "CA_REGIONS_AND_SUPPORT" ], "enumDescriptions": [ "Unknown compliance regime.", @@ -436,7 +448,11 @@ "Criminal Justice Information Services (CJIS) Security policies.", "FedRAMP High data protection controls", "FedRAMP Moderate data protection controls", - "Assured Workloads For US Regions data protection controls" + "Assured Workloads For US Regions data protection controls", + "Health Insurance Portability and Accountability Act controls", + "Health Information Trust Alliance controls", + "Assured Workloads For EU Regions and Support controls", + "Assured Workloads For Canada Regions and Support controls" ], "type": "string" }, @@ -450,13 +466,32 @@ "description": "Required. The user-assigned display name of the Workload. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example: My Workload", "type": "string" }, + "enableSovereignControls": { + "description": "Optional. Indicates the sovereignty status of the given workload. Currently meant to be used by Europe/Canada customers.", + "type": "boolean" + }, "etag": { "description": "Optional. ETag of the workload, it is calculated on the basis of the Workload contents. It will be used in Update & Delete operations.", "type": "string" }, + "kajEnrollmentState": { + "description": "Output only. Represents the KAJ enrollment state of the given workload.", + "enum": [ + "KAJ_ENROLLMENT_STATE_UNSPECIFIED", + "KAJ_ENROLLMENT_STATE_PENDING", + "KAJ_ENROLLMENT_STATE_COMPLETE" + ], + "enumDescriptions": [ + "Default State for KAJ Enrollment.", + "Pending State for KAJ Enrollment.", + "Complete State for KAJ Enrollment." + ], + "readOnly": true, + "type": "string" + }, "kmsSettings": { "$ref": "GoogleCloudAssuredworkloadsV1WorkloadKMSSettings", - "description": "Input only. Settings used to create a CMEK crypto key. When set a project with a KMS CMEK key is provisioned. This field is mandatory for a subset of Compliance Regimes." + "description": "Input only. Settings used to create a CMEK crypto key. When set, a project with a KMS CMEK key is provisioned. This field is deprecated as of Feb 28, 2022. In order to create a Keyring, callers should specify, ENCRYPTION_KEYS_PROJECT or KEYRING in ResourceSettings.resource_type field." }, "labels": { "additionalProperties": { @@ -470,9 +505,16 @@ "type": "string" }, "provisionedResourcesParent": { - "description": "Input only. The parent resource for the resources managed by this Assured Workload. May be either an organization or a folder. Must be the same or a child of the Workload parent. If not specified all resources are created under the Workload parent. Formats: folders/{folder_id} organizations/{organization_id}", + "description": "Input only. The parent resource for the resources managed by this Assured Workload. May be either empty or a folder resource which is a child of the Workload parent. If not specified all resources are created under the parent organization. Format: folders/{folder_id}", "type": "string" }, + "resourceSettings": { + "description": "Input only. Resource properties that are used to customize workload resources. These properties (such as custom project id) will be used to create workload resources if possible. This field is optional.", + "items": { + "$ref": "GoogleCloudAssuredworkloadsV1WorkloadResourceSettings" + }, + "type": "array" + }, "resources": { "description": "Output only. The resources associated with this workload. These resources will be created when creating the workload. If any of the projects already exist, the workload creation will fail. Always read only.", "items": { @@ -480,6 +522,11 @@ }, "readOnly": true, "type": "array" + }, + "saaEnrollmentResponse": { + "$ref": "GoogleCloudAssuredworkloadsV1WorkloadSaaEnrollmentResponse", + "description": "Output only. Represents the SAA enrollment response of the given workload. SAA enrollment response is queried during GetWorkload call. In failure cases, user friendly error message is shown in SAA details page.", + "readOnly": true } }, "type": "object" @@ -515,12 +562,91 @@ "enum": [ "RESOURCE_TYPE_UNSPECIFIED", "CONSUMER_PROJECT", - "ENCRYPTION_KEYS_PROJECT" + "CONSUMER_FOLDER", + "ENCRYPTION_KEYS_PROJECT", + "KEYRING" ], "enumDescriptions": [ "Unknown resource type.", - "Consumer project.", - "Consumer project containing encryption keys." + "Consumer project. AssuredWorkloads Projects are no longer supported. This field will be ignored only in CreateWorkload requests. ListWorkloads and GetWorkload will continue to provide projects information. Use CONSUMER_FOLDER instead.", + "Consumer Folder.", + "Consumer project containing encryption keys.", + "Keyring resource that hosts encryption keys." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssuredworkloadsV1WorkloadResourceSettings": { + "description": "Represent the custom settings for the resources to be created.", + "id": "GoogleCloudAssuredworkloadsV1WorkloadResourceSettings", + "properties": { + "displayName": { + "description": "User-assigned resource display name. If not empty it will be used to create a resource with the specified name.", + "type": "string" + }, + "resourceId": { + "description": "Resource identifier. For a project this represents project_id. If the project is already taken, the workload creation will fail. For KeyRing, this represents the keyring_id. For a folder, don't set this value as folder_id is assigned by Google.", + "type": "string" + }, + "resourceType": { + "description": "Indicates the type of resource. This field should be specified to correspond the id to the right project type (CONSUMER_PROJECT or ENCRYPTION_KEYS_PROJECT)", + "enum": [ + "RESOURCE_TYPE_UNSPECIFIED", + "CONSUMER_PROJECT", + "CONSUMER_FOLDER", + "ENCRYPTION_KEYS_PROJECT", + "KEYRING" + ], + "enumDescriptions": [ + "Unknown resource type.", + "Consumer project. AssuredWorkloads Projects are no longer supported. This field will be ignored only in CreateWorkload requests. ListWorkloads and GetWorkload will continue to provide projects information. Use CONSUMER_FOLDER instead.", + "Consumer Folder.", + "Consumer project containing encryption keys.", + "Keyring resource that hosts encryption keys." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssuredworkloadsV1WorkloadSaaEnrollmentResponse": { + "description": "Signed Access Approvals (SAA) enrollment response.", + "id": "GoogleCloudAssuredworkloadsV1WorkloadSaaEnrollmentResponse", + "properties": { + "setupErrors": { + "description": "Indicates SAA enrollment setup error if any.", + "items": { + "enum": [ + "SETUP_ERROR_UNSPECIFIED", + "ERROR_INVALID_BASE_SETUP", + "ERROR_MISSING_EXTERNAL_SIGNING_KEY", + "ERROR_NOT_ALL_SERVICES_ENROLLED", + "ERROR_SETUP_CHECK_FAILED" + ], + "enumDescriptions": [ + "Unspecified.", + "Invalid states for all customers, to be redirected to AA UI for additional details.", + "Returned when there is not an EKM key configured.", + "Returned when there are no enrolled services or the customer is enrolled in CAA only for a subset of services.", + "Returned when exception was encountered during evaluation of other criteria." + ], + "type": "string" + }, + "type": "array" + }, + "setupStatus": { + "description": "Indicates SAA enrollment status of a given workload.", + "enum": [ + "SETUP_STATE_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_COMPLETE" + ], + "enumDescriptions": [ + "Unspecified.", + "SAA enrollment pending.", + "SAA enrollment comopleted." ], "type": "string" } @@ -541,7 +667,9 @@ "FEDRAMP_MODERATE", "US_REGIONAL_ACCESS", "HIPAA", - "HITRUST" + "HITRUST", + "EU_REGIONS_AND_SUPPORT", + "CA_REGIONS_AND_SUPPORT" ], "enumDescriptions": [ "Unknown compliance regime.", @@ -551,7 +679,9 @@ "FedRAMP Moderate data protection controls", "Assured Workloads For US Regions data protection controls", "Health Insurance Portability and Accountability Act controls", - "Health Information Trust Alliance controls" + "Health Information Trust Alliance controls", + "Assured Workloads For EU Regions and Support controls", + "Assured Workloads For Canada Regions and Support controls" ], "type": "string" }, @@ -567,6 +697,13 @@ "parent": { "description": "Optional. The parent of the workload.", "type": "string" + }, + "resourceSettings": { + "description": "Optional. Resource properties in the input that are used for creating/customizing workload resources.", + "items": { + "$ref": "GoogleCloudAssuredworkloadsV1beta1WorkloadResourceSettings" + }, + "type": "array" } }, "type": "object" @@ -576,12 +713,12 @@ "id": "GoogleCloudAssuredworkloadsV1beta1Workload", "properties": { "billingAccount": { - "description": "Required. Input only. The billing account used for the resources which are direct children of workload. This billing account is initially associated with the resources created as part of Workload creation. After the initial creation of these resources, the customer can change the assigned billing account. The resource name has the form `billingAccounts/{billing_account_id}`. For example, `billingAccounts/012345-567890-ABCDEF`.", + "description": "Input only. The billing account used for the resources which are direct children of workload. This billing account is initially associated with the resources created as part of Workload creation. After the initial creation of these resources, the customer can change the assigned billing account. The resource name has the form `billingAccounts/{billing_account_id}`. For example, `billingAccounts/012345-567890-ABCDEF`.", "type": "string" }, "cjisSettings": { "$ref": "GoogleCloudAssuredworkloadsV1beta1WorkloadCJISSettings", - "description": "Required. Input only. Immutable. Settings specific to resources needed for CJIS." + "description": "Input only. Immutable. Settings specific to resources needed for CJIS." }, "complianceRegime": { "description": "Required. Immutable. Compliance Regime associated with this workload.", @@ -593,7 +730,9 @@ "FEDRAMP_MODERATE", "US_REGIONAL_ACCESS", "HIPAA", - "HITRUST" + "HITRUST", + "EU_REGIONS_AND_SUPPORT", + "CA_REGIONS_AND_SUPPORT" ], "enumDescriptions": [ "Unknown compliance regime.", @@ -603,7 +742,9 @@ "FedRAMP Moderate data protection controls", "Assured Workloads For US Regions data protection controls", "Health Insurance Portability and Accountability Act controls", - "Health Information Trust Alliance controls" + "Health Information Trust Alliance controls", + "Assured Workloads For EU Regions and Support controls", + "Assured Workloads For Canada Regions and Support controls" ], "type": "string" }, @@ -617,25 +758,44 @@ "description": "Required. The user-assigned display name of the Workload. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example: My Workload", "type": "string" }, + "enableSovereignControls": { + "description": "Optional. Indicates the sovereignty status of the given workload. Currently meant to be used by Europe/Canada customers.", + "type": "boolean" + }, "etag": { "description": "Optional. ETag of the workload, it is calculated on the basis of the Workload contents. It will be used in Update & Delete operations.", "type": "string" }, "fedrampHighSettings": { "$ref": "GoogleCloudAssuredworkloadsV1beta1WorkloadFedrampHighSettings", - "description": "Required. Input only. Immutable. Settings specific to resources needed for FedRAMP High." + "description": "Input only. Immutable. Settings specific to resources needed for FedRAMP High." }, "fedrampModerateSettings": { "$ref": "GoogleCloudAssuredworkloadsV1beta1WorkloadFedrampModerateSettings", - "description": "Required. Input only. Immutable. Settings specific to resources needed for FedRAMP Moderate." + "description": "Input only. Immutable. Settings specific to resources needed for FedRAMP Moderate." }, "il4Settings": { "$ref": "GoogleCloudAssuredworkloadsV1beta1WorkloadIL4Settings", - "description": "Required. Input only. Immutable. Settings specific to resources needed for IL4." + "description": "Input only. Immutable. Settings specific to resources needed for IL4." + }, + "kajEnrollmentState": { + "description": "Output only. Represents the KAJ enrollment state of the given workload.", + "enum": [ + "KAJ_ENROLLMENT_STATE_UNSPECIFIED", + "KAJ_ENROLLMENT_STATE_PENDING", + "KAJ_ENROLLMENT_STATE_COMPLETE" + ], + "enumDescriptions": [ + "Default State for KAJ Enrollment.", + "Pending State for KAJ Enrollment.", + "Complete State for KAJ Enrollment." + ], + "readOnly": true, + "type": "string" }, "kmsSettings": { "$ref": "GoogleCloudAssuredworkloadsV1beta1WorkloadKMSSettings", - "description": "Input only. Settings used to create a CMEK crypto key. When set a project with a KMS CMEK key is provisioned. This field is mandatory for a subset of Compliance Regimes." + "description": "Input only. Settings used to create a CMEK crypto key. When set, a project with a KMS CMEK key is provisioned. This field is deprecated as of Feb 28, 2022. In order to create a Keyring, callers should specify, ENCRYPTION_KEYS_PROJECT or KEYRING in ResourceSettings.resource_type field." }, "labels": { "additionalProperties": { @@ -649,7 +809,7 @@ "type": "string" }, "provisionedResourcesParent": { - "description": "Input only. The parent resource for the resources managed by this Assured Workload. May be either an organization or a folder. Must be the same or a child of the Workload parent. If not specified all resources are created under the Workload parent. Formats: folders/{folder_id} organizations/{organization_id}", + "description": "Input only. The parent resource for the resources managed by this Assured Workload. May be either empty or a folder resource which is a child of the Workload parent. If not specified all resources are created under the parent organization. Format: folders/{folder_id}", "type": "string" }, "resourceSettings": { @@ -666,6 +826,11 @@ }, "readOnly": true, "type": "array" + }, + "saaEnrollmentResponse": { + "$ref": "GoogleCloudAssuredworkloadsV1beta1WorkloadSaaEnrollmentResponse", + "description": "Output only. Represents the SAA enrollment response of the given workload. SAA enrollment response is queried during GetWorkload call. In failure cases, user friendly error message is shown in SAA details page.", + "readOnly": true } }, "type": "object" @@ -676,7 +841,7 @@ "properties": { "kmsSettings": { "$ref": "GoogleCloudAssuredworkloadsV1beta1WorkloadKMSSettings", - "description": "Required. Input only. Immutable. Settings used to create a CMEK crypto key." + "description": "Input only. Immutable. Settings used to create a CMEK crypto key." } }, "type": "object" @@ -687,7 +852,7 @@ "properties": { "kmsSettings": { "$ref": "GoogleCloudAssuredworkloadsV1beta1WorkloadKMSSettings", - "description": "Required. Input only. Immutable. Settings used to create a CMEK crypto key." + "description": "Input only. Immutable. Settings used to create a CMEK crypto key." } }, "type": "object" @@ -698,7 +863,7 @@ "properties": { "kmsSettings": { "$ref": "GoogleCloudAssuredworkloadsV1beta1WorkloadKMSSettings", - "description": "Required. Input only. Immutable. Settings used to create a CMEK crypto key." + "description": "Input only. Immutable. Settings used to create a CMEK crypto key." } }, "type": "object" @@ -709,7 +874,7 @@ "properties": { "kmsSettings": { "$ref": "GoogleCloudAssuredworkloadsV1beta1WorkloadKMSSettings", - "description": "Required. Input only. Immutable. Settings used to create a CMEK crypto key." + "description": "Input only. Immutable. Settings used to create a CMEK crypto key." } }, "type": "object" @@ -745,12 +910,16 @@ "enum": [ "RESOURCE_TYPE_UNSPECIFIED", "CONSUMER_PROJECT", - "ENCRYPTION_KEYS_PROJECT" + "CONSUMER_FOLDER", + "ENCRYPTION_KEYS_PROJECT", + "KEYRING" ], "enumDescriptions": [ "Unknown resource type.", - "Consumer project.", - "Consumer project containing encryption keys." + "Deprecated. Existing workloads will continue to support this, but new CreateWorkloadRequests should not specify this as an input value.", + "Consumer Folder.", + "Consumer project containing encryption keys.", + "Keyring resource that hosts encryption keys." ], "type": "string" } @@ -761,8 +930,12 @@ "description": "Represent the custom settings for the resources to be created.", "id": "GoogleCloudAssuredworkloadsV1beta1WorkloadResourceSettings", "properties": { + "displayName": { + "description": "User-assigned resource display name. If not empty it will be used to create a resource with the specified name.", + "type": "string" + }, "resourceId": { - "description": "Resource identifier. For a project this represents project_id. If the project is already taken, the workload creation will fail.", + "description": "Resource identifier. For a project this represents project_id. If the project is already taken, the workload creation will fail. For KeyRing, this represents the keyring_id. For a folder, don't set this value as folder_id is assigned by Google.", "type": "string" }, "resourceType": { @@ -770,12 +943,406 @@ "enum": [ "RESOURCE_TYPE_UNSPECIFIED", "CONSUMER_PROJECT", - "ENCRYPTION_KEYS_PROJECT" + "CONSUMER_FOLDER", + "ENCRYPTION_KEYS_PROJECT", + "KEYRING" ], "enumDescriptions": [ "Unknown resource type.", - "Consumer project.", - "Consumer project containing encryption keys." + "Deprecated. Existing workloads will continue to support this, but new CreateWorkloadRequests should not specify this as an input value.", + "Consumer Folder.", + "Consumer project containing encryption keys.", + "Keyring resource that hosts encryption keys." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssuredworkloadsV1beta1WorkloadSaaEnrollmentResponse": { + "description": "Signed Access Approvals (SAA) enrollment response.", + "id": "GoogleCloudAssuredworkloadsV1beta1WorkloadSaaEnrollmentResponse", + "properties": { + "setupErrors": { + "description": "Indicates SAA enrollment setup error if any.", + "items": { + "enum": [ + "SETUP_ERROR_UNSPECIFIED", + "ERROR_INVALID_BASE_SETUP", + "ERROR_MISSING_EXTERNAL_SIGNING_KEY", + "ERROR_NOT_ALL_SERVICES_ENROLLED", + "ERROR_SETUP_CHECK_FAILED" + ], + "enumDescriptions": [ + "Unspecified.", + "Invalid states for all customers, to be redirected to AA UI for additional details.", + "Returned when there is not an EKM key configured.", + "Returned when there are no enrolled services or the customer is enrolled in CAA only for a subset of services.", + "Returned when exception was encountered during evaluation of other criteria." + ], + "type": "string" + }, + "type": "array" + }, + "setupStatus": { + "description": "Indicates SAA enrollment status of a given workload.", + "enum": [ + "SETUP_STATE_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_COMPLETE" + ], + "enumDescriptions": [ + "Unspecified.", + "SAA enrollment pending.", + "SAA enrollment comopleted." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssuredworkloadsVersioningV1mainCreateWorkloadOperationMetadata": { + "description": "Operation metadata to give request details of CreateWorkload.", + "id": "GoogleCloudAssuredworkloadsVersioningV1mainCreateWorkloadOperationMetadata", + "properties": { + "complianceRegime": { + "description": "Optional. Compliance controls that should be applied to the resources managed by the workload.", + "enum": [ + "COMPLIANCE_REGIME_UNSPECIFIED", + "IL4", + "CJIS", + "FEDRAMP_HIGH", + "FEDRAMP_MODERATE", + "US_REGIONAL_ACCESS", + "HIPAA", + "HITRUST", + "EU_REGIONS_AND_SUPPORT", + "CA_REGIONS_AND_SUPPORT" + ], + "enumDescriptions": [ + "Unknown compliance regime.", + "Information protection as per DoD IL4 requirements.", + "Criminal Justice Information Services (CJIS) Security policies.", + "FedRAMP High data protection controls", + "FedRAMP Moderate data protection controls", + "Assured Workloads For US Regions data protection controls", + "Health Insurance Portability and Accountability Act controls", + "Health Information Trust Alliance controls", + "Assured Workloads For EU Regions and Support controls", + "Assured Workloads For Canada Regions and Support controls" + ], + "type": "string" + }, + "createTime": { + "description": "Optional. Time when the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "displayName": { + "description": "Optional. The display name of the workload.", + "type": "string" + }, + "parent": { + "description": "Optional. The parent of the workload.", + "type": "string" + }, + "resourceSettings": { + "description": "Optional. Resource properties in the input that are used for creating/customizing workload resources.", + "items": { + "$ref": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadResourceSettings" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAssuredworkloadsVersioningV1mainWorkload": { + "description": "An Workload object for managing highly regulated workloads of cloud customers.", + "id": "GoogleCloudAssuredworkloadsVersioningV1mainWorkload", + "properties": { + "billingAccount": { + "description": "Input only. The billing account used for the resources which are direct children of workload. This billing account is initially associated with the resources created as part of Workload creation. After the initial creation of these resources, the customer can change the assigned billing account. The resource name has the form `billingAccounts/{billing_account_id}`. For example, `billingAccounts/012345-567890-ABCDEF`.", + "type": "string" + }, + "cjisSettings": { + "$ref": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadCJISSettings", + "description": "Required. Input only. Immutable. Settings specific to resources needed for CJIS." + }, + "complianceRegime": { + "description": "Required. Immutable. Compliance Regime associated with this workload.", + "enum": [ + "COMPLIANCE_REGIME_UNSPECIFIED", + "IL4", + "CJIS", + "FEDRAMP_HIGH", + "FEDRAMP_MODERATE", + "US_REGIONAL_ACCESS", + "HIPAA", + "HITRUST", + "EU_REGIONS_AND_SUPPORT", + "CA_REGIONS_AND_SUPPORT" + ], + "enumDescriptions": [ + "Unknown compliance regime.", + "Information protection as per DoD IL4 requirements.", + "Criminal Justice Information Services (CJIS) Security policies.", + "FedRAMP High data protection controls", + "FedRAMP Moderate data protection controls", + "Assured Workloads For US Regions data protection controls", + "Health Insurance Portability and Accountability Act controls", + "Health Information Trust Alliance controls", + "Assured Workloads For EU Regions and Support controls", + "Assured Workloads For Canada Regions and Support controls" + ], + "type": "string" + }, + "createTime": { + "description": "Output only. Immutable. The Workload creation timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The user-assigned display name of the Workload. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example: My Workload", + "type": "string" + }, + "enableSovereignControls": { + "description": "Optional. Indicates the sovereignty status of the given workload. Currently meant to be used by Europe/Canada customers.", + "type": "boolean" + }, + "etag": { + "description": "Optional. ETag of the workload, it is calculated on the basis of the Workload contents. It will be used in Update & Delete operations.", + "type": "string" + }, + "fedrampHighSettings": { + "$ref": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadFedrampHighSettings", + "description": "Required. Input only. Immutable. Settings specific to resources needed for FedRAMP High." + }, + "fedrampModerateSettings": { + "$ref": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadFedrampModerateSettings", + "description": "Required. Input only. Immutable. Settings specific to resources needed for FedRAMP Moderate." + }, + "il4Settings": { + "$ref": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadIL4Settings", + "description": "Required. Input only. Immutable. Settings specific to resources needed for IL4." + }, + "kajEnrollmentState": { + "description": "Output only. Represents the KAJ enrollment state of the given workload.", + "enum": [ + "KAJ_ENROLLMENT_STATE_UNSPECIFIED", + "KAJ_ENROLLMENT_STATE_PENDING", + "KAJ_ENROLLMENT_STATE_COMPLETE" + ], + "enumDescriptions": [ + "Default State for KAJ Enrollment.", + "Pending State for KAJ Enrollment.", + "Complete State for KAJ Enrollment." + ], + "readOnly": true, + "type": "string" + }, + "kmsSettings": { + "$ref": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadKMSSettings", + "description": "Input only. Settings used to create a CMEK crypto key. When set, a project with a KMS CMEK key is provisioned. This field is deprecated as of Feb 28, 2022. In order to create a Keyring, callers should specify, ENCRYPTION_KEYS_PROJECT or KEYRING in ResourceSettings.resource_type field." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels applied to the workload.", + "type": "object" + }, + "name": { + "description": "Optional. The resource name of the workload. Format: organizations/{organization}/locations/{location}/workloads/{workload} Read-only.", + "type": "string" + }, + "provisionedResourcesParent": { + "description": "Input only. The parent resource for the resources managed by this Assured Workload. May be either empty or a folder resource which is a child of the Workload parent. If not specified all resources are created under the parent organization. Format: folders/{folder_id}", + "type": "string" + }, + "resourceSettings": { + "description": "Input only. Resource properties that are used to customize workload resources. These properties (such as custom project id) will be used to create workload resources if possible. This field is optional.", + "items": { + "$ref": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadResourceSettings" + }, + "type": "array" + }, + "resources": { + "description": "Output only. The resources associated with this workload. These resources will be created when creating the workload. If any of the projects already exist, the workload creation will fail. Always read only.", + "items": { + "$ref": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadResourceInfo" + }, + "readOnly": true, + "type": "array" + }, + "saaEnrollmentResponse": { + "$ref": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadSaaEnrollmentResponse", + "description": "Output only. Represents the SAA enrollment response of the given workload. SAA enrollment response is queried during GetWorkload call. In failure cases, user friendly error message is shown in SAA details page.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadCJISSettings": { + "description": "Settings specific to resources needed for CJIS.", + "id": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadCJISSettings", + "properties": { + "kmsSettings": { + "$ref": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadKMSSettings", + "description": "Input only. Immutable. Settings used to create a CMEK crypto key." + } + }, + "type": "object" + }, + "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadFedrampHighSettings": { + "description": "Settings specific to resources needed for FedRAMP High.", + "id": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadFedrampHighSettings", + "properties": { + "kmsSettings": { + "$ref": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadKMSSettings", + "description": "Input only. Immutable. Settings used to create a CMEK crypto key." + } + }, + "type": "object" + }, + "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadFedrampModerateSettings": { + "description": "Settings specific to resources needed for FedRAMP Moderate.", + "id": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadFedrampModerateSettings", + "properties": { + "kmsSettings": { + "$ref": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadKMSSettings", + "description": "Input only. Immutable. Settings used to create a CMEK crypto key." + } + }, + "type": "object" + }, + "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadIL4Settings": { + "description": "Settings specific to resources needed for IL4.", + "id": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadIL4Settings", + "properties": { + "kmsSettings": { + "$ref": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadKMSSettings", + "description": "Input only. Immutable. Settings used to create a CMEK crypto key." + } + }, + "type": "object" + }, + "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadKMSSettings": { + "description": "Settings specific to the Key Management Service.", + "id": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadKMSSettings", + "properties": { + "nextRotationTime": { + "description": "Required. Input only. Immutable. The time at which the Key Management Service will automatically create a new version of the crypto key and mark it as the primary.", + "format": "google-datetime", + "type": "string" + }, + "rotationPeriod": { + "description": "Required. Input only. Immutable. [next_rotation_time] will be advanced by this period when the Key Management Service automatically rotates a key. Must be at least 24 hours and at most 876,000 hours.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadResourceInfo": { + "description": "Represent the resources that are children of this Workload.", + "id": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadResourceInfo", + "properties": { + "resourceId": { + "description": "Resource identifier. For a project this represents project_number.", + "format": "int64", + "type": "string" + }, + "resourceType": { + "description": "Indicates the type of resource.", + "enum": [ + "RESOURCE_TYPE_UNSPECIFIED", + "CONSUMER_PROJECT", + "CONSUMER_FOLDER", + "ENCRYPTION_KEYS_PROJECT", + "KEYRING" + ], + "enumDescriptions": [ + "Unknown resource type.", + "Deprecated. Existing workloads will continue to support this, but new CreateWorkloadRequests should not specify this as an input value.", + "Consumer Folder.", + "Consumer project containing encryption keys.", + "Keyring resource that hosts encryption keys." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadResourceSettings": { + "description": "Represent the custom settings for the resources to be created.", + "id": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadResourceSettings", + "properties": { + "displayName": { + "description": "User-assigned resource display name. If not empty it will be used to create a resource with the specified name.", + "type": "string" + }, + "resourceId": { + "description": "Resource identifier. For a project this represents project_id. If the project is already taken, the workload creation will fail. For KeyRing, this represents the keyring_id. For a folder, don't set this value as folder_id is assigned by Google.", + "type": "string" + }, + "resourceType": { + "description": "Indicates the type of resource. This field should be specified to correspond the id to the right project type (CONSUMER_PROJECT or ENCRYPTION_KEYS_PROJECT)", + "enum": [ + "RESOURCE_TYPE_UNSPECIFIED", + "CONSUMER_PROJECT", + "CONSUMER_FOLDER", + "ENCRYPTION_KEYS_PROJECT", + "KEYRING" + ], + "enumDescriptions": [ + "Unknown resource type.", + "Deprecated. Existing workloads will continue to support this, but new CreateWorkloadRequests should not specify this as an input value.", + "Consumer Folder.", + "Consumer project containing encryption keys.", + "Keyring resource that hosts encryption keys." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadSaaEnrollmentResponse": { + "description": "Signed Access Approvals (SAA) enrollment response.", + "id": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadSaaEnrollmentResponse", + "properties": { + "setupErrors": { + "description": "Indicates SAA enrollment setup error if any.", + "items": { + "enum": [ + "SETUP_ERROR_UNSPECIFIED", + "ERROR_INVALID_BASE_SETUP", + "ERROR_MISSING_EXTERNAL_SIGNING_KEY", + "ERROR_NOT_ALL_SERVICES_ENROLLED", + "ERROR_SETUP_CHECK_FAILED" + ], + "enumDescriptions": [ + "Unspecified.", + "Invalid states for all customers, to be redirected to AA UI for additional details.", + "Returned when there is not an EKM key configured.", + "Returned when there are no enrolled services or the customer is enrolled in CAA only for a subset of services.", + "Returned when exception was encountered during evaluation of other criteria." + ], + "type": "string" + }, + "type": "array" + }, + "setupStatus": { + "description": "Indicates SAA enrollment status of a given workload.", + "enum": [ + "SETUP_STATE_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_COMPLETE" + ], + "enumDescriptions": [ + "Unspecified.", + "SAA enrollment pending.", + "SAA enrollment comopleted." ], "type": "string" } diff --git a/etc/api/authorizedbuyersmarketplace/v1/authorizedbuyersmarketplace-api.json b/etc/api/authorizedbuyersmarketplace/v1/authorizedbuyersmarketplace-api.json new file mode 100644 index 0000000000..5279c74af3 --- /dev/null +++ b/etc/api/authorizedbuyersmarketplace/v1/authorizedbuyersmarketplace-api.json @@ -0,0 +1,3100 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/authorized-buyers-marketplace": { + "description": "See, create, edit, and delete your Authorized Buyers Marketplace entities." + } + } + } + }, + "basePath": "", + "baseUrl": "https://authorizedbuyersmarketplace.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Authorized Buyers Marketplace", + "description": "The Authorized Buyers Marketplace API allows buyers programmatically discover inventory; propose, retrieve and negotiate deals with publishers.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/authorized-buyers/apis/marketplace/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": "authorizedbuyersmarketplace:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://authorizedbuyersmarketplace.mtls.googleapis.com/", + "name": "authorizedbuyersmarketplace", + "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": { + "resources": { + "finalizedDeals": { + "methods": { + "list": { + "description": "Lists finalized deals. Use the URL path \"/v1/buyers/{accountId}/finalizedDeals\" to list finalized deals for the current buyer and its clients. Bidders can use the URL path \"/v1/bidders/{accountId}/finalizedDeals\" to list finalized deals for the bidder, its buyers and all their clients.", + "flatPath": "v1/bidders/{biddersId}/finalizedDeals", + "httpMethod": "GET", + "id": "authorizedbuyersmarketplace.bidders.finalizedDeals.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional query string using the [Cloud API list filtering syntax](https://developers.google.com/authorized-buyers/apis/guides/v2/list-filters) Supported columns for filtering are: * deal.displayName * deal.dealType * deal.createTime * deal.updateTime * deal.flightStartTime * deal.flightEndTime * dealServingStatus", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "An optional query string to sort finalized deals using the [Cloud API sorting syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order). If no sort order is specified, results will be returned in an arbitrary order. Supported columns for sorting are: * deal.displayName * deal.createTime * deal.updateTime * deal.flightStartTime * deal.flightEndTime * rtbMetrics.bidRequests7Days * rtbMetrics.bids7Days * rtbMetrics.adImpressions7Days * rtbMetrics.bidRate7Days * rtbMetrics.filteredBidRate7Days * rtbMetrics.mustBidRateCurrentMonth Example: 'deal.displayName, deal.updateTime desc'", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. The server may return fewer results than requested. If requested more than 500, the server will return 500 results per page. If unspecified, the server will pick a default page size of 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The page token as returned from ListFinalizedDealsResponse.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The buyer to list the finalized deals for, in the format: `buyers/{accountId}`. When used to list finalized deals for a bidder, its buyers and clients, in the format `bidders/{accountId}`.", + "location": "path", + "pattern": "^bidders/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/finalizedDeals", + "response": { + "$ref": "ListFinalizedDealsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + } + } + } + } + }, + "buyers": { + "resources": { + "auctionPackages": { + "methods": { + "get": { + "description": "Gets an auction package given its name.", + "flatPath": "v1/buyers/{buyersId}/auctionPackages/{auctionPackagesId}", + "httpMethod": "GET", + "id": "authorizedbuyersmarketplace.buyers.auctionPackages.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of auction package to get. Format: `buyers/{accountId}/auctionPackages/{auctionPackageId}`", + "location": "path", + "pattern": "^buyers/[^/]+/auctionPackages/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "AuctionPackage" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "list": { + "description": "List the auction packages subscribed by a buyer and its clients.", + "flatPath": "v1/buyers/{buyersId}/auctionPackages", + "httpMethod": "GET", + "id": "authorizedbuyersmarketplace.buyers.auctionPackages.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Requested page size. The server may return fewer results than requested. Max allowed page size is 500.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The page token as returned. ListAuctionPackagesResponse.nextPageToken", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of the parent buyer that can access the auction package. Format: `buyers/{accountId}`", + "location": "path", + "pattern": "^buyers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/auctionPackages", + "response": { + "$ref": "ListAuctionPackagesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "subscribe": { + "description": "Subscribe to the auction package for the specified buyer. Once subscribed, the bidder will receive a call out for inventory matching the auction package targeting criteria with the auction package deal ID and the specified buyer.", + "flatPath": "v1/buyers/{buyersId}/auctionPackages/{auctionPackagesId}:subscribe", + "httpMethod": "POST", + "id": "authorizedbuyersmarketplace.buyers.auctionPackages.subscribe", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the auction package. Format: `buyers/{accountId}/auctionPackages/{auctionPackageId}`", + "location": "path", + "pattern": "^buyers/[^/]+/auctionPackages/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:subscribe", + "request": { + "$ref": "SubscribeAuctionPackageRequest" + }, + "response": { + "$ref": "AuctionPackage" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "subscribeClients": { + "description": "Subscribe the specified clients of the buyer to the auction package. If a client in the list does not belong to the buyer, an error response will be returned, and all of the following clients in the list will not be subscribed. Subscribing an already subscribed client will have no effect.", + "flatPath": "v1/buyers/{buyersId}/auctionPackages/{auctionPackagesId}:subscribeClients", + "httpMethod": "POST", + "id": "authorizedbuyersmarketplace.buyers.auctionPackages.subscribeClients", + "parameterOrder": [ + "auctionPackage" + ], + "parameters": { + "auctionPackage": { + "description": "Required. Name of the auction package. Format: `buyers/{accountId}/auctionPackages/{auctionPackageId}`", + "location": "path", + "pattern": "^buyers/[^/]+/auctionPackages/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+auctionPackage}:subscribeClients", + "request": { + "$ref": "SubscribeClientsRequest" + }, + "response": { + "$ref": "AuctionPackage" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "unsubscribe": { + "description": "Unsubscribe from the auction package for the specified buyer. Once unsubscribed, the bidder will no longer receive a call out for the auction package deal ID and the specified buyer.", + "flatPath": "v1/buyers/{buyersId}/auctionPackages/{auctionPackagesId}:unsubscribe", + "httpMethod": "POST", + "id": "authorizedbuyersmarketplace.buyers.auctionPackages.unsubscribe", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the auction package. Format: `buyers/{accountId}/auctionPackages/{auctionPackageId}`", + "location": "path", + "pattern": "^buyers/[^/]+/auctionPackages/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:unsubscribe", + "request": { + "$ref": "UnsubscribeAuctionPackageRequest" + }, + "response": { + "$ref": "AuctionPackage" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "unsubscribeClients": { + "description": "Unsubscribe from the auction package for the specified clients of the buyer. Unsubscribing a client that is not subscribed will have no effect.", + "flatPath": "v1/buyers/{buyersId}/auctionPackages/{auctionPackagesId}:unsubscribeClients", + "httpMethod": "POST", + "id": "authorizedbuyersmarketplace.buyers.auctionPackages.unsubscribeClients", + "parameterOrder": [ + "auctionPackage" + ], + "parameters": { + "auctionPackage": { + "description": "Required. Name of the auction package. Format: `buyers/{accountId}/auctionPackages/{auctionPackageId}`", + "location": "path", + "pattern": "^buyers/[^/]+/auctionPackages/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+auctionPackage}:unsubscribeClients", + "request": { + "$ref": "UnsubscribeClientsRequest" + }, + "response": { + "$ref": "AuctionPackage" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + } + } + }, + "clients": { + "methods": { + "activate": { + "description": "Activates an existing client. The state of the client will be updated to \"ACTIVE\". This method has no effect if the client is already in \"ACTIVE\" state.", + "flatPath": "v1/buyers/{buyersId}/clients/{clientsId}:activate", + "httpMethod": "POST", + "id": "authorizedbuyersmarketplace.buyers.clients.activate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: `buyers/{buyerAccountId}/clients/{clientAccountId}`", + "location": "path", + "pattern": "^buyers/[^/]+/clients/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:activate", + "request": { + "$ref": "ActivateClientRequest" + }, + "response": { + "$ref": "Client" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "create": { + "description": "Creates a new client.", + "flatPath": "v1/buyers/{buyersId}/clients", + "httpMethod": "POST", + "id": "authorizedbuyersmarketplace.buyers.clients.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the buyer. Format: `buyers/{accountId}`", + "location": "path", + "pattern": "^buyers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/clients", + "request": { + "$ref": "Client" + }, + "response": { + "$ref": "Client" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "deactivate": { + "description": "Deactivates an existing client. The state of the client will be updated to \"INACTIVE\". This method has no effect if the client is already in \"INACTIVE\" state.", + "flatPath": "v1/buyers/{buyersId}/clients/{clientsId}:deactivate", + "httpMethod": "POST", + "id": "authorizedbuyersmarketplace.buyers.clients.deactivate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: `buyers/{buyerAccountId}/clients/{clientAccountId}`", + "location": "path", + "pattern": "^buyers/[^/]+/clients/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:deactivate", + "request": { + "$ref": "DeactivateClientRequest" + }, + "response": { + "$ref": "Client" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "get": { + "description": "Gets a client with a given resource name.", + "flatPath": "v1/buyers/{buyersId}/clients/{clientsId}", + "httpMethod": "GET", + "id": "authorizedbuyersmarketplace.buyers.clients.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: `buyers/{accountId}/clients/{clientAccountId}`", + "location": "path", + "pattern": "^buyers/[^/]+/clients/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Client" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "list": { + "description": "Lists all the clients for the current buyer.", + "flatPath": "v1/buyers/{buyersId}/clients", + "httpMethod": "GET", + "id": "authorizedbuyersmarketplace.buyers.clients.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Query string using the [Filtering Syntax](https://developers.google.com/authorized-buyers/apis/guides/v2/list-filters) Supported fields for filtering are: * partnerClientId Use this field to filter the clients by the partnerClientId. For example, if the partnerClientId of the client is \"1234\", the value of this field should be `partnerClientId = \"1234\"`, in order to get only the client whose partnerClientId is \"1234\" in the response.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. If left blank, a default page size of 500 will be applied.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of ListClientsResponse.nextPageToken returned from the previous call to the list method.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the buyer. Format: `buyers/{accountId}`", + "location": "path", + "pattern": "^buyers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/clients", + "response": { + "$ref": "ListClientsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "patch": { + "description": "Updates an existing client.", + "flatPath": "v1/buyers/{buyersId}/clients/{clientsId}", + "httpMethod": "PATCH", + "id": "authorizedbuyersmarketplace.buyers.clients.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The resource name of the client. Format: `buyers/{accountId}/clients/{clientAccountId}`", + "location": "path", + "pattern": "^buyers/[^/]+/clients/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "List of fields to be updated. If empty or unspecified, the service will update all fields populated in the update request excluding the output only fields and primitive fields with default value. Note that explicit field mask is required in order to reset a primitive field back to its default value, e.g. false for boolean fields, 0 for integer fields. A special field mask consisting of a single path \"*\" can be used to indicate full replacement(the equivalent of PUT method), updatable fields unset or unspecified in the input will be cleared or set to default value. Output only fields will be ignored regardless of the value of updateMask.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Client" + }, + "response": { + "$ref": "Client" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + } + }, + "resources": { + "users": { + "methods": { + "activate": { + "description": "Activates an existing client user. The state of the client user will be updated from \"INACTIVE\" to \"ACTIVE\". This method has no effect if the client user is already in \"ACTIVE\" state. An error will be returned if the client user to activate is still in \"INVITED\" state.", + "flatPath": "v1/buyers/{buyersId}/clients/{clientsId}/users/{usersId}:activate", + "httpMethod": "POST", + "id": "authorizedbuyersmarketplace.buyers.clients.users.activate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: `buyers/{buyerAccountId}/clients/{clientAccountId}/clientUsers/{userId}`", + "location": "path", + "pattern": "^buyers/[^/]+/clients/[^/]+/users/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:activate", + "request": { + "$ref": "ActivateClientUserRequest" + }, + "response": { + "$ref": "ClientUser" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "create": { + "description": "Creates a new client user in \"INVITED\" state. An email invitation will be sent to the new user, once accepted the user will become active.", + "flatPath": "v1/buyers/{buyersId}/clients/{clientsId}/users", + "httpMethod": "POST", + "id": "authorizedbuyersmarketplace.buyers.clients.users.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the client. Format: `buyers/{accountId}/clients/{clientAccountId}`", + "location": "path", + "pattern": "^buyers/[^/]+/clients/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/users", + "request": { + "$ref": "ClientUser" + }, + "response": { + "$ref": "ClientUser" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "deactivate": { + "description": "Deactivates an existing client user. The state of the client user will be updated from \"ACTIVE\" to \"INACTIVE\". This method has no effect if the client user is already in \"INACTIVE\" state. An error will be returned if the client user to deactivate is still in \"INVITED\" state.", + "flatPath": "v1/buyers/{buyersId}/clients/{clientsId}/users/{usersId}:deactivate", + "httpMethod": "POST", + "id": "authorizedbuyersmarketplace.buyers.clients.users.deactivate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: `buyers/{buyerAccountId}/clients/{clientAccountId}/clientUsers/{userId}`", + "location": "path", + "pattern": "^buyers/[^/]+/clients/[^/]+/users/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:deactivate", + "request": { + "$ref": "DeactivateClientUserRequest" + }, + "response": { + "$ref": "ClientUser" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "delete": { + "description": "Deletes an existing client user. The client user will lose access to the Authorized Buyers UI. Note that if a client user is deleted, the user's access to the UI can't be restored unless a new client user is created and activated.", + "flatPath": "v1/buyers/{buyersId}/clients/{clientsId}/users/{usersId}", + "httpMethod": "DELETE", + "id": "authorizedbuyersmarketplace.buyers.clients.users.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: `buyers/{buyerAccountId}/clients/{clientAccountId}/clientUsers/{userId}`", + "location": "path", + "pattern": "^buyers/[^/]+/clients/[^/]+/users/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "get": { + "description": "Retrieves an existing client user.", + "flatPath": "v1/buyers/{buyersId}/clients/{clientsId}/users/{usersId}", + "httpMethod": "GET", + "id": "authorizedbuyersmarketplace.buyers.clients.users.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: `buyers/{buyerAccountId}/clients/{clientAccountId}/clientUsers/{userId}`", + "location": "path", + "pattern": "^buyers/[^/]+/clients/[^/]+/users/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "ClientUser" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "list": { + "description": "Lists all client users for a specified client.", + "flatPath": "v1/buyers/{buyersId}/clients/{clientsId}/users", + "httpMethod": "GET", + "id": "authorizedbuyersmarketplace.buyers.clients.users.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Requested page size. If left blank, a default page size of 500 will be applied.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of ListClientUsersResponse.nextPageToken returned from the previous call to the list method.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the client. Format: `buyers/{buyerAccountId}/clients/{clientAccountId}`", + "location": "path", + "pattern": "^buyers/[^/]+/clients/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/users", + "response": { + "$ref": "ListClientUsersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + } + } + } + } + }, + "finalizedDeals": { + "methods": { + "addCreative": { + "description": "Add creative to be used in the bidding process for a finalized deal. For programmatic guaranteed deals, it's recommended that you associate at least one approved creative with the deal before calling SetReadyToServe, to help reduce the number of bid responses filtered because they don't contain approved creatives. Creatives successfully added to a deal can be found in the Realtime-bidding Creatives API creative.deal_ids. This method only applies to programmatic guaranteed deals. Maximum number of 1000 creatives can be added to a finalized deal.", + "flatPath": "v1/buyers/{buyersId}/finalizedDeals/{finalizedDealsId}:addCreative", + "httpMethod": "POST", + "id": "authorizedbuyersmarketplace.buyers.finalizedDeals.addCreative", + "parameterOrder": [ + "deal" + ], + "parameters": { + "deal": { + "description": "Required. Name of the finalized deal in the format of: `buyers/{accountId}/finalizedDeals/{dealId}`", + "location": "path", + "pattern": "^buyers/[^/]+/finalizedDeals/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+deal}:addCreative", + "request": { + "$ref": "AddCreativeRequest" + }, + "response": { + "$ref": "FinalizedDeal" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "get": { + "description": "Gets a finalized deal given its name.", + "flatPath": "v1/buyers/{buyersId}/finalizedDeals/{finalizedDealsId}", + "httpMethod": "GET", + "id": "authorizedbuyersmarketplace.buyers.finalizedDeals.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: `buyers/{accountId}/finalizedDeals/{dealId}`", + "location": "path", + "pattern": "^buyers/[^/]+/finalizedDeals/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "FinalizedDeal" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "list": { + "description": "Lists finalized deals. Use the URL path \"/v1/buyers/{accountId}/finalizedDeals\" to list finalized deals for the current buyer and its clients. Bidders can use the URL path \"/v1/bidders/{accountId}/finalizedDeals\" to list finalized deals for the bidder, its buyers and all their clients.", + "flatPath": "v1/buyers/{buyersId}/finalizedDeals", + "httpMethod": "GET", + "id": "authorizedbuyersmarketplace.buyers.finalizedDeals.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional query string using the [Cloud API list filtering syntax](https://developers.google.com/authorized-buyers/apis/guides/v2/list-filters) Supported columns for filtering are: * deal.displayName * deal.dealType * deal.createTime * deal.updateTime * deal.flightStartTime * deal.flightEndTime * dealServingStatus", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "An optional query string to sort finalized deals using the [Cloud API sorting syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order). If no sort order is specified, results will be returned in an arbitrary order. Supported columns for sorting are: * deal.displayName * deal.createTime * deal.updateTime * deal.flightStartTime * deal.flightEndTime * rtbMetrics.bidRequests7Days * rtbMetrics.bids7Days * rtbMetrics.adImpressions7Days * rtbMetrics.bidRate7Days * rtbMetrics.filteredBidRate7Days * rtbMetrics.mustBidRateCurrentMonth Example: 'deal.displayName, deal.updateTime desc'", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. The server may return fewer results than requested. If requested more than 500, the server will return 500 results per page. If unspecified, the server will pick a default page size of 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The page token as returned from ListFinalizedDealsResponse.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The buyer to list the finalized deals for, in the format: `buyers/{accountId}`. When used to list finalized deals for a bidder, its buyers and clients, in the format `bidders/{accountId}`.", + "location": "path", + "pattern": "^buyers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/finalizedDeals", + "response": { + "$ref": "ListFinalizedDealsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "pause": { + "description": "Pauses serving of the given finalized deal. This call only pauses the serving status, and does not affect other fields of the finalized deal. Calling this method for an already paused deal has no effect. This method only applies to programmatic guaranteed deals.", + "flatPath": "v1/buyers/{buyersId}/finalizedDeals/{finalizedDealsId}:pause", + "httpMethod": "POST", + "id": "authorizedbuyersmarketplace.buyers.finalizedDeals.pause", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: `buyers/{accountId}/finalizedDeals/{dealId}`", + "location": "path", + "pattern": "^buyers/[^/]+/finalizedDeals/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:pause", + "request": { + "$ref": "PauseFinalizedDealRequest" + }, + "response": { + "$ref": "FinalizedDeal" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "resume": { + "description": "Resumes serving of the given finalized deal. Calling this method for an running deal has no effect. If a deal is initially paused by the seller, calling this method will not resume serving of the deal until the seller also resumes the deal. This method only applies to programmatic guaranteed deals.", + "flatPath": "v1/buyers/{buyersId}/finalizedDeals/{finalizedDealsId}:resume", + "httpMethod": "POST", + "id": "authorizedbuyersmarketplace.buyers.finalizedDeals.resume", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: `buyers/{accountId}/finalizedDeals/{dealId}`", + "location": "path", + "pattern": "^buyers/[^/]+/finalizedDeals/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:resume", + "request": { + "$ref": "ResumeFinalizedDealRequest" + }, + "response": { + "$ref": "FinalizedDeal" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "setReadyToServe": { + "description": "Sets the given finalized deal as ready to serve. By default, deals are ready to serve as soon as they're finalized. A bidder can opt out of this feature by asking to be included in an allowlist. Once opted out, finalized deals belonging to the bidder and its child seats will not start serving until this method is called. This method is useful to the bidders who prefer to not receive bid requests before the creative is ready. This method only applies to programmatic guaranteed deals.", + "flatPath": "v1/buyers/{buyersId}/finalizedDeals/{finalizedDealsId}:setReadyToServe", + "httpMethod": "POST", + "id": "authorizedbuyersmarketplace.buyers.finalizedDeals.setReadyToServe", + "parameterOrder": [ + "deal" + ], + "parameters": { + "deal": { + "description": "Required. Format: `buyers/{accountId}/finalizedDeals/{dealId}`", + "location": "path", + "pattern": "^buyers/[^/]+/finalizedDeals/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+deal}:setReadyToServe", + "request": { + "$ref": "SetReadyToServeRequest" + }, + "response": { + "$ref": "FinalizedDeal" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + } + } + }, + "proposals": { + "methods": { + "accept": { + "description": "Accepts the proposal at the given revision number. If the revision number in the request is behind the latest from the server, an error message will be returned. This call updates the Proposal.state from `BUYER_ACCEPTANCE_REQUESTED` to `FINALIZED`; it has no side effect if the Proposal.state is already `FINALIZED` and throws exception if the Proposal.state is not either `BUYER_ACCEPTANCE_REQUESTED` or `FINALIZED`. Accepting a proposal means the buyer understands and accepts the Proposal.terms_and_conditions proposed by the seller.", + "flatPath": "v1/buyers/{buyersId}/proposals/{proposalsId}:accept", + "httpMethod": "POST", + "id": "authorizedbuyersmarketplace.buyers.proposals.accept", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of the proposal. Format: `buyers/{accountId}/proposals/{proposalId}`", + "location": "path", + "pattern": "^buyers/[^/]+/proposals/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:accept", + "request": { + "$ref": "AcceptProposalRequest" + }, + "response": { + "$ref": "Proposal" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "addNote": { + "description": "Creates a note for this proposal and sends to the seller.", + "flatPath": "v1/buyers/{buyersId}/proposals/{proposalsId}:addNote", + "httpMethod": "POST", + "id": "authorizedbuyersmarketplace.buyers.proposals.addNote", + "parameterOrder": [ + "proposal" + ], + "parameters": { + "proposal": { + "description": "Name of the proposal. Format: `buyers/{accountId}/proposals/{proposalId}`", + "location": "path", + "pattern": "^buyers/[^/]+/proposals/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+proposal}:addNote", + "request": { + "$ref": "AddNoteRequest" + }, + "response": { + "$ref": "Proposal" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "cancelNegotiation": { + "description": "Cancels an ongoing negotiation on a proposal. This does not cancel or end serving for the deals if the proposal has been finalized. If the proposal has not been finalized before, calling this method will set the Proposal.state to `TERMINATED` and increment the Proposal.proposal_revision. If the proposal has been finalized before and is under renegotiation now, calling this method will reset the Proposal.state to `FINALIZED` and increment the Proposal.proposal_revision. This method does not support private auction proposals whose Proposal.deal_type is 'PRIVATE_AUCTION'.", + "flatPath": "v1/buyers/{buyersId}/proposals/{proposalsId}:cancelNegotiation", + "httpMethod": "POST", + "id": "authorizedbuyersmarketplace.buyers.proposals.cancelNegotiation", + "parameterOrder": [ + "proposal" + ], + "parameters": { + "proposal": { + "description": "Name of the proposal. Format: `buyers/{accountId}/proposals/{proposalId}`", + "location": "path", + "pattern": "^buyers/[^/]+/proposals/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+proposal}:cancelNegotiation", + "request": { + "$ref": "CancelNegotiationRequest" + }, + "response": { + "$ref": "Proposal" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "get": { + "description": "Gets a proposal using its name. The proposal is returned at most recent revision. revision.", + "flatPath": "v1/buyers/{buyersId}/proposals/{proposalsId}", + "httpMethod": "GET", + "id": "authorizedbuyersmarketplace.buyers.proposals.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the proposal. Format: `buyers/{accountId}/proposals/{proposalId}`", + "location": "path", + "pattern": "^buyers/[^/]+/proposals/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Proposal" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "list": { + "description": "Lists proposals. A filter expression (list filter syntax) may be specified to filter the results. This will not list finalized versions of proposals that are being renegotiated; to retrieve these use the finalizedProposals resource.", + "flatPath": "v1/buyers/{buyersId}/proposals", + "httpMethod": "GET", + "id": "authorizedbuyersmarketplace.buyers.proposals.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional query string using the [Cloud API list filtering syntax](https://developers.google.com/authorized-buyers/apis/guides/v2/list-filters) Supported columns for filtering are: * displayName * dealType * updateTime * state", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will put a size of 500.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The page token as returned from ListProposalsResponse.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent that owns the collection of proposals Format: `buyers/{accountId}`", + "location": "path", + "pattern": "^buyers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/proposals", + "response": { + "$ref": "ListProposalsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "patch": { + "description": "Updates the proposal at the given revision number. If the revision number in the request is behind the latest from the server, an error message will be returned. See FieldMask for how to use FieldMask. Only fields specified in the UpdateProposalRequest.update_mask will be updated; Fields noted as 'Immutable' or 'Output only' yet specified in the UpdateProposalRequest.update_mask will be ignored and left unchanged. Updating a private auction proposal is not allowed and will result in an error.", + "flatPath": "v1/buyers/{buyersId}/proposals/{proposalsId}", + "httpMethod": "PATCH", + "id": "authorizedbuyersmarketplace.buyers.proposals.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The name of the proposal serving as a unique identifier. Format: buyers/{accountId}/proposals/{proposalId}", + "location": "path", + "pattern": "^buyers/[^/]+/proposals/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "List of fields to be updated. If empty or unspecified, the service will update all fields populated in the update request excluding the output only fields and primitive fields with default value. Note that explicit field mask is required in order to reset a primitive field back to its default value, e.g. false for boolean fields, 0 for integer fields. A special field mask consisting of a single path \"*\" can be used to indicate full replacement(the equivalent of PUT method), updatable fields unset or unspecified in the input will be cleared or set to default value. Output only fields will be ignored regardless of the value of updateMask.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Proposal" + }, + "response": { + "$ref": "Proposal" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "sendRfp": { + "description": "Sends a request for proposal (RFP) to a publisher to initiate the negotiation regarding certain inventory. In the RFP, buyers can specify the deal type, deal terms, start and end dates, targeting, and a message to the publisher. Once the RFP is sent, a proposal in `SELLER_REVIEW_REQUESTED` state will be created and returned in the response. The publisher may review your request and respond with detailed deals in the proposal.", + "flatPath": "v1/buyers/{buyersId}/proposals:sendRfp", + "httpMethod": "POST", + "id": "authorizedbuyersmarketplace.buyers.proposals.sendRfp", + "parameterOrder": [ + "buyer" + ], + "parameters": { + "buyer": { + "description": "Required. The current buyer who is sending the RFP in the format: `buyers/{accountId}`.", + "location": "path", + "pattern": "^buyers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+buyer}/proposals:sendRfp", + "request": { + "$ref": "SendRfpRequest" + }, + "response": { + "$ref": "Proposal" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + } + }, + "resources": { + "deals": { + "methods": { + "batchUpdate": { + "description": "Batch updates multiple deals in the same proposal.", + "flatPath": "v1/buyers/{buyersId}/proposals/{proposalsId}/deals:batchUpdate", + "httpMethod": "POST", + "id": "authorizedbuyersmarketplace.buyers.proposals.deals.batchUpdate", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the proposal containing the deals to batch update. Format: buyers/{accountId}/proposals/{proposalId}", + "location": "path", + "pattern": "^buyers/[^/]+/proposals/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/deals:batchUpdate", + "request": { + "$ref": "BatchUpdateDealsRequest" + }, + "response": { + "$ref": "BatchUpdateDealsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "get": { + "description": "Gets a deal given its name. The deal is returned at its head revision.", + "flatPath": "v1/buyers/{buyersId}/proposals/{proposalsId}/deals/{dealsId}", + "httpMethod": "GET", + "id": "authorizedbuyersmarketplace.buyers.proposals.deals.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: buyers/{accountId}/proposals/{proposalId}/deals/{dealId}", + "location": "path", + "pattern": "^buyers/[^/]+/proposals/[^/]+/deals/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Deal" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "list": { + "description": "Lists all deals in a proposal. To retrieve only the finalized revision deals regardless if a deal is being renegotiated, see the FinalizedDeals resource.", + "flatPath": "v1/buyers/{buyersId}/proposals/{proposalsId}/deals", + "httpMethod": "GET", + "id": "authorizedbuyersmarketplace.buyers.proposals.deals.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Requested page size. The server may return fewer results than requested. If requested more than 500, the server will return 500 results per page. If unspecified, the server will pick a default page size of 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The page token as returned from ListDealsResponse.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the proposal containing the deals to retrieve. Format: buyers/{accountId}/proposals/{proposalId}", + "location": "path", + "pattern": "^buyers/[^/]+/proposals/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/deals", + "response": { + "$ref": "ListDealsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "patch": { + "description": "Updates the given deal at the buyer known revision number. If the server revision has advanced since the passed-in proposal.proposal_revision an ABORTED error message will be returned. The revision number is incremented by the server whenever the proposal or its constituent deals are updated. Note: The revision number is kept at a proposal level. The buyer of the API is expected to keep track of the revision number after the last update operation and send it in as part of the next update request. This way, if there are further changes on the server (e.g., seller making new updates), then the server can detect conflicts and reject the proposed changes.", + "flatPath": "v1/buyers/{buyersId}/proposals/{proposalsId}/deals/{dealsId}", + "httpMethod": "PATCH", + "id": "authorizedbuyersmarketplace.buyers.proposals.deals.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The unique identifier of the deal. Auto-generated by the server when a deal is created. Format: buyers/{accountId}/proposals/{proposalId}/deals/{dealId}", + "location": "path", + "pattern": "^buyers/[^/]+/proposals/[^/]+/deals/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "List of fields to be updated. If empty or unspecified, the service will update all fields populated in the update request excluding the output only fields and primitive fields with default value. Note that explicit field mask is required in order to reset a primitive field back to its default value, e.g. false for boolean fields, 0 for integer fields. A special field mask consisting of a single path \"*\" can be used to indicate full replacement(the equivalent of PUT method), updatable fields unset or unspecified in the input will be cleared or set to default value. Output only fields will be ignored regardless of the value of updateMask.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Deal" + }, + "response": { + "$ref": "Deal" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + } + } + } + } + }, + "publisherProfiles": { + "methods": { + "get": { + "description": "Gets the requested publisher profile by name.", + "flatPath": "v1/buyers/{buyersId}/publisherProfiles/{publisherProfilesId}", + "httpMethod": "GET", + "id": "authorizedbuyersmarketplace.buyers.publisherProfiles.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the publisher profile. Format: `buyers/{buyerId}/publisherProfiles/{publisherProfileId}`", + "location": "path", + "pattern": "^buyers/[^/]+/publisherProfiles/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "PublisherProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + }, + "list": { + "description": "Lists publisher profiles", + "flatPath": "v1/buyers/{buyersId}/publisherProfiles", + "httpMethod": "GET", + "id": "authorizedbuyersmarketplace.buyers.publisherProfiles.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional query string using the [Cloud API list filtering] (https://developers.google.com/authorized-buyers/apis/guides/v2/list-filters) syntax.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. The server may return fewer results than requested. If requested more than 500, the server will return 500 results per page. If unspecified, the server will pick a default page size of 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The page token as returned from a previous ListPublisherProfilesResponse.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent that owns the collection of publisher profiles Format: `buyers/{buyerId}`", + "location": "path", + "pattern": "^buyers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/publisherProfiles", + "response": { + "$ref": "ListPublisherProfilesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/authorized-buyers-marketplace" + ] + } + } + } + } + } + }, + "revision": "20220307", + "rootUrl": "https://authorizedbuyersmarketplace.googleapis.com/", + "schemas": { + "AcceptProposalRequest": { + "description": "Request to accept a proposal. Accepting a proposal implies acceptance of the publisher terms_and_conditions, if any.", + "id": "AcceptProposalRequest", + "properties": { + "proposalRevision": { + "description": "The last known client revision number of the proposal.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ActivateClientRequest": { + "description": "Request message for activating a client.", + "id": "ActivateClientRequest", + "properties": {}, + "type": "object" + }, + "ActivateClientUserRequest": { + "description": "Request message for activating a client user.", + "id": "ActivateClientUserRequest", + "properties": {}, + "type": "object" + }, + "AdSize": { + "description": "Represents size of a single ad slot, or a creative.", + "id": "AdSize", + "properties": { + "height": { + "description": "The height of the ad slot in pixels. This field will be present only when size type is `PIXEL`.", + "format": "int64", + "type": "string" + }, + "type": { + "description": "The type of the ad slot size.", + "enum": [ + "TYPE_UNSPECIFIED", + "PIXEL", + "INTERSTITIAL", + "NATIVE", + "FLUID" + ], + "enumDescriptions": [ + "A placeholder for an undefined size type.", + "Ad slot with size specified by height and width in pixels.", + "Special size to describe an interstitial ad slot.", + "Native (mobile) ads rendered by the publisher.", + "Fluid size (i.e., responsive size) can be resized automatically with the change of outside environment." + ], + "type": "string" + }, + "width": { + "description": "The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "AddCreativeRequest": { + "description": "Request message for adding creative to be used in the bidding process for the finalized deal.", + "id": "AddCreativeRequest", + "properties": { + "creative": { + "description": "Name of the creative to add to the finalized deal, in the format `buyers/{buyerAccountId}/creatives/{creativeId}`. See creative.name.", + "type": "string" + } + }, + "type": "object" + }, + "AddNoteRequest": { + "description": "Request to add a note.", + "id": "AddNoteRequest", + "properties": { + "note": { + "$ref": "Note", + "description": "The note to add." + } + }, + "type": "object" + }, + "AuctionPackage": { + "description": "Defines a segment of inventory that buyer wants to buy. It's created by buyer and could be shared with multiple buyers.", + "id": "AuctionPackage", + "properties": { + "createTime": { + "description": "Output only. Time the auction package was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creator": { + "description": "Output only. The buyer that created this auction package. Format: `buyers/{buyerAccountId}`", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Output only. A description of the auction package.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display_name assigned to the auction package.", + "type": "string" + }, + "name": { + "description": "Immutable. The unique identifier for the auction package. Format: `buyers/{accountId}/auctionPackages/{auctionPackageId}` The auction_package_id part of name is sent in the BidRequest to all RTB bidders and is returned as deal_id by the bidder in the BidResponse.", + "type": "string" + }, + "subscribedClients": { + "description": "Output only. The list of clients of the current buyer that are subscribed to the AuctionPackage. Format: `buyers/{buyerAccountId}/clients/{clientAccountId}`", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "updateTime": { + "description": "Output only. Time the auction package was last updated. This value is only increased when this auction package is updated but never when a buyer subscribed.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BatchUpdateDealsRequest": { + "description": "Request message for batch updating deals.", + "id": "BatchUpdateDealsRequest", + "properties": { + "requests": { + "description": "Required. List of request messages to update deals.", + "items": { + "$ref": "UpdateDealRequest" + }, + "type": "array" + } + }, + "type": "object" + }, + "BatchUpdateDealsResponse": { + "description": "Response message for batch updating deals.", + "id": "BatchUpdateDealsResponse", + "properties": { + "deals": { + "description": "Deals updated.", + "items": { + "$ref": "Deal" + }, + "type": "array" + } + }, + "type": "object" + }, + "CancelNegotiationRequest": { + "description": "Request to cancel an ongoing negotiation.", + "id": "CancelNegotiationRequest", + "properties": {}, + "type": "object" + }, + "Client": { + "description": "A client represents an agency, a brand, or an advertiser customer of the buyer. Based on the client's role, its client users will have varying levels of restricted access to the Marketplace and certain other sections of the Authorized Buyers UI.", + "id": "Client", + "properties": { + "displayName": { + "description": "Required. Display name shown to publishers. Must be unique for clients without partnerClientId specified. Maximum length of 255 characters is allowed.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the client. Format: `buyers/{accountId}/clients/{clientAccountId}`", + "readOnly": true, + "type": "string" + }, + "partnerClientId": { + "description": "Arbitrary unique identifier provided by the buyer. This field can be used to associate a client with an identifier in the namespace of the buyer, lookup clients by that identifier and verify whether an Authorized Buyers account of the client already exists. If present, must be unique across all the clients.", + "type": "string" + }, + "role": { + "description": "Required. The role assigned to the client. Each role implies a set of permissions granted to the client.", + "enum": [ + "CLIENT_ROLE_UNSPECIFIED", + "CLIENT_DEAL_VIEWER", + "CLIENT_DEAL_NEGOTIATOR", + "CLIENT_DEAL_APPROVER" + ], + "enumDescriptions": [ + "A placeholder for an undefined client role. This value should never be specified in user input for create or update method, otherwise an error will be returned.", + "Users associated with this client role can only view proposals and deals in the Marketplace UI. They cannot negotiate or approve proposals and deals sent from publishers or send RFP to publishers.", + "Users associated with this client role can view and negotiate on the proposals and deals in the Marketplace UI sent from publishers and send RFP to publishers, but cannot approve the proposals and deals by themselves. The buyer can approve the proposals and deals on behalf of the client.", + "Users associated with this client role can view, negotiate and approve proposals and deals in the Marketplace UI and send RFP to publishers." + ], + "type": "string" + }, + "sellerVisible": { + "description": "Whether the client will be visible to sellers.", + "type": "boolean" + }, + "state": { + "description": "Output only. The state of the client.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "INACTIVE" + ], + "enumDescriptions": [ + "A placeholder for an undefined client state. Should not be used.", + "A client that is currently active and allowed to access the Authorized Buyers UI.", + "A client that is currently inactive and not allowed to access the Authorized Buyers UI." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ClientUser": { + "description": "A user of a client who has restricted access to the Marketplace and certain other sections of the Authorized Buyers UI based on the role granted to the associated client.", + "id": "ClientUser", + "properties": { + "email": { + "description": "Required. The client user's email address that has to be unique across all users for the same client.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the client user. Format: `buyers/{accountId}/clients/{clientAccountId}/users/{userId}`", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the client user.", + "enum": [ + "STATE_UNSPECIFIED", + "INVITED", + "ACTIVE", + "INACTIVE" + ], + "enumDescriptions": [ + "A placeholder for an undefined user state.", + "A user who was created but hasn't accepted the invitation yet, not allowed to access the Authorized Buyers UI.", + "A user that is currently active and allowed to access the Authorized Buyers UI.", + "A user that is currently inactive and not allowed to access the Authorized Buyers UI." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Contact": { + "description": "Contains information on how a buyer or seller can be reached.", + "id": "Contact", + "properties": { + "displayName": { + "description": "The display_name of the contact.", + "type": "string" + }, + "email": { + "description": "Email address for the contact.", + "type": "string" + } + }, + "type": "object" + }, + "CreativeRequirements": { + "description": "Message captures data about the creatives in the deal.", + "id": "CreativeRequirements", + "properties": { + "creativeFormat": { + "description": "Output only. The format of the creative, only applicable for programmatic guaranteed and preferred deals.", + "enum": [ + "CREATIVE_FORMAT_UNSPECIFIED", + "DISPLAY", + "VIDEO" + ], + "enumDescriptions": [ + "A placeholder for an unspecified creative format.", + "Banner creatives such as image or HTML5 assets.", + "Video creatives that can be played in a video player." + ], + "readOnly": true, + "type": "string" + }, + "creativePreApprovalPolicy": { + "description": "Output only. Specifies the creative pre-approval policy.", + "enum": [ + "CREATIVE_PRE_APPROVAL_POLICY_UNSPECIFIED", + "SELLER_PRE_APPROVAL_REQUIRED", + "SELLER_PRE_APPROVAL_NOT_REQUIRED" + ], + "enumDescriptions": [ + "A placeholder for an undefined creative pre-approval policy.", + "The seller needs to approve each creative before it can serve.", + "The seller does not need to approve each creative before it can serve." + ], + "readOnly": true, + "type": "string" + }, + "creativeSafeFrameCompatibility": { + "description": "Output only. Specifies whether the creative is safeFrame compatible.", + "enum": [ + "CREATIVE_SAFE_FRAME_COMPATIBILITY_UNSPECIFIED", + "COMPATIBLE", + "INCOMPATIBLE" + ], + "enumDescriptions": [ + "A placeholder for an undefined creative safe-frame compatibility.", + "The creatives need to be compatible with the safe frame option.", + "The creatives can be incompatible with the safe frame option." + ], + "readOnly": true, + "type": "string" + }, + "maxAdDurationMs": { + "description": "Output only. The max duration of the video creative in milliseconds. only applicable for deals with video creatives.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "programmaticCreativeSource": { + "description": "Output only. Specifies the creative source for programmatic deals. PUBLISHER means creative is provided by seller and ADVERTISER means creative is provided by the buyer.", + "enum": [ + "PROGRAMMATIC_CREATIVE_SOURCE_UNSPECIFIED", + "ADVERTISER", + "PUBLISHER" + ], + "enumDescriptions": [ + "A placeholder for an undefined programmatic creative source.", + "The advertiser provides the creatives.", + "The publisher provides the creatives to be served." + ], + "readOnly": true, + "type": "string" + }, + "skippableAdType": { + "description": "Output only. Skippable video ads allow viewers to skip ads after 5 seconds. Only applicable for deals with video creatives.", + "enum": [ + "SKIPPABLE_AD_TYPE_UNSPECIFIED", + "SKIPPABLE", + "INSTREAM_SELECT", + "NOT_SKIPPABLE", + "ANY" + ], + "enumDescriptions": [ + "A placeholder for an unspecified skippable ad type.", + "Video ad that can be skipped after 5 seconds. This value will appear in RTB bid requests as SkippableBidRequestType::REQUIRE_SKIPPABLE.", + "Video ad that can be skipped after 5 seconds, and is counted as engaged view after 30 seconds. The creative is hosted on YouTube only, and viewcount of the YouTube video increments after the engaged view. This value will appear in RTB bid requests as SkippableBidRequestType::REQUIRE_SKIPPABLE.", + "This video ad is not skippable. This value will appear in RTB bid requests as SkippableBidRequestType::BLOCK_SKIPPABLE.", + "This video ad can be skipped after 5 seconds or not-skippable. This value will appear in RTB bid requests as SkippableBidRequestType::ALLOW_SKIPPABLE." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CriteriaTargeting": { + "description": "Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. This cannot be filtered using list filter syntax.", + "id": "CriteriaTargeting", + "properties": { + "excludedCriteriaIds": { + "description": "A list of numeric IDs to be excluded.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "targetedCriteriaIds": { + "description": "A list of numeric IDs to be included.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "DayPart": { + "description": "Defines targeting for a period of time on a specific week day.", + "id": "DayPart", + "properties": { + "dayOfWeek": { + "description": "Day of week for the period.", + "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" + }, + "endTime": { + "$ref": "TimeOfDay", + "description": "Hours in 24 hour time between 0 and 24, inclusive. Note: 24 is logically equivalent to 0, but is supported since in some cases there may need to be differentiation made between midnight on one day and midnight on the next day. Accepted values for minutes are [0, 15, 30, 45]. 0 is the only acceptable minute value for hour 24. Seconds and nanos are ignored." + }, + "startTime": { + "$ref": "TimeOfDay", + "description": "Hours in 24 hour time between 0 and 24, inclusive. Note: 24 is logically equivalent to 0, but is supported since in some cases there may need to be differentiation made between midnight on one day and midnight on the next day. Accepted values for minutes are [0, 15, 30, 45]. 0 is the only acceptable minute value for hour 24. Seconds and nanos are ignored." + } + }, + "type": "object" + }, + "DayPartTargeting": { + "description": "Represents Daypart targeting.", + "id": "DayPartTargeting", + "properties": { + "dayParts": { + "description": "The targeted weekdays and times", + "items": { + "$ref": "DayPart" + }, + "type": "array" + }, + "timeZoneType": { + "description": "The time zone type of the day parts", + "enum": [ + "TIME_ZONE_TYPE_UNSPECIFIED", + "SELLER", + "USER" + ], + "enumDescriptions": [ + "Default value. This field is unused.", + "The publisher's time zone", + "The user's time zone" + ], + "type": "string" + } + }, + "type": "object" + }, + "DeactivateClientRequest": { + "description": "Request message for disabling a client.", + "id": "DeactivateClientRequest", + "properties": {}, + "type": "object" + }, + "DeactivateClientUserRequest": { + "description": "Request message for deactivating a client user.", + "id": "DeactivateClientUserRequest", + "properties": {}, + "type": "object" + }, + "Deal": { + "description": "A deal represents a segment of inventory for displaying ads that contains the terms and targeting information that is used for serving as well as the deal stats and status. Note: A proposal may contain multiple deals.", + "id": "Deal", + "properties": { + "billedBuyer": { + "description": "Output only. When the client field is populated, this field refers to the buyer who creates and manages the client buyer and gets billed on behalf of the client buyer; when the buyer field is populated, this field is the same value as buyer. Format : `buyers/{buyerAccountId}`", + "readOnly": true, + "type": "string" + }, + "buyer": { + "description": "Output only. Refers to a buyer in The Realtime-bidding API. Format: `buyers/{buyerAccountId}`", + "readOnly": true, + "type": "string" + }, + "client": { + "description": "Output only. Refers to a Client. Format: `buyers/{buyerAccountId}/clients/{clientAccountid}`", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time of the deal creation.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creativeRequirements": { + "$ref": "CreativeRequirements", + "description": "Output only. Metadata about the creatives of this deal.", + "readOnly": true + }, + "dealType": { + "description": "Output only. Type of deal.", + "enum": [ + "DEAL_TYPE_UNSPECIFIED", + "PREFERRED_DEAL", + "PRIVATE_AUCTION", + "PROGRAMMATIC_GUARANTEED" + ], + "enumDescriptions": [ + "Default, unspecified deal type.", + "Preferred deals.", + "Private auction deals.", + "Programmatic guaranteed deals." + ], + "readOnly": true, + "type": "string" + }, + "deliveryControl": { + "$ref": "DeliveryControl", + "description": "Output only. Specifies the pacing set by the publisher.", + "readOnly": true + }, + "description": { + "description": "Output only. Free text description for the deal terms.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. The name of the deal. Maximum length of 255 unicode characters is allowed. Control characters are not allowed. Buyers cannot update this field. Note: Not to be confused with name, which is a unique identifier of the deal.", + "readOnly": true, + "type": "string" + }, + "estimatedGrossSpend": { + "$ref": "Money", + "description": "Specified by buyers in request for proposal (RFP) to notify publisher the total estimated spend for the proposal. Publishers will receive this information and send back proposed deals accordingly." + }, + "flightEndTime": { + "description": "Proposed flight end time of the deal. This will generally be stored in a granularity of a second. A value is not necessary for Private Auction deals.", + "format": "google-datetime", + "type": "string" + }, + "flightStartTime": { + "description": "Proposed flight start time of the deal. This will generally be stored in the granularity of one second since deal serving starts at seconds boundary. Any time specified with more granularity (e.g., in milliseconds) will be truncated towards the start of time in seconds.", + "format": "google-datetime", + "type": "string" + }, + "name": { + "description": "Immutable. The unique identifier of the deal. Auto-generated by the server when a deal is created. Format: buyers/{accountId}/proposals/{proposalId}/deals/{dealId}", + "type": "string" + }, + "preferredDealTerms": { + "$ref": "PreferredDealTerms", + "description": "The terms for preferred deals." + }, + "privateAuctionTerms": { + "$ref": "PrivateAuctionTerms", + "description": "The terms for private auction deals." + }, + "programmaticGuaranteedTerms": { + "$ref": "ProgrammaticGuaranteedTerms", + "description": "The terms for programmatic guaranteed deals." + }, + "proposalRevision": { + "description": "Output only. The revision number for the proposal and is the same value as proposal.proposal_revision. Each update to deal causes the proposal revision number to auto-increment. The buyer keeps track of the last revision number they know of and pass it in when making an update. If the head revision number on the server has since incremented, then an ABORTED error is returned during the update operation to let the buyer know that a subsequent update was made.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "publisherProfile": { + "description": "Immutable. Reference to the seller on the deal. Format: `buyers/{buyerAccountId}/publisherProfiles/{publisherProfileId}`", + "type": "string" + }, + "sellerTimeZone": { + "$ref": "TimeZone", + "description": "Output only. Time zone of the seller used to mark the boundaries of a day for daypart targeting and CPD billing.", + "readOnly": true + }, + "targeting": { + "$ref": "MarketplaceTargeting", + "description": "Specifies the subset of inventory targeted by the deal. Can be updated by the buyer before the deal is finalized." + }, + "updateTime": { + "description": "Output only. The time when the deal was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DealPausingInfo": { + "description": "Information related to deal pausing.", + "id": "DealPausingInfo", + "properties": { + "pauseReason": { + "description": "The reason for the pausing of the deal; empty for active deals.", + "type": "string" + }, + "pauseRole": { + "description": "The party that first paused the deal; unspecified for active deals.", + "enum": [ + "BUYER_SELLER_ROLE_UNSPECIFIED", + "BUYER", + "SELLER" + ], + "enumDescriptions": [ + "A placeholder for an undefined buyer/seller role.", + "Specifies the role as buyer.", + "Specifies the role as seller." + ], + "type": "string" + }, + "pausingConsented": { + "description": "Whether pausing is consented between buyer and seller for the deal.", + "type": "boolean" + } + }, + "type": "object" + }, + "DeliveryControl": { + "description": "Message contains details about how the deal will be paced.", + "id": "DeliveryControl", + "properties": { + "companionDeliveryType": { + "description": "Output only. Specifies roadblocking in a master companion lineitem.", + "enum": [ + "COMPANION_DELIVERY_TYPE_UNSPECIFIED", + "DELIVERY_OPTIONAL", + "DELIVERY_AT_LEAST_ONE", + "DELIVERY_ALL" + ], + "enumDescriptions": [ + "A placeholder for an unspecified companion delivery type.", + "Companions are not required to serve a creative set. The creative set can serve an inventory that has zero or more matching companions.", + "At least one companion must be served in order for the creative set to be used.", + "All companions in the set must be served in order for the creative set to be used. This can still serve to inventory that has more companions than can be filled." + ], + "readOnly": true, + "type": "string" + }, + "creativeRotationType": { + "description": "Output only. Specifies strategy to use for selecting a creative when multiple creatives of the same size are available.", + "enum": [ + "CREATIVE_ROTATION_TYPE_UNSPECIFIED", + "ROTATION_EVEN", + "ROTATION_OPTIMIZED", + "ROTATION_MANUAL", + "ROTATION_SEQUENTIAL" + ], + "enumDescriptions": [ + "Creatives are displayed roughly the same number of times over the duration of the deal.", + "Creatives are displayed roughly the same number of times over the duration of the deal.", + "Creatives are served roughly proportionally to their performance.", + "Creatives are served roughly proportionally to their weights.", + "Creatives are served exactly in sequential order, aka Storyboarding." + ], + "readOnly": true, + "type": "string" + }, + "deliveryRateType": { + "description": "Output only. Specifies how the impression delivery will be paced.", + "enum": [ + "DELIVERY_RATE_TYPE_UNSPECIFIED", + "EVENLY", + "FRONT_LOADED", + "AS_FAST_AS_POSSIBLE" + ], + "enumDescriptions": [ + "A placeholder for an undefined delivery rate type.", + "Impressions are served uniformly over the life of the deal.", + "Impressions are served front-loaded.", + "Impressions are served as fast as possible." + ], + "readOnly": true, + "type": "string" + }, + "frequencyCap": { + "description": "Output only. Specifies any frequency caps. Cannot be filtered within ListDealsRequest.", + "items": { + "$ref": "FrequencyCap" + }, + "readOnly": true, + "type": "array" + }, + "roadblockingType": { + "description": "Output only. Specifies the roadblocking type in display creatives.", + "enum": [ + "ROADBLOCKING_TYPE_UNSPECIFIED", + "ONLY_ONE", + "ONE_OR_MORE", + "AS_MANY_AS_POSSIBLE", + "ALL_ROADBLOCK", + "CREATIVE_SET" + ], + "enumDescriptions": [ + "A placeholder for an unspecified roadblocking type.", + "Only one creative from a deal can serve per ad request. https://support.google.com/admanager/answer/177277.", + "Any number of creatives from a deal can serve together per ad request.", + "As many creatives from a deal as can fit on a page will serve. This could mean anywhere from one to all of a deal's creatives given the size constraints of ad slots on a page.", + "All or none of the creatives from a deal will serve.", + "A master/companion creative set roadblocking type." + ], + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "FinalizedDeal": { + "description": "A finalized deal is a snapshot of the deal when both buyer and seller accept the deal. The buyer or seller can update the deal after it's been finalized and renegotiate on the deal targeting, terms and other fields, while at the same time the finalized snapshot of the deal can still be retrieved via this API. The finalized deal contains a copy of the deal as it existed when most recently finalized, as well as fields related to deal serving such as pause/resume status, RTB metrics, etc.", + "id": "FinalizedDeal", + "properties": { + "deal": { + "$ref": "Deal", + "description": "A copy of the Deal made upon finalization. During renegotiation, this will reflect the last finalized deal before renegotiation was initiated." + }, + "dealPausingInfo": { + "$ref": "DealPausingInfo", + "description": "Information related to deal pausing for the deal." + }, + "dealServingStatus": { + "description": "Serving status of the deal.", + "enum": [ + "DEAL_SERVING_STATUS_UNSPECIFIED", + "ACTIVE", + "ENDED", + "PAUSED_BY_BUYER", + "PAUSED_BY_SELLER" + ], + "enumDescriptions": [ + "Unspecified.", + "The deal is actively serving or ready to serve when the start date is reached.", + "The deal serving has ended.", + "The deal serving is paused by buyer.", + "The deal serving is paused by seller." + ], + "type": "string" + }, + "name": { + "description": "The resource name of the finalized deal. Format: `buyers/{accountId}/finalizeddeals/{finalizedDealId}`", + "type": "string" + }, + "readyToServe": { + "description": "Whether the Programmatic Guaranteed deal is ready for serving.", + "type": "boolean" + }, + "rtbMetrics": { + "$ref": "RtbMetrics", + "description": "Real-time bidding metrics for this deal." + } + }, + "type": "object" + }, + "FirstPartyMobileApplicationTargeting": { + "description": "Represents a list of targeted and excluded mobile application IDs that publishers own. Android App ID, for example, com.google.android.apps.maps, can be found in Google Play Store URL. iOS App ID (which is a number) can be found at the end of iTunes store URL. First party mobile applications is either included or excluded.", + "id": "FirstPartyMobileApplicationTargeting", + "properties": { + "excludedAppIds": { + "description": "A list of application IDs to be excluded.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetedAppIds": { + "description": "A list of application IDs to be included.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "FrequencyCap": { + "description": "Message contains details about publisher-set frequency caps of the delivery.", + "id": "FrequencyCap", + "properties": { + "maxImpressions": { + "description": "The maximum number of impressions that can be served to a user within the specified time period.", + "format": "int32", + "type": "integer" + }, + "timeUnitType": { + "description": "The time unit. Along with num_time_units defines the amount of time over which impressions per user are counted and capped.", + "enum": [ + "TIME_UNIT_TYPE_UNSPECIFIED", + "MINUTE", + "HOUR", + "DAY", + "WEEK", + "MONTH", + "LIFETIME", + "POD", + "STREAM" + ], + "enumDescriptions": [ + "A placeholder for an undefined time unit type. This just indicates the variable with this value hasn't been initialized.", + "Minute unit.", + "Hour unit.", + "Day unit.", + "Week unit.", + "Month unit.", + "Lifecycle/Lifetime unit.", + "Pod unit.", + "Stream unit." + ], + "type": "string" + }, + "timeUnitsCount": { + "description": "The amount of time, in the units specified by time_unit_type. Defines the amount of time over which impressions per user are counted and capped.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "InventorySizeTargeting": { + "description": "Represents the size of an ad unit that can be targeted on a bid request.", + "id": "InventorySizeTargeting", + "properties": { + "excludedInventorySizes": { + "description": "A list of inventory sizes to be excluded.", + "items": { + "$ref": "AdSize" + }, + "type": "array" + }, + "targetedInventorySizes": { + "description": "A list of inventory sizes to be included.", + "items": { + "$ref": "AdSize" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListAuctionPackagesResponse": { + "description": "Response message for listing auction packages.", + "id": "ListAuctionPackagesResponse", + "properties": { + "auctionPackages": { + "description": "The list of auction packages.", + "items": { + "$ref": "AuctionPackage" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Continuation token for fetching the next page of results. Pass this value in the ListAuctionPackagesRequest.pageToken field in the subsequent call to the `ListAuctionPackages` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListClientUsersResponse": { + "description": "Response message for the list method.", + "id": "ListClientUsersResponse", + "properties": { + "clientUsers": { + "description": "The returned list of client users.", + "items": { + "$ref": "ClientUser" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the ListClientUsersRequest.pageToken field in the subsequent call to the list method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListClientsResponse": { + "description": "Response message for the list method.", + "id": "ListClientsResponse", + "properties": { + "clients": { + "description": "The returned list of clients.", + "items": { + "$ref": "Client" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the ListClientsRequest.pageToken field in the subsequent call to the list method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListDealsResponse": { + "description": "Response message for listing deals in a proposal.", + "id": "ListDealsResponse", + "properties": { + "deals": { + "description": "The list of deals.", + "items": { + "$ref": "Deal" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to fetch the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListFinalizedDealsResponse": { + "description": "Response message for listing finalized deals.", + "id": "ListFinalizedDealsResponse", + "properties": { + "finalizedDeals": { + "description": "The list of finalized deals.", + "items": { + "$ref": "FinalizedDeal" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to fetch the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListProposalsResponse": { + "description": "Response message for listing proposals.", + "id": "ListProposalsResponse", + "properties": { + "nextPageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string" + }, + "proposals": { + "description": "The list of proposals.", + "items": { + "$ref": "Proposal" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListPublisherProfilesResponse": { + "description": "Response message for profiles visible to the buyer.", + "id": "ListPublisherProfilesResponse", + "properties": { + "nextPageToken": { + "description": "Token to fetch the next page of results.", + "type": "string" + }, + "publisherProfiles": { + "description": "The list of matching publisher profiles.", + "items": { + "$ref": "PublisherProfile" + }, + "type": "array" + } + }, + "type": "object" + }, + "MarketplaceTargeting": { + "description": "Targeting represents different criteria that can be used to target inventory. For example, they can choose to target inventory only if the user is in the US. Multiple types of targeting are always applied as a logical AND, unless noted otherwise.", + "id": "MarketplaceTargeting", + "properties": { + "daypartTargeting": { + "$ref": "DayPartTargeting", + "description": "Daypart targeting information." + }, + "geoTargeting": { + "$ref": "CriteriaTargeting", + "description": "Output only. Geo criteria IDs to be included/excluded.", + "readOnly": true + }, + "inventorySizeTargeting": { + "$ref": "InventorySizeTargeting", + "description": "Output only. Inventory sizes to be included/excluded.", + "readOnly": true + }, + "placementTargeting": { + "$ref": "PlacementTargeting", + "description": "Output only. Placement targeting information, e.g., URL, mobile applications.", + "readOnly": true + }, + "technologyTargeting": { + "$ref": "TechnologyTargeting", + "description": "Output only. Technology targeting information, e.g., operating system, device category.", + "readOnly": true + }, + "userListTargeting": { + "$ref": "CriteriaTargeting", + "description": "Buyer user list targeting information. User lists can be uploaded via https://developers.google.com/authorized-buyers/rtb/bulk-uploader." + }, + "videoTargeting": { + "$ref": "VideoTargeting", + "description": "Output only. Video targeting information.", + "readOnly": true + } + }, + "type": "object" + }, + "MobileApplicationTargeting": { + "description": "Mobile application targeting settings.", + "id": "MobileApplicationTargeting", + "properties": { + "firstPartyTargeting": { + "$ref": "FirstPartyMobileApplicationTargeting", + "description": "Publisher owned apps to be targeted or excluded by the publisher to display the ads in." + } + }, + "type": "object" + }, + "Money": { + "description": "Represents an amount of money with its currency type.", + "id": "Money", + "properties": { + "currencyCode": { + "description": "The three-letter currency code defined in ISO 4217.", + "type": "string" + }, + "nanos": { + "description": "Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", + "format": "int32", + "type": "integer" + }, + "units": { + "description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "Note": { + "description": "A text note attached to the proposal to facilitate the communication between buyers and sellers.", + "id": "Note", + "properties": { + "createTime": { + "description": "Output only. When this note was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creatorRole": { + "description": "Output only. The role who created the note.", + "enum": [ + "BUYER_SELLER_ROLE_UNSPECIFIED", + "BUYER", + "SELLER" + ], + "enumDescriptions": [ + "A placeholder for an undefined buyer/seller role.", + "Specifies the role as buyer.", + "Specifies the role as seller." + ], + "readOnly": true, + "type": "string" + }, + "note": { + "description": "The text of the note. Maximum length is 1024 characters.", + "type": "string" + } + }, + "type": "object" + }, + "OperatingSystemTargeting": { + "description": "Represents targeting information for operating systems.", + "id": "OperatingSystemTargeting", + "properties": { + "operatingSystemCriteria": { + "$ref": "CriteriaTargeting", + "description": "IDs of operating systems to be included/excluded." + }, + "operatingSystemVersionCriteria": { + "$ref": "CriteriaTargeting", + "description": "IDs of operating system versions to be included/excluded." + } + }, + "type": "object" + }, + "PauseFinalizedDealRequest": { + "description": "Request message for pausing a finalized deal.", + "id": "PauseFinalizedDealRequest", + "properties": { + "reason": { + "description": "The reason to pause the finalized deal, will be displayed to the seller. Maximum length is 1000 characters.", + "type": "string" + } + }, + "type": "object" + }, + "PlacementTargeting": { + "description": "Represents targeting about where the ads can appear, e.g., certain sites or mobile applications. Different placement targeting types will be logically OR'ed.", + "id": "PlacementTargeting", + "properties": { + "mobileApplicationTargeting": { + "$ref": "MobileApplicationTargeting", + "description": "Mobile application targeting information in a deal. This doesn't apply to Auction Packages." + }, + "uriTargeting": { + "$ref": "UriTargeting", + "description": "URLs to be included/excluded." + } + }, + "type": "object" + }, + "PreferredDealTerms": { + "description": "Pricing terms for Preferred Deals.", + "id": "PreferredDealTerms", + "properties": { + "fixedPrice": { + "$ref": "Price", + "description": "Fixed price for the deal." + } + }, + "type": "object" + }, + "Price": { + "description": "Represents a price and a pricing type for a deal.", + "id": "Price", + "properties": { + "amount": { + "$ref": "Money", + "description": "The actual price with currency specified." + }, + "type": { + "description": "The pricing type for the deal.", + "enum": [ + "TYPE_UNSPECIFIED", + "CPM", + "CPD" + ], + "enumDescriptions": [ + "A placeholder for an undefined pricing type. If the pricing type is unspecified, CPM will be used instead.", + "Cost per thousand impressions.", + "Cost per day." + ], + "type": "string" + } + }, + "type": "object" + }, + "PrivateAuctionTerms": { + "description": "Pricing terms for Private Auctions.", + "id": "PrivateAuctionTerms", + "properties": { + "floorPrice": { + "$ref": "Price", + "description": "The minimum price buyer has to bid to compete in the private auction." + }, + "openAuctionAllowed": { + "description": "Output only. True if open auction buyers are allowed to compete with invited buyers in this private auction.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "PrivateData": { + "description": "Buyers are allowed to store certain types of private data in a proposal or deal.", + "id": "PrivateData", + "properties": { + "referenceId": { + "description": "A buyer specified reference ID. This can be queried in the list operations (max-length: 1024 unicode code units).", + "type": "string" + } + }, + "type": "object" + }, + "ProgrammaticGuaranteedTerms": { + "description": "Pricing terms for Programmatic Guaranteed Deals.", + "id": "ProgrammaticGuaranteedTerms", + "properties": { + "fixedPrice": { + "$ref": "Price", + "description": "Fixed price for the deal." + }, + "guaranteedLooks": { + "description": "Count of guaranteed looks.", + "format": "int64", + "type": "string" + }, + "impressionCap": { + "description": "The lifetime impression cap for CPM Sponsorship deals. Deal will stop serving when cap is reached.", + "format": "int64", + "type": "string" + }, + "minimumDailyLooks": { + "description": "Daily minimum looks for CPD deal types.", + "format": "int64", + "type": "string" + }, + "percentShareOfVoice": { + "description": "For sponsorship deals, this is the percentage of the seller's eligible impressions that the deal will serve until the cap is reached. Valid value is within range 0~100.", + "format": "int64", + "type": "string" + }, + "reservationType": { + "description": "The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.", + "enum": [ + "RESERVATION_TYPE_UNSPECIFIED", + "STANDARD", + "SPONSORSHIP" + ], + "enumDescriptions": [ + "An unspecified reservation type.", + "Non-sponsorship deal.", + "Sponsorship deals don't have impression goal (guaranteed_looks) and they are served based on the flight dates. For CPM Sponsorship deals, impression_cap is the lifetime impression limit." + ], + "type": "string" + } + }, + "type": "object" + }, + "Proposal": { + "description": "Represents a proposal in the Marketplace. A proposal is the unit of negotiation between a seller and a buyer.", + "id": "Proposal", + "properties": { + "billedBuyer": { + "description": "Output only. When the client field is populated, this field refers to the buyer who creates and manages the client buyer and gets billed on behalf of the client buyer; when the buyer field is populated, this field is the same value as buyer. Format : `buyers/{buyerAccountId}`", + "readOnly": true, + "type": "string" + }, + "buyer": { + "description": "Output only. Refers to a buyer in The Realtime-bidding API. Format: `buyers/{buyerAccountId}`", + "readOnly": true, + "type": "string" + }, + "buyerContacts": { + "description": "Contact information for the buyer.", + "items": { + "$ref": "Contact" + }, + "type": "array" + }, + "buyerPrivateData": { + "$ref": "PrivateData", + "description": "Buyer private data (hidden from seller)." + }, + "client": { + "description": "Output only. Refers to a Client. Format: `buyers/{buyerAccountId}/clients/{clientAccountid}`", + "readOnly": true, + "type": "string" + }, + "dealType": { + "description": "Output only. Type of deal the proposal contains.", + "enum": [ + "DEAL_TYPE_UNSPECIFIED", + "PREFERRED_DEAL", + "PRIVATE_AUCTION", + "PROGRAMMATIC_GUARANTEED" + ], + "enumDescriptions": [ + "Default, unspecified deal type.", + "Preferred deals.", + "Private auction deals.", + "Programmatic guaranteed deals." + ], + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. The descriptive name for the proposal. Maximum length of 255 unicode characters is allowed. Control characters are not allowed. Buyers cannot update this field. Note: Not to be confused with name, which is a unique identifier of the proposal.", + "readOnly": true, + "type": "string" + }, + "isRenegotiating": { + "description": "Output only. True if the proposal was previously finalized and is now being renegotiated.", + "readOnly": true, + "type": "boolean" + }, + "lastUpdaterOrCommentorRole": { + "description": "Output only. The role of the last user that either updated the proposal or left a comment.", + "enum": [ + "BUYER_SELLER_ROLE_UNSPECIFIED", + "BUYER", + "SELLER" + ], + "enumDescriptions": [ + "A placeholder for an undefined buyer/seller role.", + "Specifies the role as buyer.", + "Specifies the role as seller." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Immutable. The name of the proposal serving as a unique identifier. Format: buyers/{accountId}/proposals/{proposalId}", + "type": "string" + }, + "notes": { + "description": "A list of notes from the buyer and the seller attached to this proposal.", + "items": { + "$ref": "Note" + }, + "type": "array" + }, + "originatorRole": { + "description": "Output only. Indicates whether the buyer/seller created the proposal.", + "enum": [ + "BUYER_SELLER_ROLE_UNSPECIFIED", + "BUYER", + "SELLER" + ], + "enumDescriptions": [ + "A placeholder for an undefined buyer/seller role.", + "Specifies the role as buyer.", + "Specifies the role as seller." + ], + "readOnly": true, + "type": "string" + }, + "pausingConsented": { + "description": "Whether pausing is allowed for the proposal. This is a negotiable term between buyers and publishers.", + "type": "boolean" + }, + "proposalRevision": { + "description": "Output only. The revision number for the proposal. Each update to the proposal or deal causes the proposal revision number to auto-increment. The buyer keeps track of the last revision number they know of and pass it in when making an update. If the head revision number on the server has since incremented, then an ABORTED error is returned during the update operation to let the buyer know that a subsequent update was made.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "publisherProfile": { + "description": "Immutable. Reference to the seller on the proposal. Format: `buyers/{buyerAccountId}/publisherProfiles/{publisherProfileId}` Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.", + "type": "string" + }, + "sellerContacts": { + "description": "Output only. Contact information for the seller.", + "items": { + "$ref": "Contact" + }, + "readOnly": true, + "type": "array" + }, + "state": { + "description": "Output only. Indicates the state of the proposal.", + "enum": [ + "STATE_UNSPECIFIED", + "BUYER_REVIEW_REQUESTED", + "SELLER_REVIEW_REQUESTED", + "BUYER_ACCEPTANCE_REQUESTED", + "FINALIZED", + "TERMINATED" + ], + "enumDescriptions": [ + "Unspecified proposal state", + "When a proposal is waiting for buyer to review.", + "When the proposal is waiting for the seller to review.", + "When the seller accepted the proposal and sent it to the buyer for review.", + "When both buyer and seller has accepted the proposal", + "When either buyer or seller has cancelled the proposal" + ], + "readOnly": true, + "type": "string" + }, + "termsAndConditions": { + "description": "Output only. The terms and conditions associated with this proposal. Accepting a proposal implies acceptance of this field. This is created by the seller, the buyer can only view it.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the proposal was last revised.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "PublisherProfile": { + "description": "The values in the publisher profile are supplied by the publisher. All fields are not filterable unless stated otherwise.", + "id": "PublisherProfile", + "properties": { + "audienceDescription": { + "description": "Description on the publisher's audience.", + "type": "string" + }, + "directDealsContact": { + "description": "Contact information for direct reservation deals. This is free text entered by the publisher and may include information like names, phone numbers and email addresses.", + "type": "string" + }, + "displayName": { + "description": "Display name of the publisher profile. Can be used to filter the response of the publisherProfiles.list method.", + "type": "string" + }, + "domains": { + "description": "The list of domains represented in this publisher profile. Empty if this is a parent profile. These are top private domains, meaning that these will not contain a string like \"photos.google.co.uk/123\", but will instead contain \"google.co.uk\". Can be used to filter the response of the publisherProfiles.list method.", + "items": { + "type": "string" + }, + "type": "array" + }, + "isParent": { + "description": "Indicates if this profile is the parent profile of the seller. A parent profile represents all the inventory from the seller, as opposed to child profile that is created to brand a portion of inventory. One seller has only one parent publisher profile, and can have multiple child profiles. See https://support.google.com/admanager/answer/6035806 for details. Can be used to filter the response of the publisherProfiles.list method by setting the filter to \"is_parent: true\".", + "type": "boolean" + }, + "logoUrl": { + "description": "A Google public URL to the logo for this publisher profile. The logo is stored as a PNG, JPG, or GIF image.", + "type": "string" + }, + "mediaKitUrl": { + "description": "URL to additional marketing and sales materials.", + "type": "string" + }, + "mobileApps": { + "description": "The list of apps represented in this publisher profile. Empty if this is a parent profile.", + "items": { + "$ref": "PublisherProfileMobileApplication" + }, + "type": "array" + }, + "name": { + "description": "Name of the publisher profile. Format: `buyers/{buyer}/publisherProfiles/{publisher_profile}`", + "type": "string" + }, + "overview": { + "description": "Overview of the publisher.", + "type": "string" + }, + "pitchStatement": { + "description": "Statement explaining what's unique about publisher's business, and why buyers should partner with the publisher.", + "type": "string" + }, + "programmaticDealsContact": { + "description": "Contact information for programmatic deals. This is free text entered by the publisher and may include information like names, phone numbers and email addresses.", + "type": "string" + }, + "publisherCode": { + "description": "A unique identifying code for the seller. This value is the same for all of the seller's parent and child publisher profiles. Can be used to filter the response of the publisherProfiles.list method.", + "type": "string" + }, + "samplePageUrl": { + "description": "URL to a sample content page.", + "type": "string" + }, + "topHeadlines": { + "description": "Up to three key metrics and rankings. For example \"#1 Mobile News Site for 20 Straight Months\".", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "PublisherProfileMobileApplication": { + "description": "A mobile application that contains a external app ID, name, and app store.", + "id": "PublisherProfileMobileApplication", + "properties": { + "appStore": { + "description": "The app store the app belongs to. Can be used to filter the response of the publisherProfiles.list method.", + "enum": [ + "APP_STORE_TYPE_UNSPECIFIED", + "APPLE_ITUNES", + "GOOGLE_PLAY", + "ROKU", + "AMAZON_FIRE_TV", + "PLAYSTATION", + "XBOX", + "SAMSUNG_TV", + "AMAZON", + "OPPO", + "SAMSUNG", + "VIVO", + "XIAOMI" + ], + "enumDescriptions": [ + "A placeholder for an unknown app store.", + "Apple iTunes", + "Google Play", + "Roku", + "Amazon Fire TV", + "PlayStation", + "Xbox", + "Samsung TV", + "Amazon Appstore", + "OPPO App Market", + "Samsung Galaxy Store", + "VIVO App Store", + "Xiaomi GetApps" + ], + "type": "string" + }, + "externalAppId": { + "description": "The external ID for the app from its app store. Can be used to filter the response of the publisherProfiles.list method.", + "type": "string" + }, + "name": { + "description": "The name of the app.", + "type": "string" + } + }, + "type": "object" + }, + "ResumeFinalizedDealRequest": { + "description": "Request message for resuming a finalized deal.", + "id": "ResumeFinalizedDealRequest", + "properties": {}, + "type": "object" + }, + "RtbMetrics": { + "description": "Real-time bidding metrics. For what each metric means refer to [Report metrics](https://support.google.com/adxbuyer/answer/6115195#report-metrics)", + "id": "RtbMetrics", + "properties": { + "adImpressions7Days": { + "description": "Ad impressions in last 7 days.", + "format": "int64", + "type": "string" + }, + "bidRate7Days": { + "description": "Bid rate in last 7 days, calculated by (bids / bid requests).", + "format": "double", + "type": "number" + }, + "bidRequests7Days": { + "description": "Bid requests in last 7 days.", + "format": "int64", + "type": "string" + }, + "bids7Days": { + "description": "Bids in last 7 days.", + "format": "int64", + "type": "string" + }, + "filteredBidRate7Days": { + "description": "Filtered bid rate in last 7 days, calculated by (filtered bids / bids).", + "format": "double", + "type": "number" + }, + "mustBidRateCurrentMonth": { + "description": "Must bid rate for current month.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "SendRfpRequest": { + "description": "Request to send an RFP. All fields in this request are proposed to publisher and subject to changes by publisher during later negotiation.", + "id": "SendRfpRequest", + "properties": { + "buyerContacts": { + "description": "Contact information for the buyer.", + "items": { + "$ref": "Contact" + }, + "type": "array" + }, + "client": { + "description": "If the current buyer is sending the RFP on behalf of its client, use this field to specify the name of the client in the format: `buyers/{accountId}/clients/{clientAccountid}`.", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the proposal being created by this RFP.", + "type": "string" + }, + "estimatedGrossSpend": { + "$ref": "Money", + "description": "Specified by buyers in request for proposal (RFP) to notify publisher the total estimated spend for the proposal. Publishers will receive this information and send back proposed deals accordingly." + }, + "flightEndTime": { + "description": "Required. Proposed flight end time of the RFP. A timestamp in RFC3339 UTC \"Zulu\" format. Note that the specified value will be truncated to a granularity of one second.", + "format": "google-datetime", + "type": "string" + }, + "flightStartTime": { + "description": "Required. Proposed flight start time of the RFP. A timestamp in RFC3339 UTC \"Zulu\" format. Note that the specified value will be truncated to a granularity of one second.", + "format": "google-datetime", + "type": "string" + }, + "geoTargeting": { + "$ref": "CriteriaTargeting", + "description": "Geo criteria IDs to be targeted. Refer to Geo tables." + }, + "inventorySizeTargeting": { + "$ref": "InventorySizeTargeting", + "description": "Inventory sizes to be targeted." + }, + "note": { + "description": "A message that is sent to the publisher. Maximum length is 1024 characters.", + "type": "string" + }, + "preferredDealTerms": { + "$ref": "PreferredDealTerms", + "description": "The terms for preferred deals." + }, + "programmaticGuaranteedTerms": { + "$ref": "ProgrammaticGuaranteedTerms", + "description": "The terms for programmatic guaranteed deals." + }, + "publisherProfile": { + "description": "Required. The profile of the publisher who will receive this RFP in the format: `buyers/{accountId}/publisherProfiles/{publisherProfileId}`.", + "type": "string" + } + }, + "type": "object" + }, + "SetReadyToServeRequest": { + "description": "Request message for setting ready to serve for a finalized deal.", + "id": "SetReadyToServeRequest", + "properties": {}, + "type": "object" + }, + "SubscribeAuctionPackageRequest": { + "description": "Request message for SubscribeAuctionPackage.", + "id": "SubscribeAuctionPackageRequest", + "properties": {}, + "type": "object" + }, + "SubscribeClientsRequest": { + "description": "Request message for SubscribeAuctionPackageClients.", + "id": "SubscribeClientsRequest", + "properties": { + "clients": { + "description": "Optional. A list of client buyers to subscribe to the auction package, with client buyer in the format `buyers/{accountId}/clients/{clientAccountId}`. The current buyer will be subscribed to the auction package regardless of the list contents if not already.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TechnologyTargeting": { + "description": "Represents targeting about various types of technology.", + "id": "TechnologyTargeting", + "properties": { + "deviceCapabilityTargeting": { + "$ref": "CriteriaTargeting", + "description": "IDs of device capabilities to be included/excluded." + }, + "deviceCategoryTargeting": { + "$ref": "CriteriaTargeting", + "description": "IDs of device categories to be included/excluded." + }, + "operatingSystemTargeting": { + "$ref": "OperatingSystemTargeting", + "description": "Operating system related targeting information." + } + }, + "type": "object" + }, + "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 day in 24 hour format. Should be from 0 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 hour of day. Must be from 0 to 59.", + "format": "int32", + "type": "integer" + }, + "nanos": { + "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "format": "int32", + "type": "integer" + }, + "seconds": { + "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "format": "int32", + "type": "integer" + } + }, + "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, e.g. \"America/New_York\".", + "type": "string" + }, + "version": { + "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "type": "string" + } + }, + "type": "object" + }, + "UnsubscribeAuctionPackageRequest": { + "description": "Request message for UnsubscribeAuctionPackage.", + "id": "UnsubscribeAuctionPackageRequest", + "properties": {}, + "type": "object" + }, + "UnsubscribeClientsRequest": { + "description": "Request message for UnsubscribeAuctionPackage.", + "id": "UnsubscribeClientsRequest", + "properties": { + "clients": { + "description": "Optional. A list of client buyers to unsubscribe from the auction package, with client buyer in the format `buyers/{accountId}/clients/{clientAccountId}`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "UpdateDealRequest": { + "description": "Request message for updating the deal at the given revision number.", + "id": "UpdateDealRequest", + "properties": { + "deal": { + "$ref": "Deal", + "description": "Required. The deal to update. The deal's `name` field is used to identify the deal to be updated. Note: proposal_revision will have to be provided within the resource or else an error will be thrown. Format: buyers/{accountId}/proposals/{proposalId}/deals/{dealId}" + }, + "updateMask": { + "description": "List of fields to be updated. If empty or unspecified, the service will update all fields populated in the update request excluding the output only fields and primitive fields with default value. Note that explicit field mask is required in order to reset a primitive field back to its default value, e.g. false for boolean fields, 0 for integer fields. A special field mask consisting of a single path \"*\" can be used to indicate full replacement(the equivalent of PUT method), updatable fields unset or unspecified in the input will be cleared or set to default value. Output only fields will be ignored regardless of the value of updateMask.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "UriTargeting": { + "description": "Represents a list of targeted and excluded URLs (e.g., google.com). For Private Auction Deals, URLs are either included or excluded. For Programmatic Guaranteed and Preferred Deals, this doesn't apply.", + "id": "UriTargeting", + "properties": { + "excludedUris": { + "description": "A list of URLs to be excluded.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetedUris": { + "description": "A list of URLs to be included.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "VideoTargeting": { + "description": "Represents targeting information about video.", + "id": "VideoTargeting", + "properties": { + "excludedPositionTypes": { + "description": "A list of video positions to be excluded. When this field is populated, the targeted_position_types field must be empty.", + "items": { + "enum": [ + "POSITION_TYPE_UNSPECIFIED", + "PREROLL", + "MIDROLL", + "POSTROLL" + ], + "enumDescriptions": [ + "A placeholder for an undefined video position.", + "Ad is played before the video.", + "Ad is played during the video.", + "Ad is played after the video." + ], + "type": "string" + }, + "type": "array" + }, + "targetedPositionTypes": { + "description": "A list of video positions to be included. When this field is populated, the excluded_position_types field must be empty.", + "items": { + "enum": [ + "POSITION_TYPE_UNSPECIFIED", + "PREROLL", + "MIDROLL", + "POSTROLL" + ], + "enumDescriptions": [ + "A placeholder for an undefined video position.", + "Ad is played before the video.", + "Ad is played during the video.", + "Ad is played after the video." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Authorized Buyers Marketplace API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/baremetalsolution/v1/baremetalsolution-api.json b/etc/api/baremetalsolution/v1/baremetalsolution-api.json new file mode 100644 index 0000000000..558759fff8 --- /dev/null +++ b/etc/api/baremetalsolution/v1/baremetalsolution-api.json @@ -0,0 +1,383 @@ +{ + "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://baremetalsolution.googleapis.com/", + "batchPath": "batch", + "description": "Provides ways to manage Bare Metal Solution hardware installed in a regional extension located near a Google Cloud data center.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/bare-metal", + "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": "baremetalsolution:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://baremetalsolution.mtls.googleapis.com/", + "name": "baremetalsolution", + "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": "baremetalsolution.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": "baremetalsolution.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": "baremetalsolution.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`. 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": "v1/operations", + "httpMethod": "GET", + "id": "baremetalsolution.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" + ] + } + } + }, + "projects": { + "resources": { + "locations": { + "resources": { + "instances": { + "methods": { + "resetInstance": { + "description": "Perform an ungraceful, hard reset on a machine (equivalent to shutting the power off, and then turning it back on).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:resetInstance", + "httpMethod": "POST", + "id": "baremetalsolution.projects.locations.instances.resetInstance", + "parameterOrder": [ + "instance" + ], + "parameters": { + "instance": { + "description": "Required. Name of the instance to reset.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+instance}:resetInstance", + "request": { + "$ref": "ResetInstanceRequest" + }, + "response": { + "$ref": "ResetInstanceResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20220209", + "rootUrl": "https://baremetalsolution.googleapis.com/", + "schemas": { + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal 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" + }, + "ResetInstanceRequest": { + "description": "Request for ResetInstance.", + "id": "ResetInstanceRequest", + "properties": {}, + "type": "object" + }, + "ResetInstanceResponse": { + "description": "Response for ResetInstance.", + "id": "ResetInstanceResponse", + "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" + } + }, + "servicePath": "", + "title": "Bare Metal Solution API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/baremetalsolution/v2/baremetalsolution-api.json b/etc/api/baremetalsolution/v2/baremetalsolution-api.json new file mode 100644 index 0000000000..36af7245cd --- /dev/null +++ b/etc/api/baremetalsolution/v2/baremetalsolution-api.json @@ -0,0 +1,2540 @@ +{ + "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://baremetalsolution.googleapis.com/", + "batchPath": "batch", + "description": "Provides ways to manage Bare Metal Solution hardware installed in a regional extension located near a Google Cloud data center.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/bare-metal", + "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": "baremetalsolution:v2", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://baremetalsolution.mtls.googleapis.com/", + "name": "baremetalsolution", + "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": "baremetalsolution.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": "baremetalsolution.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": { + "get": { + "description": "Get details about a single server.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", + "httpMethod": "GET", + "id": "baremetalsolution.projects.locations.instances.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Instance" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List servers in a given project and location.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances", + "httpMethod": "GET", + "id": "baremetalsolution.projects.locations.instances.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results from the server.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value for ListInstancesRequest.", + "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": "Update details of a single server.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", + "httpMethod": "PATCH", + "id": "baremetalsolution.projects.locations.instances.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The resource name of this `Instance`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/instances/{instance}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to update. The only currently supported fields are: `labels`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "request": { + "$ref": "Instance" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "reset": { + "description": "Perform an ungraceful, hard reset on a server. Equivalent to shutting the power off and then turning it back on.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:reset", + "httpMethod": "POST", + "id": "baremetalsolution.projects.locations.instances.reset", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "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" + ] + }, + "start": { + "description": "Starts a server that was shutdown.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:start", + "httpMethod": "POST", + "id": "baremetalsolution.projects.locations.instances.start", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "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" + ] + } + } + }, + "networks": { + "methods": { + "get": { + "description": "Get details of a single network.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/networks/{networksId}", + "httpMethod": "GET", + "id": "baremetalsolution.projects.locations.networks.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/networks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Network" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List network in a given project and location.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/networks", + "httpMethod": "GET", + "id": "baremetalsolution.projects.locations.networks.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. The server might 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 from the server.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value for ListNetworksRequest.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/networks", + "response": { + "$ref": "ListNetworksResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "listNetworkUsage": { + "description": "List all Networks (and used IPs for each Network) in the vendor account associated with the specified project.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/networks:listNetworkUsage", + "httpMethod": "GET", + "id": "baremetalsolution.projects.locations.networks.listNetworkUsage", + "parameterOrder": [ + "location" + ], + "parameters": { + "location": { + "description": "Required. Parent value (project and location).", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+location}/networks:listNetworkUsage", + "response": { + "$ref": "ListNetworkUsageResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update details of a single network.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/networks/{networksId}", + "httpMethod": "PATCH", + "id": "baremetalsolution.projects.locations.networks.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The resource name of this `Network`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/networks/{network}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/networks/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to update. The only currently supported fields are: `labels`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "request": { + "$ref": "Network" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "nfsShares": { + "methods": { + "get": { + "description": "Get details of a single NFS share.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/nfsShares/{nfsSharesId}", + "httpMethod": "GET", + "id": "baremetalsolution.projects.locations.nfsShares.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/nfsShares/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "NfsShare" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List NFS shares.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/nfsShares", + "httpMethod": "GET", + "id": "baremetalsolution.projects.locations.nfsShares.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. The server might 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 from the server.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value for ListNfsSharesRequest.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/nfsShares", + "response": { + "$ref": "ListNfsSharesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update details of a single NFS share.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/nfsShares/{nfsSharesId}", + "httpMethod": "PATCH", + "id": "baremetalsolution.projects.locations.nfsShares.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The name of the NFS share.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/nfsShares/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to update. The only currently supported fields are: `labels`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "request": { + "$ref": "NfsShare" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "provisioningConfigs": { + "methods": { + "submit": { + "description": "Submit a provisiong configuration for a given project.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/provisioningConfigs:submit", + "httpMethod": "POST", + "id": "baremetalsolution.projects.locations.provisioningConfigs.submit", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent project and location containing the ProvisioningConfig.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/provisioningConfigs:submit", + "request": { + "$ref": "SubmitProvisioningConfigRequest" + }, + "response": { + "$ref": "SubmitProvisioningConfigResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "provisioningQuotas": { + "methods": { + "list": { + "description": "List the budget details to provision resources on a given project.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/provisioningQuotas", + "httpMethod": "GET", + "id": "baremetalsolution.projects.locations.provisioningQuotas.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Requested page size. The server might return fewer items than requested. If unspecified, server will pick an appropriate default. Notice that page_size field is not supported and won't be respected in the API request for now, will be updated when pagination is supported.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results from the server.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value for ListProvisioningQuotasRequest.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/provisioningQuotas", + "response": { + "$ref": "ListProvisioningQuotasResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "snapshotSchedulePolicies": { + "methods": { + "create": { + "description": "Create a snapshot schedule policy in the specified project.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/snapshotSchedulePolicies", + "httpMethod": "POST", + "id": "baremetalsolution.projects.locations.snapshotSchedulePolicies.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent project and location containing the SnapshotSchedulePolicy.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "snapshotSchedulePolicyId": { + "description": "Required. Snapshot policy ID", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+parent}/snapshotSchedulePolicies", + "request": { + "$ref": "SnapshotSchedulePolicy" + }, + "response": { + "$ref": "SnapshotSchedulePolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a named snapshot schedule policy.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/snapshotSchedulePolicies/{snapshotSchedulePoliciesId}", + "httpMethod": "DELETE", + "id": "baremetalsolution.projects.locations.snapshotSchedulePolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the snapshot schedule policy to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/snapshotSchedulePolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get details of a single snapshot schedule policy.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/snapshotSchedulePolicies/{snapshotSchedulePoliciesId}", + "httpMethod": "GET", + "id": "baremetalsolution.projects.locations.snapshotSchedulePolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/snapshotSchedulePolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "SnapshotSchedulePolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List snapshot schedule policies in a given project and location.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/snapshotSchedulePolicies", + "httpMethod": "GET", + "id": "baremetalsolution.projects.locations.snapshotSchedulePolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "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 project containing the Snapshot Schedule Policies.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/snapshotSchedulePolicies", + "response": { + "$ref": "ListSnapshotSchedulePoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update a snapshot schedule policy in the specified project.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/snapshotSchedulePolicies/{snapshotSchedulePoliciesId}", + "httpMethod": "PATCH", + "id": "baremetalsolution.projects.locations.snapshotSchedulePolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The name of the snapshot schedule policy.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/snapshotSchedulePolicies/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "request": { + "$ref": "SnapshotSchedulePolicy" + }, + "response": { + "$ref": "SnapshotSchedulePolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "volumes": { + "methods": { + "get": { + "description": "Get details of a single storage volume.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}", + "httpMethod": "GET", + "id": "baremetalsolution.projects.locations.volumes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Volume" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List storage volumes in a given project and location.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes", + "httpMethod": "GET", + "id": "baremetalsolution.projects.locations.volumes.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. The server might 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 from the server.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value for ListVolumesRequest.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/volumes", + "response": { + "$ref": "ListVolumesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update details of a single storage volume.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}", + "httpMethod": "PATCH", + "id": "baremetalsolution.projects.locations.volumes.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The resource name of this `Volume`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/volumes/{volume}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to update. The only currently supported fields are: `snapshot_auto_delete_behavior` `snapshot_schedule_policy_name` 'labels' 'requested_size_gib'", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "request": { + "$ref": "Volume" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "luns": { + "methods": { + "get": { + "description": "Get details of a single storage logical unit number(LUN).", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/luns/{lunsId}", + "httpMethod": "GET", + "id": "baremetalsolution.projects.locations.volumes.luns.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/luns/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Lun" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List storage volume luns for given storage volume.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/luns", + "httpMethod": "GET", + "id": "baremetalsolution.projects.locations.volumes.luns.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Requested page size. The server might 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 from the server.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value for ListLunsRequest.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/luns", + "response": { + "$ref": "ListLunsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "snapshots": { + "methods": { + "create": { + "description": "Create a storage volume snapshot in a containing volume.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots", + "httpMethod": "POST", + "id": "baremetalsolution.projects.locations.volumes.snapshots.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The volume to snapshot.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/snapshots", + "request": { + "$ref": "VolumeSnapshot" + }, + "response": { + "$ref": "VolumeSnapshot" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a storage volume snapshot for a given volume.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}", + "httpMethod": "DELETE", + "id": "baremetalsolution.projects.locations.volumes.snapshots.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the snapshot to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get details of a single storage volume snapshot.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}", + "httpMethod": "GET", + "id": "baremetalsolution.projects.locations.volumes.snapshots.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "VolumeSnapshot" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List storage volume snapshots for given storage volume.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots", + "httpMethod": "GET", + "id": "baremetalsolution.projects.locations.volumes.snapshots.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Requested page size. The server might 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 from the server.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value for ListVolumesRequest.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/snapshots", + "response": { + "$ref": "ListVolumeSnapshotsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "restoreVolumeSnapshot": { + "description": "Restore a storage volume snapshot to its containing volume.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}:restoreVolumeSnapshot", + "httpMethod": "POST", + "id": "baremetalsolution.projects.locations.volumes.snapshots.restoreVolumeSnapshot", + "parameterOrder": [ + "volumeSnapshot" + ], + "parameters": { + "volumeSnapshot": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+volumeSnapshot}:restoreVolumeSnapshot", + "request": { + "$ref": "RestoreVolumeSnapshotRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20220209", + "rootUrl": "https://baremetalsolution.googleapis.com/", + "schemas": { + "AllowedClient": { + "description": "Represents an 'access point' for the share.", + "id": "AllowedClient", + "properties": { + "allowDev": { + "description": "Allow dev flag. Which controls whether to allow creation of devices.", + "type": "boolean" + }, + "allowSuid": { + "description": "Allow the setuid flag.", + "type": "boolean" + }, + "allowedClientsCidr": { + "description": "The subnet of IP addresses permitted to access the share.", + "type": "string" + }, + "mountPermissions": { + "description": "Mount permissions.", + "enum": [ + "MOUNT_PERMISSIONS_UNSPECIFIED", + "READ", + "READ_WRITE" + ], + "enumDescriptions": [ + "Permissions were not specified.", + "NFS share can be mount with read-only permissions.", + "NFS share can be mount with read-write permissions." + ], + "type": "string" + }, + "network": { + "description": "The network the access point sits on.", + "type": "string" + }, + "noRootSquash": { + "description": "Disable root squashing, which is a feature of NFS. Root squash is a special mapping of the remote superuser (root) identity when using identity authentication.", + "type": "boolean" + }, + "shareIp": { + "description": "The IP address of the share on this network.", + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Instance": { + "description": "A server.", + "id": "Instance", + "properties": { + "createTime": { + "description": "Output only. Create a time stamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "hyperthreadingEnabled": { + "description": "True if you enable hyperthreading for the server, otherwise false. The default value is false.", + "type": "boolean" + }, + "id": { + "description": "An identifier for the `Instance`, generated by the backend.", + "type": "string" + }, + "interactiveSerialConsoleEnabled": { + "description": "True if the interactive serial console feature is enabled for the instance, false otherwise. The default value is false.", + "type": "boolean" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels as key value pairs.", + "type": "object" + }, + "luns": { + "description": "List of LUNs associated with this server.", + "items": { + "$ref": "Lun" + }, + "type": "array" + }, + "machineType": { + "description": "The server type. [Available server types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of this `Instance`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/instances/{instance}`", + "readOnly": true, + "type": "string" + }, + "networks": { + "description": "List of networks associated with this server.", + "items": { + "$ref": "Network" + }, + "type": "array" + }, + "state": { + "description": "The state of the server.", + "enum": [ + "STATE_UNSPECIFIED", + "PROVISIONING", + "RUNNING", + "DELETED" + ], + "enumDescriptions": [ + "The server is in an unknown state.", + "The server is being provisioned.", + "The server is running.", + "The server has been deleted." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. Update a time stamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "InstanceConfig": { + "description": "Configuration parameters for a new instance.", + "id": "InstanceConfig", + "properties": { + "clientNetwork": { + "$ref": "NetworkAddress", + "description": "Client network address." + }, + "hyperthreading": { + "description": "Whether the instance should be provisioned with Hyperthreading enabled.", + "type": "boolean" + }, + "id": { + "description": "A transient unique identifier to idenfity an instance within an ProvisioningConfig request.", + "type": "string" + }, + "instanceType": { + "description": "Instance type. [Available types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)", + "type": "string" + }, + "name": { + "description": "Output only. The name of the instance config.", + "readOnly": true, + "type": "string" + }, + "osImage": { + "description": "OS image to initialize the instance. [Available images](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)", + "type": "string" + }, + "privateNetwork": { + "$ref": "NetworkAddress", + "description": "Private network address, if any." + }, + "userNote": { + "description": "User note field, it can be used by customers to add additional information for the BMS Ops team .", + "type": "string" + } + }, + "type": "object" + }, + "InstanceQuota": { + "description": "A resource budget.", + "id": "InstanceQuota", + "properties": { + "availableMachineCount": { + "description": "Number of machines than can be created for the given location and instance_type.", + "format": "int32", + "type": "integer" + }, + "instanceType": { + "description": "Instance type.", + "type": "string" + }, + "location": { + "description": "Location where the quota applies.", + "type": "string" + }, + "name": { + "description": "Output only. The name of the instance quota.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "IntakeVlanAttachment": { + "description": "A GCP vlan attachment.", + "id": "IntakeVlanAttachment", + "properties": { + "id": { + "description": "Identifier of the VLAN attachment.", + "type": "string" + }, + "pairingKey": { + "description": "Attachment pairing key.", + "type": "string" + } + }, + "type": "object" + }, + "ListInstancesResponse": { + "description": "Response message for the list of servers.", + "id": "ListInstancesResponse", + "properties": { + "instances": { + "description": "The list of servers.", + "items": { + "$ref": "Instance" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results from the server.", + "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" + }, + "ListLunsResponse": { + "description": "Response message containing the list of storage volume luns.", + "id": "ListLunsResponse", + "properties": { + "luns": { + "description": "The list of luns.", + "items": { + "$ref": "Lun" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results from the server.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListNetworkUsageResponse": { + "description": "Response with Networks with IPs", + "id": "ListNetworkUsageResponse", + "properties": { + "networks": { + "description": "Networks with IPs.", + "items": { + "$ref": "NetworkUsage" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListNetworksResponse": { + "description": "Response message containing the list of networks.", + "id": "ListNetworksResponse", + "properties": { + "networks": { + "description": "The list of networks.", + "items": { + "$ref": "Network" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results from the server.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListNfsSharesResponse": { + "description": "Response message containing the list of NFS shares.", + "id": "ListNfsSharesResponse", + "properties": { + "nextPageToken": { + "description": "A token identifying a page of results from the server.", + "type": "string" + }, + "nfsShares": { + "description": "The list of NFS shares.", + "items": { + "$ref": "NfsShare" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListProvisioningQuotasResponse": { + "description": "Response message for the list of provisioning quotas.", + "id": "ListProvisioningQuotasResponse", + "properties": { + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + }, + "provisioningQuotas": { + "description": "The provisioning quotas registered in this project.", + "items": { + "$ref": "ProvisioningQuota" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListSnapshotSchedulePoliciesResponse": { + "description": "Response message containing the list of snapshot schedule policies.", + "id": "ListSnapshotSchedulePoliciesResponse", + "properties": { + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + }, + "snapshotSchedulePolicies": { + "description": "The snapshot schedule policies registered in this project.", + "items": { + "$ref": "SnapshotSchedulePolicy" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListVolumeSnapshotsResponse": { + "description": "Response message containing the list of storage volume snapshots.", + "id": "ListVolumeSnapshotsResponse", + "properties": { + "nextPageToken": { + "description": "A token identifying a page of results from the server.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + }, + "volumeSnapshots": { + "description": "The list of storage volumes.", + "items": { + "$ref": "VolumeSnapshot" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListVolumesResponse": { + "description": "Response message containing the list of storage volumes.", + "id": "ListVolumesResponse", + "properties": { + "nextPageToken": { + "description": "A token identifying a page of results from the server.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + }, + "volumes": { + "description": "The list of storage volumes.", + "items": { + "$ref": "Volume" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform 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" + }, + "Lun": { + "description": "A storage volume logical unit number (LUN).", + "id": "Lun", + "properties": { + "bootLun": { + "description": "Display if this LUN is a boot LUN.", + "type": "boolean" + }, + "id": { + "description": "An identifier for the LUN, generated by the backend.", + "type": "string" + }, + "multiprotocolType": { + "description": "The LUN multiprotocol type ensures the characteristics of the LUN are optimized for each operating system.", + "enum": [ + "MULTIPROTOCOL_TYPE_UNSPECIFIED", + "LINUX" + ], + "enumDescriptions": [ + "Server has no OS specified.", + "Server with Linux OS." + ], + "type": "string" + }, + "name": { + "description": "Output only. The name of the LUN.", + "readOnly": true, + "type": "string" + }, + "shareable": { + "description": "Display if this LUN can be shared between multiple physical servers.", + "type": "boolean" + }, + "sizeGb": { + "description": "The size of this LUN, in gigabytes.", + "format": "int64", + "type": "string" + }, + "state": { + "description": "The state of this storage volume.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "UPDATING", + "READY", + "DELETING" + ], + "enumDescriptions": [ + "The LUN is in an unknown state.", + "The LUN is being created.", + "The LUN is being updated.", + "The LUN is ready for use.", + "The LUN has been requested to be deleted." + ], + "type": "string" + }, + "storageType": { + "description": "The storage type for this LUN.", + "enum": [ + "STORAGE_TYPE_UNSPECIFIED", + "SSD", + "HDD" + ], + "enumDescriptions": [ + "The storage type for this LUN is unknown.", + "This storage type for this LUN is SSD.", + "This storage type for this LUN is HDD." + ], + "type": "string" + }, + "storageVolume": { + "description": "Display the storage volume for this LUN.", + "type": "string" + }, + "wwid": { + "description": "The WWID for this LUN.", + "type": "string" + } + }, + "type": "object" + }, + "LunRange": { + "description": "A LUN(Logical Unit Number) range.", + "id": "LunRange", + "properties": { + "quantity": { + "description": "Number of LUNs to create.", + "format": "int32", + "type": "integer" + }, + "sizeGb": { + "description": "The requested size of each LUN, in GB.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Network": { + "description": "A Network.", + "id": "Network", + "properties": { + "cidr": { + "description": "The cidr of the Network.", + "type": "string" + }, + "id": { + "description": "An identifier for the `Network`, generated by the backend.", + "type": "string" + }, + "ipAddress": { + "description": "IP address configured.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels as key value pairs.", + "type": "object" + }, + "macAddress": { + "description": "List of physical interfaces.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Output only. The resource name of this `Network`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/networks/{network}`", + "readOnly": true, + "type": "string" + }, + "servicesCidr": { + "description": "IP range for reserved for services (e.g. NFS).", + "type": "string" + }, + "state": { + "description": "The Network state.", + "enum": [ + "STATE_UNSPECIFIED", + "PROVISIONING", + "PROVISIONED" + ], + "enumDescriptions": [ + "The Network is in an unknown state.", + "The Network is provisioning.", + "The Network has been provisioned." + ], + "type": "string" + }, + "type": { + "description": "The type of this network.", + "enum": [ + "TYPE_UNSPECIFIED", + "CLIENT", + "PRIVATE" + ], + "enumDescriptions": [ + "Unspecified value.", + "Client network, a network peered to a Google Cloud VPC.", + "Private network, a network local to the Bare Metal Solution environment." + ], + "type": "string" + }, + "vlanId": { + "description": "The vlan id of the Network.", + "type": "string" + }, + "vrf": { + "$ref": "VRF", + "description": "The vrf for the Network." + } + }, + "type": "object" + }, + "NetworkAddress": { + "description": "A network.", + "id": "NetworkAddress", + "properties": { + "address": { + "description": "IPv4 address to be assigned to the server.", + "type": "string" + }, + "existingNetworkId": { + "description": "Name of the existing network to use.", + "type": "string" + }, + "networkId": { + "description": "Id of the network to use, within the same ProvisioningConfig request.", + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfig": { + "description": "Configuration parameters for a new network.", + "id": "NetworkConfig", + "properties": { + "bandwidth": { + "description": "Interconnect bandwidth. Set only when type is CLIENT.", + "enum": [ + "BANDWIDTH_UNSPECIFIED", + "BW_1_GBPS", + "BW_2_GBPS", + "BW_5_GBPS", + "BW_10_GBPS" + ], + "enumDescriptions": [ + "Unspecified value.", + "1 Gbps.", + "2 Gbps.", + "5 Gbps.", + "10 Gbps." + ], + "type": "string" + }, + "cidr": { + "description": "CIDR range of the network.", + "type": "string" + }, + "id": { + "description": "A transient unique identifier to identify a volume within an ProvisioningConfig request.", + "type": "string" + }, + "name": { + "description": "Output only. The name of the network config.", + "readOnly": true, + "type": "string" + }, + "serviceCidr": { + "description": "Service CIDR, if any.", + "enum": [ + "SERVICE_CIDR_UNSPECIFIED", + "DISABLED", + "HIGH_26", + "HIGH_27", + "HIGH_28" + ], + "enumDescriptions": [ + "Unspecified value.", + "Services are disabled for the given network.", + "Use the highest /26 block of the network to host services.", + "Use the highest /27 block of the network to host services.", + "Use the highest /28 block of the network to host services." + ], + "type": "string" + }, + "type": { + "description": "The type of this network, either Client or Private.", + "enum": [ + "TYPE_UNSPECIFIED", + "CLIENT", + "PRIVATE" + ], + "enumDescriptions": [ + "Unspecified value.", + "Client network, that is a network peered to a GCP VPC.", + "Private network, that is a network local to the BMS POD." + ], + "type": "string" + }, + "userNote": { + "description": "User note field, it can be used by customers to add additional information for the BMS Ops team (b/194021617).", + "type": "string" + }, + "vlanAttachments": { + "description": "List of VLAN attachments. As of now there are always 2 attachments, but it is going to change in the future (multi vlan).", + "items": { + "$ref": "IntakeVlanAttachment" + }, + "type": "array" + } + }, + "type": "object" + }, + "NetworkUsage": { + "description": "Network with all used IP addresses.", + "id": "NetworkUsage", + "properties": { + "network": { + "$ref": "Network", + "description": "Network." + }, + "usedIps": { + "description": "All used IP addresses in this network.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "NfsExport": { + "description": "A NFS export entry.", + "id": "NfsExport", + "properties": { + "allowDev": { + "description": "Allow dev flag in NfsShare AllowedClientsRequest.", + "type": "boolean" + }, + "allowSuid": { + "description": "Allow the setuid flag.", + "type": "boolean" + }, + "cidr": { + "description": "A CIDR range.", + "type": "string" + }, + "machineId": { + "description": "Either a single machine, identified by an ID, or a comma-separated list of machine IDs.", + "type": "string" + }, + "networkId": { + "description": "Network to use to publish the export.", + "type": "string" + }, + "noRootSquash": { + "description": "Disable root squashing, which is a feature of NFS. Root squash is a special mapping of the remote superuser (root) identity when using identity authentication.", + "type": "boolean" + }, + "permissions": { + "description": "Export permissions.", + "enum": [ + "PERMISSIONS_UNSPECIFIED", + "READ_ONLY", + "READ_WRITE" + ], + "enumDescriptions": [ + "Unspecified value.", + "Read-only permission.", + "Read-write permission." + ], + "type": "string" + } + }, + "type": "object" + }, + "NfsShare": { + "description": "An NFS share.", + "id": "NfsShare", + "properties": { + "allowedClients": { + "description": "List of allowed access points.", + "items": { + "$ref": "AllowedClient" + }, + "type": "array" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels as key value pairs.", + "type": "object" + }, + "name": { + "description": "Output only. The name of the NFS share.", + "readOnly": true, + "type": "string" + }, + "nfsShareId": { + "description": "Output only. An identifier for the NFS share, generated by the backend.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "The state of the NFS share.", + "enum": [ + "STATE_UNSPECIFIED", + "PROVISIONED" + ], + "enumDescriptions": [ + "The share is in an unknown state.", + "The share has been provisioned." + ], + "type": "string" + }, + "volume": { + "description": "The volume containing the share.", + "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" + }, + "ProvisioningConfig": { + "description": "A provisioning configuration.", + "id": "ProvisioningConfig", + "properties": { + "handoverServiceAccount": { + "description": "A service account to enable customers to access instance credentials upon handover.", + "type": "string" + }, + "instances": { + "description": "Instances to be created.", + "items": { + "$ref": "InstanceConfig" + }, + "type": "array" + }, + "name": { + "description": "Output only. The name of the provisioning config.", + "readOnly": true, + "type": "string" + }, + "networks": { + "description": "Networks to be created.", + "items": { + "$ref": "NetworkConfig" + }, + "type": "array" + }, + "ticketId": { + "description": "A generated buganizer id to track provisioning request.", + "type": "string" + }, + "volumes": { + "description": "Volumes to be created.", + "items": { + "$ref": "VolumeConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "ProvisioningQuota": { + "description": "A provisioning quota for a given project.", + "id": "ProvisioningQuota", + "properties": { + "assetType": { + "description": "The asset type of this provisioning quota.", + "enum": [ + "ASSET_TYPE_UNSPECIFIED", + "ASSET_TYPE_SERVER", + "ASSET_TYPE_STORAGE", + "ASSET_TYPE_NETWORK" + ], + "enumDescriptions": [ + "The unspecified type.", + "The server asset type.", + "The storage asset type.", + "The network asset type." + ], + "type": "string" + }, + "availableCount": { + "description": "The available count of the provisioning quota.", + "format": "int32", + "type": "integer" + }, + "gcpService": { + "description": "The gcp service of the provisioning quota.", + "type": "string" + }, + "instanceQuota": { + "$ref": "InstanceQuota", + "description": "Instance quota." + }, + "location": { + "description": "The specific location of the provisioining quota.", + "type": "string" + }, + "name": { + "description": "Output only. The name of the provisioning quota.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "QosPolicy": { + "description": "QOS policy parameters.", + "id": "QosPolicy", + "properties": { + "bandwidthGbps": { + "description": "The bandwidth permitted by the QOS policy, in gbps.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "ResetInstanceRequest": { + "description": "Message requesting to reset a server.", + "id": "ResetInstanceRequest", + "properties": {}, + "type": "object" + }, + "RestoreVolumeSnapshotRequest": { + "description": "Message for restoring a volume snapshot.", + "id": "RestoreVolumeSnapshotRequest", + "properties": {}, + "type": "object" + }, + "Schedule": { + "description": "A snapshot schedule.", + "id": "Schedule", + "properties": { + "crontabSpec": { + "description": "A crontab-like specification that the schedule uses to take snapshots.", + "type": "string" + }, + "prefix": { + "description": "A list of snapshot names created in this schedule.", + "type": "string" + }, + "retentionCount": { + "description": "The maximum number of snapshots to retain in this schedule.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "SnapshotReservationDetail": { + "description": "Details about snapshot space reservation and usage on the storage volume.", + "id": "SnapshotReservationDetail", + "properties": { + "reservedSpaceGib": { + "description": "The space on this storage volume reserved for snapshots, shown in GiB.", + "format": "int64", + "type": "string" + }, + "reservedSpaceRemainingGib": { + "description": "The amount, in GiB, of available space in this storage volume's reserved snapshot space.", + "format": "int64", + "type": "string" + }, + "reservedSpaceUsedPercent": { + "description": "The percent of snapshot space on this storage volume actually being used by the snapshot copies. This value might be higher than 100% if the snapshot copies have overflowed into the data portion of the storage volume.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "SnapshotSchedulePolicy": { + "description": "A snapshot schedule policy.", + "id": "SnapshotSchedulePolicy", + "properties": { + "description": { + "description": "The description of the snapshot schedule policy.", + "type": "string" + }, + "id": { + "description": "An identifier for the snapshot schedule policy, generated by the backend.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels as key value pairs.", + "type": "object" + }, + "name": { + "description": "Output only. The name of the snapshot schedule policy.", + "readOnly": true, + "type": "string" + }, + "schedules": { + "description": "The snapshot schedules contained in this policy. You can specify a maximum of 5 schedules.", + "items": { + "$ref": "Schedule" + }, + "type": "array" + }, + "state": { + "description": "The state of the snapshot schedule policy.", + "enum": [ + "STATE_UNSPECIFIED", + "PROVISIONED" + ], + "enumDescriptions": [ + "The policy is in an unknown state.", + "The policy is been provisioned." + ], + "type": "string" + } + }, + "type": "object" + }, + "StartInstanceRequest": { + "description": "Message requesting to start a server.", + "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" + }, + "SubmitProvisioningConfigRequest": { + "description": "Request for SubmitProvisioningConfig.", + "id": "SubmitProvisioningConfigRequest", + "properties": { + "email": { + "description": "Optional. Email provided to send a confirmation with provisioning config to.", + "type": "string" + }, + "provisioningConfig": { + "$ref": "ProvisioningConfig", + "description": "Required. The ProvisioningConfig to create." + } + }, + "type": "object" + }, + "SubmitProvisioningConfigResponse": { + "description": "Response for SubmitProvisioningConfig.", + "id": "SubmitProvisioningConfigResponse", + "properties": { + "provisioningConfig": { + "$ref": "ProvisioningConfig", + "description": "The submitted provisioning config." + } + }, + "type": "object" + }, + "VRF": { + "description": "A network VRF.", + "id": "VRF", + "properties": { + "name": { + "description": "The name of the VRF.", + "type": "string" + }, + "qosPolicy": { + "$ref": "QosPolicy", + "description": "The QOS policy applied to this VRF." + }, + "state": { + "description": "The possible state of VRF.", + "enum": [ + "STATE_UNSPECIFIED", + "PROVISIONING", + "PROVISIONED" + ], + "enumDescriptions": [ + "The unspecified state.", + "The vrf is provisioning.", + "The vrf is provisioned." + ], + "type": "string" + }, + "vlanAttachments": { + "description": "The list of VLAN attachments for the VRF.", + "items": { + "$ref": "VlanAttachment" + }, + "type": "array" + } + }, + "type": "object" + }, + "VlanAttachment": { + "description": "VLAN attachment details.", + "id": "VlanAttachment", + "properties": { + "peerIp": { + "description": "The peer IP of the attachment.", + "type": "string" + }, + "peerVlanId": { + "description": "The peer vlan ID of the attachment.", + "format": "int64", + "type": "string" + }, + "routerIp": { + "description": "The router IP of the attachment.", + "type": "string" + } + }, + "type": "object" + }, + "Volume": { + "description": "A storage volume.", + "id": "Volume", + "properties": { + "autoGrownSizeGib": { + "description": "The size, in GiB, that this storage volume has expanded as a result of an auto grow policy. In the absence of auto-grow, the value is 0.", + "format": "int64", + "type": "string" + }, + "currentSizeGib": { + "description": "The current size of this storage volume, in GiB, including space reserved for snapshots. This size might be different than the requested size if the storage volume has been configured with auto grow or auto shrink.", + "format": "int64", + "type": "string" + }, + "id": { + "description": "An identifier for the `Volume`, generated by the backend.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels as key value pairs.", + "type": "object" + }, + "name": { + "description": "Output only. The resource name of this `Volume`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/volumes/{volume}`", + "readOnly": true, + "type": "string" + }, + "remainingSpaceGib": { + "description": "The space remaining in the storage volume for new LUNs, in GiB, excluding space reserved for snapshots.", + "format": "int64", + "type": "string" + }, + "requestedSizeGib": { + "description": "The requested size of this storage volume, in GiB.", + "format": "int64", + "type": "string" + }, + "snapshotAutoDeleteBehavior": { + "description": "The behavior to use when snapshot reserved space is full.", + "enum": [ + "SNAPSHOT_AUTO_DELETE_BEHAVIOR_UNSPECIFIED", + "DISABLED", + "OLDEST_FIRST", + "NEWEST_FIRST" + ], + "enumDescriptions": [ + "The unspecified behavior.", + "Don't delete any snapshots. This disables new snapshot creation, as long as the snapshot reserved space is full.", + "Delete the oldest snapshots first.", + "Delete the newest snapshots first." + ], + "type": "string" + }, + "snapshotReservationDetail": { + "$ref": "SnapshotReservationDetail", + "description": "Details about snapshot space reservation and usage on the storage volume." + }, + "snapshotSchedulePolicy": { + "description": "The name of the snapshot schedule policy in use for this volume, if any.", + "type": "string" + }, + "state": { + "description": "The state of this storage volume.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "DELETING" + ], + "enumDescriptions": [ + "The storage volume is in an unknown state.", + "The storage volume is being created.", + "The storage volume is ready for use.", + "The storage volume has been requested to be deleted." + ], + "type": "string" + }, + "storageType": { + "description": "The storage type for this volume.", + "enum": [ + "STORAGE_TYPE_UNSPECIFIED", + "SSD", + "HDD" + ], + "enumDescriptions": [ + "The storage type for this volume is unknown.", + "The storage type for this volume is SSD.", + "This storage type for this volume is HDD." + ], + "type": "string" + } + }, + "type": "object" + }, + "VolumeConfig": { + "description": "Configuration parameters for a new volume.", + "id": "VolumeConfig", + "properties": { + "id": { + "description": "A transient unique identifier to identify a volume within an ProvisioningConfig request.", + "type": "string" + }, + "lunRanges": { + "description": "LUN ranges to be configured. Set only when protocol is PROTOCOL_FC.", + "items": { + "$ref": "LunRange" + }, + "type": "array" + }, + "machineIds": { + "description": "Machine ids connected to this volume. Set only when protocol is PROTOCOL_FC.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Output only. The name of the volume config.", + "readOnly": true, + "type": "string" + }, + "nfsExports": { + "description": "NFS exports. Set only when protocol is PROTOCOL_NFS.", + "items": { + "$ref": "NfsExport" + }, + "type": "array" + }, + "protocol": { + "description": "Volume protocol.", + "enum": [ + "PROTOCOL_UNSPECIFIED", + "PROTOCOL_FC", + "PROTOCOL_NFS" + ], + "enumDescriptions": [ + "Unspecified value.", + "Fibre channel.", + "Network file system." + ], + "type": "string" + }, + "sizeGb": { + "description": "The requested size of this volume, in GB.", + "format": "int32", + "type": "integer" + }, + "snapshotsEnabled": { + "description": "Whether snapshots should be enabled.", + "type": "boolean" + }, + "type": { + "description": "The type of this Volume.", + "enum": [ + "TYPE_UNSPECIFIED", + "FLASH", + "DISK" + ], + "enumDescriptions": [ + "The unspecified type.", + "This Volume is on flash.", + "This Volume is on disk." + ], + "type": "string" + }, + "userNote": { + "description": "User note field, it can be used by customers to add additional information for the BMS Ops team (b/194021617).", + "type": "string" + } + }, + "type": "object" + }, + "VolumeSnapshot": { + "description": "Snapshot registered for a given storage volume.", + "id": "VolumeSnapshot", + "properties": { + "createTime": { + "description": "Output only. The creation time of the storage volume snapshot.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the storage volume snapshot.", + "type": "string" + }, + "id": { + "description": "An identifier for the snapshot, generated by the backend.", + "type": "string" + }, + "name": { + "description": "Output only. The name of the storage volume snapshot.", + "readOnly": true, + "type": "string" + }, + "sizeBytes": { + "description": "The size of the storage volume snapshot, in bytes.", + "format": "int64", + "type": "string" + }, + "storageVolume": { + "description": "The storage volume this snapshot belongs to.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Bare Metal Solution API", + "version": "v2", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/bigquery/v2/bigquery-api.json b/etc/api/bigquery/v2/bigquery-api.json index c27c6687b7..dbf7118071 100644 --- a/etc/api/bigquery/v2/bigquery-api.json +++ b/etc/api/bigquery/v2/bigquery-api.json @@ -3,28 +3,25 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/bigquery": { - "description": "View and manage your data in Google BigQuery" + "description": "View and manage your data in Google BigQuery and see the email address for your Google Account" }, "https://www.googleapis.com/auth/bigquery.insertdata": { "description": "Insert data into Google BigQuery" }, - "https://www.googleapis.com/auth/bigquery.readonly": { - "description": "View your data in Google BigQuery" - }, "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" }, "https://www.googleapis.com/auth/devstorage.full_control": { - "description": "Manage your data and permissions in Google Cloud Storage" + "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 Google Cloud Storage" + "description": "Manage your data in Cloud Storage and see the email address of your Google Account" } } } @@ -155,7 +152,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -229,7 +225,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -343,7 +338,7 @@ ] }, "delete": { - "description": "Requests that a job is deleted. This call will return when the job is deleted. This method is available in limited preview.", + "description": "Requests the deletion of the metadata of a job. This call returns when the job's metadata is deleted.", "flatPath": "projects/{projectsId}/jobs/{jobsId}/delete", "httpMethod": "DELETE", "id": "bigquery.jobs.delete", @@ -353,7 +348,7 @@ ], "parameters": { "jobId": { - "description": "Required. Job ID of the job to be deleted. If this is a parent job which has child jobs, all child jobs will be deleted as well. Deletion of child jobs directly is not allowed.", + "description": "Required. Job ID of the job for which metadata is to be deleted. If this is a parent job which has child jobs, the metadata from all child jobs will be deleted as well. Direct deletion of the metadata of child jobs is not allowed.", "location": "path", "pattern": "^[^/]+$", "required": true, @@ -365,7 +360,7 @@ "type": "string" }, "projectId": { - "description": "Required. Project ID of the job to be deleted.", + "description": "Required. Project ID of the job for which metadata is to be deleted.", "location": "path", "pattern": "^[^/]+$", "required": true, @@ -411,7 +406,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -472,7 +466,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -606,7 +599,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -635,7 +627,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -722,13 +713,12 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "list": { - "description": "Lists all models in the specified dataset. Requires the READER dataset role.", + "description": "Lists all models in the specified dataset. Requires the READER dataset role. After retrieving the list of models, you can get information about a particular model by calling the models.get method.", "flatPath": "projects/{projectsId}/datasets/{datasetsId}/models", "httpMethod": "GET", "id": "bigquery.models.list", @@ -769,7 +759,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -844,7 +833,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -872,7 +860,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -965,7 +952,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -1060,7 +1046,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -1140,7 +1125,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -1195,7 +1179,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -1255,7 +1238,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -1363,7 +1345,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -1447,7 +1428,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -1478,7 +1458,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -1556,7 +1535,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -1571,6 +1549,11 @@ "tableId" ], "parameters": { + "autodetect_schema": { + "description": "When true will autodetect schema, else will keep original schema", + "location": "query", + "type": "boolean" + }, "datasetId": { "description": "Dataset ID of the table to update", "location": "path", @@ -1657,7 +1640,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -1672,6 +1654,11 @@ "tableId" ], "parameters": { + "autodetect_schema": { + "description": "When true will autodetect schema, else will keep original schema", + "location": "query", + "type": "boolean" + }, "datasetId": { "description": "Dataset ID of the table to update", "location": "path", @@ -1706,7 +1693,7 @@ } } }, - "revision": "20210327", + "revision": "20220222", "rootUrl": "https://bigquery.googleapis.com/", "schemas": { "AggregateClassificationMetrics": { @@ -1891,7 +1878,7 @@ "YEARLY" ], "enumDescriptions": [ - "", + "Unspecified seasonal period.", "No seasonality", "Daily period, 24 hours.", "Weekly period, 7 days.", @@ -1929,6 +1916,18 @@ "description": "Whether Arima model fitted with drift or not. It is always false when d is not 1.", "type": "boolean" }, + "hasHolidayEffect": { + "description": "If true, holiday_effect is a part of time series decomposition result.", + "type": "boolean" + }, + "hasSpikesAndDips": { + "description": "If true, spikes_and_dips is a part of time series decomposition result.", + "type": "boolean" + }, + "hasStepChanges": { + "description": "If true, step_changes is a part of time series decomposition result.", + "type": "boolean" + }, "nonSeasonalOrder": { "$ref": "ArimaOrder", "description": "Non-seasonal order." @@ -1946,7 +1945,7 @@ "YEARLY" ], "enumDescriptions": [ - "", + "Unspecified seasonal period.", "No seasonality", "Daily period, 24 hours.", "Weekly period, 7 days.", @@ -1961,6 +1960,13 @@ "timeSeriesId": { "description": "The time_series_id value for this time series. It will be one of the unique values from the time_series_id_column specified during ARIMA model training. Only present when time_series_id_column training option was used.", "type": "string" + }, + "timeSeriesIds": { + "description": "The tuple of time_series_ids identifying this time series. It will be one of the unique tuples of values present in the time_series_id_columns specified during ARIMA model training. Only present when time_series_id_columns training option was used and the order of values here are same as the order of time_series_id_columns.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -2011,7 +2017,7 @@ "YEARLY" ], "enumDescriptions": [ - "", + "Unspecified seasonal period.", "No seasonality", "Daily period, 24 hours.", "Weekly period, 7 days.", @@ -2038,6 +2044,18 @@ "description": "Is arima model fitted with drift or not. It is always false when d is not 1.", "type": "boolean" }, + "hasHolidayEffect": { + "description": "If true, holiday_effect is a part of time series decomposition result.", + "type": "boolean" + }, + "hasSpikesAndDips": { + "description": "If true, spikes_and_dips is a part of time series decomposition result.", + "type": "boolean" + }, + "hasStepChanges": { + "description": "If true, step_changes is a part of time series decomposition result.", + "type": "boolean" + }, "nonSeasonalOrder": { "$ref": "ArimaOrder", "description": "Non-seasonal order." @@ -2055,7 +2073,7 @@ "YEARLY" ], "enumDescriptions": [ - "", + "Unspecified seasonal period.", "No seasonality", "Daily period, 24 hours.", "Weekly period, 7 days.", @@ -2070,6 +2088,13 @@ "timeSeriesId": { "description": "The time_series_id value for this time series. It will be one of the unique values from the time_series_id_column specified during ARIMA model training. Only present when time_series_id_column training option was used.", "type": "string" + }, + "timeSeriesIds": { + "description": "The tuple of time_series_ids identifying this time series. It will be one of the unique tuples of values present in the time_series_id_columns specified during ARIMA model training. Only present when time_series_id_columns training option was used and the order of values here are same as the order of time_series_id_columns.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -2122,6 +2147,50 @@ }, "type": "object" }, + "AvroOptions": { + "id": "AvroOptions", + "properties": { + "useAvroLogicalTypes": { + "description": "[Optional] If sourceFormat is set to \"AVRO\", indicates whether to interpret logical types as the corresponding BigQuery data type (for example, TIMESTAMP), instead of using the raw type (for example, INTEGER).", + "type": "boolean" + } + }, + "type": "object" + }, + "BiEngineReason": { + "id": "BiEngineReason", + "properties": { + "code": { + "default": "$(reason.code)", + "description": "[Output-only] High-level BI Engine reason for partial or disabled acceleration.", + "type": "string" + }, + "message": { + "default": "$(reason.message)", + "description": "[Output-only] Free form human-readable reason for partial or disabled acceleration.", + "type": "string" + } + }, + "type": "object" + }, + "BiEngineStatistics": { + "id": "BiEngineStatistics", + "properties": { + "biEngineMode": { + "default": "$(stats.bi_engine_mode)", + "description": "[Output-only] Specifies which mode of BI Engine acceleration was performed (if any).", + "type": "string" + }, + "biEngineReasons": { + "description": "In case of DISABLED or PARTIAL bi_engine_mode, these contain the explanatory reasons as to why BI Engine could not accelerate. In case the full query was accelerated, this field is not populated.", + "items": { + "$ref": "BiEngineReason" + }, + "type": "array" + } + }, + "type": "object" + }, "BigQueryModelTraining": { "id": "BigQueryModelTraining", "properties": { @@ -2297,22 +2366,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -2575,6 +2644,10 @@ "description": "[Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence \"\\t\" to specify a tab separator. The default value is a comma (',').", "type": "string" }, + "null_marker": { + "description": "[Optional] An custom string that will represent a NULL value in CSV import data.", + "type": "string" + }, "quote": { "default": "\"", "description": "[Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('\"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true.", @@ -2661,6 +2734,10 @@ "$ref": "DatasetReference", "description": "[Required] A reference that identifies the dataset." }, + "defaultCollation": { + "description": "[Output-only] The default collation of the dataset.", + "type": "string" + }, "defaultEncryptionConfiguration": { "$ref": "EncryptionConfiguration" }, @@ -2690,6 +2767,10 @@ "description": "[Output-only] The fully-qualified unique name of the dataset in the format projectId:datasetId. The dataset name without the project name is given in the datasetId field. When creating a new dataset, leave this field blank, and instead specify the datasetId field.", "type": "string" }, + "isCaseInsensitive": { + "description": "[Optional] Indicates if table names are case insensitive in the dataset.", + "type": "boolean" + }, "kind": { "default": "bigquery#dataset", "description": "[Output-only] The resource type.", @@ -2718,6 +2799,23 @@ "selfLink": { "description": "[Output-only] A URL that can be used to access the resource again. You can use this URL in Get or Update requests to the resource.", "type": "string" + }, + "tags": { + "description": "[Optional]The tags associated with this dataset. Tag keys are globally unique.", + "items": { + "properties": { + "tagKey": { + "description": "[Required] The namespaced friendly name of the tag key, e.g. \"12345/environment\" where 12345 is org id.", + "type": "string" + }, + "tagValue": { + "description": "[Required] Friendly short name of the tag value, e.g. \"production\".", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" } }, "type": "object" @@ -2729,15 +2827,17 @@ "$ref": "DatasetReference", "description": "[Required] The dataset this entry applies to." }, - "target_types": { + "targetTypes": { "items": { - "properties": { - "targetType": { - "description": "[Required] Which resources in the dataset this entry applies to. Currently, only views are supported, but additional target types may be added in the future. Possible values: VIEWS: This entry applies to all views in the dataset.", - "type": "string" - } - }, - "type": "object" + "enum": [ + "TARGET_TYPE_UNSPECIFIED", + "VIEWS" + ], + "enumDescriptions": [ + "Do not use. You must set a target type explicitly.", + "This entry applies to views in the dataset." + ], + "type": "string" }, "type": "array" } @@ -2831,6 +2931,11 @@ "description": "[Optional] The description for the destination table. This will only be used if the destination table is newly created. If the table already exists and a value different than the current description is provided, the job will fail.", "type": "string" }, + "expirationTime": { + "description": "[Internal] This field is for Google internal use only.", + "format": "date-time", + "type": "string" + }, "friendlyName": { "description": "[Optional] The friendly name for the destination table. This will only be used if the destination table is newly created. If the table already exists and a value different than the current friendly name is provided, the job will fail.", "type": "string" @@ -2845,14 +2950,23 @@ }, "type": "object" }, - "DimensionalityReductionMetrics": { - "description": "Model evaluation metrics for dimensionality reduction models.", - "id": "DimensionalityReductionMetrics", + "DmlStatistics": { + "id": "DmlStatistics", "properties": { - "totalExplainedVarianceRatio": { - "description": "Total percentage of variance explained by the selected principal components.", - "format": "double", - "type": "number" + "deletedRowCount": { + "description": "Number of deleted Rows. populated by DML DELETE, MERGE and TRUNCATE statements.", + "format": "int64", + "type": "string" + }, + "insertedRowCount": { + "description": "Number of inserted Rows. Populated by DML INSERT and MERGE statements.", + "format": "int64", + "type": "string" + }, + "updatedRowCount": { + "description": "Number of updated Rows. Populated by DML UPDATE and MERGE statements.", + "format": "int64", + "type": "string" } }, "type": "object" @@ -2921,10 +3035,6 @@ "$ref": "ClusteringMetrics", "description": "Populated for clustering models." }, - "dimensionalityReductionMetrics": { - "$ref": "DimensionalityReductionMetrics", - "description": "Evaluation metrics when the model is a dimensionality reduction model, which currently includes PCA." - }, "multiClassClassificationMetrics": { "$ref": "MultiClassClassificationMetrics", "description": "Populated for multi-class classification/classifier models." @@ -3116,22 +3226,6 @@ }, "type": "object" }, - "Explanation": { - "description": "Explanation for a single feature.", - "id": "Explanation", - "properties": { - "attribution": { - "description": "Attribution of feature.", - "format": "double", - "type": "number" - }, - "featureName": { - "description": "Full name of the feature. For non-numerical features, will be formatted like .. Overall size of feature name will always be truncated to first 120 characters.", - "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", @@ -3162,6 +3256,10 @@ "description": "Try to detect schema and format options automatically. Any option specified explicitly will be honored.", "type": "boolean" }, + "avroOptions": { + "$ref": "AvroOptions", + "description": "Additional properties to set if sourceFormat is set to Avro." + }, "bigtableOptions": { "$ref": "BigtableOptions", "description": "[Optional] Additional options if sourceFormat is set to BIGTABLE." @@ -3178,6 +3276,13 @@ "$ref": "CsvOptions", "description": "Additional properties to set if sourceFormat is set to CSV." }, + "decimalTargetTypes": { + "description": "[Optional] Defines the list of possible SQL data types to which the source decimal values are converted. This list and the precision and the scale parameters of the decimal field determine the target type. In the order of NUMERIC, BIGNUMERIC, and STRING, a type is picked if it is in the specified list and if it supports the precision and the scale. STRING supports all precision and scale values. If none of the listed types supports the precision and the scale, the type supporting the widest range in the specified list is picked, and if a value exceeds the supported range when reading the data, an error will be thrown. Example: Suppose the value of this field is [\"NUMERIC\", \"BIGNUMERIC\"]. If (precision,scale) is: (38,9) -> NUMERIC; (39,9) -> BIGNUMERIC (NUMERIC cannot hold 30 integer digits); (38,10) -> BIGNUMERIC (NUMERIC cannot hold 10 fractional digits); (76,38) -> BIGNUMERIC; (77,38) -> BIGNUMERIC (error if value exeeds supported range). This field cannot contain duplicate types. The order of the types in this field is ignored. For example, [\"BIGNUMERIC\", \"NUMERIC\"] is the same as [\"NUMERIC\", \"BIGNUMERIC\"] and NUMERIC always takes precedence over BIGNUMERIC. Defaults to [\"NUMERIC\", \"STRING\"] for ORC and [\"NUMERIC\"] for the other file formats.", + "items": { + "type": "string" + }, + "type": "array" + }, "googleSheetsOptions": { "$ref": "GoogleSheetsOptions", "description": "[Optional] Additional options if sourceFormat is set to GOOGLE_SHEETS." @@ -3253,7 +3358,7 @@ "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).", + "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" } @@ -3339,24 +3444,6 @@ }, "type": "object" }, - "GlobalExplanation": { - "description": "Global explanations containing the top most important features after training.", - "id": "GlobalExplanation", - "properties": { - "classLabel": { - "description": "Class label for this set of global explanations. Will be empty/null for binary logistic and linear regression models. Sorted alphabetically in descending order.", - "type": "string" - }, - "explanations": { - "description": "A list of the top global explanations. Sorted by absolute value of attribution in descending order.", - "items": { - "$ref": "Explanation" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleSheetsOptions": { "id": "GoogleSheetsOptions", "properties": { @@ -3391,19 +3478,8 @@ "type": "object" }, "IterationResult": { - "description": "Information about a single iteration of the training run.", "id": "IterationResult", "properties": { - "arimaResult": { - "$ref": "ArimaResult" - }, - "clusterInfos": { - "description": "Information about top clusters for clustering models.", - "items": { - "$ref": "ClusterInfo" - }, - "type": "array" - }, "durationMs": { "description": "Time taken to run the iteration in milliseconds.", "format": "int64", @@ -3424,13 +3500,6 @@ "format": "double", "type": "number" }, - "principalComponentInfos": { - "description": "The information of the principal components.", - "items": { - "$ref": "PrincipalComponentInfo" - }, - "type": "array" - }, "trainingLoss": { "description": "Loss computed on the training data at the end of iteration.", "format": "double", @@ -3609,7 +3678,7 @@ "type": "string" }, "decimalTargetTypes": { - "description": "Defines the list of possible SQL data types to which the source decimal values are converted. This list and the precision and the scale parameters of the decimal field determine the target type. In the order of NUMERIC, BIGNUMERIC ([Preview](/products/#product-launch-stages)), and STRING, a type is picked if it is in the specified list and if it supports the precision and the scale. STRING supports all precision and scale values. If none of the listed types supports the precision and the scale, the type supporting the widest range in the specified list is picked, and if a value exceeds the supported range when reading the data, an error will be thrown. Example: Suppose the value of this field is [\"NUMERIC\", \"BIGNUMERIC\"]. If (precision,scale) is: * (38,9) -> NUMERIC; * (39,9) -> BIGNUMERIC (NUMERIC cannot hold 30 integer digits); * (38,10) -> BIGNUMERIC (NUMERIC cannot hold 10 fractional digits); * (76,38) -> BIGNUMERIC; * (77,38) -> BIGNUMERIC (error if value exeeds supported range). This field cannot contain duplicate types. The order of the types in this field is ignored. For example, [\"BIGNUMERIC\", \"NUMERIC\"] is the same as [\"NUMERIC\", \"BIGNUMERIC\"] and NUMERIC always takes precedence over BIGNUMERIC. Defaults to [\"NUMERIC\", \"STRING\"] for ORC and [\"NUMERIC\"] for the other file formats.", + "description": "[Optional] Defines the list of possible SQL data types to which the source decimal values are converted. This list and the precision and the scale parameters of the decimal field determine the target type. In the order of NUMERIC, BIGNUMERIC, and STRING, a type is picked if it is in the specified list and if it supports the precision and the scale. STRING supports all precision and scale values. If none of the listed types supports the precision and the scale, the type supporting the widest range in the specified list is picked, and if a value exceeds the supported range when reading the data, an error will be thrown. Example: Suppose the value of this field is [\"NUMERIC\", \"BIGNUMERIC\"]. If (precision,scale) is: (38,9) -> NUMERIC; (39,9) -> BIGNUMERIC (NUMERIC cannot hold 30 integer digits); (38,10) -> BIGNUMERIC (NUMERIC cannot hold 10 fractional digits); (76,38) -> BIGNUMERIC; (77,38) -> BIGNUMERIC (error if value exeeds supported range). This field cannot contain duplicate types. The order of the types in this field is ignored. For example, [\"BIGNUMERIC\", \"NUMERIC\"] is the same as [\"NUMERIC\", \"BIGNUMERIC\"] and NUMERIC always takes precedence over BIGNUMERIC. Defaults to [\"NUMERIC\", \"STRING\"] for ORC and [\"NUMERIC\"] for the other file formats.", "items": { "type": "string" }, @@ -3660,6 +3729,10 @@ "$ref": "ParquetOptions", "description": "[Optional] Options to configure parquet support." }, + "preserveAsciiControlCharacters": { + "description": "[Optional] Preserves the embedded ASCII control characters (the first 32 characters in the ASCII-table, from '\\x00' to '\\x1F') when loading from CSV. Only applicable to CSV, ignored for other formats.", + "type": "boolean" + }, "projectionFields": { "description": "If sourceFormat is set to \"DATASTORE_BACKUP\", indicates which entity properties to load into BigQuery from a Cloud Datastore backup. Property names are case sensitive and must be top-level properties. If no properties are specified, BigQuery loads all properties. If any named property isn't found in the Cloud Datastore backup, an invalid error is returned in the job result.", "items": { @@ -3717,7 +3790,7 @@ "description": "Time-based partitioning specification for the destination table. Only one of timePartitioning and rangePartitioning should be specified." }, "useAvroLogicalTypes": { - "description": "[Optional] If sourceFormat is set to \"AVRO\", indicates whether to enable interpreting logical types into their corresponding types (ie. TIMESTAMP), instead of only using their raw types (ie. INTEGER).", + "description": "[Optional] If sourceFormat is set to \"AVRO\", indicates whether to interpret logical types as the corresponding BigQuery data type (for example, TIMESTAMP), instead of using the raw type (for example, INTEGER).", "type": "boolean" }, "writeDisposition": { @@ -4061,7 +4134,7 @@ "$ref": "ScriptStatistics", "description": "[Output-only] Statistics for a child job of a script." }, - "sessionInfoTemplate": { + "sessionInfo": { "$ref": "SessionInfo", "description": "[Output-only] [Preview] Information of the session if this job is part of one." }, @@ -4080,7 +4153,7 @@ "format": "int64", "type": "string" }, - "transactionInfoTemplate": { + "transactionInfo": { "$ref": "TransactionInfo", "description": "[Output-only] [Alpha] Information of the multi-statement transaction if this job is part of one." } @@ -4090,6 +4163,10 @@ "JobStatistics2": { "id": "JobStatistics2", "properties": { + "biEngineStatistics": { + "$ref": "BiEngineStatistics", + "description": "BI Engine specific Statistics. [Output-only] BI Engine specific Statistics." + }, "billingTier": { "description": "[Output-only] Billing tier for the job.", "format": "int32", @@ -4104,6 +4181,10 @@ "format": "int64", "type": "string" }, + "ddlDestinationTable": { + "$ref": "TableReference", + "description": "[Output-only] The DDL destination table. Present only for ALTER TABLE RENAME TO queries. Note that ddl_target_table is used just for its type information." + }, "ddlOperationPerformed": { "description": "The DDL operation performed, possibly dependent on the pre-existence of the DDL target. Possible values (new values might be added in the future): \"CREATE\": The query created the DDL target. \"SKIP\": No-op. Example cases: the query is CREATE TABLE IF NOT EXISTS while the table already exists, or the query is DROP TABLE IF EXISTS while the table does not exist. \"REPLACE\": The query replaced the DDL target. Example case: the query is CREATE OR REPLACE TABLE, and the table already exists. \"DROP\": The query deleted the DDL target.", "type": "string" @@ -4124,11 +4205,19 @@ "$ref": "TableReference", "description": "[Output-only] The DDL target table. Present only for CREATE/DROP TABLE/VIEW and DROP ALL ROW ACCESS POLICIES queries." }, + "dmlStats": { + "$ref": "DmlStatistics", + "description": "[Output-only] Detailed statistics for DML statements Present only for DML statements INSERT, UPDATE, DELETE or TRUNCATE." + }, "estimatedBytesProcessed": { "description": "[Output-only] The original estimate of bytes processed for the job.", "format": "int64", "type": "string" }, + "mlStatistics": { + "$ref": "MlStatistics", + "description": "[Output-only] Statistics of a BigQuery ML training job." + }, "modelTraining": { "$ref": "BigQueryModelTraining", "description": "[Output-only, Beta] Information about create model query job progress." @@ -4406,6 +4495,24 @@ }, "type": "object" }, + "MlStatistics": { + "id": "MlStatistics", + "properties": { + "iterationResults": { + "description": "Results for all completed iterations.", + "items": { + "$ref": "IterationResult" + }, + "type": "array" + }, + "maxIterations": { + "description": "Maximum number of iterations specified as max_iterations in the 'CREATE MODEL' query. The actual number of iterations may be less than this number due to early stop.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "Model": { "id": "Model", "properties": { @@ -4495,7 +4602,8 @@ "BOOSTED_TREE_CLASSIFIER", "ARIMA", "AUTOML_REGRESSOR", - "AUTOML_CLASSIFIER" + "AUTOML_CLASSIFIER", + "ARIMA_PLUS" ], "enumDescriptions": [ "", @@ -4509,8 +4617,9 @@ "Boosted tree regressor model.", "Boosted tree classifier model.", "ARIMA model.", - "[Beta] AutoML Tables regression model.", - "[Beta] AutoML Tables classification model." + "AutoML Tables regression model.", + "AutoML Tables classification model.", + "New name for the ARIMA model." ], "readOnly": true, "type": "string" @@ -4608,7 +4717,7 @@ "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/).", + "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": { @@ -4619,7 +4728,7 @@ "type": "array" }, "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.", + "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" }, @@ -4638,33 +4747,6 @@ }, "type": "object" }, - "PrincipalComponentInfo": { - "description": "Principal component infos, used only for eigen decomposition based models, e.g., PCA. Ordered by explained_variance in the descending order.", - "id": "PrincipalComponentInfo", - "properties": { - "cumulativeExplainedVarianceRatio": { - "description": "The explained_variance is pre-ordered in the descending order to compute the cumulative explained variance ratio.", - "format": "double", - "type": "number" - }, - "explainedVariance": { - "description": "Explained variance by this principal component, which is simply the eigenvalue.", - "format": "double", - "type": "number" - }, - "explainedVarianceRatio": { - "description": "Explained_variance over the total explained variance.", - "format": "double", - "type": "number" - }, - "principalComponentId": { - "description": "Id of the principal component.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, "ProjectList": { "id": "ProjectList", "properties": { @@ -4908,6 +4990,10 @@ "description": "Whether the query result was fetched from the query cache.", "type": "boolean" }, + "dmlStats": { + "$ref": "DmlStatistics", + "description": "[Output-only] Detailed statistics for DML statements Present only for DML statements INSERT, UPDATE, DELETE or TRUNCATE." + }, "errors": { "description": "[Output-only] The first errors or warnings encountered during the running of the job. The final message includes the number of errors that caused the process to stop. Errors here do not necessarily mean that the job has completed or was unsuccessful.", "items": { @@ -4948,7 +5034,7 @@ "$ref": "TableSchema", "description": "The schema of the results. Present only when the query completes successfully." }, - "sessionInfoTemplate": { + "sessionInfo": { "$ref": "SessionInfo", "description": "[Output-only] [Preview] Information of the session if this job is part of one." }, @@ -5108,11 +5194,11 @@ "type": "string" }, "description": { - "description": "Optional. [Experimental] The description of the routine if defined.", + "description": "Optional. The description of the routine, if defined.", "type": "string" }, "determinismLevel": { - "description": "Optional. [Experimental] The determinism level of the JavaScript UDF if defined.", + "description": "Optional. The determinism level of the JavaScript UDF, if defined.", "enum": [ "DETERMINISM_LEVEL_UNSPECIFIED", "DETERMINISTIC", @@ -5159,11 +5245,11 @@ }, "returnTableType": { "$ref": "StandardSqlTableType", - "description": "Optional. Set only if Routine is a \"TABLE_VALUED_FUNCTION\"." + "description": "Optional. Can be set only if routine_type = \"TABLE_VALUED_FUNCTION\". If absent, the return table type is inferred from definition_body at query time in each query that references this routine. If present, then the columns in the evaluated table result will be cast to match the column types specificed in return table type, at query time." }, "returnType": { "$ref": "StandardSqlDataType", - "description": "Optional if language = \"SQL\"; required otherwise. If absent, the return type is inferred from definition_body at query time in each query that references this routine. If present, then the evaluated result will be cast to the specified returned type at query time. For example, for the functions created with the following statements: * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);` * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));` * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));` The return_type is `{type_kind: \"FLOAT64\"}` for `Add` and `Decrement`, and is absent for `Increment` (inferred as FLOAT64 at query time). Suppose the function `Add` is replaced by `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);` Then the inferred return type of `Increment` is automatically changed to INT64 at query time, while the return type of `Decrement` remains FLOAT64." + "description": "Optional if language = \"SQL\"; required otherwise. Cannot be set if routine_type = \"TABLE_VALUED_FUNCTION\". If absent, the return type is inferred from definition_body at query time in each query that references this routine. If present, then the evaluated result will be cast to the specified returned type at query time. For example, for the functions created with the following statements: * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);` * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));` * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));` The return_type is `{type_kind: \"FLOAT64\"}` for `Add` and `Decrement`, and is absent for `Increment` (inferred as FLOAT64 at query time). Suppose the function `Add` is replaced by `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);` Then the inferred return type of `Increment` is automatically changed to INT64 at query time, while the return type of `Decrement` remains FLOAT64." }, "routineReference": { "$ref": "RoutineReference", @@ -5184,6 +5270,10 @@ "Non-builtin permanent TVF." ], "type": "string" + }, + "strictMode": { + "description": "Optional. Can be set for procedures only. If true (default), the definition body will be validated in the creation and the updates of the procedure. For procedures with an argument of ANY TYPE, the definition body validtion is not supported at creation/update time, and thus this field must be set to false explicitly.", + "type": "boolean" } }, "type": "object" @@ -5370,10 +5460,10 @@ "properties": { "baseTableReference": { "$ref": "TableReference", - "description": "[Required] Reference describing the ID of the table that is snapshotted." + "description": "[Required] Reference describing the ID of the table that was snapshot." }, "snapshotTime": { - "description": "[Required] The time at which the base table was snapshot.", + "description": "[Required] The time at which the base table was snapshot. This value is reported in the JSON response using RFC3339 format.", "format": "date-time", "type": "string" } @@ -5381,7 +5471,7 @@ "type": "object" }, "StandardSqlDataType": { - "description": "The type of a variable, e.g., a function argument. Examples: INT64: {type_kind=\"INT64\"} ARRAY: {type_kind=\"ARRAY\", array_element_type=\"STRING\"} STRUCT>: {type_kind=\"STRUCT\", struct_type={fields=[ {name=\"x\", type={type_kind=\"STRING\"}}, {name=\"y\", type={type_kind=\"ARRAY\", array_element_type=\"DATE\"}} ]}}", + "description": "The data type of a variable such as a function argument. Examples include: * INT64: `{\"typeKind\": \"INT64\"}` * ARRAY: { \"typeKind\": \"ARRAY\", \"arrayElementType\": {\"typeKind\": \"STRING\"} } * STRUCT>: { \"typeKind\": \"STRUCT\", \"structType\": { \"fields\": [ { \"name\": \"x\", \"type\": {\"typeKind: \"STRING\"} }, { \"name\": \"y\", \"type\": { \"typeKind\": \"ARRAY\", \"arrayElementType\": {\"typekind\": \"DATE\"} } } ] } }", "id": "StandardSqlDataType", "properties": { "arrayElementType": { @@ -5409,6 +5499,7 @@ "GEOGRAPHY", "NUMERIC", "BIGNUMERIC", + "JSON", "ARRAY", "STRUCT" ], @@ -5427,6 +5518,7 @@ "Encoded as WKT", "Encoded as a decimal string.", "Encoded as a decimal string.", + "Encoded as a string.", "Encoded as a list with types matching Type.array_type.", "Encoded as a list with fields of type Type.struct_type[i]. List is used because a JSON object cannot have duplicate field names." ], @@ -5509,6 +5601,10 @@ "format": "int64", "type": "string" }, + "defaultCollation": { + "description": "[Output-only] The default collation of the table.", + "type": "string" + }, "description": { "description": "[Optional] A user-friendly description of this table.", "type": "string" @@ -5759,6 +5855,10 @@ }, "type": "object" }, + "collationSpec": { + "description": "Optional. Collation specification of the field. It only can be set on string type field.", + "type": "string" + }, "description": { "description": "[Optional] The field description. The maximum length is 1,024 characters.", "type": "string" @@ -5780,7 +5880,7 @@ "type": "string" }, "name": { - "description": "[Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters.", + "description": "[Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 300 characters.", "type": "string" }, "policyTags": { @@ -6018,6 +6118,10 @@ "description": "Options used in model training.", "id": "TrainingOptions", "properties": { + "adjustStepChanges": { + "description": "If true, detect step changes and make data adjustment in the input time series.", + "type": "boolean" + }, "autoArima": { "description": "Whether to enable auto ARIMA or not.", "type": "boolean" @@ -6032,6 +6136,53 @@ "format": "int64", "type": "string" }, + "boosterType": { + "description": "Booster type for boosted tree models.", + "enum": [ + "BOOSTER_TYPE_UNSPECIFIED", + "GBTREE", + "DART" + ], + "enumDescriptions": [ + "Unspecified booster type.", + "Gbtree booster.", + "Dart booster." + ], + "type": "string" + }, + "cleanSpikesAndDips": { + "description": "If true, clean spikes and dips in the input time series.", + "type": "boolean" + }, + "colsampleBylevel": { + "description": "Subsample ratio of columns for each level for boosted tree models.", + "format": "double", + "type": "number" + }, + "colsampleBynode": { + "description": "Subsample ratio of columns for each node(split) for boosted tree models.", + "format": "double", + "type": "number" + }, + "colsampleBytree": { + "description": "Subsample ratio of columns when constructing each tree for boosted tree models.", + "format": "double", + "type": "number" + }, + "dartNormalizeType": { + "description": "Type of normalization algorithm for boosted tree models using dart booster.", + "enum": [ + "DART_NORMALIZE_TYPE_UNSPECIFIED", + "TREE", + "FOREST" + ], + "enumDescriptions": [ + "Unspecified dart normalize type.", + "New trees have the same weight of each of dropped trees.", + "New trees have the same weight of sum of dropped trees." + ], + "type": "string" + }, "dataFrequency": { "description": "The data frequency of a time series.", "enum": [ @@ -6087,6 +6238,10 @@ ], "type": "string" }, + "decomposeTimeSeries": { + "description": "If true, perform decompose time series and save the results.", + "type": "boolean" + }, "distanceType": { "description": "Distance type for clustering models.", "enum": [ @@ -6394,6 +6549,11 @@ "format": "double", "type": "number" }, + "minTreeChildWeight": { + "description": "Minimum sum of instance weight needed in a child for boosted tree models.", + "format": "int64", + "type": "string" + }, "modelUri": { "description": "Google Cloud Storage URI from which the model was imported. Only applicable for imported models.", "type": "string" @@ -6412,6 +6572,11 @@ "format": "int64", "type": "string" }, + "numParallelTree": { + "description": "Number of parallel trees constructed during each iteration for boosted tree models.", + "format": "int64", + "type": "string" + }, "optimizationStrategy": { "description": "Optimization strategy for training linear regression models.", "enum": [ @@ -6443,10 +6608,35 @@ "description": "The time series id column that was used during ARIMA model training.", "type": "string" }, + "timeSeriesIdColumns": { + "description": "The time series id columns that were used during ARIMA model training.", + "items": { + "type": "string" + }, + "type": "array" + }, "timeSeriesTimestampColumn": { "description": "Column to be designated as time series timestamp for ARIMA model.", "type": "string" }, + "treeMethod": { + "description": "Tree construction algorithm for boosted tree models.", + "enum": [ + "TREE_METHOD_UNSPECIFIED", + "AUTO", + "EXACT", + "APPROX", + "HIST" + ], + "enumDescriptions": [ + "Unspecified tree method.", + "Use heuristic to choose the fastest method.", + "Exact greedy algorithm.", + "Approximate greedy algorithm using quantile sketch and gradient histogram.", + "Fast histogram optimized approximate greedy algorithm." + ], + "type": "string" + }, "userColumn": { "description": "User column specified for matrix factorization models.", "type": "string" @@ -6475,13 +6665,6 @@ "$ref": "EvaluationMetrics", "description": "The evaluation metrics over training/eval data that were computed at the end of training." }, - "globalExplanations": { - "description": "Global explanations for important features of the model. For multi-class models, there is one entry for each label class. For other models, there is only one entry in the list.", - "items": { - "$ref": "GlobalExplanation" - }, - "type": "array" - }, "results": { "description": "Output of each iteration run, results.size() <= max_iterations.", "items": { @@ -6533,6 +6716,10 @@ "description": "[Required] A query that BigQuery executes when the view is referenced.", "type": "string" }, + "useExplicitColumnNames": { + "description": "True if the column names are explicitly specified. For example by using the 'CREATE VIEW v(c1, c2) AS ...' syntax. Can only be set using BigQuery's standard SQL: https://cloud.google.com/bigquery/sql-reference/", + "type": "boolean" + }, "useLegacySql": { "description": "Specifies whether to use BigQuery's legacy SQL for this view. The default value is true. If set to false, the view will use BigQuery's standard SQL: https://cloud.google.com/bigquery/sql-reference/ Queries and views that reference this view must use the same flag value.", "type": "boolean" diff --git a/etc/api/bigqueryconnection/v1beta1/bigqueryconnection-api.json b/etc/api/bigqueryconnection/v1beta1/bigqueryconnection-api.json index db6c4f6880..5882788aba 100644 --- a/etc/api/bigqueryconnection/v1beta1/bigqueryconnection-api.json +++ b/etc/api/bigqueryconnection/v1beta1/bigqueryconnection-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/bigquery": { - "description": "View and manage your data in Google 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 Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -395,7 +395,7 @@ } } }, - "revision": "20210326", + "revision": "20220226", "rootUrl": "https://bigqueryconnection.googleapis.com/", "schemas": { "AuditConfig": { @@ -447,22 +447,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -612,7 +612,7 @@ "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).", + "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" } @@ -638,7 +638,7 @@ "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/).", + "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": { @@ -649,7 +649,7 @@ "type": "array" }, "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.", + "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" }, diff --git a/etc/api/bigquerydatatransfer/v1/bigquerydatatransfer-api.json b/etc/api/bigquerydatatransfer/v1/bigquerydatatransfer-api.json index ce285840e9..9d6a833f06 100644 --- a/etc/api/bigquerydatatransfer/v1/bigquerydatatransfer-api.json +++ b/etc/api/bigquerydatatransfer/v1/bigquerydatatransfer-api.json @@ -3,16 +3,13 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/bigquery": { - "description": "View and manage your data in Google BigQuery" - }, - "https://www.googleapis.com/auth/bigquery.readonly": { - "description": "View your data in Google 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 Platform data" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" } } } @@ -115,11 +112,42 @@ "protocol": "rest", "resources": { "projects": { + "methods": { + "enrollDataSources": { + "description": "Enroll data sources in a user project. This allows users to create transfer configurations for these data sources. They will also appear in the ListDataSources RPC and as such, will appear in the BigQuery UI 'https://bigquery.cloud.google.com' (and the documents can be found at https://cloud.google.com/bigquery/bigquery-web-ui and https://cloud.google.com/bigquery/docs/working-with-transfers).", + "flatPath": "v1/projects/{projectsId}:enrollDataSources", + "httpMethod": "POST", + "id": "bigquerydatatransfer.projects.enrollDataSources", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the project resource in the form: `projects/{project_id}`", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:enrollDataSources", + "request": { + "$ref": "EnrollDataSourcesRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, "resources": { "dataSources": { "methods": { "checkValidCreds": { - "description": "Returns true if valid credentials exist for the given data source and requesting user. Some data sources doesn't support service account, so we need to talk to them on behalf of the end user. This API just checks whether we have OAuth token for the particular user, which is a pre-requisite before user can create a transfer config.", + "description": "Returns true if valid credentials exist for the given data source and requesting user.", "flatPath": "v1/projects/{projectsId}/dataSources/{dataSourcesId}:checkValidCreds", "httpMethod": "POST", "id": "bigquerydatatransfer.projects.dataSources.checkValidCreds", @@ -144,13 +172,12 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "get": { - "description": "Retrieves a supported data source and returns its settings, which can be used for UI rendering.", + "description": "Retrieves a supported data source and returns its settings.", "flatPath": "v1/projects/{projectsId}/dataSources/{dataSourcesId}", "httpMethod": "GET", "id": "bigquerydatatransfer.projects.dataSources.get", @@ -172,13 +199,12 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "list": { - "description": "Lists supported data sources and returns their settings, which can be used for UI rendering.", + "description": "Lists supported data sources and returns their settings.", "flatPath": "v1/projects/{projectsId}/dataSources", "httpMethod": "GET", "id": "bigquerydatatransfer.projects.dataSources.list", @@ -198,7 +224,7 @@ "type": "string" }, "parent": { - "description": "Required. The BigQuery project id for which data sources should be returned. Must be in the form: `projects/{project_id}` or `projects/{project_id}/locations/{location_id}", + "description": "Required. The BigQuery project id for which data sources should be returned. Must be in the form: `projects/{project_id}` or `projects/{project_id}/locations/{location_id}`", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -211,7 +237,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -220,6 +245,35 @@ }, "locations": { "methods": { + "enrollDataSources": { + "description": "Enroll data sources in a user project. This allows users to create transfer configurations for these data sources. They will also appear in the ListDataSources RPC and as such, will appear in the BigQuery UI 'https://bigquery.cloud.google.com' (and the documents can be found at https://cloud.google.com/bigquery/bigquery-web-ui and https://cloud.google.com/bigquery/docs/working-with-transfers).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:enrollDataSources", + "httpMethod": "POST", + "id": "bigquerydatatransfer.projects.locations.enrollDataSources", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the project resource in the form: `projects/{project_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:enrollDataSources", + "request": { + "$ref": "EnrollDataSourcesRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Gets information about a location.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}", @@ -243,7 +297,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -270,7 +323,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -287,7 +340,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -297,7 +349,7 @@ "dataSources": { "methods": { "checkValidCreds": { - "description": "Returns true if valid credentials exist for the given data source and requesting user. Some data sources doesn't support service account, so we need to talk to them on behalf of the end user. This API just checks whether we have OAuth token for the particular user, which is a pre-requisite before user can create a transfer config.", + "description": "Returns true if valid credentials exist for the given data source and requesting user.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataSources/{dataSourcesId}:checkValidCreds", "httpMethod": "POST", "id": "bigquerydatatransfer.projects.locations.dataSources.checkValidCreds", @@ -322,13 +374,12 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "get": { - "description": "Retrieves a supported data source and returns its settings, which can be used for UI rendering.", + "description": "Retrieves a supported data source and returns its settings.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataSources/{dataSourcesId}", "httpMethod": "GET", "id": "bigquerydatatransfer.projects.locations.dataSources.get", @@ -350,13 +401,12 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "list": { - "description": "Lists supported data sources and returns their settings, which can be used for UI rendering.", + "description": "Lists supported data sources and returns their settings.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataSources", "httpMethod": "GET", "id": "bigquerydatatransfer.projects.locations.dataSources.list", @@ -376,7 +426,7 @@ "type": "string" }, "parent": { - "description": "Required. The BigQuery project id for which data sources should be returned. Must be in the form: `projects/{project_id}` or `projects/{project_id}/locations/{location_id}", + "description": "Required. The BigQuery project id for which data sources should be returned. Must be in the form: `projects/{project_id}` or `projects/{project_id}/locations/{location_id}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -389,7 +439,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -408,7 +457,7 @@ ], "parameters": { "authorizationCode": { - "description": "Optional OAuth2 authorization code to use with this transfer configuration. This is required if new credentials are needed, as indicated by `CheckValidCreds`. In order to obtain authorization_code, please make a request to https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri= * client_id should be OAuth client_id of BigQuery DTS API for the given data source returned by ListDataSources method. * data_source_scopes are the scopes returned by ListDataSources method. * redirect_uri is an optional parameter. If not specified, then authorization code is posted to the opener of authorization flow window. Otherwise it will be sent to the redirect uri. A special value of urn:ietf:wg:oauth:2.0:oob means that authorization code should be returned in the title bar of the browser, with the page text prompting the user to copy the code and paste it in the application.", + "description": "Optional OAuth2 authorization code to use with this transfer configuration. This is required only if `transferConfig.dataSourceId` is 'youtube_channel' and new credentials are needed, as indicated by `CheckValidCreds`. In order to obtain authorization_code, please make a request to https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=authorization_code * client_id should be OAuth client_id of BigQuery DTS API for the given data source returned by ListDataSources method. * data_source_scopes are the scopes returned by ListDataSources method. Note that this should not be set when `service_account_name` is used to create the transfer config.", "location": "query", "type": "string" }, @@ -420,12 +469,12 @@ "type": "string" }, "serviceAccountName": { - "description": "Optional service account name. If this field is set, transfer config will be created with this service account credentials. It requires that requesting user calling this API has permissions to act as this service account.", + "description": "Optional service account name. If this field is set, transfer config will be created with this service account credential. It requires that requesting user calling this API has permissions to act as this service account. Note that not all data sources support service account credentials when creating transfer config. Please refer to this public guide for the latest list of data sources with service account support: https://cloud.google.com/bigquery-transfer/docs/use-service-accounts", "location": "query", "type": "string" }, "versionInfo": { - "description": "Optional version info. If users want to find a very recent access token, that is, immediately after approving access, users have to set the version_info claim in the token request. To obtain the version_info, users must use the \"none+gsession\" response type. which be return a version_info back in the authorization response which be be put in a JWT claim in the token request.", + "description": "Optional version info. This is required only if `transferConfig.dataSourceId` is anything else but 'youtube_channel' and new credentials are needed, as indicated by `CheckValidCreds`. In order to obtain version info, please make a request to https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=version_info * client_id should be OAuth client_id of BigQuery DTS API for the given data source returned by ListDataSources method. * data_source_scopes are the scopes returned by ListDataSources method. Note that this should not be set when `service_account_name` is used to create the transfer config.", "location": "query", "type": "string" } @@ -490,13 +539,12 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "list": { - "description": "Returns information about all data transfers in the project.", + "description": "Returns information about all transfer configs owned by a project in the specified location.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs", "httpMethod": "GET", "id": "bigquerydatatransfer.projects.locations.transferConfigs.list", @@ -522,7 +570,7 @@ "type": "string" }, "parent": { - "description": "Required. The BigQuery project id for which data sources should be returned: `projects/{project_id}` or `projects/{project_id}/locations/{location_id}`", + "description": "Required. The BigQuery project id for which transfer configs should be returned: `projects/{project_id}` or `projects/{project_id}/locations/{location_id}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -535,7 +583,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -550,7 +597,7 @@ ], "parameters": { "authorizationCode": { - "description": "Optional OAuth2 authorization code to use with this transfer configuration. If it is provided, the transfer configuration will be associated with the authorizing user. In order to obtain authorization_code, please make a request to https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri= * client_id should be OAuth client_id of BigQuery DTS API for the given data source returned by ListDataSources method. * data_source_scopes are the scopes returned by ListDataSources method. * redirect_uri is an optional parameter. If not specified, then authorization code is posted to the opener of authorization flow window. Otherwise it will be sent to the redirect uri. A special value of urn:ietf:wg:oauth:2.0:oob means that authorization code should be returned in the title bar of the browser, with the page text prompting the user to copy the code and paste it in the application.", + "description": "Optional OAuth2 authorization code to use with this transfer configuration. This is required only if `transferConfig.dataSourceId` is 'youtube_channel' and new credentials are needed, as indicated by `CheckValidCreds`. In order to obtain authorization_code, please make a request to https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=authorization_code * client_id should be OAuth client_id of BigQuery DTS API for the given data source returned by ListDataSources method. * data_source_scopes are the scopes returned by ListDataSources method. Note that this should not be set when `service_account_name` is used to create the transfer config.", "location": "query", "type": "string" }, @@ -562,7 +609,7 @@ "type": "string" }, "serviceAccountName": { - "description": "Optional service account name. If this field is set and \"service_account_name\" is set in update_mask, transfer config will be updated to use this service account credentials. It requires that requesting user calling this API has permissions to act as this service account.", + "description": "Optional service account name. If this field is set and \"service_account_name\" is set in update_mask, transfer config will be created with this service account credential. It requires that requesting user calling this API has permissions to act as this service account. Note that not all data sources support service account credentials when creating transfer config. Please refer to this public guide for the latest list of data sources with service account support: https://cloud.google.com/bigquery-transfer/docs/use-service-accounts", "location": "query", "type": "string" }, @@ -573,7 +620,7 @@ "type": "string" }, "versionInfo": { - "description": "Optional version info. If users want to find a very recent access token, that is, immediately after approving access, users have to set the version_info claim in the token request. To obtain the version_info, users must use the \"none+gsession\" response type. which be return a version_info back in the authorization response which be be put in a JWT claim in the token request.", + "description": "Optional version info. This is required only if `transferConfig.dataSourceId` is anything else but 'youtube_channel' and new credentials are needed, as indicated by `CheckValidCreds`. In order to obtain version info, please make a request to https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=version_info * client_id should be OAuth client_id of BigQuery DTS API for the given data source returned by ListDataSources method. * data_source_scopes are the scopes returned by ListDataSources method. Note that this should not be set when `service_account_name` is used to create the transfer config.", "location": "query", "type": "string" } @@ -700,13 +747,12 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "list": { - "description": "Returns information about running and completed jobs.", + "description": "Returns information about running and completed transfer runs.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs/{transferConfigsId}/runs", "httpMethod": "GET", "id": "bigquerydatatransfer.projects.locations.transferConfigs.runs.list", @@ -774,7 +820,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -784,7 +829,7 @@ "transferLogs": { "methods": { "list": { - "description": "Returns user facing log messages for the data transfer run.", + "description": "Returns log messages for the transfer run.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs/{transferConfigsId}/runs/{runsId}/transferLogs", "httpMethod": "GET", "id": "bigquerydatatransfer.projects.locations.transferConfigs.runs.transferLogs.list", @@ -835,7 +880,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -860,7 +904,7 @@ ], "parameters": { "authorizationCode": { - "description": "Optional OAuth2 authorization code to use with this transfer configuration. This is required if new credentials are needed, as indicated by `CheckValidCreds`. In order to obtain authorization_code, please make a request to https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri= * client_id should be OAuth client_id of BigQuery DTS API for the given data source returned by ListDataSources method. * data_source_scopes are the scopes returned by ListDataSources method. * redirect_uri is an optional parameter. If not specified, then authorization code is posted to the opener of authorization flow window. Otherwise it will be sent to the redirect uri. A special value of urn:ietf:wg:oauth:2.0:oob means that authorization code should be returned in the title bar of the browser, with the page text prompting the user to copy the code and paste it in the application.", + "description": "Optional OAuth2 authorization code to use with this transfer configuration. This is required only if `transferConfig.dataSourceId` is 'youtube_channel' and new credentials are needed, as indicated by `CheckValidCreds`. In order to obtain authorization_code, please make a request to https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=authorization_code * client_id should be OAuth client_id of BigQuery DTS API for the given data source returned by ListDataSources method. * data_source_scopes are the scopes returned by ListDataSources method. Note that this should not be set when `service_account_name` is used to create the transfer config.", "location": "query", "type": "string" }, @@ -872,12 +916,12 @@ "type": "string" }, "serviceAccountName": { - "description": "Optional service account name. If this field is set, transfer config will be created with this service account credentials. It requires that requesting user calling this API has permissions to act as this service account.", + "description": "Optional service account name. If this field is set, transfer config will be created with this service account credential. It requires that requesting user calling this API has permissions to act as this service account. Note that not all data sources support service account credentials when creating transfer config. Please refer to this public guide for the latest list of data sources with service account support: https://cloud.google.com/bigquery-transfer/docs/use-service-accounts", "location": "query", "type": "string" }, "versionInfo": { - "description": "Optional version info. If users want to find a very recent access token, that is, immediately after approving access, users have to set the version_info claim in the token request. To obtain the version_info, users must use the \"none+gsession\" response type. which be return a version_info back in the authorization response which be be put in a JWT claim in the token request.", + "description": "Optional version info. This is required only if `transferConfig.dataSourceId` is anything else but 'youtube_channel' and new credentials are needed, as indicated by `CheckValidCreds`. In order to obtain version info, please make a request to https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=version_info * client_id should be OAuth client_id of BigQuery DTS API for the given data source returned by ListDataSources method. * data_source_scopes are the scopes returned by ListDataSources method. Note that this should not be set when `service_account_name` is used to create the transfer config.", "location": "query", "type": "string" } @@ -942,13 +986,12 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "list": { - "description": "Returns information about all data transfers in the project.", + "description": "Returns information about all transfer configs owned by a project in the specified location.", "flatPath": "v1/projects/{projectsId}/transferConfigs", "httpMethod": "GET", "id": "bigquerydatatransfer.projects.transferConfigs.list", @@ -974,7 +1017,7 @@ "type": "string" }, "parent": { - "description": "Required. The BigQuery project id for which data sources should be returned: `projects/{project_id}` or `projects/{project_id}/locations/{location_id}`", + "description": "Required. The BigQuery project id for which transfer configs should be returned: `projects/{project_id}` or `projects/{project_id}/locations/{location_id}`", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -987,7 +1030,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -1002,7 +1044,7 @@ ], "parameters": { "authorizationCode": { - "description": "Optional OAuth2 authorization code to use with this transfer configuration. If it is provided, the transfer configuration will be associated with the authorizing user. In order to obtain authorization_code, please make a request to https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri= * client_id should be OAuth client_id of BigQuery DTS API for the given data source returned by ListDataSources method. * data_source_scopes are the scopes returned by ListDataSources method. * redirect_uri is an optional parameter. If not specified, then authorization code is posted to the opener of authorization flow window. Otherwise it will be sent to the redirect uri. A special value of urn:ietf:wg:oauth:2.0:oob means that authorization code should be returned in the title bar of the browser, with the page text prompting the user to copy the code and paste it in the application.", + "description": "Optional OAuth2 authorization code to use with this transfer configuration. This is required only if `transferConfig.dataSourceId` is 'youtube_channel' and new credentials are needed, as indicated by `CheckValidCreds`. In order to obtain authorization_code, please make a request to https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=authorization_code * client_id should be OAuth client_id of BigQuery DTS API for the given data source returned by ListDataSources method. * data_source_scopes are the scopes returned by ListDataSources method. Note that this should not be set when `service_account_name` is used to create the transfer config.", "location": "query", "type": "string" }, @@ -1014,7 +1056,7 @@ "type": "string" }, "serviceAccountName": { - "description": "Optional service account name. If this field is set and \"service_account_name\" is set in update_mask, transfer config will be updated to use this service account credentials. It requires that requesting user calling this API has permissions to act as this service account.", + "description": "Optional service account name. If this field is set and \"service_account_name\" is set in update_mask, transfer config will be created with this service account credential. It requires that requesting user calling this API has permissions to act as this service account. Note that not all data sources support service account credentials when creating transfer config. Please refer to this public guide for the latest list of data sources with service account support: https://cloud.google.com/bigquery-transfer/docs/use-service-accounts", "location": "query", "type": "string" }, @@ -1025,7 +1067,7 @@ "type": "string" }, "versionInfo": { - "description": "Optional version info. If users want to find a very recent access token, that is, immediately after approving access, users have to set the version_info claim in the token request. To obtain the version_info, users must use the \"none+gsession\" response type. which be return a version_info back in the authorization response which be be put in a JWT claim in the token request.", + "description": "Optional version info. This is required only if `transferConfig.dataSourceId` is anything else but 'youtube_channel' and new credentials are needed, as indicated by `CheckValidCreds`. In order to obtain version info, please make a request to https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=version_info * client_id should be OAuth client_id of BigQuery DTS API for the given data source returned by ListDataSources method. * data_source_scopes are the scopes returned by ListDataSources method. Note that this should not be set when `service_account_name` is used to create the transfer config.", "location": "query", "type": "string" } @@ -1152,13 +1194,12 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "list": { - "description": "Returns information about running and completed jobs.", + "description": "Returns information about running and completed transfer runs.", "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}/runs", "httpMethod": "GET", "id": "bigquerydatatransfer.projects.transferConfigs.runs.list", @@ -1226,7 +1267,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -1236,7 +1276,7 @@ "transferLogs": { "methods": { "list": { - "description": "Returns user facing log messages for the data transfer run.", + "description": "Returns log messages for the transfer run.", "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}/runs/{runsId}/transferLogs", "httpMethod": "GET", "id": "bigquerydatatransfer.projects.transferConfigs.runs.transferLogs.list", @@ -1287,7 +1327,6 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/bigquery.readonly", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ] @@ -1301,7 +1340,7 @@ } } }, - "revision": "20210324", + "revision": "20220225", "rootUrl": "https://bigquerydatatransfer.googleapis.com/", "schemas": { "CheckValidCredsRequest": { @@ -1322,7 +1361,7 @@ "type": "object" }, "DataSource": { - "description": "Represents data source metadata. Metadata is sufficient to render UI and request proper OAuth tokens.", + "description": "Defines the properties and custom parameters for a data source.", "id": "DataSource", "properties": { "authorizationType": { @@ -1337,7 +1376,7 @@ "Type unspecified.", "Use OAuth 2 authorization codes that can be exchanged for a refresh token on the backend.", "Return an authorization code for a given Google+ page that can then be exchanged for a refresh token on the backend.", - "Use First Party OAuth based on Loas Owned Clients. First Party OAuth doesn't require a refresh token to get an offline access token. Instead, it uses a client-signed JWT assertion to retrieve an access token." + "Use First Party OAuth." ], "type": "string" }, @@ -1443,7 +1482,7 @@ "type": "object" }, "DataSourceParameter": { - "description": "Represents a data source parameter with validation rules, so that parameters can be rendered in the UI. These parameters are given to us by supported data sources, and include all needed information for rendering and validation. Thus, whoever uses this api can decide to generate either generic ui, or custom data source specific forms.", + "description": "A parameter used to define custom fields in a data source definition.", "id": "DataSourceParameter", "properties": { "allowedValues": { @@ -1556,6 +1595,20 @@ "properties": {}, "type": "object" }, + "EnrollDataSourcesRequest": { + "description": "A request to enroll a set of data sources so they are visible in the BigQuery UI's `Transfer` tab.", + "id": "EnrollDataSourcesRequest", + "properties": { + "dataSourceIds": { + "description": "Data sources that are enrolled. It is required to provide at least one data source id.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListDataSourcesResponse": { "description": "Returns list of supported data sources and their metadata.", "id": "ListDataSourcesResponse", @@ -1858,9 +1911,14 @@ "type": "string" }, "notificationPubsubTopic": { - "description": "Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish.", + "description": "Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish. The format for specifying a pubsub topic is: `projects/{project}/topics/{topic}`", "type": "string" }, + "ownerInfo": { + "$ref": "UserInfo", + "description": "Output only. Information about the user whose credentials are used to transfer data. Populated only for `transferConfigs.get` requests. In case the user information is not available, this field will not be populated.", + "readOnly": true + }, "params": { "additionalProperties": { "description": "Properties of the object.", @@ -1870,7 +1928,7 @@ "type": "object" }, "schedule": { - "description": "Data transfer schedule. If the data source does not support a custom schedule, this should be empty. If it is empty, the default value for the data source will be used. The specified times are in UTC. Examples of valid format: `1st,3rd monday of month 15:30`, `every wed,fri of jan,jun 13:15`, and `first sunday of quarter 00:00`. See more explanation about the format here: https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format NOTE: the granularity should be at least 8 hours, or less frequent.", + "description": "Data transfer schedule. If the data source does not support a custom schedule, this should be empty. If it is empty, the default value for the data source will be used. The specified times are in UTC. Examples of valid format: `1st,3rd monday of month 15:30`, `every wed,fri of jan,jun 13:15`, and `first sunday of quarter 00:00`. See more explanation about the format here: https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format NOTE: The minimum interval time between recurring transfers depends on the data source; refer to the documentation for your data source.", "type": "string" }, "scheduleOptions": { @@ -1978,7 +2036,7 @@ "type": "string" }, "notificationPubsubTopic": { - "description": "Output only. Pub/Sub topic where a notification will be sent after this transfer run finishes", + "description": "Output only. Pub/Sub topic where a notification will be sent after this transfer run finishes. The format for specifying a pubsub topic is: `projects/{project}/topics/{topic}`", "readOnly": true, "type": "string" }, @@ -2045,6 +2103,17 @@ } }, "type": "object" + }, + "UserInfo": { + "description": "Information about a user.", + "id": "UserInfo", + "properties": { + "email": { + "description": "E-mail address of the user.", + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/etc/api/bigqueryreservation/v1/bigqueryreservation-api.json b/etc/api/bigqueryreservation/v1/bigqueryreservation-api.json index 8190ca1df2..6a0ead2b0b 100644 --- a/etc/api/bigqueryreservation/v1/bigqueryreservation-api.json +++ b/etc/api/bigqueryreservation/v1/bigqueryreservation-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/bigquery": { - "description": "View and manage your data in Google 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 Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -181,7 +181,7 @@ ] }, "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.", + "description": "Deprecated: 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": "v1/projects/{projectsId}/locations/{locationsId}:searchAssignments", "httpMethod": "GET", "id": "bigqueryreservation.projects.locations.searchAssignments", @@ -270,6 +270,11 @@ "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", @@ -304,6 +309,11 @@ "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", @@ -423,7 +433,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the capacity commitment, e.g., `projects/myproject/locations/US/capacityCommitments/123`", + "description": "Output only. The resource name of the capacity commitment, e.g., `projects/myproject/locations/US/capacityCommitments/123` For the commitment 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": "path", "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", "required": true, @@ -498,7 +508,7 @@ "type": "string" }, "reservationId": { - "description": "The reservation ID. This field must only contain lower case alphanumeric characters or dash. Max length is 64 characters.", + "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" } @@ -614,7 +624,7 @@ ], "parameters": { "name": { - "description": "The resource name of the reservation, e.g., `projects/*/locations/*/reservations/team1-prod`.", + "description": "The resource name of the reservation, e.g., `projects/*/locations/*/reservations/team1-prod`. For 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": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -652,6 +662,11 @@ "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", @@ -773,11 +788,11 @@ } } }, - "revision": "20210324", + "revision": "20220226", "rootUrl": "https://bigqueryreservation.googleapis.com/", "schemas": { "Assignment": { - "description": "A Assignment allows a project to submit jobs of a certain type using slots from the specified reservation.", + "description": "An assignment allows a project to submit jobs of a certain type using slots from the specified reservation.", "id": "Assignment", "properties": { "assignee": { @@ -801,7 +816,7 @@ "type": "string" }, "name": { - "description": "Output only. Name of the resource. E.g.: `projects/myproject/locations/US/reservations/team1-prod/assignments/123`.", + "description": "Output only. Name of the resource. E.g.: `projects/myproject/locations/US/reservations/team1-prod/assignments/123`. For the assignment id, it must only contain lower case alphanumeric characters or dashes and the max length is 64 characters.", "readOnly": true, "type": "string" }, @@ -866,8 +881,12 @@ "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`", + "description": "Output only. The resource name of the capacity commitment, e.g., `projects/myproject/locations/US/capacityCommitments/123` For the commitment 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.", "readOnly": true, "type": "string" }, @@ -922,8 +941,8 @@ ], "enumDescriptions": [ "Invalid state value.", - "Capacity commitment is pending provisioning. Pending capacity commitment does not contribute to the parent's slot_capacity.", - "Once slots are provisioned, capacity commitment becomes active. slot_count is added to the parent's slot_capacity.", + "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, @@ -1021,6 +1040,11 @@ "description": "A reservation is a mechanism used to guarantee slots to users.", "id": "Reservation", "properties": { + "concurrency": { + "description": "Maximum number of queries that are allowed to run concurrently in this reservation. This is a soft limit due to asynchronous nature of the system and various optimizations for small queries. Default value is 0 which means that concurrency will be automatically set based on the reservation size.", + "format": "int64", + "type": "string" + }, "creationTime": { "description": "Output only. Creation time of the reservation.", "format": "google-datetime", @@ -1028,15 +1052,19 @@ "type": "string" }, "ignoreIdleSlots": { - "description": "If false, any query using this reservation will use idle slots from other reservations within the same admin project. If true, a query using this reservation will execute with the slot capacity specified above at most.", + "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`.", + "description": "The resource name of the reservation, e.g., `projects/*/locations/*/reservations/team1-prod`. For 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.", "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 exceed the parent's slot capacity or if total slot capacity of the new reservation and its siblings exceeds the parent's slot capacity, the request will fail with `google.rpc.Code.RESOURCE_EXHAUSTED`.", + "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 exceed 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" }, diff --git a/etc/api/bigqueryreservation/v1beta1/bigqueryreservation-api.json b/etc/api/bigqueryreservation/v1beta1/bigqueryreservation-api.json index a61cb56873..cb80d56041 100644 --- a/etc/api/bigqueryreservation/v1beta1/bigqueryreservation-api.json +++ b/etc/api/bigqueryreservation/v1beta1/bigqueryreservation-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/bigquery": { - "description": "View and manage your data in Google 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 Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -228,6 +228,11 @@ "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", @@ -262,6 +267,11 @@ "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", @@ -381,7 +391,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the capacity commitment, e.g., `projects/myproject/locations/US/capacityCommitments/123`", + "description": "Output only. The resource name of the capacity commitment, e.g., `projects/myproject/locations/US/capacityCommitments/123` For the commitment 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": "path", "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", "required": true, @@ -456,7 +466,7 @@ "type": "string" }, "reservationId": { - "description": "The reservation ID. This field must only contain lower case alphanumeric characters or dash. Max length is 64 characters.", + "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" } @@ -577,7 +587,7 @@ ], "parameters": { "name": { - "description": "The resource name of the reservation, e.g., `projects/*/locations/*/reservations/team1-prod`.", + "description": "The resource name of the reservation, e.g., `projects/*/locations/*/reservations/team1-prod`. For 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": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -615,6 +625,11 @@ "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", @@ -726,6 +741,41 @@ "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`. For the assignment id, it 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" + ] } } } @@ -736,11 +786,11 @@ } } }, - "revision": "20210324", + "revision": "20220226", "rootUrl": "https://bigqueryreservation.googleapis.com/", "schemas": { "Assignment": { - "description": "A Assignment allows a project to submit jobs of a certain type using slots from the specified reservation.", + "description": "An assignment allows a project to submit jobs of a certain type using slots from the specified reservation.", "id": "Assignment", "properties": { "assignee": { @@ -764,7 +814,7 @@ "type": "string" }, "name": { - "description": "Output only. Name of the resource. E.g.: `projects/myproject/locations/US/reservations/team1-prod/assignments/123`.", + "description": "Output only. Name of the resource. E.g.: `projects/myproject/locations/US/reservations/team1-prod/assignments/123`. For the assignment id, it must only contain lower case alphanumeric characters or dashes and the max length is 64 characters.", "readOnly": true, "type": "string" }, @@ -829,8 +879,12 @@ "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`", + "description": "Output only. The resource name of the capacity commitment, e.g., `projects/myproject/locations/US/capacityCommitments/123` For the commitment 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.", "readOnly": true, "type": "string" }, @@ -885,8 +939,8 @@ ], "enumDescriptions": [ "Invalid state value.", - "Capacity commitment is pending provisioning. Pending capacity commitment does not contribute to the parent's slot_capacity.", - "Once slots are provisioned, capacity commitment becomes active. slot_count is added to the parent's slot_capacity.", + "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, @@ -984,6 +1038,11 @@ "description": "A reservation is a mechanism used to guarantee slots to users.", "id": "Reservation", "properties": { + "concurrency": { + "description": "Maximum number of queries that are allowed to run concurrently in this reservation. This is a soft limit due to asynchronous nature of the system and various optimizations for small queries. Default value is 0 which means that concurrency will be automatically set based on the reservation size.", + "format": "int64", + "type": "string" + }, "creationTime": { "description": "Output only. Creation time of the reservation.", "format": "google-datetime", @@ -991,20 +1050,19 @@ "type": "string" }, "ignoreIdleSlots": { - "description": "If false, any query using this reservation will use idle slots from other reservations within the same admin project. If true, a query using this reservation will execute with the slot capacity specified above at most.", + "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" }, - "maxConcurrency": { - "description": "Maximum number of queries that are allowed to run concurrently in this reservation. Default value is 0 which means that maximum concurrency will be automatically set based on the reservation size.", - "format": "int64", - "type": "string" + "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`.", + "description": "The resource name of the reservation, e.g., `projects/*/locations/*/reservations/team1-prod`. For 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.", "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 exceed the parent's slot capacity or if total slot capacity of the new reservation and its siblings exceeds the parent's slot capacity, the request will fail with `google.rpc.Code.RESOURCE_EXHAUSTED`.", + "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 exceed 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" }, diff --git a/etc/api/bigtableadmin/v2/bigtableadmin-api.json b/etc/api/bigtableadmin/v2/bigtableadmin-api.json index 1db2daa61a..4c26455656 100644 --- a/etc/api/bigtableadmin/v2/bigtableadmin-api.json +++ b/etc/api/bigtableadmin/v2/bigtableadmin-api.json @@ -24,10 +24,10 @@ "description": "Administer your Cloud Bigtable tables" }, "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" } } } @@ -286,7 +286,7 @@ "instances": { "methods": { "create": { - "description": "Create an instance within a project.", + "description": "Create an instance within a project. Note that exactly one of Cluster.serve_nodes and Cluster.cluster_config.cluster_autoscaling_config can be set. If serve_nodes is set to non-zero, then the cluster is manually scaled. If cluster_config.cluster_autoscaling_config is non-empty, then autoscaling is enabled.", "flatPath": "v2/projects/{projectsId}/instances", "httpMethod": "POST", "id": "bigtableadmin.projects.instances.create", @@ -789,7 +789,7 @@ "clusters": { "methods": { "create": { - "description": "Creates a cluster within an instance.", + "description": "Creates a cluster within an instance. Note that exactly one of Cluster.serve_nodes and Cluster.cluster_config.cluster_autoscaling_config can be set. If serve_nodes is set to non-zero, then the cluster is manually scaled. If cluster_config.cluster_autoscaling_config is non-empty, then autoscaling is enabled.", "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters", "httpMethod": "POST", "id": "bigtableadmin.projects.instances.clusters.create", @@ -923,8 +923,47 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, + "partialUpdateCluster": { + "description": "Partially updates a cluster within a project. This method is the preferred way to update a Cluster. To enable and update autoscaling, set cluster_config.cluster_autoscaling_config. When autoscaling is enabled, serve_nodes is treated as an OUTPUT_ONLY field, meaning that updates to it are ignored. Note that an update cannot simultaneously set serve_nodes to non-zero and cluster_config.cluster_autoscaling_config to non-empty, and also specify both in the update_mask. To disable autoscaling, clear cluster_config.cluster_autoscaling_config, and explicitly set a serve_node count via the update_mask.", + "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}", + "httpMethod": "PATCH", + "id": "bigtableadmin.projects.instances.clusters.partialUpdateCluster", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The subset of Cluster fields which should be replaced.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "request": { + "$ref": "Cluster" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigtable.admin", + "https://www.googleapis.com/auth/bigtable.admin.cluster", + "https://www.googleapis.com/auth/bigtable.admin.instance", + "https://www.googleapis.com/auth/cloud-bigtable.admin", + "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "update": { - "description": "Updates a cluster within an instance.", + "description": "Updates a cluster within an instance. Note that UpdateCluster does not support updating cluster_config.cluster_autoscaling_config. In order to update it, you must use PartialUpdateCluster.", "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}", "httpMethod": "PUT", "id": "bigtableadmin.projects.instances.clusters.update", @@ -1433,7 +1472,7 @@ "Only populates `name`.", "Only populates `name` and fields related to the table's schema.", "Only populates `name` and fields related to the table's replication state.", - "Only populates 'name' and fields related to the table's encryption state.", + "Only populates `name` and fields related to the table's encryption state.", "Populates all fields." ], "location": "query", @@ -1513,7 +1552,7 @@ "type": "string" }, "view": { - "description": "The view to be applied to the returned tables' fields. Only NAME_ONLY view (default) and REPLICATION_VIEW are supported.", + "description": "The view to be applied to the returned tables' fields. Only NAME_ONLY view (default), REPLICATION_VIEW and ENCRYPTION_VIEW are supported.", "enum": [ "VIEW_UNSPECIFIED", "NAME_ONLY", @@ -1527,7 +1566,7 @@ "Only populates `name`.", "Only populates `name` and fields related to the table's schema.", "Only populates `name` and fields related to the table's replication state.", - "Only populates 'name' and fields related to the table's encryption state.", + "Only populates `name` and fields related to the table's encryption state.", "Populates all fields." ], "location": "query", @@ -1580,7 +1619,7 @@ ] }, "restore": { - "description": "Create a new table by restoring from a completed backup. The new table must be in the same instance as the instance containing the backup. The returned table long-running operation can be used to track the progress of the operation, and to cancel it. The metadata field type is RestoreTableMetadata. The response type is Table, if successful.", + "description": "Create a new table by restoring from a completed backup. The new table must be in the same project as the instance containing the backup. The returned table long-running operation can be used to track the progress of the operation, and to cancel it. The metadata field type is RestoreTableMetadata. The response type is Table, if successful.", "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables:restore", "httpMethod": "POST", "id": "bigtableadmin.projects.instances.tables.restore", @@ -1589,7 +1628,7 @@ ], "parameters": { "parent": { - "description": "Required. The name of the instance in which to create the restored table. This instance must be the parent of the source backup. Values are of the form `projects//instances/`.", + "description": "Required. The name of the instance in which to create the restored table. This instance must be in the same project as the source backup. Values are of the form `projects//instances/`.", "location": "path", "pattern": "^projects/[^/]+/instances/[^/]+$", "required": true, @@ -1722,7 +1761,7 @@ ], "parameters": { "filter": { - "description": "The standard list 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" }, @@ -1734,13 +1773,13 @@ "type": "string" }, "pageSize": { - "description": "The standard list page size.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The standard list page token.", + "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" } @@ -1764,7 +1803,7 @@ } } }, - "revision": "20210323", + "revision": "20220222", "rootUrl": "https://bigtableadmin.googleapis.com/", "schemas": { "AppProfile": { @@ -1842,6 +1881,35 @@ }, "type": "object" }, + "AutoscalingLimits": { + "description": "Limits for the number of nodes a Cluster can autoscale up/down to.", + "id": "AutoscalingLimits", + "properties": { + "maxServeNodes": { + "description": "Required. Maximum number of nodes to scale up to.", + "format": "int32", + "type": "integer" + }, + "minServeNodes": { + "description": "Required. Minimum number of nodes to scale down to.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "AutoscalingTargets": { + "description": "The Autoscaling targets for a Cluster. These determine the recommended nodes.", + "id": "AutoscalingTargets", + "properties": { + "cpuUtilizationPercent": { + "description": "The cpu utilization that the Autoscaler should be trying to achieve. This number is on a scale from 0 (no utilization) to 100 (total utilization), and is limited between 10 and 80.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "Backup": { "description": "A backup of a Cloud Bigtable table.", "id": "Backup", @@ -1930,22 +1998,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -1977,6 +2045,10 @@ "description": "A resizable group of nodes in a particular cloud location, capable of serving all Tables in the parent Instance.", "id": "Cluster", "properties": { + "clusterConfig": { + "$ref": "ClusterConfig", + "description": "Configuration for this cluster." + }, "defaultStorageType": { "description": "Immutable. The type of storage used by this cluster to serve its parent instance's tables, unless explicitly overridden.", "enum": [ @@ -2004,7 +2076,7 @@ "type": "string" }, "serveNodes": { - "description": "Required. The number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance.", + "description": "The number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance.", "format": "int32", "type": "integer" }, @@ -2030,6 +2102,32 @@ }, "type": "object" }, + "ClusterAutoscalingConfig": { + "description": "Autoscaling config for a cluster.", + "id": "ClusterAutoscalingConfig", + "properties": { + "autoscalingLimits": { + "$ref": "AutoscalingLimits", + "description": "Required. Autoscaling limits for this cluster." + }, + "autoscalingTargets": { + "$ref": "AutoscalingTargets", + "description": "Required. Autoscaling targets for this cluster." + } + }, + "type": "object" + }, + "ClusterConfig": { + "description": "Configuration for a cluster.", + "id": "ClusterConfig", + "properties": { + "clusterAutoscalingConfig": { + "$ref": "ClusterAutoscalingConfig", + "description": "Autoscaling configuration for this cluster." + } + }, + "type": "object" + }, "ClusterState": { "description": "The state of a table's data in a particular cluster.", "id": "ClusterState", @@ -2306,34 +2404,6 @@ }, "type": "object" }, - "FailureTrace": { - "description": "Added to the error payload.", - "id": "FailureTrace", - "properties": { - "frames": { - "items": { - "$ref": "Frame" - }, - "type": "array" - } - }, - "type": "object" - }, - "Frame": { - "id": "Frame", - "properties": { - "targetName": { - "type": "string" - }, - "workflowGuid": { - "type": "string" - }, - "zoneId": { - "type": "string" - } - }, - "type": "object" - }, "GcRule": { "description": "Rule for determining which cells to delete during garbage collection.", "id": "GcRule", @@ -2392,7 +2462,7 @@ "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).", + "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" } @@ -2403,6 +2473,12 @@ "description": "A collection of Bigtable Tables and the resources that serve them. All tables in an instance are served from all Clusters in the instance.", "id": "Instance", "properties": { + "createTime": { + "description": "Output only. A server-assigned timestamp representing when this Instance was created. For instances created before this field was added (August 2021), this value is `seconds: 0, nanos: 1`.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, "displayName": { "description": "Required. The descriptive name for this instance as it appears in UIs. Can be changed at any time, but should be kept globally unique to avoid confusion.", "type": "string" @@ -2685,7 +2761,15 @@ "MultiClusterRoutingUseAny": { "description": "Read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available in the event of transient errors or delays. Clusters in a region are considered equidistant. Choosing this option sacrifices read-your-writes consistency to improve availability.", "id": "MultiClusterRoutingUseAny", - "properties": {}, + "properties": { + "clusterIds": { + "description": "The set of clusters to route to. The order is ignored; clusters will be tried in order of distance. If left empty, all clusters are eligible.", + "items": { + "type": "string" + }, + "type": "array" + } + }, "type": "object" }, "Operation": { @@ -2760,6 +2844,43 @@ }, "type": "object" }, + "PartialUpdateClusterMetadata": { + "description": "The metadata for the Operation returned by PartialUpdateCluster.", + "id": "PartialUpdateClusterMetadata", + "properties": { + "finishTime": { + "description": "The time at which the operation failed or was completed successfully.", + "format": "google-datetime", + "type": "string" + }, + "originalRequest": { + "$ref": "PartialUpdateClusterRequest", + "description": "The original request for PartialUpdateCluster." + }, + "requestTime": { + "description": "The time at which the original request was received.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "PartialUpdateClusterRequest": { + "description": "Request message for BigtableInstanceAdmin.PartialUpdateCluster.", + "id": "PartialUpdateClusterRequest", + "properties": { + "cluster": { + "$ref": "Cluster", + "description": "Required. The Cluster which contains the partial updates to be applied, subject to the update_mask." + }, + "updateMask": { + "description": "Required. The subset of Cluster fields which should be replaced.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, "PartialUpdateInstanceRequest": { "description": "Request message for BigtableInstanceAdmin.PartialUpdateInstance.", "id": "PartialUpdateInstanceRequest", @@ -2777,7 +2898,7 @@ "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/).", + "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": { @@ -2788,7 +2909,7 @@ "type": "array" }, "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.", + "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" }, diff --git a/etc/api/billingbudgets/v1/billingbudgets-api.json b/etc/api/billingbudgets/v1/billingbudgets-api.json index 311c60528b..27dbdd42d6 100644 --- a/etc/api/billingbudgets/v1/billingbudgets-api.json +++ b/etc/api/billingbudgets/v1/billingbudgets-api.json @@ -6,7 +6,7 @@ "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 Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -270,7 +270,7 @@ } } }, - "revision": "20210326", + "revision": "20220227", "rootUrl": "https://billingbudgets.googleapis.com/", "schemas": { "GoogleCloudBillingBudgetsV1Budget": { @@ -283,14 +283,14 @@ }, "budgetFilter": { "$ref": "GoogleCloudBillingBudgetsV1Filter", - "description": "Optional. Filters that define which resources are used to compute the actual spend against the budget." + "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. The name must be less than or equal to 60 characters.", "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.", + "description": "Optional. Etag to validate that the object is unchanged for a read-modify-write operation. An empty etag causes an update to overwrite other changes.", "type": "string" }, "name": { @@ -303,7 +303,7 @@ "description": "Optional. Rules to apply to notifications sent based on budget spend and thresholds." }, "thresholdRules": { - "description": "Optional. Rules that trigger alerts (notifications of thresholds being crossed) when spend exceeds the specified percentages of the budget.", + "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": "GoogleCloudBillingBudgetsV1ThresholdRule" }, @@ -318,7 +318,7 @@ "properties": { "lastPeriodAmount": { "$ref": "GoogleCloudBillingBudgetsV1LastPeriodAmount", - "description": "Use the last period's actual spend as the budget for the present period. Cannot be set in combination with Filter.custom_period." + "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", @@ -347,7 +347,7 @@ "id": "GoogleCloudBillingBudgetsV1Filter", "properties": { "calendarPeriod": { - "description": "Optional. Specifies to track usage for recurring calendar period. E.g. Assume that CalendarPeriod.QUARTER is set. The budget will track usage from April 1 to June 30, when current calendar month is April, May, June. After that, it will track usage from July 1 to September 30 when current calendar month is July, August, September, and so on.", + "description": "Optional. Specifies to track usage for recurring calendar period. For example, assume that CalendarPeriod.QUARTER is set. The budget tracks usage from April 1 to June 30, when the current calendar month is April, May, June. After that, it tracks usage from July 1 to September 30 when the current calendar month is July, August, September, so on.", "enum": [ "CALENDAR_PERIOD_UNSPECIFIED", "MONTH", @@ -355,7 +355,7 @@ "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." @@ -363,7 +363,7 @@ "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. If Filter.credit_types_treatment is **not** INCLUDE_SPECIFIED_CREDITS, this field must be empty. See [a list of acceptable credit type values](https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#credits-type).", + "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" }, @@ -381,13 +381,13 @@ "", "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 specified in the credit_types field are subtracted from the gross 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": "GoogleCloudBillingBudgetsV1CustomPeriod", - "description": "Optional. Specifies to track usage from any start date (required) to any end date (optional)." + "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": { @@ -396,25 +396,25 @@ }, "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. Currently, multiple entries or multiple values per entry are not allowed. If omitted, the report will include all labeled and unlabeled usage.", + "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 includes 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. Only zero or one project can be specified currently.", + "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 includes all usage for the billing account, regardless of which project the usage occurred on. Only zero or one project can be specified currently.", "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.", + "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 includes 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 the field is omitted, the report will include usage from the parent account and all subaccounts, if they exist.", + "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 is included. If the field is omitted, the report includes usage from the parent account and all subaccounts, if they exist.", "items": { "type": "string" }, @@ -424,7 +424,7 @@ "type": "object" }, "GoogleCloudBillingBudgetsV1LastPeriodAmount": { - "description": "Describes a budget amount targeted to last period's spend. At this time, the amount is automatically 100% of last period's spend; that is, there are no other options yet. Future configuration will be described here (for example, configuring a percentage of last period's spend).", + "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. LastPeriodAmount cannot be set for a budget configured with a Filter.custom_period.", "id": "GoogleCloudBillingBudgetsV1LastPeriodAmount", "properties": {}, "type": "object" @@ -456,14 +456,14 @@ "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.", + "description": "Optional. Email targets to send notifications to when a threshold is exceeded. This is in addition to the `DefaultIamRecipients` who receive alert emails based on their billing account IAM role. The value is the full REST resource name of a Cloud Monitoring email notification channel with the form `projects/{project_id}/notificationChannels/{channel_id}`. A maximum of 5 email notifications are allowed. To customize budget alert email recipients with monitoring notification channels, you _must create the monitoring notification channels before you link them to a budget_. For guidance on setting up notification channels to use with budgets, see [Customize budget alert email recipients](https://cloud.google.com/billing/docs/how-to/budgets-notification-recipients). For Cloud Billing budget alerts, you _must use email notification channels_. The other types of notification channels are _not_ supported, such as Slack, SMS, or PagerDuty. If you want to [send budget notifications to Slack](https://cloud.google.com/billing/docs/how-to/notify#send_notifications_to_slack), use a pubsubTopic and configure [programmatic notifications](https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications).", "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#manage-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 for more details on Pub/Sub roles and permissions.", + "description": "Optional. The name of the Pub/Sub topic where budget-related messages are published, in the form `projects/{project_id}/topics/{topic_id}`. Updates are sent to the topic at regular intervals; the timing of the updates is not dependent on the [threshold rules](#thresholdrule) you've set. Note that if you want your [Pub/Sub JSON object](https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format) to contain data for `alertThresholdExceeded`, you need at least one [alert threshold rule](#thresholdrule). When you set threshold rules, you must also enable at least one of the email notification options, either using the default IAM recipients or Cloud Monitoring email notification channels. To use Pub/Sub topics with budgets, you must do the following: 1. Create the Pub/Sub topic before connecting it to your budget. For guidance, see [Manage programmatic budget alert notifications](https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications). 2. Grant the API caller the `pubsub.topics.setIamPolicy` permission on the Pub/Sub topic. If not set, the API call fails with PERMISSION_DENIED. For additional details on Pub/Sub roles and permissions, see [Permissions required for this task](https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#permissions_required_for_this_task).", "type": "string" }, "schemaVersion": { @@ -474,7 +474,7 @@ "type": "object" }, "GoogleCloudBillingBudgetsV1ThresholdRule": { - "description": "ThresholdRule contains a definition of a threshold which triggers an alert (a notification of a threshold being crossed) to be sent when spend goes above the specified amount. Alerts are automatically e-mailed to users with the Billing Account Administrator role or the Billing Account User role. The thresholds here have no effect on notifications sent to anything configured under `Budget.all_updates_rule`.", + "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": "GoogleCloudBillingBudgetsV1ThresholdRule", "properties": { "spendBasis": { @@ -487,7 +487,7 @@ "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. Cannot be set in combination with Filter.custom_period." + "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" }, @@ -506,7 +506,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "GoogleTypeDate", "properties": { "day": { diff --git a/etc/api/billingbudgets/v1beta1/billingbudgets-api.json b/etc/api/billingbudgets/v1beta1/billingbudgets-api.json index ede59bb606..17b13e5897 100644 --- a/etc/api/billingbudgets/v1beta1/billingbudgets-api.json +++ b/etc/api/billingbudgets/v1beta1/billingbudgets-api.json @@ -6,7 +6,7 @@ "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 Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -113,7 +113,7 @@ "budgets": { "methods": { "create": { - "description": "Creates a new budget. See Quotas and limits for more information on the limits of the number of budgets you can 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", @@ -264,7 +264,7 @@ } } }, - "revision": "20210326", + "revision": "20220227", "rootUrl": "https://billingbudgets.googleapis.com/", "schemas": { "GoogleCloudBillingBudgetsV1beta1AllUpdatesRule": { @@ -307,7 +307,7 @@ }, "budgetFilter": { "$ref": "GoogleCloudBillingBudgetsV1beta1Filter", - "description": "Optional. Filters that define which resources are used to compute the actual spend against the budget." + "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.", @@ -323,7 +323,7 @@ "type": "string" }, "thresholdRules": { - "description": "Optional. Rules that trigger alerts (notifications of thresholds being crossed) when spend exceeds the specified percentages of the budget.", + "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" }, @@ -338,7 +338,7 @@ "properties": { "lastPeriodAmount": { "$ref": "GoogleCloudBillingBudgetsV1beta1LastPeriodAmount", - "description": "Use the last period's actual spend as the budget for the present period. Cannot be set in combination with Filter.custom_period." + "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", @@ -378,7 +378,7 @@ "id": "GoogleCloudBillingBudgetsV1beta1Filter", "properties": { "calendarPeriod": { - "description": "Optional. Specifies to track usage for recurring calendar period. E.g. Assume that CalendarPeriod.QUARTER is set. The budget will track usage from April 1 to June 30, when current calendar month is April, May, June. After that, it will track usage from July 1 to September 30 when current calendar month is July, August, September, and so on.", + "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", @@ -386,7 +386,7 @@ "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." @@ -394,7 +394,7 @@ "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. If Filter.credit_types_treatment is **not** INCLUDE_SPECIFIED_CREDITS, this field must be empty. See [a list of acceptable credit type values](https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#credits-type).", + "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" }, @@ -412,13 +412,13 @@ "", "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 specified in the credit_types field are subtracted from the gross 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)." + "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": { @@ -427,7 +427,7 @@ }, "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. Currently, multiple entries or multiple values per entry are not allowed. If omitted, the report will include all labeled and unlabeled usage.", + "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": { @@ -455,7 +455,7 @@ "type": "object" }, "GoogleCloudBillingBudgetsV1beta1LastPeriodAmount": { - "description": "Describes a budget amount targeted to last period's spend. At this time, the amount is automatically 100% of last period's spend; that is, there are no other options yet. Future configuration will be described here (for example, configuring a percentage of last period's spend).", + "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" @@ -479,7 +479,7 @@ "type": "object" }, "GoogleCloudBillingBudgetsV1beta1ThresholdRule": { - "description": "ThresholdRule contains a definition of a threshold which triggers an alert (a notification of a threshold being crossed) to be sent when spend goes above the specified amount. Alerts are automatically e-mailed to users with the Billing Account Administrator role or the Billing Account User role. The thresholds here have no effect on notifications sent to anything configured under `Budget.all_updates_rule`.", + "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": { @@ -492,7 +492,7 @@ "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. Cannot be set in combination with Filter.custom_period." + "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" }, @@ -527,7 +527,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "GoogleTypeDate", "properties": { "day": { diff --git a/etc/api/binaryauthorization/v1/binaryauthorization-api.json b/etc/api/binaryauthorization/v1/binaryauthorization-api.json index b3589dc233..e8c3a20132 100644 --- a/etc/api/binaryauthorization/v1/binaryauthorization-api.json +++ b/etc/api/binaryauthorization/v1/binaryauthorization-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -12,7 +12,7 @@ "baseUrl": "https://binaryauthorization.googleapis.com/", "batchPath": "batch", "canonicalName": "Binary Authorization", - "description": "The management interface for Binary Authorization, a system providing policy control for images deployed to Kubernetes Engine clusters. ", + "description": "The management interface for Binary Authorization, a service that provides policy-based deployment validation and control for images deployed to Google Kubernetes Engine (GKE), Anthos Service Mesh, Anthos Clusters, and Cloud Run. ", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/binary-authorization/", "fullyEncodeReservedExpansion": true, @@ -257,7 +257,7 @@ ], "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).", + "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" @@ -440,7 +440,7 @@ ], "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).", + "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" @@ -551,7 +551,7 @@ } } }, - "revision": "20210318", + "revision": "20220225", "rootUrl": "https://binaryauthorization.googleapis.com/", "schemas": { "AdmissionRule": { @@ -583,7 +583,7 @@ "enumDescriptions": [ "Do not use.", "This rule allows all all pod creations.", - "This rule allows a pod creation if all the attestors listed in 'require_attestations_by' have valid attestations for all of the images in the pod spec.", + "This rule allows a pod creation if all the attestors listed in `require_attestations_by` have valid attestations for all of the images in the pod spec.", "This rule denies all pod creations." ], "type": "string" @@ -603,7 +603,7 @@ "id": "AdmissionWhitelistPattern", "properties": { "namePattern": { - "description": "An image name pattern to allowlist, in the form `registry/path/to/image`. This supports a trailing `*` as a wildcard, but this is allowed only in text after the `registry/` part.", + "description": "An image name pattern to allowlist, in the form `registry/path/to/image`. This supports a trailing `*` wildcard, but this is allowed only in text after the `registry/` part. This also supports a trailing `**` wildcard which matches subdirectories of a given entry.", "type": "string" } }, @@ -643,6 +643,10 @@ "description": "Optional. A descriptive comment. This field may be updated. The field may be displayed in chooser dialogs.", "type": "string" }, + "etag": { + "description": "Optional. Used to prevent updating the attestor when another request has updated it since it was retrieved.", + "type": "string" + }, "name": { "description": "Required. The resource name, in the format: `projects/*/attestors/*`. This field may not be updated.", "type": "string" @@ -684,22 +688,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -735,11 +739,11 @@ "type": "object" }, "IamPolicy": { - "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/).", + "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": "IamPolicy", "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.", + "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" }, @@ -799,9 +803,13 @@ "enum": [ "SIGNATURE_ALGORITHM_UNSPECIFIED", "RSA_PSS_2048_SHA256", + "RSA_SIGN_PSS_2048_SHA256", "RSA_PSS_3072_SHA256", + "RSA_SIGN_PSS_3072_SHA256", "RSA_PSS_4096_SHA256", + "RSA_SIGN_PSS_4096_SHA256", "RSA_PSS_4096_SHA512", + "RSA_SIGN_PSS_4096_SHA512", "RSA_SIGN_PKCS1_2048_SHA256", "RSA_SIGN_PKCS1_3072_SHA256", "RSA_SIGN_PKCS1_4096_SHA256", @@ -816,8 +824,12 @@ "enumDescriptions": [ "Not specified.", "RSASSA-PSS 2048 bit key with a SHA256 digest.", + "RSASSA-PSS 2048 bit key with a SHA256 digest.", + "RSASSA-PSS 3072 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 SHA256 digest.", + "RSASSA-PSS 4096 bit key with a SHA512 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.", @@ -861,6 +873,10 @@ "description": "Optional. A descriptive comment.", "type": "string" }, + "etag": { + "description": "Optional. Used to prevent updating the policy when another request has updated it since it was retrieved.", + "type": "string" + }, "globalPolicyEvaluationMode": { "description": "Optional. Controls the evaluation of a Google-maintained global admission policy for common system-level images. Images not covered by the global policy will be subject to the project admission policy. This setting has no effect when specified inside a global admission policy.", "enum": [ @@ -870,8 +886,8 @@ ], "enumDescriptions": [ "Not specified: DISABLE is assumed.", - "Enables global policy evaluation.", - "Disables global policy evaluation." + "Enables system policy evaluation.", + "Disables system policy evaluation." ], "type": "string" }, @@ -879,21 +895,21 @@ "additionalProperties": { "$ref": "AdmissionRule" }, - "description": "Optional. Per-istio-service-identity admission rules. Istio service identity spec format: spiffe:///ns//sa/ or /ns//sa/ e.g. spiffe://example.com/ns/test-ns/sa/default", + "description": "Optional. Per-istio-service-identity admission rules. Istio service identity spec format: `spiffe:///ns//sa/` or `/ns//sa/` e.g. `spiffe://example.com/ns/test-ns/sa/default`", "type": "object" }, "kubernetesNamespaceAdmissionRules": { "additionalProperties": { "$ref": "AdmissionRule" }, - "description": "Optional. Per-kubernetes-namespace admission rules. K8s namespace spec format: [a-z.-]+, e.g. 'some-namespace'", + "description": "Optional. Per-kubernetes-namespace admission rules. K8s namespace spec format: `[a-z.-]+`, e.g. `some-namespace`", "type": "object" }, "kubernetesServiceAccountAdmissionRules": { "additionalProperties": { "$ref": "AdmissionRule" }, - "description": "Optional. Per-kubernetes-service-account admission rules. Service account spec format: `namespace:serviceaccount`. e.g. 'test-ns:default'", + "description": "Optional. Per-kubernetes-service-account admission rules. Service account spec format: `namespace:serviceaccount`. e.g. `test-ns:default`", "type": "object" }, "name": { diff --git a/etc/api/binaryauthorization/v1beta1/binaryauthorization-api.json b/etc/api/binaryauthorization/v1beta1/binaryauthorization-api.json index b9ade0a91b..e5e5d865aa 100644 --- a/etc/api/binaryauthorization/v1beta1/binaryauthorization-api.json +++ b/etc/api/binaryauthorization/v1beta1/binaryauthorization-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -12,7 +12,7 @@ "baseUrl": "https://binaryauthorization.googleapis.com/", "batchPath": "batch", "canonicalName": "Binary Authorization", - "description": "The management interface for Binary Authorization, a system providing policy control for images deployed to Kubernetes Engine clusters. ", + "description": "The management interface for Binary Authorization, a service that provides policy-based deployment validation and control for images deployed to Google Kubernetes Engine (GKE), Anthos Service Mesh, Anthos Clusters, and Cloud Run. ", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/binary-authorization/", "fullyEncodeReservedExpansion": true, @@ -257,7 +257,7 @@ ], "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).", + "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" @@ -440,7 +440,7 @@ ], "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).", + "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" @@ -551,7 +551,7 @@ } } }, - "revision": "20210318", + "revision": "20220225", "rootUrl": "https://binaryauthorization.googleapis.com/", "schemas": { "AdmissionRule": { @@ -583,7 +583,7 @@ "enumDescriptions": [ "Do not use.", "This rule allows all all pod creations.", - "This rule allows a pod creation if all the attestors listed in 'require_attestations_by' have valid attestations for all of the images in the pod spec.", + "This rule allows a pod creation if all the attestors listed in `require_attestations_by` have valid attestations for all of the images in the pod spec.", "This rule denies all pod creations." ], "type": "string" @@ -603,7 +603,7 @@ "id": "AdmissionWhitelistPattern", "properties": { "namePattern": { - "description": "An image name pattern to allowlist, in the form `registry/path/to/image`. This supports a trailing `*` as a wildcard, but this is allowed only in text after the `registry/` part. Also wildcards do not match `/`, i.e., gcr.io/nginx* matches gcr.io/nginx@latest, but it does not match gcr.io/nginx/image.", + "description": "An image name pattern to allowlist, in the form `registry/path/to/image`. This supports a trailing `*` as a wildcard, but this is allowed only in text after the `registry/` part. `*` wildcard does not match `/`, i.e., `gcr.io/nginx*` matches `gcr.io/nginx@latest`, but it does not match `gcr.io/nginx/image`. This also supports a trailing `**` wildcard which matches subdirectories, i.e., `gcr.io/nginx**` matches `gcr.io/nginx/image`.", "type": "string" } }, @@ -643,6 +643,10 @@ "description": "Optional. A descriptive comment. This field may be updated. The field may be displayed in chooser dialogs.", "type": "string" }, + "etag": { + "description": "Optional. Used to prevent updating the attestor when another request has updated it since it was retrieved.", + "type": "string" + }, "name": { "description": "Required. The resource name, in the format: `projects/*/attestors/*`. This field may not be updated.", "type": "string" @@ -684,22 +688,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -735,11 +739,11 @@ "type": "object" }, "IamPolicy": { - "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/).", + "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": "IamPolicy", "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.", + "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" }, @@ -799,9 +803,13 @@ "enum": [ "SIGNATURE_ALGORITHM_UNSPECIFIED", "RSA_PSS_2048_SHA256", + "RSA_SIGN_PSS_2048_SHA256", "RSA_PSS_3072_SHA256", + "RSA_SIGN_PSS_3072_SHA256", "RSA_PSS_4096_SHA256", + "RSA_SIGN_PSS_4096_SHA256", "RSA_PSS_4096_SHA512", + "RSA_SIGN_PSS_4096_SHA512", "RSA_SIGN_PKCS1_2048_SHA256", "RSA_SIGN_PKCS1_3072_SHA256", "RSA_SIGN_PKCS1_4096_SHA256", @@ -816,8 +824,12 @@ "enumDescriptions": [ "Not specified.", "RSASSA-PSS 2048 bit key with a SHA256 digest.", + "RSASSA-PSS 2048 bit key with a SHA256 digest.", + "RSASSA-PSS 3072 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 SHA256 digest.", + "RSASSA-PSS 4096 bit key with a SHA512 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.", @@ -836,7 +848,7 @@ "type": "object" }, "Policy": { - "description": "A policy for container image binary authorization.", + "description": "A policy for Binary Authorization.", "id": "Policy", "properties": { "admissionWhitelistPatterns": { @@ -861,6 +873,10 @@ "description": "Optional. A descriptive comment.", "type": "string" }, + "etag": { + "description": "Optional. Used to prevent updating the policy when another request has updated it since it was retrieved.", + "type": "string" + }, "globalPolicyEvaluationMode": { "description": "Optional. Controls the evaluation of a Google-maintained global admission policy for common system-level images. Images not covered by the global policy will be subject to the project admission policy. This setting has no effect when specified inside a global admission policy.", "enum": [ @@ -870,8 +886,8 @@ ], "enumDescriptions": [ "Not specified: DISABLE is assumed.", - "Enables global policy evaluation.", - "Disables global policy evaluation." + "Enables system policy evaluation.", + "Disables system policy evaluation." ], "type": "string" }, @@ -879,21 +895,21 @@ "additionalProperties": { "$ref": "AdmissionRule" }, - "description": "Optional. Per-istio-service-identity admission rules. Istio service identity spec format: spiffe:///ns//sa/ or /ns//sa/ e.g. spiffe://example.com/ns/test-ns/sa/default", + "description": "Optional. Per-istio-service-identity admission rules. Istio service identity spec format: `spiffe:///ns//sa/` or `/ns//sa/` e.g. `spiffe://example.com/ns/test-ns/sa/default`", "type": "object" }, "kubernetesNamespaceAdmissionRules": { "additionalProperties": { "$ref": "AdmissionRule" }, - "description": "Optional. Per-kubernetes-namespace admission rules. K8s namespace spec format: [a-z.-]+, e.g. 'some-namespace'", + "description": "Optional. Per-kubernetes-namespace admission rules. K8s namespace spec format: `[a-z.-]+`, e.g. `some-namespace`", "type": "object" }, "kubernetesServiceAccountAdmissionRules": { "additionalProperties": { "$ref": "AdmissionRule" }, - "description": "Optional. Per-kubernetes-service-account admission rules. Service account spec format: `namespace:serviceaccount`. e.g. 'test-ns:default'", + "description": "Optional. Per-kubernetes-service-account admission rules. Service account spec format: `namespace:serviceaccount`. e.g. `test-ns:default`", "type": "object" }, "name": { diff --git a/etc/api/blogger/v2/blogger-api.json b/etc/api/blogger/v2/blogger-api.json index 56b6fee795..7dedbde69a 100644 --- a/etc/api/blogger/v2/blogger-api.json +++ b/etc/api/blogger/v2/blogger-api.json @@ -401,7 +401,7 @@ } } }, - "revision": "20210331", + "revision": "20220305", "rootUrl": "https://blogger.googleapis.com/", "schemas": { "Blog": { @@ -799,9 +799,11 @@ "description": "The status of the page for admin resources (either LIVE or DRAFT).", "enum": [ "LIVE", - "DRAFT" + "DRAFT", + "SOFT_TRASHED" ], "enumDescriptions": [ + "", "", "" ], @@ -1000,9 +1002,11 @@ "enum": [ "LIVE", "DRAFT", - "SCHEDULED" + "SCHEDULED", + "SOFT_TRASHED" ], "enumDescriptions": [ + "", "", "", "" diff --git a/etc/api/blogger/v3/blogger-api.json b/etc/api/blogger/v3/blogger-api.json index 4b504a3762..a68575054a 100644 --- a/etc/api/blogger/v3/blogger-api.json +++ b/etc/api/blogger/v3/blogger-api.json @@ -826,9 +826,11 @@ "status": { "enum": [ "LIVE", - "DRAFT" + "DRAFT", + "SOFT_TRASHED" ], "enumDescriptions": [ + "", "", "" ], @@ -1105,9 +1107,11 @@ "enum": [ "LIVE", "DRAFT", - "SCHEDULED" + "SCHEDULED", + "SOFT_TRASHED" ], "enumDescriptions": [ + "", "", "", "" @@ -1390,9 +1394,11 @@ "enum": [ "LIVE", "DRAFT", - "SCHEDULED" + "SCHEDULED", + "SOFT_TRASHED" ], "enumDescriptions": [ + "", "", "", "" @@ -1678,7 +1684,7 @@ } } }, - "revision": "20210331", + "revision": "20220305", "rootUrl": "https://blogger.googleapis.com/", "schemas": { "Blog": { @@ -2076,9 +2082,11 @@ "description": "The status of the page for admin resources (either LIVE or DRAFT).", "enum": [ "LIVE", - "DRAFT" + "DRAFT", + "SOFT_TRASHED" ], "enumDescriptions": [ + "", "", "" ], @@ -2319,9 +2327,11 @@ "enum": [ "LIVE", "DRAFT", - "SCHEDULED" + "SCHEDULED", + "SOFT_TRASHED" ], "enumDescriptions": [ + "", "", "", "" diff --git a/etc/api/books/v1/books-api.json b/etc/api/books/v1/books-api.json index f4db6ee49c..4c3a5a95f3 100644 --- a/etc/api/books/v1/books-api.json +++ b/etc/api/books/v1/books-api.json @@ -2671,7 +2671,7 @@ } } }, - "revision": "20210326", + "revision": "20220301", "rootUrl": "https://books.googleapis.com/", "schemas": { "Annotation": { diff --git a/etc/api/calendar/v3/calendar-api.json b/etc/api/calendar/v3/calendar-api.json index f4bef30b8a..6576dcbbc1 100644 --- a/etc/api/calendar/v3/calendar-api.json +++ b/etc/api/calendar/v3/calendar-api.json @@ -814,7 +814,7 @@ "enumDescriptions": [ "Notifications are sent to all guests.", "Notifications are sent to non-Google Calendar guests only.", - "No notifications are sent. This value should only be used for migration use cases (note that in most migration cases the import method should be used)." + "No notifications are sent. For calendar migration tasks, consider using the Events.import method instead." ], "location": "query", "type": "string" @@ -960,7 +960,7 @@ "enumDescriptions": [ "Notifications are sent to all guests.", "Notifications are sent to non-Google Calendar guests only.", - "No notifications are sent. This value should only be used for migration use cases (note that in most migration cases the import method should be used)." + "No notifications are sent. Warning: Using the value none can have significant adverse effects, including events not syncing to external calendars or events being lost altogether for some users. For calendar migration tasks, consider using the events.import method instead." ], "location": "query", "type": "string" @@ -1241,7 +1241,7 @@ "enumDescriptions": [ "Notifications are sent to all guests.", "Notifications are sent to non-Google Calendar guests only.", - "No notifications are sent. This value should only be used for migration use cases (note that in most migration cases the import method should be used)." + "No notifications are sent. For calendar migration tasks, consider using the Events.import method instead." ], "location": "query", "type": "string" @@ -1312,7 +1312,7 @@ "enumDescriptions": [ "Notifications are sent to all guests.", "Notifications are sent to non-Google Calendar guests only.", - "No notifications are sent. This value should only be used for migration use cases (note that in most migration cases the import method should be used)." + "No notifications are sent. For calendar migration tasks, consider using the Events.import method instead." ], "location": "query", "type": "string" @@ -1365,7 +1365,7 @@ "enumDescriptions": [ "Notifications are sent to all guests.", "Notifications are sent to non-Google Calendar guests only.", - "No notifications are sent. This value should only be used for migration use cases (note that in most migration cases the import method should be used)." + "No notifications are sent. For calendar migration tasks, consider using the Events.import method instead." ], "location": "query", "type": "string" @@ -1442,7 +1442,7 @@ "enumDescriptions": [ "Notifications are sent to all guests.", "Notifications are sent to non-Google Calendar guests only.", - "No notifications are sent. This value should only be used for migration use cases (note that in most migration cases the import method should be used)." + "No notifications are sent. For calendar migration tasks, consider using the Events.import method instead." ], "location": "query", "type": "string" @@ -1723,7 +1723,7 @@ } } }, - "revision": "20210327", + "revision": "20220217", "rootUrl": "https://www.googleapis.com/", "schemas": { "Acl": { @@ -2074,9 +2074,9 @@ "calendar": { "additionalProperties": { "$ref": "ColorDefinition", - "description": "A calendar color defintion." + "description": "A calendar color definition." }, - "description": "A global palette of calendar colors, mapping from the color ID to its definition. A calendarListEntry resource refers to one of these color IDs in its color field. Read-only.", + "description": "A global palette of calendar colors, mapping from the color ID to its definition. A calendarListEntry resource refers to one of these color IDs in its colorId field. Read-only.", "type": "object" }, "event": { @@ -2084,7 +2084,7 @@ "$ref": "ColorDefinition", "description": "An event color definition." }, - "description": "A global palette of event colors, mapping from the color ID to its definition. An event resource may refer to one of these color IDs in its color field. Read-only.", + "description": "A global palette of event colors, mapping from the color ID to its definition. An event resource may refer to one of these color IDs in its colorId field. Read-only.", "type": "object" }, "kind": { @@ -2104,12 +2104,12 @@ "id": "ConferenceData", "properties": { "conferenceId": { - "description": "The ID of the conference.\nCan be used by developers to keep track of conferences, should not be displayed to users.\nValues for solution types: \n- \"eventHangout\": unset.\n- \"eventNamedHangout\": the name of the Hangout.\n- \"hangoutsMeet\": the 10-letter meeting code, for example \"aaa-bbbb-ccc\".\n- \"addOn\": defined by 3P conference provider. Optional.", + "description": "The ID of the conference.\nCan be used by developers to keep track of conferences, should not be displayed to users.\nThe ID value is formed differently for each conference solution type: \n- eventHangout: ID is not set. (This conference type is deprecated.)\n- eventNamedHangout: ID is the name of the Hangout. (This conference type is deprecated.)\n- hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc.\n- addOn: ID is defined by the third-party provider. Optional.", "type": "string" }, "conferenceSolution": { "$ref": "ConferenceSolution", - "description": "The conference solution, such as Hangouts or Google Meet.\nUnset for a conference with a failed create request.\nEither conferenceSolution and at least one entryPoint, or createRequest is required." + "description": "The conference solution, such as Google Meet.\nUnset for a conference with a failed create request.\nEither conferenceSolution and at least one entryPoint, or createRequest is required." }, "createRequest": { "$ref": "CreateConferenceRequest", @@ -2131,7 +2131,7 @@ "description": "Additional properties related to a conference. An example would be a solution-specific setting for enabling video streaming." }, "signature": { - "description": "The signature of the conference data.\nGenerated on server side. Must be preserved while copying the conference data between events, otherwise the conference data will not be copied.\nUnset for a conference with a failed create request.\nOptional for a conference with a pending create request.", + "description": "The signature of the conference data.\nGenerated on server side.\nUnset for a conference with a failed create request.\nOptional for a conference with a pending create request.", "type": "string" } }, @@ -2204,7 +2204,7 @@ "id": "ConferenceSolutionKey", "properties": { "type": { - "description": "The conference solution type.\nIf a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.\nThe possible values are: \n- \"eventHangout\" for Hangouts for consumers (http://hangouts.google.com)\n- \"eventNamedHangout\" for classic Hangouts for Google Workspace users (http://hangouts.google.com)\n- \"hangoutsMeet\" for Google Meet (http://meet.google.com)\n- \"addOn\" for 3P conference providers", + "description": "The conference solution type.\nIf a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications.\nThe possible values are: \n- \"eventHangout\" for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created)\n- \"eventNamedHangout\" for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created)\n- \"hangoutsMeet\" for Google Meet (http://meet.google.com)\n- \"addOn\" for 3P conference providers", "type": "string" } }, @@ -2296,7 +2296,7 @@ "properties": { "anyoneCanAddSelf": { "default": "false", - "description": "Whether anyone can invite themselves to the event (currently works for Google+ events only). Optional. The default is False.", + "description": "Whether anyone can invite themselves to the event (deprecated). Optional. The default is False.", "type": "boolean" }, "attachments": { @@ -2343,7 +2343,7 @@ "type": "string" }, "id": { - "description": "The creator's Profile ID, if available. It corresponds to the id field in the People collection of the Google+ API", + "description": "The creator's Profile ID, if available.", "type": "string" }, "self": { @@ -2380,7 +2380,7 @@ }, "eventType": { "default": "default", - "description": "Specific type of the event. Read-only. Possible values are: \n- \"default\" - A regular event or not further specified. \n- \"outOfOffice\" - An out-of-office event.", + "description": "Specific type of the event. Read-only. Possible values are: \n- \"default\" - A regular event or not further specified. \n- \"outOfOffice\" - An out-of-office event. \n- \"focusTime\" - A focus-time event.", "type": "string" }, "extendedProperties": { @@ -2465,7 +2465,7 @@ "type": "boolean" }, "hangoutLink": { - "description": "An absolute link to the Google+ hangout associated with this event. Read-only.", + "description": "An absolute link to the Google Hangout associated with this event. Read-only.", "type": "string" }, "htmlLink": { @@ -2511,7 +2511,7 @@ "type": "string" }, "id": { - "description": "The organizer's Profile ID, if available. It corresponds to the id field in the People collection of the Google+ API", + "description": "The organizer's Profile ID, if available.", "type": "string" }, "self": { @@ -2663,7 +2663,7 @@ "type": "string" }, "id": { - "description": "The attendee's Profile ID, if available. It corresponds to the id field in the People collection of the Google+ API", + "description": "The attendee's Profile ID, if available.", "type": "string" }, "optional": { diff --git a/etc/api/certificatemanager/v1/certificatemanager-api.json b/etc/api/certificatemanager/v1/certificatemanager-api.json new file mode 100644 index 0000000000..607667f040 --- /dev/null +++ b/etc/api/certificatemanager/v1/certificatemanager-api.json @@ -0,0 +1,1698 @@ +{ + "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://certificatemanager.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Certificate Manager", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/certificate-manager", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "certificatemanager:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://certificatemanager.mtls.googleapis.com/", + "name": "certificatemanager", + "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": "certificatemanager.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": "certificatemanager.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": { + "certificateMaps": { + "methods": { + "create": { + "description": "Creates a new CertificateMap in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificateMaps", + "httpMethod": "POST", + "id": "certificatemanager.projects.locations.certificateMaps.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "certificateMapId": { + "description": "Required. A user-provided name of the certificate map.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the certificate map. Must be in the format `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/certificateMaps", + "request": { + "$ref": "CertificateMap" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single CertificateMap. A Certificate Map can't be deleted if it contains Certificate Map Entries. Remove all the entries from the map before calling this method.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificateMaps/{certificateMapsId}", + "httpMethod": "DELETE", + "id": "certificatemanager.projects.locations.certificateMaps.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the certificate map to delete. Must be in the format `projects/*/locations/*/certificateMaps/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/certificateMaps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single CertificateMap.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificateMaps/{certificateMapsId}", + "httpMethod": "GET", + "id": "certificatemanager.projects.locations.certificateMaps.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the certificate map to describe. Must be in the format `projects/*/locations/*/certificateMaps/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/certificateMaps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "CertificateMap" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists CertificateMaps in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificateMaps", + "httpMethod": "GET", + "id": "certificatemanager.projects.locations.certificateMaps.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filter expression to restrict the Certificates Maps returned.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "A list of Certificate Map field names used to specify the order of the returned results. The default sorting order is ascending. To specify descending order for a field, add a suffix \" desc\".", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Maximum number of certificate maps to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListCertificateMapsResponse`. Indicates that this is a continuation of a prior `ListCertificateMaps` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the certificate maps should be listed, specified in the format `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/certificateMaps", + "response": { + "$ref": "ListCertificateMapsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a CertificateMap.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificateMaps/{certificateMapsId}", + "httpMethod": "PATCH", + "id": "certificatemanager.projects.locations.certificateMaps.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "A user-defined name of the Certificate Map. Certificate Map names must be unique globally and match pattern `projects/*/locations/*/certificateMaps/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/certificateMaps/[^/]+$", + "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": "v1/{+name}", + "request": { + "$ref": "CertificateMap" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "certificateMapEntries": { + "methods": { + "create": { + "description": "Creates a new CertificateMapEntry in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificateMaps/{certificateMapsId}/certificateMapEntries", + "httpMethod": "POST", + "id": "certificatemanager.projects.locations.certificateMaps.certificateMapEntries.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "certificateMapEntryId": { + "description": "Required. A user-provided name of the certificate map entry.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the certificate map entry. Must be in the format `projects/*/locations/*/certificateMaps/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/certificateMaps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/certificateMapEntries", + "request": { + "$ref": "CertificateMapEntry" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single CertificateMapEntry.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificateMaps/{certificateMapsId}/certificateMapEntries/{certificateMapEntriesId}", + "httpMethod": "DELETE", + "id": "certificatemanager.projects.locations.certificateMaps.certificateMapEntries.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the certificate map entry to delete. Must be in the format `projects/*/locations/*/certificateMaps/*/certificateMapEntries/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/certificateMaps/[^/]+/certificateMapEntries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single CertificateMapEntry.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificateMaps/{certificateMapsId}/certificateMapEntries/{certificateMapEntriesId}", + "httpMethod": "GET", + "id": "certificatemanager.projects.locations.certificateMaps.certificateMapEntries.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the certificate map entry to describe. Must be in the format `projects/*/locations/*/certificateMaps/*/certificateMapEntries/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/certificateMaps/[^/]+/certificateMapEntries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "CertificateMapEntry" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists CertificateMapEntries in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificateMaps/{certificateMapsId}/certificateMapEntries", + "httpMethod": "GET", + "id": "certificatemanager.projects.locations.certificateMaps.certificateMapEntries.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filter expression to restrict the returned Certificate Map Entries.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "A list of Certificate Map Entry field names used to specify the order of the returned results. The default sorting order is ascending. To specify descending order for a field, add a suffix \" desc\".", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Maximum number of certificate map entries to return. The service may return fewer than this value. If unspecified, at most 50 certificate map entries will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListCertificateMapEntriesResponse`. Indicates that this is a continuation of a prior `ListCertificateMapEntries` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project, location and certificate map from which the certificate map entries should be listed, specified in the format `projects/*/locations/*/certificateMaps/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/certificateMaps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/certificateMapEntries", + "response": { + "$ref": "ListCertificateMapEntriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a CertificateMapEntry.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificateMaps/{certificateMapsId}/certificateMapEntries/{certificateMapEntriesId}", + "httpMethod": "PATCH", + "id": "certificatemanager.projects.locations.certificateMaps.certificateMapEntries.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "A user-defined name of the Certificate Map Entry. Certificate Map Entry names must be unique globally and match pattern `projects/*/locations/*/certificateMaps/*/certificateMapEntries/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/certificateMaps/[^/]+/certificateMapEntries/[^/]+$", + "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": "v1/{+name}", + "request": { + "$ref": "CertificateMapEntry" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "certificates": { + "methods": { + "create": { + "description": "Creates a new Certificate in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificates", + "httpMethod": "POST", + "id": "certificatemanager.projects.locations.certificates.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "certificateId": { + "description": "Required. A user-provided name of the certificate.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the certificate. Must be in the format `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/certificates", + "request": { + "$ref": "Certificate" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single Certificate.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificates/{certificatesId}", + "httpMethod": "DELETE", + "id": "certificatemanager.projects.locations.certificates.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the certificate to delete. Must be in the format `projects/*/locations/*/certificates/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/certificates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Certificate.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificates/{certificatesId}", + "httpMethod": "GET", + "id": "certificatemanager.projects.locations.certificates.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the certificate to describe. Must be in the format `projects/*/locations/*/certificates/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/certificates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Certificate" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Certificates in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificates", + "httpMethod": "GET", + "id": "certificatemanager.projects.locations.certificates.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filter expression to restrict the Certificates returned.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "A list of Certificate field names used to specify the order of the returned results. The default sorting order is ascending. To specify descending order for a field, add a suffix \" desc\".", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Maximum number of certificates to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListCertificatesResponse`. Indicates that this is a continuation of a prior `ListCertificates` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the certificate should be listed, specified in the format `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/certificates", + "response": { + "$ref": "ListCertificatesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a Certificate.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/certificates/{certificatesId}", + "httpMethod": "PATCH", + "id": "certificatemanager.projects.locations.certificates.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "A user-defined name of the certificate. Certificate names must be unique globally and match pattern `projects/*/locations/*/certificates/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/certificates/[^/]+$", + "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": "v1/{+name}", + "request": { + "$ref": "Certificate" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "dnsAuthorizations": { + "methods": { + "create": { + "description": "Creates a new DnsAuthorization in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dnsAuthorizations", + "httpMethod": "POST", + "id": "certificatemanager.projects.locations.dnsAuthorizations.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "dnsAuthorizationId": { + "description": "Required. A user-provided name of the dns authorization.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the dns authorization. Must be in the format `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dnsAuthorizations", + "request": { + "$ref": "DnsAuthorization" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single DnsAuthorization.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dnsAuthorizations/{dnsAuthorizationsId}", + "httpMethod": "DELETE", + "id": "certificatemanager.projects.locations.dnsAuthorizations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the dns authorization to delete. Must be in the format `projects/*/locations/*/dnsAuthorizations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dnsAuthorizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single DnsAuthorization.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dnsAuthorizations/{dnsAuthorizationsId}", + "httpMethod": "GET", + "id": "certificatemanager.projects.locations.dnsAuthorizations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the dns authorization to describe. Must be in the format `projects/*/locations/*/dnsAuthorizations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dnsAuthorizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "DnsAuthorization" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists DnsAuthorizations in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dnsAuthorizations", + "httpMethod": "GET", + "id": "certificatemanager.projects.locations.dnsAuthorizations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filter expression to restrict the Dns Authorizations returned.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "A list of Dns Authorization field names used to specify the order of the returned results. The default sorting order is ascending. To specify descending order for a field, add a suffix \" desc\".", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Maximum number of dns authorizations to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListDnsAuthorizationsResponse`. Indicates that this is a continuation of a prior `ListDnsAuthorizations` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the dns authorizations should be listed, specified in the format `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/dnsAuthorizations", + "response": { + "$ref": "ListDnsAuthorizationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a DnsAuthorization.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dnsAuthorizations/{dnsAuthorizationsId}", + "httpMethod": "PATCH", + "id": "certificatemanager.projects.locations.dnsAuthorizations.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "A user-defined name of the dns authorization. DnsAuthorization names must be unique globally and match pattern `projects/*/locations/*/dnsAuthorizations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dnsAuthorizations/[^/]+$", + "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": "v1/{+name}", + "request": { + "$ref": "DnsAuthorization" + }, + "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": "certificatemanager.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": "certificatemanager.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": "certificatemanager.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`. 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": "v1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "certificatemanager.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": "20220214", + "rootUrl": "https://certificatemanager.googleapis.com/", + "schemas": { + "AuthorizationAttemptInfo": { + "description": "State of the latest attempt to authorize a domain for certificate issuance.", + "id": "AuthorizationAttemptInfo", + "properties": { + "details": { + "description": "Human readable explanation for reaching the state. Provided to help address the configuration issues. Not guaranteed to be stable. For programmatic access use Reason enum.", + "type": "string" + }, + "domain": { + "description": "Domain name of the authorization attempt.", + "type": "string" + }, + "failureReason": { + "description": "Output only. Reason for failure of the authorization attempt for the domain.", + "enum": [ + "FAILURE_REASON_UNSPECIFIED", + "CONFIG", + "CAA", + "RATE_LIMITED" + ], + "enumDescriptions": [ + "", + "There was a problem with the user's DNS or load balancer configuration for this domain.", + "Certificate issuance forbidden by an explicit CAA record for the domain or a failure to check CAA records for the domain.", + "Reached a CA or internal rate-limit for the domain, e.g. for certificates per top-level private domain." + ], + "readOnly": true, + "type": "string" + }, + "state": { + "description": "State of the domain for managed certificate issuance.", + "enum": [ + "STATE_UNSPECIFIED", + "AUTHORIZING", + "AUTHORIZED", + "FAILED" + ], + "enumDescriptions": [ + "", + "Certificate provisioning for this domain is under way. GCP will attempt to authorize the domain.", + "A managed certificate can be provisioned, no issues for this domain.", + "Attempt to authorize the domain failed. This prevents the Managed Certificate from being issued. See `failure_reason` and `details` fields for more information." + ], + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "Certificate": { + "description": "Defines TLS certificate.", + "id": "Certificate", + "properties": { + "createTime": { + "description": "Output only. The creation timestamp of a Certificate.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "One or more paragraphs of text description of a certificate.", + "type": "string" + }, + "expireTime": { + "description": "Output only. The expiry timestamp of a Certificate.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of labels associated with a Certificate.", + "type": "object" + }, + "managed": { + "$ref": "ManagedCertificate", + "description": "If set, contains configuration and state of a managed certificate." + }, + "name": { + "description": "A user-defined name of the certificate. Certificate names must be unique globally and match pattern `projects/*/locations/*/certificates/*`.", + "type": "string" + }, + "pemCertificate": { + "description": "Output only. The PEM-encoded certificate chain.", + "readOnly": true, + "type": "string" + }, + "sanDnsnames": { + "description": "Output only. The list of Subject Alternative Names of dnsName type defined in the certificate (see RFC 5280 4.2.1.6)", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "scope": { + "description": "Immutable. The scope of the certificate.", + "enum": [ + "DEFAULT", + "EDGE_CACHE" + ], + "enumDescriptions": [ + "Certificates with default scope are served from core Google data centers. If unsure, choose this option.", + "Certificates with scope EDGE_CACHE are special-purposed certificates, served from non-core Google data centers." + ], + "type": "string" + }, + "selfManaged": { + "$ref": "SelfManagedCertificate", + "description": "If set, defines data of a self-managed certificate." + }, + "updateTime": { + "description": "Output only. The last update timestamp of a Certificate.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CertificateMap": { + "description": "Defines a collection of certificate configurations.", + "id": "CertificateMap", + "properties": { + "createTime": { + "description": "Output only. The creation timestamp of a Certificate Map.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "One or more paragraphs of text description of a certificate map.", + "type": "string" + }, + "gclbTargets": { + "description": "Output only. A list of GCLB targets which use this Certificate Map.", + "items": { + "$ref": "GclbTarget" + }, + "readOnly": true, + "type": "array" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of labels associated with a Certificate Map.", + "type": "object" + }, + "name": { + "description": "A user-defined name of the Certificate Map. Certificate Map names must be unique globally and match pattern `projects/*/locations/*/certificateMaps/*`.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The update timestamp of a Certificate Map.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CertificateMapEntry": { + "description": "Defines a certificate map entry.", + "id": "CertificateMapEntry", + "properties": { + "certificates": { + "description": "A set of Certificates defines for the given `hostname`. There can be defined up to fifteen certificates in each Certificate Map Entry. Each certificate must match pattern `projects/*/locations/*/certificates/*`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. The creation timestamp of a Certificate Map Entry.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "One or more paragraphs of text description of a certificate map entry.", + "type": "string" + }, + "hostname": { + "description": "A Hostname (FQDN, e.g. example.com) or a wildcard hostname expression (*.example.com) for a set of hostnames with common suffix. Used as Server Name Indication (SNI) for selecting a proper certificate.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of labels associated with a Certificate Map Entry.", + "type": "object" + }, + "matcher": { + "description": "A predefined matcher for particular cases, other than SNI selection.", + "enum": [ + "MATCHER_UNSPECIFIED", + "PRIMARY" + ], + "enumDescriptions": [ + "A matcher has't been recognized.", + "A primary certificate that is served when SNI wasn't specified in the request or SNI couldn't be found in the map." + ], + "type": "string" + }, + "name": { + "description": "A user-defined name of the Certificate Map Entry. Certificate Map Entry names must be unique globally and match pattern `projects/*/locations/*/certificateMaps/*/certificateMapEntries/*`.", + "type": "string" + }, + "state": { + "description": "Output only. A serving state of this Certificate Map Entry.", + "enum": [ + "SERVING_STATE_UNSPECIFIED", + "ACTIVE", + "PENDING" + ], + "enumDescriptions": [ + "The status is undefined.", + "The configuration is serving.", + "Update is in progress. Some frontends may serve this configuration." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The update timestamp of a Certificate Map Entry.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DnsAuthorization": { + "description": "A DnsAuthorization resource describes a way to perform domain authorization for certificate issuance.", + "id": "DnsAuthorization", + "properties": { + "createTime": { + "description": "Output only. The creation timestamp of a DnsAuthorization.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "One or more paragraphs of text description of a DnsAuthorization.", + "type": "string" + }, + "dnsResourceRecord": { + "$ref": "DnsResourceRecord", + "description": "Output only. DNS Resource Record that needs to be added to DNS configuration.", + "readOnly": true + }, + "domain": { + "description": "Required. Immutable. A domain which is being authorized. A DnsAuthorization resource covers a single domain and its wildcard, e.g. authorization for \"example.com\" can be used to issue certificates for \"example.com\" and \"*.example.com\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of labels associated with a DnsAuthorization.", + "type": "object" + }, + "name": { + "description": "A user-defined name of the dns authorization. DnsAuthorization names must be unique globally and match pattern `projects/*/locations/*/dnsAuthorizations/*`.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The last update timestamp of a DnsAuthorization.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DnsResourceRecord": { + "description": "The structure describing the DNS Resource Record that needs to be added to DNS configuration for the authorization to be usable by certificate.", + "id": "DnsResourceRecord", + "properties": { + "data": { + "description": "Output only. Data of the DNS Resource Record.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Fully qualified name of the DNS Resource Record. e.g. \"_acme-challenge.example.com.\"", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. Type of the DNS Resource Record. Currently always set to \"CNAME\".", + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "GclbTarget": { + "description": "Describes a Target Proxy which uses this Certificate Map.", + "id": "GclbTarget", + "properties": { + "ipConfigs": { + "description": "IP configurations for this Target Proxy where the Certificate Map is serving.", + "items": { + "$ref": "IpConfig" + }, + "type": "array" + }, + "targetHttpsProxy": { + "description": "A name must be in the format `projects/*/locations/*/targetHttpsProxies/*`.", + "type": "string" + }, + "targetSslProxy": { + "description": "A name must be in the format `projects/*/locations/*/targetSslProxies/*`.", + "type": "string" + } + }, + "type": "object" + }, + "IpConfig": { + "description": "Defines IP configuration where this Certificate Map is serving.", + "id": "IpConfig", + "properties": { + "ipAddress": { + "description": "An external IP address.", + "type": "string" + }, + "ports": { + "description": "Ports.", + "items": { + "format": "uint32", + "type": "integer" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListCertificateMapEntriesResponse": { + "description": "Response for the `ListCertificateMapEntries` method.", + "id": "ListCertificateMapEntriesResponse", + "properties": { + "certificateMapEntries": { + "description": "A list of certificate map entries for the parent resource.", + "items": { + "$ref": "CertificateMapEntry" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListCertificateMapsResponse": { + "description": "Response for the `ListCertificateMaps` method.", + "id": "ListCertificateMapsResponse", + "properties": { + "certificateMaps": { + "description": "A list of certificate maps for the parent resource.", + "items": { + "$ref": "CertificateMap" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListCertificatesResponse": { + "description": "Response for the `ListCertificates` method.", + "id": "ListCertificatesResponse", + "properties": { + "certificates": { + "description": "A list of certificates for the parent resource.", + "items": { + "$ref": "Certificate" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + }, + "unreachable": { + "description": "A list of locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListDnsAuthorizationsResponse": { + "description": "Response for the `ListDnsAuthorizations` method.", + "id": "ListDnsAuthorizationsResponse", + "properties": { + "dnsAuthorizations": { + "description": "A list of dns authorizations for the parent resource.", + "items": { + "$ref": "DnsAuthorization" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform 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" + }, + "ManagedCertificate": { + "description": "Configuration and state of a Managed Certificate. Certificate Manager provisions and renews Managed Certificates automatically, for as long as it's authorized to do so.", + "id": "ManagedCertificate", + "properties": { + "authorizationAttemptInfo": { + "description": "Output only. Detailed state of the latest authorization attempt for each domain specified for managed certificate resource.", + "items": { + "$ref": "AuthorizationAttemptInfo" + }, + "readOnly": true, + "type": "array" + }, + "dnsAuthorizations": { + "description": "Immutable. Authorizations that will be used for performing domain authorization.", + "items": { + "type": "string" + }, + "type": "array" + }, + "domains": { + "description": "Immutable. The domains for which a managed SSL certificate will be generated. Wildcard domains are only supported with DNS challenge resolution.", + "items": { + "type": "string" + }, + "type": "array" + }, + "provisioningIssue": { + "$ref": "ProvisioningIssue", + "description": "Information about issues with provisioning a Managed Certificate." + }, + "state": { + "description": "Output only. State of the managed certificate resource.", + "enum": [ + "STATE_UNSPECIFIED", + "PROVISIONING", + "FAILED", + "ACTIVE" + ], + "enumDescriptions": [ + "", + "Certificate Manager attempts to provision or renew the certificate. If the process takes longer than expected, consult the `provisioning_issue` field.", + "Multiple certificate provisioning attempts failed and Certificate Manager gave up. To try again, delete and create a new managed Certificate resource. For details see the `provisioning_issue` field.", + "The certificate management is working, and a certificate has been provisioned." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal 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. Output only.", + "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" + }, + "requestedCancellation": { + "description": "Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "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" + }, + "ProvisioningIssue": { + "description": "Information about issues with provisioning a Managed Certificate.", + "id": "ProvisioningIssue", + "properties": { + "details": { + "description": "Human readable explanation about the issue. Provided to help address the configuration issues. Not guaranteed to be stable. For programmatic access use Reason enum.", + "type": "string" + }, + "reason": { + "description": "Reason for provisioning failures.", + "enum": [ + "REASON_UNSPECIFIED", + "AUTHORIZATION_ISSUE", + "RATE_LIMITED" + ], + "enumDescriptions": [ + "", + "Certificate provisioning failed due to an issue with one or more of the domains on the certificate. For details of which domains failed, consult the `authorization_attempt_info` field.", + "Exceeded Certificate Authority quotas or internal rate limits of the system. Provisioning may take longer to complete." + ], + "type": "string" + } + }, + "type": "object" + }, + "SelfManagedCertificate": { + "description": "Certificate data for a SelfManaged Certificate. SelfManaged Certificates are uploaded by the user. Updating such certificates before they expire remains the user's responsibility.", + "id": "SelfManagedCertificate", + "properties": { + "pemCertificate": { + "description": "Input only. The PEM-encoded certificate chain. Leaf certificate comes first, followed by intermediate ones if any.", + "type": "string" + }, + "pemPrivateKey": { + "description": "Input only. The PEM-encoded private key of the leaf certificate.", + "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" + } + }, + "servicePath": "", + "title": "Certificate Manager API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/chat/v1/chat-api.json b/etc/api/chat/v1/chat-api.json index aac9a28a61..11ddd1fe80 100644 --- a/etc/api/chat/v1/chat-api.json +++ b/etc/api/chat/v1/chat-api.json @@ -3,7 +3,7 @@ "baseUrl": "https://chat.googleapis.com/", "batchPath": "batch", "canonicalName": "Hangouts Chat", - "description": "Enables bots to fetch information and perform actions in Google Chat.", + "description": "Enables bots to fetch information and perform actions in Google Chat. Authentication using a service account is a prerequisite for using the Google Chat REST API.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/hangouts/chat", "fullyEncodeReservedExpansion": true, @@ -108,14 +108,19 @@ ], "parameters": { "parent": { - "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAMpdlehY", + "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAAAAAAAA", "location": "path", "pattern": "^dms/[^/]+$", "required": true, "type": "string" }, + "requestId": { + "description": "Optional. A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message.", + "location": "query", + "type": "string" + }, "threadKey": { - "description": "Opaque thread identifier string that can be specified to group messages into a single thread. If this is the first message with a given thread identifier, a new thread is created. Subsequent messages with the same thread identifier will be posted into the same thread. This relieves bots and webhooks from having to store the Hangouts Chat thread ID of a thread (created earlier by them) to post further updates to it. Has no effect if thread field, corresponding to an existing thread, is set in message.", + "description": "Optional. Opaque thread identifier string that can be specified to group messages into a single thread. If this is the first message with a given thread identifier, a new thread is created. Subsequent messages with the same thread identifier will be posted into the same thread. This relieves bots and webhooks from having to store the Google Chat thread ID of a thread (created earlier by them) to post further updates to it. Has no effect if thread field, corresponding to an existing thread, is set in message.", "location": "query", "type": "string" } @@ -138,14 +143,19 @@ ], "parameters": { "parent": { - "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAMpdlehY", + "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAAAAAAAA", "location": "path", "pattern": "^dms/[^/]+$", "required": true, "type": "string" }, + "requestId": { + "description": "Optional. A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message.", + "location": "query", + "type": "string" + }, "threadKey": { - "description": "Opaque thread identifier string that can be specified to group messages into a single thread. If this is the first message with a given thread identifier, a new thread is created. Subsequent messages with the same thread identifier will be posted into the same thread. This relieves bots and webhooks from having to store the Hangouts Chat thread ID of a thread (created earlier by them) to post further updates to it. Has no effect if thread field, corresponding to an existing thread, is set in message.", + "description": "Optional. Opaque thread identifier string that can be specified to group messages into a single thread. If this is the first message with a given thread identifier, a new thread is created. Subsequent messages with the same thread identifier will be posted into the same thread. This relieves bots and webhooks from having to store the Google Chat thread ID of a thread (created earlier by them) to post further updates to it. Has no effect if thread field, corresponding to an existing thread, is set in message.", "location": "query", "type": "string" } @@ -172,14 +182,19 @@ ], "parameters": { "parent": { - "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAMpdlehY", + "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAAAAAAAA", "location": "path", "pattern": "^dms/[^/]+/conversations/[^/]+$", "required": true, "type": "string" }, + "requestId": { + "description": "Optional. A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message.", + "location": "query", + "type": "string" + }, "threadKey": { - "description": "Opaque thread identifier string that can be specified to group messages into a single thread. If this is the first message with a given thread identifier, a new thread is created. Subsequent messages with the same thread identifier will be posted into the same thread. This relieves bots and webhooks from having to store the Hangouts Chat thread ID of a thread (created earlier by them) to post further updates to it. Has no effect if thread field, corresponding to an existing thread, is set in message.", + "description": "Optional. Opaque thread identifier string that can be specified to group messages into a single thread. If this is the first message with a given thread identifier, a new thread is created. Subsequent messages with the same thread identifier will be posted into the same thread. This relieves bots and webhooks from having to store the Google Chat thread ID of a thread (created earlier by them) to post further updates to it. Has no effect if thread field, corresponding to an existing thread, is set in message.", "location": "query", "type": "string" } @@ -235,14 +250,19 @@ ], "parameters": { "parent": { - "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAMpdlehY", + "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAAAAAAAA", "location": "path", "pattern": "^rooms/[^/]+$", "required": true, "type": "string" }, + "requestId": { + "description": "Optional. A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message.", + "location": "query", + "type": "string" + }, "threadKey": { - "description": "Opaque thread identifier string that can be specified to group messages into a single thread. If this is the first message with a given thread identifier, a new thread is created. Subsequent messages with the same thread identifier will be posted into the same thread. This relieves bots and webhooks from having to store the Hangouts Chat thread ID of a thread (created earlier by them) to post further updates to it. Has no effect if thread field, corresponding to an existing thread, is set in message.", + "description": "Optional. Opaque thread identifier string that can be specified to group messages into a single thread. If this is the first message with a given thread identifier, a new thread is created. Subsequent messages with the same thread identifier will be posted into the same thread. This relieves bots and webhooks from having to store the Google Chat thread ID of a thread (created earlier by them) to post further updates to it. Has no effect if thread field, corresponding to an existing thread, is set in message.", "location": "query", "type": "string" } @@ -265,14 +285,19 @@ ], "parameters": { "parent": { - "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAMpdlehY", + "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAAAAAAAA", "location": "path", "pattern": "^rooms/[^/]+$", "required": true, "type": "string" }, + "requestId": { + "description": "Optional. A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message.", + "location": "query", + "type": "string" + }, "threadKey": { - "description": "Opaque thread identifier string that can be specified to group messages into a single thread. If this is the first message with a given thread identifier, a new thread is created. Subsequent messages with the same thread identifier will be posted into the same thread. This relieves bots and webhooks from having to store the Hangouts Chat thread ID of a thread (created earlier by them) to post further updates to it. Has no effect if thread field, corresponding to an existing thread, is set in message.", + "description": "Optional. Opaque thread identifier string that can be specified to group messages into a single thread. If this is the first message with a given thread identifier, a new thread is created. Subsequent messages with the same thread identifier will be posted into the same thread. This relieves bots and webhooks from having to store the Google Chat thread ID of a thread (created earlier by them) to post further updates to it. Has no effect if thread field, corresponding to an existing thread, is set in message.", "location": "query", "type": "string" } @@ -299,14 +324,19 @@ ], "parameters": { "parent": { - "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAMpdlehY", + "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAAAAAAAA", "location": "path", "pattern": "^rooms/[^/]+/conversations/[^/]+$", "required": true, "type": "string" }, + "requestId": { + "description": "Optional. A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message.", + "location": "query", + "type": "string" + }, "threadKey": { - "description": "Opaque thread identifier string that can be specified to group messages into a single thread. If this is the first message with a given thread identifier, a new thread is created. Subsequent messages with the same thread identifier will be posted into the same thread. This relieves bots and webhooks from having to store the Hangouts Chat thread ID of a thread (created earlier by them) to post further updates to it. Has no effect if thread field, corresponding to an existing thread, is set in message.", + "description": "Optional. Opaque thread identifier string that can be specified to group messages into a single thread. If this is the first message with a given thread identifier, a new thread is created. Subsequent messages with the same thread identifier will be posted into the same thread. This relieves bots and webhooks from having to store the Google Chat thread ID of a thread (created earlier by them) to post further updates to it. Has no effect if thread field, corresponding to an existing thread, is set in message.", "location": "query", "type": "string" } @@ -335,7 +365,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the space, in the form \"spaces/*\". Example: spaces/AAAAMpdlehY", + "description": "Required. Resource name of the space, in the form \"spaces/*\". Example: spaces/AAAAAAAAAAAA", "location": "path", "pattern": "^spaces/[^/]+$", "required": true, @@ -381,14 +411,19 @@ ], "parameters": { "parent": { - "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAMpdlehY", + "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAAAAAAAA", "location": "path", "pattern": "^spaces/[^/]+$", "required": true, "type": "string" }, + "requestId": { + "description": "Optional. A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message.", + "location": "query", + "type": "string" + }, "threadKey": { - "description": "Opaque thread identifier string that can be specified to group messages into a single thread. If this is the first message with a given thread identifier, a new thread is created. Subsequent messages with the same thread identifier will be posted into the same thread. This relieves bots and webhooks from having to store the Hangouts Chat thread ID of a thread (created earlier by them) to post further updates to it. Has no effect if thread field, corresponding to an existing thread, is set in message.", + "description": "Optional. Opaque thread identifier string that can be specified to group messages into a single thread. If this is the first message with a given thread identifier, a new thread is created. Subsequent messages with the same thread identifier will be posted into the same thread. This relieves bots and webhooks from having to store the Google Chat thread ID of a thread (created earlier by them) to post further updates to it. Has no effect if thread field, corresponding to an existing thread, is set in message.", "location": "query", "type": "string" } @@ -415,7 +450,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the membership to be retrieved, in the form \"spaces/*/members/*\". Example: spaces/AAAAMpdlehY/members/105115627578887013105", + "description": "Required. Resource name of the membership to be retrieved, in the form \"spaces/*/members/*\". Example: spaces/AAAAAAAAAAAA/members/111111111111111111111", "location": "path", "pattern": "^spaces/[^/]+/members/[^/]+$", "required": true, @@ -448,7 +483,7 @@ "type": "string" }, "parent": { - "description": "Required. The resource name of the space for which membership list is to be fetched, in the form \"spaces/*\". Example: spaces/AAAAMpdlehY", + "description": "Required. The resource name of the space for which membership list is to be fetched, in the form \"spaces/*\". Example: spaces/AAAAAAAAAAAA", "location": "path", "pattern": "^spaces/[^/]+$", "required": true, @@ -474,14 +509,19 @@ ], "parameters": { "parent": { - "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAMpdlehY", + "description": "Required. Space resource name, in the form \"spaces/*\". Example: spaces/AAAAAAAAAAA", "location": "path", "pattern": "^spaces/[^/]+$", "required": true, "type": "string" }, + "requestId": { + "description": "Optional. A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message.", + "location": "query", + "type": "string" + }, "threadKey": { - "description": "Opaque thread identifier string that can be specified to group messages into a single thread. If this is the first message with a given thread identifier, a new thread is created. Subsequent messages with the same thread identifier will be posted into the same thread. This relieves bots and webhooks from having to store the Hangouts Chat thread ID of a thread (created earlier by them) to post further updates to it. Has no effect if thread field, corresponding to an existing thread, is set in message.", + "description": "Optional. Opaque thread identifier string that can be specified to group messages into a single thread. If this is the first message with a given thread identifier, a new thread is created. Subsequent messages with the same thread identifier will be posted into the same thread. This relieves bots and webhooks from having to store the Google Chat thread ID of a thread (created earlier by them) to post further updates to it. Has no effect if thread field, corresponding to an existing thread, is set in message.", "location": "query", "type": "string" } @@ -504,7 +544,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the message to be deleted, in the form \"spaces/*/messages/*\" Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4", + "description": "Required. Resource name of the message to be deleted, in the form \"spaces/*/messages/*\" Example: spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB", "location": "path", "pattern": "^spaces/[^/]+/messages/[^/]+$", "required": true, @@ -526,7 +566,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the message to be retrieved, in the form \"spaces/*/messages/*\". Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4", + "description": "Required. Resource name of the message to be retrieved, in the form \"spaces/*/messages/*\". Example: spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB", "location": "path", "pattern": "^spaces/[^/]+/messages/[^/]+$", "required": true, @@ -548,13 +588,14 @@ ], "parameters": { "name": { + "description": "Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`", "location": "path", "pattern": "^spaces/[^/]+/messages/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Required. The field paths to be updated, comma separated if there are multiple. Currently supported field paths: * text * cards", + "description": "Required. The field paths to be updated, comma separated if there are multiple. Currently supported field paths: * text * cards * attachment", "format": "google-fieldmask", "location": "query", "type": "string" @@ -601,7 +642,7 @@ } } }, - "revision": "20210324", + "revision": "20220302", "rootUrl": "https://chat.googleapis.com/", "schemas": { "ActionParameter": { @@ -623,19 +664,27 @@ "description": "Parameters that a bot can use to configure how it's response is posted.", "id": "ActionResponse", "properties": { + "dialogAction": { + "$ref": "DialogAction", + "description": "A response to an event related to a [dialog](https://developers.google.com/chat/how-tos/bot-dialogs). Must be accompanied by `ResponseType.Dialog`." + }, "type": { "description": "The type of bot response.", "enum": [ "TYPE_UNSPECIFIED", "NEW_MESSAGE", "UPDATE_MESSAGE", - "REQUEST_CONFIG" + "UPDATE_USER_MESSAGE_CARDS", + "REQUEST_CONFIG", + "DIALOG" ], "enumDescriptions": [ "Default type; will be handled as NEW_MESSAGE.", "Post as a new message in the topic.", - "Update the bot's own message. (Only after CARD_CLICKED events.)", - "Privately ask the user for additional auth or config." + "Update the bot's message. This is only permitted on a CARD_CLICKED event where the message sender type is BOT.", + "Update the cards on a user's message. This is only permitted as a response to a MESSAGE event with a matched url, or a CARD_CLICKED event where the message sender type is HUMAN. Text will be ignored.", + "Privately ask the user for additional auth or config.", + "Presents a [dialog](https://developers.google.com/chat/how-tos/bot-dialogs)." ], "type": "string" }, @@ -646,6 +695,59 @@ }, "type": "object" }, + "ActionStatus": { + "description": "Represents the status of a request.", + "id": "ActionStatus", + "properties": { + "statusCode": { + "description": "The status code.", + "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" + }, + "userFacingMessage": { + "description": "The message to send users about the status of their request. If unset, a generic message based on the `status_code` is sent.", + "type": "string" + } + }, + "type": "object" + }, "Annotation": { "description": "Annotations associated with the plain-text body of the message. Example plain-text message body: ``` Hello @FooBot how are you!\" ``` The corresponding annotations metadata: ``` \"annotations\":[{ \"type\":\"USER_MENTION\", \"startIndex\":6, \"length\":7, \"userMention\": { \"user\": { \"name\":\"users/107946847022116401880\", \"displayName\":\"FooBot\", \"avatarUrl\":\"https://goo.gl/aeDtrS\", \"type\":\"BOT\" }, \"type\":\"MENTION\" } }] ```", "id": "Annotation", @@ -686,7 +788,7 @@ "type": "object" }, "Attachment": { - "description": "An attachment in Hangouts Chat.", + "description": "An attachment in Google Chat.", "id": "Attachment", "properties": { "attachmentDataRef": { @@ -836,30 +938,190 @@ }, "type": "object" }, + "Color": { + "description": "Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(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" + }, + "CommonEventObject": { + "description": "Represents information about the user's client, such as locale, host app, and platform. For Chat apps, `CommonEventObject` includes data submitted by users interacting with cards, like data entered in [dialogs](https://developers.google.com/chat/how-tos/bot-dialogs).", + "id": "CommonEventObject", + "properties": { + "formInputs": { + "additionalProperties": { + "$ref": "Inputs" + }, + "description": "A map containing the current values of the widgets in a card. The map keys are the string IDs assigned to each widget, and the values represent inputs to the widget. Depending on the input data type, a different object represents each input: For single-value widgets, `StringInput`. For multi-value widgets, an array of `StringInput` objects. For a date-time picker, a `DateTimeInput`. For a date-only picker, a `DateInput`. For a time-only picker, a `TimeInput`. Corresponds with the data entered by a user on a card in a [dialog](https://developers.google.com/chat/how-tos/bot-dialogs).", + "type": "object" + }, + "hostApp": { + "description": "The hostApp enum which indicates the app the add-on is invoked from. Always `CHAT` for Chat apps.", + "enum": [ + "UNSPECIFIED_HOST_APP", + "GMAIL", + "CALENDAR", + "DRIVE", + "DEMO", + "DOCS", + "SHEETS", + "SLIDES", + "DRAWINGS", + "CHAT" + ], + "enumDescriptions": [ + "Google can't identify a host app.", + "The add-on launches from Gmail.", + "The add-on launches from Google Calendar.", + "The add-on launches from Google Drive.", + "Not used.", + "The add-on launches from Google Docs.", + "The add-on launches from Google Sheets.", + "The add-on launches from Google Slides.", + "The add-on launches from Google Drawings.", + "A Google Chat app. Not used for Google Workspace Add-ons." + ], + "type": "string" + }, + "invokedFunction": { + "description": "Name of the invoked function associated with the widget. Only set for Chat apps.", + "type": "string" + }, + "parameters": { + "additionalProperties": { + "type": "string" + }, + "description": "Custom [parameters](/chat/api/reference/rest/v1/cards#ActionParameter) passed to the invoked function. Both keys and values must be strings.", + "type": "object" + }, + "platform": { + "description": "The platform enum which indicates the platform where the event originates (`WEB`, `IOS`, or `ANDROID`). Not supported by Chat apps.", + "enum": [ + "UNKNOWN_PLATFORM", + "WEB", + "IOS", + "ANDROID" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "timeZone": { + "$ref": "TimeZone", + "description": "The timezone ID and offset from Coordinated Universal Time (UTC)." + }, + "userLocale": { + "description": "The full `locale.displayName` in the format of [ISO 639 language code]-[ISO 3166 country/region code] such as \"en-US\". Not supported by Chat apps.", + "type": "string" + } + }, + "type": "object" + }, + "DateInput": { + "description": "Date input values. Not supported by Chat apps.", + "id": "DateInput", + "properties": { + "msSinceEpoch": { + "description": "Time since epoch time, in milliseconds.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "DateTimeInput": { + "description": "Date and time input values. Not supported by Chat apps.", + "id": "DateTimeInput", + "properties": { + "hasDate": { + "description": "Whether the `datetime` input includes a calendar date.", + "type": "boolean" + }, + "hasTime": { + "description": "Whether the `datetime` input includes a timestamp.", + "type": "boolean" + }, + "msSinceEpoch": { + "description": "Time since epoch time, in milliseconds.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "DeprecatedEvent": { "description": "Google Chat events.", "id": "DeprecatedEvent", "properties": { "action": { "$ref": "FormAction", - "description": "The form action data associated with an interactive card that was clicked. Only populated for CARD_CLICKED events. See the [Interactive Cards guide](/hangouts/chat/how-tos/cards-onclick) for more information." + "description": "The form action data associated with an interactive card that was clicked. Only populated for CARD_CLICKED events. See the [Interactive Cards guide](/chat/how-tos/cards-onclick) for more information." + }, + "common": { + "$ref": "CommonEventObject", + "description": "Represents information about the user's client, such as locale, host app, and platform. For Chat apps, `CommonEventObject` includes information submitted by users interacting with [dialogs](https://developers.google.com/chat/how-tos/bot-dialogs), like data entered on a card." }, "configCompleteRedirectUrl": { - "description": "The URL the bot should redirect the user to after they have completed an authorization or configuration flow outside of Google Chat. See the [Authorizing access to 3p services guide](/hangouts/chat/how-tos/auth-3p) for more information.", + "description": "The URL the bot should redirect the user to after they have completed an authorization or configuration flow outside of Google Chat. See the [Authorizing access to 3p services guide](/chat/how-tos/auth-3p) for more information.", + "type": "string" + }, + "dialogEventType": { + "description": "The type of [dialog](https://developers.google.com/chat/how-tos/bot-dialogs) event received.", + "enum": [ + "TYPE_UNSPECIFIED", + "REQUEST_DIALOG", + "SUBMIT_DIALOG", + "CANCEL_DIALOG" + ], + "enumDescriptions": [ + "This could be used when the corresponding event is not dialog related. For example an @mention.", + "Any user action that opens a [dialog](https://developers.google.com/chat/how-tos/bot-dialogs).", + "A card click event from a [dialog](https://developers.google.com/chat/how-tos/bot-dialogs).", + "The [dialog](https://developers.google.com/chat/how-tos/bot-dialogs) was cancelled." + ], "type": "string" }, "eventTime": { - "description": "The timestamp indicating when the event was dispatched.", + "description": "The timestamp indicating when the event occurred.", "format": "google-datetime", "type": "string" }, + "isDialogEvent": { + "description": "True when the event is related to [dialogs](https://developers.google.com/chat/how-tos/bot-dialogs).", + "type": "boolean" + }, "message": { "$ref": "Message", "description": "The message that triggered the event, if applicable." }, "space": { "$ref": "Space", - "description": "The room or DM in which the event occurred." + "description": "The space in which the event occurred." }, "threadKey": { "description": "The bot-defined key for the thread related to the event. See the thread_key field of the `spaces.message.create` request for more information.", @@ -880,9 +1142,9 @@ ], "enumDescriptions": [ "Default value for the enum. DO NOT USE.", - "A message was sent in a room or direct message.", - "The bot was added to a room or DM.", - "The bot was removed from a room or DM.", + "A message was sent in a space.", + "The bot was added to a space.", + "The bot was removed from a space.", "The bot's interactive card was clicked." ], "type": "string" @@ -894,6 +1156,32 @@ }, "type": "object" }, + "Dialog": { + "description": "Wrapper around the card body of the dialog.", + "id": "Dialog", + "properties": { + "body": { + "$ref": "GoogleAppsCardV1Card", + "description": "Body of the dialog, which is rendered in a modal. Google Chat apps do not support the following card entities: `DateTimePicker`, `OnChangeAction`." + } + }, + "type": "object" + }, + "DialogAction": { + "description": "Contains a [dialog](https://developers.google.com/chat/how-tos/bot-dialogs) and request status code.", + "id": "DialogAction", + "properties": { + "actionStatus": { + "$ref": "ActionStatus", + "description": "Status for a request to either invoke or submit a [dialog](https://developers.google.com/chat/how-tos/bot-dialogs). Displays a status and message to users, if necessary. For example, in case of an error or success." + }, + "dialog": { + "$ref": "Dialog", + "description": "[Dialog](https://developers.google.com/chat/how-tos/bot-dialogs) for the request." + } + }, + "type": "object" + }, "DriveDataRef": { "description": "A reference to the data of a drive attachment.", "id": "DriveDataRef", @@ -905,6 +1193,25 @@ }, "type": "object" }, + "DynamiteIntegrationLogEntry": { + "description": "JSON payload of error messages. If the Cloud Logging API is enabled, these error messages are logged to [Google Cloud Logging](https://cloud.google.com/logging/docs).", + "id": "DynamiteIntegrationLogEntry", + "properties": { + "deployment": { + "description": "The deployment that caused the error. For Chat bots built in Apps Script, this is the deployment ID defined by Apps Script.", + "type": "string" + }, + "deploymentFunction": { + "description": "The unencrypted `callback_method` name that was running when the error was encountered.", + "type": "string" + }, + "error": { + "$ref": "Status", + "description": "The error code and message." + } + }, + "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", @@ -929,6 +1236,853 @@ }, "type": "object" }, + "GoogleAppsCardV1Action": { + "description": "An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form.", + "id": "GoogleAppsCardV1Action", + "properties": { + "function": { + "description": "Apps Script function to invoke when the containing element is clicked/activated.", + "type": "string" + }, + "loadIndicator": { + "description": "Specifies the loading indicator that the action displays while making the call to the action.", + "enum": [ + "SPINNER", + "NONE" + ], + "enumDescriptions": [ + "Displays a spinner to indicate that content is loading.", + "Nothing is displayed." + ], + "type": "string" + }, + "parameters": { + "description": "List of action parameters.", + "items": { + "$ref": "GoogleAppsCardV1ActionParameter" + }, + "type": "array" + }, + "persistValues": { + "description": "Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAppsCardV1ActionParameter": { + "description": "List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters.", + "id": "GoogleAppsCardV1ActionParameter", + "properties": { + "key": { + "description": "The name of the parameter for the action script.", + "type": "string" + }, + "value": { + "description": "The value of the parameter.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsCardV1BorderStyle": { + "description": "Represents the complete border style applied to widgets.", + "id": "GoogleAppsCardV1BorderStyle", + "properties": { + "cornerRadius": { + "description": "The corner radius for the border.", + "format": "int32", + "type": "integer" + }, + "strokeColor": { + "$ref": "Color", + "description": "The colors to use when the type is `BORDER_TYPE_STROKE`." + }, + "type": { + "description": "The border type.", + "enum": [ + "BORDER_TYPE_UNSPECIFIED", + "NO_BORDER", + "STROKE" + ], + "enumDescriptions": [ + "No value specified.", + "No border.", + "Outline." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsCardV1Button": { + "description": "A button. Can be a text button or an image button.", + "id": "GoogleAppsCardV1Button", + "properties": { + "altText": { + "description": "The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead.", + "type": "string" + }, + "color": { + "$ref": "Color", + "description": "If set, the button is filled with a solid background." + }, + "disabled": { + "description": "If `true`, the button is displayed in a disabled state and doesn't respond to user actions.", + "type": "boolean" + }, + "icon": { + "$ref": "GoogleAppsCardV1Icon", + "description": "The icon image." + }, + "onClick": { + "$ref": "GoogleAppsCardV1OnClick", + "description": "The action to perform when the button is clicked." + }, + "text": { + "description": "The text of the button.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsCardV1ButtonList": { + "description": "A list of buttons layed out horizontally.", + "id": "GoogleAppsCardV1ButtonList", + "properties": { + "buttons": { + "description": "An array of buttons.", + "items": { + "$ref": "GoogleAppsCardV1Button" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAppsCardV1Card": { + "description": "A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { \"header\": { \"title\": \"Sasha\", \"subtitle\": \"Software Engineer\", \"imageStyle\": \"ImageStyle.AVATAR\", \"imageUrl\": \"https://example.com/sasha.png\", \"imageAltText\": \"Avatar for Sasha\" }, \"sections\" : [ { \"header\": \"Contact Info\", \"widgets\": [ { \"decorated_text\": { \"icon\": { \"knownIcon\": \"EMAIL\" }, \"content\": \"sasha@example.com\" } }, { \"decoratedText\": { \"icon\": { \"knownIcon\": \"PERSON\" }, \"content\": \"Online\" } }, { \"decoratedText\": { \"icon\": { \"knownIcon\": \"PHONE\" }, \"content\": \"+1 (555) 555-1234\" } }, { \"buttons\": [ { \"textButton\": { \"text\": \"Share\", }, \"onClick\": { \"openLink\": { \"url\": \"https://example.com/share\" } } }, { \"textButton\": { \"text\": \"Edit\", }, \"onClick\": { \"action\": { \"function\": \"goToView\", \"parameters\": [ { \"key\": \"viewType\", \"value\": \"EDIT\" } ], \"loadIndicator\": \"LoadIndicator.SPINNER\" } } } ] } ], \"collapsible\": true, \"uncollapsibleWidgetsCount\": 3 } ], \"cardActions\": [ { \"actionLabel\": \"Send Feedback\", \"onClick\": { \"openLink\": { \"url\": \"https://example.com/feedback\" } } } ], \"name\": \"contact-card-K3wB6arF2H9L\" } ```", + "id": "GoogleAppsCardV1Card", + "properties": { + "cardActions": { + "description": "The card's actions. Actions are added to the card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` \"card_actions\": [ { \"actionLabel\": \"Settings\", \"onClick\": { \"action\": { \"functionName\": \"goToView\", \"parameters\": [ { \"key\": \"viewType\", \"value\": \"SETTING\" } ], \"loadIndicator\": \"LoadIndicator.SPINNER\" } } }, { \"actionLabel\": \"Send Feedback\", \"onClick\": { \"openLink\": { \"url\": \"https://example.com/feedback\" } } } ] ```", + "items": { + "$ref": "GoogleAppsCardV1CardAction" + }, + "type": "array" + }, + "displayStyle": { + "description": "The display style for `peekCardHeader`.", + "enum": [ + "DISPLAY_STYLE_UNSPECIFIED", + "PEEK", + "REPLACE" + ], + "enumDescriptions": [ + "Default value. Do not use.", + "The header of the card appears at the bottom of the sidebar, partially covering the current top card of the stack. Clicking the header pops the card into the card stack. If the card has no header, a generated header is used instead.", + "The card is shown by replacing the view of the top card in the card stack." + ], + "type": "string" + }, + "fixedFooter": { + "$ref": "GoogleAppsCardV1CardFixedFooter", + "description": "The fixed footer shown at the bottom of this card." + }, + "header": { + "$ref": "GoogleAppsCardV1CardHeader", + "description": "The header of the card. A header usually contains a title and an image." + }, + "name": { + "description": "Name of the card. Used as a card identifier in card navigation.", + "type": "string" + }, + "peekCardHeader": { + "$ref": "GoogleAppsCardV1CardHeader", + "description": "When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards." + }, + "sections": { + "description": "Sections are separated by a line divider.", + "items": { + "$ref": "GoogleAppsCardV1Section" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAppsCardV1CardAction": { + "description": "A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser.", + "id": "GoogleAppsCardV1CardAction", + "properties": { + "actionLabel": { + "description": "The label that displays as the action menu item.", + "type": "string" + }, + "onClick": { + "$ref": "GoogleAppsCardV1OnClick", + "description": "The `onClick` action for this action item." + } + }, + "type": "object" + }, + "GoogleAppsCardV1CardFixedFooter": { + "description": "A persistent (sticky) footer that is added to the bottom of the card.", + "id": "GoogleAppsCardV1CardFixedFooter", + "properties": { + "primaryButton": { + "$ref": "GoogleAppsCardV1Button", + "description": "The primary button of the fixed footer. The button must be a text button with text and color set." + }, + "secondaryButton": { + "$ref": "GoogleAppsCardV1Button", + "description": "The secondary button of the fixed footer. The button must be a text button with text and color set. `primaryButton` must be set if `secondaryButton` is set." + } + }, + "type": "object" + }, + "GoogleAppsCardV1CardHeader": { + "description": "Represents a card header.", + "id": "GoogleAppsCardV1CardHeader", + "properties": { + "imageAltText": { + "description": "The alternative text of this image which is used for accessibility.", + "type": "string" + }, + "imageType": { + "description": "The image's type.", + "enum": [ + "SQUARE", + "CIRCLE" + ], + "enumDescriptions": [ + "Applies no cropping to the image.", + "Applies a circular mask to the image." + ], + "type": "string" + }, + "imageUrl": { + "description": "The URL of the image in the card header.", + "type": "string" + }, + "subtitle": { + "description": "The subtitle of the card header.", + "type": "string" + }, + "title": { + "description": "Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsCardV1DateTimePicker": { + "description": "The widget that lets users to specify a date and time. Not supported by Google Chat apps.", + "id": "GoogleAppsCardV1DateTimePicker", + "properties": { + "label": { + "description": "The label for the field that displays to the user.", + "type": "string" + }, + "name": { + "description": "The name of the text input that's used in `formInput`, and uniquely identifies this input.", + "type": "string" + }, + "onChangeAction": { + "$ref": "GoogleAppsCardV1Action", + "description": "Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation." + }, + "timezoneOffsetDate": { + "description": "The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side.", + "format": "int32", + "type": "integer" + }, + "type": { + "description": "The type of the date/time picker.", + "enum": [ + "DATE_AND_TIME", + "DATE_ONLY", + "TIME_ONLY" + ], + "enumDescriptions": [ + "The user can select a date and time.", + "The user can only select a date.", + "The user can only select a time." + ], + "type": "string" + }, + "valueMsEpoch": { + "description": "The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsCardV1DecoratedText": { + "description": "A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text.", + "id": "GoogleAppsCardV1DecoratedText", + "properties": { + "bottomLabel": { + "description": "The formatted text label that shows below the main text.", + "type": "string" + }, + "button": { + "$ref": "GoogleAppsCardV1Button", + "description": "A button that can be clicked to trigger an action." + }, + "endIcon": { + "$ref": "GoogleAppsCardV1Icon", + "description": "An icon displayed after the text." + }, + "icon": { + "$ref": "GoogleAppsCardV1Icon", + "description": "Deprecated in favor of start_icon." + }, + "onClick": { + "$ref": "GoogleAppsCardV1OnClick", + "description": "Only the top and bottom label and content region are clickable." + }, + "startIcon": { + "$ref": "GoogleAppsCardV1Icon", + "description": "The icon displayed in front of the text." + }, + "switchControl": { + "$ref": "GoogleAppsCardV1SwitchControl", + "description": "A switch widget can be clicked to change its state or trigger an action." + }, + "text": { + "description": "Required. The main widget formatted text. See Text formatting for details.", + "type": "string" + }, + "topLabel": { + "description": "The formatted text label that shows above the main text.", + "type": "string" + }, + "wrapText": { + "description": "The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAppsCardV1Divider": { + "description": "A divider that appears in between widgets.", + "id": "GoogleAppsCardV1Divider", + "properties": {}, + "type": "object" + }, + "GoogleAppsCardV1Grid": { + "description": "Represents a Grid widget that displays items in a configurable grid layout.", + "id": "GoogleAppsCardV1Grid", + "properties": { + "borderStyle": { + "$ref": "GoogleAppsCardV1BorderStyle", + "description": "The border style to apply to each grid item." + }, + "columnCount": { + "description": "The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion).", + "format": "int32", + "type": "integer" + }, + "items": { + "description": "The items to display in the grid.", + "items": { + "$ref": "GoogleAppsCardV1GridItem" + }, + "type": "array" + }, + "onClick": { + "$ref": "GoogleAppsCardV1OnClick", + "description": "This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters." + }, + "title": { + "description": "The text that displays in the grid header.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsCardV1GridItem": { + "description": "Represents a single item in the grid layout.", + "id": "GoogleAppsCardV1GridItem", + "properties": { + "id": { + "description": "A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters.", + "type": "string" + }, + "image": { + "$ref": "GoogleAppsCardV1ImageComponent", + "description": "The image that displays in the grid item." + }, + "layout": { + "description": "The layout to use for the grid item.", + "enum": [ + "GRID_ITEM_LAYOUT_UNSPECIFIED", + "TEXT_BELOW", + "TEXT_ABOVE" + ], + "enumDescriptions": [ + "No layout specified.", + "The title and subtitle are shown below the grid item's image.", + "The title and subtitle are shown above the grid item's image." + ], + "type": "string" + }, + "subtitle": { + "description": "The grid item's subtitle.", + "type": "string" + }, + "textAlignment": { + "description": "The horizontal alignment of the grid item's text.", + "enum": [ + "HORIZONTAL_ALIGNMENT_UNSPECIFIED", + "START", + "CENTER", + "END" + ], + "enumDescriptions": [ + "Unspecified alignment.", + "Alignment to the start position.", + "Alignment to the center position.", + "Alignment to the end position." + ], + "type": "string" + }, + "title": { + "description": "The grid item's title.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsCardV1Icon": { + "id": "GoogleAppsCardV1Icon", + "properties": { + "altText": { + "description": "The description of the icon, used for accessibility. The default value is provided if you don't specify one.", + "type": "string" + }, + "iconUrl": { + "description": "The icon specified by a URL.", + "type": "string" + }, + "imageType": { + "description": "The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon.", + "enum": [ + "SQUARE", + "CIRCLE" + ], + "enumDescriptions": [ + "Applies no cropping to the image.", + "Applies a circular mask to the image." + ], + "type": "string" + }, + "knownIcon": { + "description": "The icon specified by the string name of a list of known icons.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsCardV1Image": { + "description": "An image that is specified by a URL and can have an `onClick` action.", + "id": "GoogleAppsCardV1Image", + "properties": { + "altText": { + "description": "The alternative text of this image, used for accessibility.", + "type": "string" + }, + "imageUrl": { + "description": "An image URL.", + "type": "string" + }, + "onClick": { + "$ref": "GoogleAppsCardV1OnClick", + "description": "The action triggered by an `onClick` event." + } + }, + "type": "object" + }, + "GoogleAppsCardV1ImageComponent": { + "description": "Represents an image.", + "id": "GoogleAppsCardV1ImageComponent", + "properties": { + "altText": { + "description": "The accessibility label for the image.", + "type": "string" + }, + "borderStyle": { + "$ref": "GoogleAppsCardV1BorderStyle", + "description": "The border style to apply to the image." + }, + "cropStyle": { + "$ref": "GoogleAppsCardV1ImageCropStyle", + "description": "The crop style to apply to the image." + }, + "imageUri": { + "description": "The image URL.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsCardV1ImageCropStyle": { + "description": "Represents the crop style applied to an image.", + "id": "GoogleAppsCardV1ImageCropStyle", + "properties": { + "aspectRatio": { + "description": "The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`.", + "format": "double", + "type": "number" + }, + "type": { + "description": "The crop type.", + "enum": [ + "IMAGE_CROP_TYPE_UNSPECIFIED", + "SQUARE", + "CIRCLE", + "RECTANGLE_CUSTOM", + "RECTANGLE_4_3" + ], + "enumDescriptions": [ + "No value specified.", + "Applies a square crop.", + "Applies a circular crop.", + "Applies a rectangular crop with a custom aspect ratio.", + "Applies a rectangular crop with a 4:3 aspect ratio." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsCardV1OnClick": { + "description": "Represents the response to an `onClick` event.", + "id": "GoogleAppsCardV1OnClick", + "properties": { + "action": { + "$ref": "GoogleAppsCardV1Action", + "description": "If specified, an action is triggered by this `onClick`." + }, + "card": { + "$ref": "GoogleAppsCardV1Card", + "description": "A new card is pushed to the card stack after clicking if specified." + }, + "openDynamicLinkAction": { + "$ref": "GoogleAppsCardV1Action", + "description": "An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back." + }, + "openLink": { + "$ref": "GoogleAppsCardV1OpenLink", + "description": "If specified, this `onClick` triggers an open link action." + } + }, + "type": "object" + }, + "GoogleAppsCardV1OpenLink": { + "description": "Represents an `onClick` event that opens a hyperlink.", + "id": "GoogleAppsCardV1OpenLink", + "properties": { + "onClose": { + "description": "Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps.", + "enum": [ + "NOTHING", + "RELOAD" + ], + "enumDescriptions": [ + "Doesn\u2019t reload the card after the child window closes.", + "Reloads the card after the child window closes. If used in conjunction with [OpenAs.OVERLAY](/workspace/add-ons/reference/rpc/google.apps.card.v1#openas), the child window acts as a modal dialog and the main card is blocked until the child window closes." + ], + "type": "string" + }, + "openAs": { + "description": "How to open a link. Not supported by Chat apps.", + "enum": [ + "FULL_SIZE", + "OVERLAY" + ], + "enumDescriptions": [ + "The link opens as a full size window (if that's the frame used by the client.", + "The link opens as an overlay, such as a pop-up." + ], + "type": "string" + }, + "url": { + "description": "The URL to open.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsCardV1Section": { + "description": "A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float.", + "id": "GoogleAppsCardV1Section", + "properties": { + "collapsible": { + "description": "Indicates whether this section is collapsible. If a section is collapsible, the description must be given.", + "type": "boolean" + }, + "header": { + "description": "The header of the section. Formatted text is supported.", + "type": "string" + }, + "uncollapsibleWidgetsCount": { + "description": "The number of uncollapsible widgets. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`.", + "format": "int32", + "type": "integer" + }, + "widgets": { + "description": "A section must contain at least 1 widget.", + "items": { + "$ref": "GoogleAppsCardV1Widget" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAppsCardV1SelectionInput": { + "description": "A widget that creates a UI item with options for users to select. For example, a dropdown menu.", + "id": "GoogleAppsCardV1SelectionInput", + "properties": { + "items": { + "description": "An array of the selected items.", + "items": { + "$ref": "GoogleAppsCardV1SelectionItem" + }, + "type": "array" + }, + "label": { + "description": "The label displayed ahead of the switch control.", + "type": "string" + }, + "name": { + "description": "The name of the text input which is used in `formInput`.", + "type": "string" + }, + "onChangeAction": { + "$ref": "GoogleAppsCardV1Action", + "description": "If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button." + }, + "type": { + "description": "The type of the selection.", + "enum": [ + "CHECK_BOX", + "RADIO_BUTTON", + "SWITCH", + "DROPDOWN" + ], + "enumDescriptions": [ + "A checkbox.", + "A radio button.", + "A switch.", + "A dropdown menu." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsCardV1SelectionItem": { + "description": "A selectable item in the switch control.", + "id": "GoogleAppsCardV1SelectionItem", + "properties": { + "selected": { + "description": "If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored.", + "type": "boolean" + }, + "text": { + "description": "The text to be displayed.", + "type": "string" + }, + "value": { + "description": "The value associated with this item. The client should use this as a form input value.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsCardV1SuggestionItem": { + "description": "A suggestion item.", + "id": "GoogleAppsCardV1SuggestionItem", + "properties": { + "text": { + "description": "The suggested autocomplete result.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsCardV1Suggestions": { + "description": "A container wrapping elements necessary for showing suggestion items used in text input autocomplete.", + "id": "GoogleAppsCardV1Suggestions", + "properties": { + "items": { + "description": "A list of suggestions used for autocomplete recommendations.", + "items": { + "$ref": "GoogleAppsCardV1SuggestionItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAppsCardV1SwitchControl": { + "description": "Either a toggle-style switch or a checkbox.", + "id": "GoogleAppsCardV1SwitchControl", + "properties": { + "controlType": { + "description": "The control type, either switch or checkbox.", + "enum": [ + "SWITCH", + "CHECKBOX", + "CHECK_BOX" + ], + "enumDescriptions": [ + "A toggle-style switch.", + "Deprecated in favor of `CHECK_BOX`.", + "A checkbox." + ], + "type": "string" + }, + "name": { + "description": "The name of the switch widget that's used in `formInput`.", + "type": "string" + }, + "onChangeAction": { + "$ref": "GoogleAppsCardV1Action", + "description": "The action when the switch state is changed." + }, + "selected": { + "description": "If the switch is selected.", + "type": "boolean" + }, + "value": { + "description": "The value is what is passed back in the callback.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsCardV1TextInput": { + "description": "A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions.", + "id": "GoogleAppsCardV1TextInput", + "properties": { + "autoCompleteAction": { + "$ref": "GoogleAppsCardV1Action", + "description": "The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items." + }, + "hintText": { + "description": "The hint text.", + "type": "string" + }, + "initialSuggestions": { + "$ref": "GoogleAppsCardV1Suggestions", + "description": "The initial suggestions made before any user input." + }, + "label": { + "description": "At least one of label and hintText must be specified.", + "type": "string" + }, + "name": { + "description": "The name of the text input which is used in `formInput`.", + "type": "string" + }, + "onChangeAction": { + "$ref": "GoogleAppsCardV1Action", + "description": "The onChange action, for example, invoke a function." + }, + "type": { + "description": "The style of the text, for example, a single line or multiple lines.", + "enum": [ + "SINGLE_LINE", + "MULTIPLE_LINE" + ], + "enumDescriptions": [ + "The text is put into a single line.", + "The text is put into multiple lines." + ], + "type": "string" + }, + "value": { + "description": "The default value when there is no input from the user.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsCardV1TextParagraph": { + "description": "A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting\") for details.", + "id": "GoogleAppsCardV1TextParagraph", + "properties": { + "text": { + "description": "The text that's shown in the widget.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsCardV1Widget": { + "description": "A widget is a UI element that presents texts, images, etc.", + "id": "GoogleAppsCardV1Widget", + "properties": { + "buttonList": { + "$ref": "GoogleAppsCardV1ButtonList", + "description": "A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` \"buttonList\": { \"buttons\": [ \"button\": { \"text\": \"Edit\", \"Color\": { \"Red\": 255 \"Green\": 255 \"Blue\": 255 } \"disabled\": true }, \"button\": { \"icon\": { \"knownIcon\": \"INVITE\" \"altText\": \"check calendar\" }, \"onClick\": { \"openLink\": { \"url\": \"https://example.com/calendar\" } } }, ] } ```" + }, + "dateTimePicker": { + "$ref": "GoogleAppsCardV1DateTimePicker", + "description": "Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` \"date_time_picker\": { \"name\": \"appointment_time\", \"label\": \"Book your appointment at:\", \"type\": \"DateTimePickerType.DATE_AND_TIME\", \"valueMsEpoch\": \"796435200000\" } ```" + }, + "decoratedText": { + "$ref": "GoogleAppsCardV1DecoratedText", + "description": "Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` \"decoratedText\": { \"icon\": { \"knownIcon\": \"EMAIL\" }, \"topLabel\": \"Email Address\", \"content\": \"sasha@example.com\", \"bottomLabel\": \"This is a new Email address!\", \"switchWidget\": { \"name\": \"has_send_welcome_email_to_sasha\", \"selected\": false, \"controlType\": \"ControlType.CHECKBOX\" } } ```" + }, + "divider": { + "$ref": "GoogleAppsCardV1Divider", + "description": "Displays a divider. For example, the following JSON creates a divider: ``` \"divider\": { } ```" + }, + "grid": { + "$ref": "GoogleAppsCardV1Grid", + "description": "Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` \"grid\": { \"title\": \"A fine collection of items\", \"numColumns\": 2, \"borderStyle\": { \"type\": \"STROKE\", \"cornerRadius\": 4.0 }, \"items\": [ \"image\": { \"imageUri\": \"https://www.example.com/image.png\", \"cropStyle\": { \"type\": \"SQUARE\" }, \"borderStyle\": { \"type\": \"STROKE\" } }, \"title\": \"An item\", \"textAlignment\": \"CENTER\" ], \"onClick\": { \"openLink\": { \"url\":\"https://www.example.com\" } } } ```" + }, + "horizontalAlignment": { + "description": "The horizontal alignment of this widget.", + "enum": [ + "HORIZONTAL_ALIGNMENT_UNSPECIFIED", + "START", + "CENTER", + "END" + ], + "enumDescriptions": [ + "Unspecified alignment.", + "Alignment to the start position.", + "Alignment to the center position.", + "Alignment to the end position." + ], + "type": "string" + }, + "image": { + "$ref": "GoogleAppsCardV1Image", + "description": "Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` \"image\": { \"imageUrl\": \"https://example.com/sasha.png\" \"altText\": \"Avatar for Sasha\" } ```" + }, + "selectionInput": { + "$ref": "GoogleAppsCardV1SelectionInput", + "description": "Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` \"switchControl\": { \"name\": \"size\", \"label\": \"Size\" \"type\": \"SelectionType.DROPDOWN\", \"items\": [ { \"text\": \"S\", \"value\": \"small\", \"selected\": false }, { \"text\": \"M\", \"value\": \"medium\", \"selected\": true }, { \"text\": \"L\", \"value\": \"large\", \"selected\": false }, { \"text\": \"XL\", \"value\": \"extra_large\", \"selected\": false } ] } ```" + }, + "textInput": { + "$ref": "GoogleAppsCardV1TextInput", + "description": "Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` \"textInput\": { \"name\": \"mailing_address\", \"label\": \"Mailing Address\" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` \"textInput\": { \"name\": \"preferred_programing_language\", \"label\": \"Preferred Language\", \"initialSuggestions\": { \"items\": [ { \"text\": \"C++\" }, { \"text\": \"Java\" }, { \"text\": \"JavaScript\" }, { \"text\": \"Python\" } ] } } ```" + }, + "textParagraph": { + "$ref": "GoogleAppsCardV1TextParagraph", + "description": "Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` \"textParagraph\": { \"text\": \" *bold text*\" } ```" + } + }, + "type": "object" + }, "Image": { "description": "An image that is specified by a URL and can have an onclick action.", "id": "Image", @@ -1038,6 +2192,29 @@ }, "type": "object" }, + "Inputs": { + "description": "Types of data inputs for widgets. Users enter data with these inputs.", + "id": "Inputs", + "properties": { + "dateInput": { + "$ref": "DateInput", + "description": "Date input values. Not supported by Chat apps." + }, + "dateTimeInput": { + "$ref": "DateTimeInput", + "description": "Date and time input values. Not supported by Chat apps." + }, + "stringInputs": { + "$ref": "StringInputs", + "description": "Input parameter for regular widgets. For single-valued widgets, it is a single value list. For multi-valued widgets, such as checkbox, all the values are presented." + }, + "timeInput": { + "$ref": "TimeInput", + "description": "Time input values. Not supported by Chat apps." + } + }, + "type": "object" + }, "KeyValue": { "description": "A UI element contains a key (label) and a value (content). And this element may also contain some actions such as onclick button.", "id": "KeyValue", @@ -1177,6 +2354,17 @@ }, "type": "object" }, + "MatchedUrl": { + "description": "A matched url in a Chat message. Chat bots can unfurl matched URLs. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling).", + "id": "MatchedUrl", + "properties": { + "url": { + "description": "The url that was matched.", + "type": "string" + } + }, + "type": "object" + }, "Media": { "description": "Media resource.", "id": "Media", @@ -1189,23 +2377,24 @@ "type": "object" }, "Membership": { - "description": "Represents a membership relation in Hangouts Chat.", + "description": "Represents a membership relation in Google Chat.", "id": "Membership", "properties": { "createTime": { - "description": "The creation time of the membership a.k.a the time at which the member joined the space, if applicable.", + "description": "Output only. The creation time of the membership a.k.a. the time at which the member joined the space, if applicable.", "format": "google-datetime", + "readOnly": true, "type": "string" }, "member": { "$ref": "User", - "description": "A User in Hangout Chat" + "description": "A user in Google Chat. Represents a [person](https://developers.google.com/people/api/rest/v1/people) in the People API or a [user](https://developers.google.com/admin-sdk/directory/reference/rest/v1/users) in the Admin SDK Directory API. Format: `users/{user}`" }, "name": { "type": "string" }, "state": { - "description": "State of the membership.", + "description": "Output only. State of the membership.", "enum": [ "MEMBERSHIP_STATE_UNSPECIFIED", "JOINED", @@ -1218,13 +2407,14 @@ "The user has been invited, is able to join the space, but currently has not joined.", "The user is not a member of the space, has not been invited and is not able to join the space." ], + "readOnly": true, "type": "string" } }, "type": "object" }, "Message": { - "description": "A message in Hangouts Chat.", + "description": "A message in Google Chat.", "id": "Message", "properties": { "actionResponse": { @@ -1257,15 +2447,27 @@ "type": "array" }, "createTime": { - "description": "Output only. The time at which the message was created in Hangouts Chat server.", + "description": "Output only. The time at which the message was created in Google Chat server.", "format": "google-datetime", + "readOnly": true, "type": "string" }, "fallbackText": { "description": "A plain-text description of the message's cards, used when the actual cards cannot be displayed (e.g. mobile notifications).", "type": "string" }, + "lastUpdateTime": { + "description": "Output only. The time at which the message was last updated in Google Chat server. If the message was never updated, this field will be same as create_time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "matchedUrl": { + "$ref": "MatchedUrl", + "description": "A URL in `spaces.messages.text` that matches a link unfurling pattern. For more information, refer to [Unfurl links](/chat/how-tos/link-unfurling)." + }, "name": { + "description": "Resource name in the form `spaces/*/messages/*`. Example: `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`", "type": "string" }, "previewText": { @@ -1340,7 +2542,7 @@ "type": "object" }, "SlashCommand": { - "description": "A Slash Command in Chat.", + "description": "A [slash command](https://developers.google.com/chat/how-tos/slash-commands) in Google Chat.", "id": "SlashCommand", "properties": { "commandId": { @@ -1390,27 +2592,29 @@ "type": "object" }, "Space": { - "description": "A room or DM in Hangouts Chat.", + "description": "A space in Google Chat. Spaces are conversations between two or more users or 1:1 messages between a user and a Chat bot.", "id": "Space", "properties": { "displayName": { - "description": "Output only. The display name (only if the space is a room). Please note that this field might not be populated in direct messages between humans.", + "description": "The space's display name. For direct messages between humans, this field might be empty.", "type": "string" }, "name": { - "description": "Resource name of the space, in the form \"spaces/*\". Example: spaces/AAAAMpdlehYs", + "description": "Resource name of the space, in the form \"spaces/*\". Example: spaces/AAAAAAAAAAAA", "type": "string" }, "singleUserBotDm": { - "description": "Whether the space is a DM between a bot and a single human.", + "description": "Output only. Whether the space is a DM between a bot and a single human.", + "readOnly": true, "type": "boolean" }, "threaded": { - "description": "Whether the messages are threaded in this space.", + "description": "Output only. Whether the messages are threaded in this space.", + "readOnly": true, "type": "boolean" }, "type": { - "description": "Output only. The type of a space. This is deprecated. Use `single_user_bot_dm` instead.", + "description": "Deprecated. Use `single_user_bot_dm` instead. Output only. The type of a space.", "enum": [ "TYPE_UNSPECIFIED", "ROOM", @@ -1418,14 +2622,55 @@ ], "enumDescriptions": [ "", - "Multi-user spaces such as rooms and DMs between humans.", - "1:1 Direct Message between a human and a bot, where all messages are flat." + "Conversations between two or more humans.", + "1:1 Direct Message between a human and a Chat bot, where all messages are flat. Note that this does not include direct messages between two humans." ], "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" + }, + "StringInputs": { + "description": "Input parameter for regular widgets. For single-valued widgets, it is a single value list. For multi-valued widgets, such as checkbox, all the values are presented.", + "id": "StringInputs", + "properties": { + "value": { + "description": "An array of strings entered by the user.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "TextButton": { "description": "A button with text and onclick action.", "id": "TextButton", @@ -1452,16 +2697,49 @@ "type": "object" }, "Thread": { - "description": "A thread in Hangouts Chat.", + "description": "A thread in Google Chat.", "id": "Thread", "properties": { "name": { - "description": "Resource name, in the form \"spaces/*/threads/*\". Example: spaces/AAAAMpdlehY/threads/UMxbHmzDlr4", + "description": "Resource name, in the form \"spaces/*/threads/*\". Example: spaces/AAAAAAAAAAA/threads/TTTTTTTTTTT", "type": "string" } }, "type": "object" }, + "TimeInput": { + "description": "Time input values. Not supported by Chat apps.", + "id": "TimeInput", + "properties": { + "hours": { + "description": "The hour on a 24-hour clock.", + "format": "int32", + "type": "integer" + }, + "minutes": { + "description": "The number of minutes past the hour. Valid values are 0 to 59.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "TimeZone": { + "description": "The timezone ID and offset from Coordinated Universal Time (UTC). Not supported by Chat apps.", + "id": "TimeZone", + "properties": { + "id": { + "description": "The [IANA TZ](https://www.iana.org/time-zones) time zone database code, such as \"America/Toronto\".", + "type": "string" + }, + "offset": { + "description": "The user timezone offset, in milliseconds, from Coordinated Universal Time (UTC).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "User": { "description": "A user in Google Chat.", "id": "User", @@ -1471,7 +2749,7 @@ "type": "string" }, "domainId": { - "description": "Obfuscated domain information.", + "description": "Unique identifier of the user's Google Workspace domain.", "type": "string" }, "isAnonymous": { @@ -1479,7 +2757,7 @@ "type": "boolean" }, "name": { - "description": "Resource name, in the format \"users/*\".", + "description": "Resource name for a Google Chat user. Represents a [person](https://developers.google.com/people/api/rest/v1/people#Person) in the People API or a [user](https://developers.google.com/admin-sdk/directory/reference/rest/v1/users) in the Admin SDK Directory API. Formatted as: `users/{user}`", "type": "string" }, "type": { diff --git a/etc/api/chromemanagement/v1/chromemanagement-api.json b/etc/api/chromemanagement/v1/chromemanagement-api.json index 7f78c7b3cd..60c7c02f10 100644 --- a/etc/api/chromemanagement/v1/chromemanagement-api.json +++ b/etc/api/chromemanagement/v1/chromemanagement-api.json @@ -2,8 +2,14 @@ "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 Chrome OS devices or users managed within your organization" } } } @@ -107,6 +113,145 @@ "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" + ] + } + }, + "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" + ] + } + } + } + } + }, "reports": { "methods": { "countChromeVersions": { @@ -142,7 +287,7 @@ "type": "integer" }, "pageToken": { - "description": "Token to specify the next page in the list.", + "description": "Token to specify the page of the request to be returned.", "location": "query", "type": "string" } @@ -193,7 +338,7 @@ "type": "integer" }, "pageToken": { - "description": "Token to specify next page in the list.", + "description": "Token to specify the page of the request to be returned.", "location": "query", "type": "string" } @@ -270,7 +415,7 @@ "type": "integer" }, "pageToken": { - "description": "Token to specify the next page in the list.", + "description": "Token to specify the page of the request to be returned.", "location": "query", "type": "string" } @@ -284,13 +429,361 @@ ] } } + }, + "telemetry": { + "resources": { + "devices": { + "methods": { + "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. Supported filter fields: - org_unit_id - serial_number ", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Maximum number of results to return. Default value is 100. Maximum value is 200.", + "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.", + "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" + ] + } + } + } + } } } } }, - "revision": "20210330", + "revision": "20220305", "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" + }, + "GoogleChromeManagementV1BatteryInfo": { + "description": "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.", + "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.", + "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.", + "Battery is moderately unhealthy and should be replaced soon.", + "Battery is unhealthy and should be replaced." + ], + "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.", + "items": { + "$ref": "GoogleChromeManagementV1BatterySampleReport" + }, + "readOnly": true, + "type": "array" + }, + "serialNumber": { + "description": "Output only. Battery serial number.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleChromeManagementV1BrowserVersion": { "description": "Describes a browser version and its install count.", "id": "GoogleChromeManagementV1BrowserVersion", @@ -358,6 +851,156 @@ }, "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" + }, + "isTheme": { + "description": "Output only. Whether the app or extension is a theme.", + "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": "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" + }, "GoogleChromeManagementV1CountChromeVersionsResponse": { "description": "Response containing requested browser versions details and counts.", "id": "GoogleChromeManagementV1CountChromeVersionsResponse", @@ -370,7 +1013,7 @@ "type": "array" }, "nextPageToken": { - "description": "Token to specify the next page in the list.", + "description": "Token to specify the next page of the request.", "type": "string" }, "totalSize": { @@ -393,7 +1036,7 @@ "type": "array" }, "nextPageToken": { - "description": "Token to specify next page in the list.", + "description": "Token to specify the next page of the request.", "type": "string" }, "totalSize": { @@ -404,6 +1047,88 @@ }, "type": "object" }, + "GoogleChromeManagementV1CpuInfo": { + "description": "CPU specs for a CPU.", + "id": "GoogleChromeManagementV1CpuInfo", + "properties": { + "architecture": { + "description": "Output only. The CPU architecture.", + "enum": [ + "ARCHITECTURE_UNSPECIFIED", + "X64" + ], + "enumDescriptions": [ + "Architecture unknown.", + "x64 architecture" + ], + "readOnly": true, + "type": "string" + }, + "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": "Contains samples of the cpu status reports.", + "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", + "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", @@ -421,6 +1146,124 @@ }, "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" + }, + "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" + }, + "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" + }, "GoogleChromeManagementV1FindInstalledAppDevicesResponse": { "description": "Response containing a list of devices with queried app installed.", "id": "GoogleChromeManagementV1FindInstalledAppDevicesResponse", @@ -433,7 +1276,7 @@ "type": "array" }, "nextPageToken": { - "description": "Token to specify the next page in the list.", + "description": "Token to specify the next page of the request.", "type": "string" }, "totalSize": { @@ -444,6 +1287,62 @@ }, "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.", + "id": "GoogleChromeManagementV1GraphicsInfo", + "properties": { + "adapterInfo": { + "$ref": "GoogleChromeManagementV1GraphicsAdapterInfo", + "description": "Output only. Information about the graphics adapter (GPU).", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleChromeManagementV1GraphicsStatusReport": { + "description": "Information of the graphics subsystem.", + "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" + }, "GoogleChromeManagementV1InstalledApp": { "description": "Describes an installed app.", "id": "GoogleChromeManagementV1InstalledApp", @@ -554,6 +1453,394 @@ } }, "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" + }, + "GoogleChromeManagementV1MemoryInfo": { + "description": "Memory information of a device.", + "id": "GoogleChromeManagementV1MemoryInfo", + "properties": { + "availableRamBytes": { + "description": "Output only. Amount of available RAM in bytes.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "totalRamBytes": { + "description": "Output only. Total RAM in bytes.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementV1MemoryStatusReport": { + "description": "Contains samples of memory status reports.", + "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" + }, + "GoogleChromeManagementV1NetworkStatusReport": { + "description": "State of visible/configured networks.", + "id": "GoogleChromeManagementV1NetworkStatusReport", + "properties": { + "gatewayIpAddress": { + "description": "Output only. Gateway IP address.", + "readOnly": true, + "type": "string" + }, + "lanIpAddress": { + "description": "Output only. LAN IP address.", + "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" + } + }, + "type": "object" + }, + "GoogleChromeManagementV1OsUpdateStatus": { + "description": "Contains information regarding the current OS update status.", + "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" + }, + "GoogleChromeManagementV1StorageInfo": { + "description": "Status data for storage.", + "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.", + "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" + }, + "GoogleChromeManagementV1TelemetryDevice": { + "description": "Telemetry data collected from a managed device.", + "id": "GoogleChromeManagementV1TelemetryDevice", + "properties": { + "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" + }, + "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.", + "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 Chrome OS 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" + }, + "memoryInfo": { + "$ref": "GoogleChromeManagementV1MemoryInfo", + "description": "Output only. Information regarding memory specs for the device.", + "readOnly": true + }, + "memoryStatusReport": { + "description": "Output only. Memory status reports collected periodically.", + "items": { + "$ref": "GoogleChromeManagementV1MemoryStatusReport" + }, + "readOnly": true, + "type": "array" + }, + "name": { + "description": "Output only. Resource name of the device.", + "readOnly": true, + "type": "string" + }, + "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" + }, + "serialNumber": { + "description": "Output only. Device serial number. This value is the same as the Admin Console's Serial Number in the Chrome OS 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" + } + }, + "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": "", diff --git a/etc/api/chromepolicy/v1/chromepolicy-api.json b/etc/api/chromepolicy/v1/chromepolicy-api.json index f78a997f92..8ab89d4c13 100644 --- a/etc/api/chromepolicy/v1/chromepolicy-api.json +++ b/etc/api/chromepolicy/v1/chromepolicy-api.json @@ -146,7 +146,7 @@ "orgunits": { "methods": { "batchInherit": { - "description": "Modify multiple policy values that are applied to a specific org unit so that they now inherit the value from a parent (if applicable). All targets must have the same target format. That is to say that they must point to the same target resource and must have the same keys specified in `additionalTargetKeyNames`. On failure the request will return the error details as part of the google.rpc.Status.", + "description": "Modify multiple policy values that are applied to a specific org unit so that they now inherit the value from a parent (if applicable). All targets must have the same target format. That is to say that they must point to the same target resource and must have the same keys specified in `additionalTargetKeyNames`, though the values for those keys may be different. On failure the request will return the error details as part of the google.rpc.Status.", "flatPath": "v1/customers/{customersId}/policies/orgunits:batchInherit", "httpMethod": "POST", "id": "chromepolicy.customers.policies.orgunits.batchInherit", @@ -174,7 +174,7 @@ ] }, "batchModify": { - "description": "Modify multiple policy values that are applied to a specific org unit. All targets must have the same target format. That is to say that they must point to the same target resource and must have the same keys specified in `additionalTargetKeyNames`. On failure the request will return the error details as part of the google.rpc.Status.", + "description": "Modify multiple policy values that are applied to a specific org unit. All targets must have the same target format. That is to say that they must point to the same target resource and must have the same keys specified in `additionalTargetKeyNames`, though the values for those keys may be different. On failure the request will return the error details as part of the google.rpc.Status.", "flatPath": "v1/customers/{customersId}/policies/orgunits:batchModify", "httpMethod": "POST", "id": "chromepolicy.customers.policies.orgunits.batchModify", @@ -278,11 +278,87 @@ } } } + }, + "media": { + "methods": { + "upload": { + "description": "Creates an enterprise file from the content provided by user. Returns a public download url for end user.", + "flatPath": "v1/customers/{customersId}/policies/files:uploadPolicyFile", + "httpMethod": "POST", + "id": "chromepolicy.media.upload", + "mediaUpload": { + "accept": [ + "*/*" + ], + "protocols": { + "simple": { + "multipart": true, + "path": "/upload/v1/{+customer}/policies/files:uploadPolicyFile" + } + } + }, + "parameterOrder": [ + "customer" + ], + "parameters": { + "customer": { + "description": "Required. The customer for which the file upload will apply.", + "location": "path", + "pattern": "^customers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+customer}/policies/files:uploadPolicyFile", + "request": { + "$ref": "GoogleChromePolicyV1UploadPolicyFileRequest" + }, + "response": { + "$ref": "GoogleChromePolicyV1UploadPolicyFileResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/chrome.management.policy" + ], + "supportsMediaUpload": true + } + } } }, - "revision": "20210329", + "revision": "20220305", "rootUrl": "https://chromepolicy.googleapis.com/", "schemas": { + "ChromeCrosDpanelAutosettingsProtoPolicyApiLifecycle": { + "id": "ChromeCrosDpanelAutosettingsProtoPolicyApiLifecycle", + "properties": { + "description": { + "description": "Description about current life cycle.", + "type": "string" + }, + "endSupport": { + "$ref": "GoogleTypeDate", + "description": "End supporting date for current policy." + }, + "policyApiLifecycleStage": { + "description": "Indicate current life cycle stage of the policy API.", + "enum": [ + "API_UNSPECIFIED", + "API_PREVIEW", + "API_DEVELOPMENT", + "API_CURRENT", + "API_DEPRECATED" + ], + "enumDescriptions": [ + "unspecified.", + "Policy is not working yet, but giving developers heads up on format. This stage can transfer to API_DEVELOPEMNT or API_CURRENT.", + "Policy can change format in backward incompatible way (breaking change). This stage can transfer to API_CURRENT or API_DEPRECATED. This could be used for policies launched only to TTs or launched to selected customers for emergency usage.", + "Policy in official format. Policy can change format in backward compatible way (non-breaking change). Example: this policy can introduce a new field, which is considered non-breaking change, when field masks are properly utilized. This stage can transfer to API_DEPRECATED.", + "Please stop using this policy. This policy is deprecated and may/will be removed in the future. Most likely a new policy was introduced to replace this one." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleChromePolicyV1AdditionalTargetKeyName": { "description": "Additional key names that will be used to identify the target of the policy value.", "id": "GoogleChromePolicyV1AdditionalTargetKeyName", @@ -380,7 +456,7 @@ "type": "object" }, "GoogleChromePolicyV1PolicySchema": { - "description": "Resource representing a policy schema. Next ID: 10", + "description": "Resource representing a policy schema. Next ID: 12", "id": "GoogleChromePolicyV1PolicySchema", "properties": { "accessRestrictions": { @@ -423,13 +499,18 @@ "readOnly": true, "type": "array" }, + "policyApiLifeycle": { + "$ref": "ChromeCrosDpanelAutosettingsProtoPolicyApiLifecycle", + "description": "Output only. Current life cycle information.", + "readOnly": true + }, "policyDescription": { "description": "Output only. Description about the policy schema for user consumption.", "readOnly": true, "type": "string" }, "schemaName": { - "description": "Output only. The full qualified name of the policy schema. This value is used to fill the field `policy_schema` in PolicyValue when calling BatchInheritOrgUnitPolicies or BatchModifyOrgUnitPolicies.", + "description": "Output only. The fully qualified name of the policy schema. This value is used to fill the field `policy_schema` in PolicyValue when calling BatchInheritOrgUnitPolicies or BatchModifyOrgUnitPolicies", "readOnly": true, "type": "string" }, @@ -437,6 +518,39 @@ "description": "Output only. URI to related support article for this schema.", "readOnly": true, "type": "string" + }, + "validTargetResources": { + "description": "Output only. Information about applicable target resources for the policy.", + "items": { + "enum": [ + "TARGET_RESOURCE_UNSPECIFIED", + "ORG_UNIT", + "GROUP" + ], + "enumDescriptions": [ + "Unspecified target resource.", + "Organizational Unit target resource.", + "Group target resource." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleChromePolicyV1PolicySchemaFieldDependencies": { + "description": "The field and the value it must have for another field to be allowed to be set.", + "id": "GoogleChromePolicyV1PolicySchemaFieldDependencies", + "properties": { + "sourceField": { + "description": "The source field which this field depends on.", + "type": "string" + }, + "sourceFieldValue": { + "description": "The value which the source field must have for this field to be allowed to be set.", + "type": "string" } }, "type": "object" @@ -455,13 +569,21 @@ "readOnly": true, "type": "string" }, + "fieldDependencies": { + "description": "Output only. Provides a list of fields and the values they must have for this field to be allowed to be set.", + "items": { + "$ref": "GoogleChromePolicyV1PolicySchemaFieldDependencies" + }, + "readOnly": true, + "type": "array" + }, "inputConstraint": { "description": "Output only. Any input constraints associated on the values for the field.", "readOnly": true, "type": "string" }, "knownValueDescriptions": { - "description": "Output only. If the field has a set of know values, this field will provide a description for these values.", + "description": "Output only. If the field has a set of known values, this field will provide a description for these values.", "items": { "$ref": "GoogleChromePolicyV1PolicySchemaFieldKnownValueDescription" }, @@ -606,6 +728,11 @@ "description": "The resolved value of a policy for a given target.", "id": "GoogleChromePolicyV1ResolvedPolicy", "properties": { + "addedSourceKey": { + "$ref": "GoogleChromePolicyV1PolicyTargetKey", + "description": "Output only. The added source key establishes at which level an entity was explicitly added for management. This is useful for certain type of policies that are only applied if they are explicitly added for management. For example: apps and networks. An entity can only be deleted from management in an Organizational Unit that it was explicitly added to. If this is not present it means that the policy is managed without the need to explicitly add an entity, for example: standard user or device policies.", + "readOnly": true + }, "sourceKey": { "$ref": "GoogleChromePolicyV1PolicyTargetKey", "description": "Output only. The source resource from which this policy value is obtained. May be the same as `targetKey` if the policy is directly modified on the target, otherwise it would be another resource from which the policy gets its value (if applicable). If not present, the source is the default value for the customer.", @@ -624,12 +751,56 @@ }, "type": "object" }, + "GoogleChromePolicyV1UploadPolicyFileRequest": { + "description": "Request message for uploading a file for a policy. Next ID: 5", + "id": "GoogleChromePolicyV1UploadPolicyFileRequest", + "properties": { + "policyField": { + "description": "Required. The fully qualified policy schema and field name this file is uploaded for. This information will be used to validate the content type of the file.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromePolicyV1UploadPolicyFileResponse": { + "description": "Response message for downloading an uploaded file. Next ID: 2", + "id": "GoogleChromePolicyV1UploadPolicyFileResponse", + "properties": { + "downloadUri": { + "description": "The uri for end user to download the file.", + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", "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" + }, "Proto2DescriptorProto": { "description": "Describes a message type.", "id": "Proto2DescriptorProto", diff --git a/etc/api/chromeuxreport/v1/chromeuxreport-api.json b/etc/api/chromeuxreport/v1/chromeuxreport-api.json index c278237abf..cc56f8af76 100644 --- a/etc/api/chromeuxreport/v1/chromeuxreport-api.json +++ b/etc/api/chromeuxreport/v1/chromeuxreport-api.json @@ -116,7 +116,7 @@ } } }, - "revision": "20210330", + "revision": "20220302", "rootUrl": "https://chromeuxreport.googleapis.com/", "schemas": { "Bin": { @@ -228,7 +228,7 @@ "type": "string" }, "metrics": { - "description": "The metrics that should be included in the response. If none are specified then any metrics found will be returned. Allowed values: [\"first_contentful_paint\", \"first_input_delay\", \"largest_contentful_paint\", \"cumulative_layout_shift\"]", + "description": "The metrics that should be included in the response. If none are specified then any metrics found will be returned. Allowed values: [\"first_contentful_paint\", \"first_input_delay\", \"largest_contentful_paint\", \"cumulative_layout_shift\", \"experimental_uncapped_cumulative_layout_shift\"]", "items": { "type": "string" }, diff --git a/etc/api/civicinfo/v2/civicinfo-api.json b/etc/api/civicinfo/v2/civicinfo-api.json index 26d7cc8d09..c956fbe0b3 100644 --- a/etc/api/civicinfo/v2/civicinfo-api.json +++ b/etc/api/civicinfo/v2/civicinfo-api.json @@ -234,7 +234,8 @@ "highestCourtJudge", "judge", "schoolBoard", - "specialPurposeOfficer" + "specialPurposeOfficer", + "otherRole" ], "enumDescriptions": [ "", @@ -247,6 +248,7 @@ "", "", "", + "", "" ], "location": "query", @@ -320,7 +322,8 @@ "highestCourtJudge", "judge", "schoolBoard", - "specialPurposeOfficer" + "specialPurposeOfficer", + "otherRole" ], "enumDescriptions": [ "", @@ -333,6 +336,7 @@ "", "", "", + "", "" ], "location": "query", @@ -348,7 +352,7 @@ } } }, - "revision": "20210108", + "revision": "20211211", "rootUrl": "https://civicinfo.googleapis.com/", "schemas": { "AdministrationRegion": { @@ -647,7 +651,8 @@ "highestCourtJudge", "judge", "schoolBoard", - "specialPurposeOfficer" + "specialPurposeOfficer", + "otherRole" ], "enumDescriptions": [ "", @@ -660,6 +665,7 @@ "", "", "", + "", "" ], "type": "string" @@ -845,6 +851,793 @@ }, "type": "object" }, + "FeatureIdProto": { + "description": "A globally unique identifier associated with each feature. We use 128-bit identifiers so that we have lots of bits available to distinguish between features. The feature id currently consists of a 64-bit \"cell id\" that **sometimes** corresponds to the approximate centroid of the feature, plus a 64-bit fingerprint of other identifying information. See more on each respective field in its comments. Feature ids are first assigned when the data is created in MapFacts. After initial creation of the feature, they are immutable. This means that the only properties that you should rely on are that they are unique, and that cell_ids often - but not always - preserve spatial locality. The degree of locality varies as the feature undergoes geometry changes, and should not in general be considered a firm guarantee of the location of any particular feature. In fact, some locationless features have randomized cell IDs! Consumers of FeatureProtos from Mapfacts are guaranteed that fprints in the id field of features will be globally unique. Using the fprint allows consumers who don't need the spatial benefit of cell ids to uniquely identify features in a 64-bit address space. This property is not guaranteed for other sources of FeatureProtos.", + "id": "FeatureIdProto", + "properties": { + "cellId": { + "description": "The S2CellId corresponding to the approximate location of this feature as of when it was first created. This can be of variable accuracy, ranging from the exact centroid of the feature at creation, a very large S2 Cell, or even being completely randomized for locationless features. Cell ids have the nice property that they follow a space-filling curve over the surface of the earth. (See s2cellid.h for details.) WARNING: Clients should only use cell IDs to perform spatial locality optimizations. There is no strict guarantee that the cell ID of a feature is related to the current geometry of the feature in any way.", + "format": "uint64", + "type": "string" + }, + "fprint": { + "description": "A 64-bit fingerprint used to identify features. Most clients should rely on MapFacts or OneRing to choose fingerprints. If creating new fprints, the strategy should be chosen so that the chance of collision is remote or non-existent, and the distribution should be reasonably uniform. For example, if the source data assigns unique ids to features, then a fingerprint of the provider name, version, and source id is sufficient.", + "format": "uint64", + "type": "string" + }, + "temporaryData": { + "$ref": "MessageSet", + "description": "A place for clients to attach arbitrary data to a feature ID. Never set in MapFacts." + } + }, + "type": "object" + }, + "GeocodingSummary": { + "description": "Detailed summary of the result from geocoding an address", + "id": "GeocodingSummary", + "properties": { + "addressUnderstood": { + "description": "Represents the best estimate of whether or not the input address was fully understood and the address is correctly componentized. Mirrors the same-name field in geostore.staging.AddressLinkupScoringProto.", + "type": "boolean" + }, + "featureId": { + "$ref": "FeatureIdProto", + "description": "The ID of the FeatureProto returned by the geocoder" + }, + "featureType": { + "description": "The feature type for the FeatureProto returned by the geocoder", + "enum": [ + "typeAny", + "typeTransportation", + "typeRoute", + "typeDeprecatedHighwayDoNotUse", + "typeHighway", + "typeHighway1", + "typeHighway2", + "typeHighway3", + "typeHighway4", + "typeHighway5", + "typeHighway6", + "typeHighway7", + "typeHighway8", + "typeHighway9", + "typeBicycleRoute", + "typeTrail", + "typeSegment", + "typeRoad", + "typeRailway", + "typeStandardTrack", + "typeJrTrack", + "typeNarrowTrack", + "typeMonorailTrack", + "typeSubwayTrack", + "typeLightRailTrack", + "typeBroadTrack", + "typeHighSpeedRail", + "typeTrolleyTrack", + "typeFerry", + "typeFerryBoat", + "typeFerryTrain", + "typeVirtualSegment", + "typeIntersection", + "typeTransit", + "typeTransitStation", + "typeBusStation", + "typeTramwayStation", + "typeTrainStation", + "typeSubwayStation", + "typeFerryTerminal", + "typeAirport", + "typeAirportCivil", + "typeAirportMilitary", + "typeAirportMixed", + "typeHeliport", + "typeSeaplaneBase", + "typeAirstrip", + "typeCableCarStation", + "typeGondolaLiftStation", + "typeFunicularStation", + "typeSpecialStation", + "typeHorseCarriageStation", + "typeMonorailStation", + "typeSeaport", + "typeTransitStop", + "typeTransitTrip", + "typeTransitDeparture", + "typeTransitLeg", + "typeTransitLine", + "typeTransitAgency", + "typeTransitTransfer", + "typeSegmentPath", + "typeRoadSign", + "typeIntersectionGroup", + "typePathway", + "typeRestrictionGroup", + "typeTollCluster", + "typePolitical", + "typeCountry", + "typeAdministrativeArea", + "typeAdministrativeArea1", + "typeUsState", + "typeGbCountry", + "typeJpTodoufuken", + "typeAdministrativeArea2", + "typeGbFormerPostalCounty", + "typeGbTraditionalCounty", + "typeAdministrativeArea3", + "typeAdministrativeArea4", + "typeAdministrativeArea5", + "typeAdministrativeArea6", + "typeAdministrativeArea7", + "typeAdministrativeArea8", + "typeAdministrativeArea9", + "typeColloquialArea", + "typeReservation", + "typeLocality", + "typeGbPostTown", + "typeJpGun", + "typeJpShikuchouson", + "typeJpSubShikuchouson", + "typeColloquialCity", + "typeSublocality", + "typeUsBorough", + "typeGbDependentLocality", + "typeJpOoaza", + "typeJpKoaza", + "typeJpGaiku", + "typeGbDoubleDependentLocality", + "typeJpChiban", + "typeJpEdaban", + "typeSublocality1", + "typeSublocality2", + "typeSublocality3", + "typeSublocality4", + "typeSublocality5", + "typeNeighborhood", + "typeConstituency", + "typeDesignatedMarketArea", + "typeSchoolDistrict", + "typeLandParcel", + "typeDisputedArea", + "typePoliceJurisdiction", + "typeStatisticalArea", + "typeConstituencyFuture", + "typePark", + "typeGolfCourse", + "typeLocalPark", + "typeNationalPark", + "typeUsNationalPark", + "typeUsNationalMonument", + "typeNationalForest", + "typeProvincialPark", + "typeProvincialForest", + "typeCampgrounds", + "typeHikingArea", + "typeBusiness", + "typeGovernment", + "typeBorderCrossing", + "typeCityHall", + "typeCourthouse", + "typeEmbassy", + "typeLibrary", + "typeSchool", + "typeUniversity", + "typeEmergency", + "typeHospital", + "typePharmacy", + "typePolice", + "typeFire", + "typeDoctor", + "typeDentist", + "typeVeterinarian", + "typeTravelService", + "typeLodging", + "typeRestaurant", + "typeGasStation", + "typeParking", + "typePostOffice", + "typeRestArea", + "typeCashMachine", + "typeCarRental", + "typeCarRepair", + "typeShopping", + "typeGrocery", + "typeTouristDestination", + "typeEcoTouristDestination", + "typeBirdWatching", + "typeFishing", + "typeHunting", + "typeNatureReserve", + "typeTemple", + "typeChurch", + "typeGurudwara", + "typeHinduTemple", + "typeMosque", + "typeSynagogue", + "typeStadium", + "typeBar", + "typeMovieRental", + "typeCoffee", + "typeGolf", + "typeBank", + "typeDoodle", + "typeGrounds", + "typeAirportGrounds", + "typeBuildingGrounds", + "typeCemetery", + "typeHospitalGrounds", + "typeIndustrial", + "typeMilitary", + "typeShoppingCenter", + "typeSportsComplex", + "typeUniversityGrounds", + "typeDeprecatedTarmac", + "typeEnclosedTrafficArea", + "typeParkingLot", + "typeParkingGarage", + "typeOffRoadArea", + "typeBorder", + "typeBuilding", + "typeGeocodedAddress", + "typeNaturalFeature", + "typeTerrain", + "typeSand", + "typeBeach", + "typeDune", + "typeRocky", + "typeIce", + "typeGlacier", + "typeBuiltUpArea", + "typeVegetation", + "typeShrubbery", + "typeWoods", + "typeAgricultural", + "typeGrassland", + "typeTundra", + "typeDesert", + "typeSaltFlat", + "typeWater", + "typeOcean", + "typeBay", + "typeBight", + "typeLagoon", + "typeSea", + "typeStrait", + "typeInlet", + "typeFjord", + "typeLake", + "typeSeasonalLake", + "typeReservoir", + "typePond", + "typeRiver", + "typeRapids", + "typeDistributary", + "typeConfluence", + "typeWaterfall", + "typeSpring", + "typeGeyser", + "typeHotSpring", + "typeSeasonalRiver", + "typeWadi", + "typeEstuary", + "typeWetland", + "typeWaterNavigation", + "typeFord", + "typeCanal", + "typeHarbor", + "typeChannel", + "typeReef", + "typeReefFlat", + "typeReefGrowth", + "typeReefExtent", + "typeReefRockSubmerged", + "typeIrrigation", + "typeDam", + "typeDrinkingWater", + "typeCurrent", + "typeWateringHole", + "typeTectonic", + "typeWateringHoleDeprecated", + "typeVolcano", + "typeLavaField", + "typeFissure", + "typeFault", + "typeLandMass", + "typeContinent", + "typeIsland", + "typeAtoll", + "typeOceanRockExposed", + "typeCay", + "typePeninsula", + "typeIsthmus", + "typeElevated", + "typePeak", + "typeNunatak", + "typeSpur", + "typePass", + "typePlateau", + "typeRidge", + "typeRavine", + "typeCrater", + "typeKarst", + "typeCliff", + "typeVista", + "typeDigitalElevationModel", + "typeUpland", + "typeTerrace", + "typeSlope", + "typeContourLine", + "typePan", + "typeUnstableHillside", + "typeMountainRange", + "typeUndersea", + "typeSubmarineSeamount", + "typeSubmarineRidge", + "typeSubmarineGap", + "typeSubmarinePlateau", + "typeSubmarineDeep", + "typeSubmarineValley", + "typeSubmarineBasin", + "typeSubmarineSlope", + "typeSubmarineCliff", + "typeSubmarinePlain", + "typeSubmarineFractureZone", + "typeCave", + "typeRock", + "typeArchipelago", + "typePostal", + "typePostalCode", + "typePostalCodePrefix", + "typePremise", + "typeSubPremise", + "typeSuite", + "typePostTown", + "typePostalRound", + "typeMetaFeature", + "typeDataSource", + "typeLocale", + "typeTimezone", + "typeBusinessChain", + "typePhoneNumberPrefix", + "typePhoneNumberAreaCode", + "typeBusinessCorridor", + "typeAddressTemplate", + "typeEvent", + "typeEarthquake", + "typeHurricane", + "typeWeatherCondition", + "typeTransient", + "typeEntrance", + "typeCartographic", + "typeHighTension", + "typeSkiTrail", + "typeSkiLift", + "typeSkiBoundary", + "typeWatershedBoundary", + "typeTarmac", + "typeWall", + "typePicnicArea", + "typePlayGround", + "typeTrailHead", + "typeGolfTeeingGround", + "typeGolfPuttingGreen", + "typeGolfRough", + "typeGolfSandBunker", + "typeGolfFairway", + "typeGolfHole", + "typeDeprecatedGolfShop", + "typeCampingSite", + "typeDesignatedBarbecuePit", + "typeDesignatedCookingArea", + "typeCampfirePit", + "typeWaterFountain", + "typeLitterReceptacle", + "typeLockerArea", + "typeAnimalEnclosure", + "typeCartographicLine", + "typeEstablishment", + "typeEstablishmentGrounds", + "typeEstablishmentBuilding", + "typeEstablishmentPoi", + "typeEstablishmentService", + "typeCelestial", + "typeRoadMonitor", + "typePublicSpacesAndMonuments", + "typeStatue", + "typeTownSquare", + "typeLevel", + "typeCompound", + "typeCompoundGrounds", + "typeCompoundBuilding", + "typeCompoundSection", + "typeTerminalPoint", + "typeRegulatedArea", + "typeDoNotUseReservedToCatchGeneratedFiles", + "typeUnknown" + ], + "enumDescriptions": [ + "ABSTRACT", + "ABSTRACT", + "A route is any section of road (or rails, etc.) that has a name. This includes city streets as well as highways. Road segments can belong to multiple routes (e.g. El Camino, CA-82).", + "DEPRECATED", + "ABSTRACT", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "A designated bicycle route, whose segments may consist of any combination of bicycle paths, bicycle lanes, or city streets.", + "A designated trail, which may consist of paved walkways, dirt paths, fire road, streets or highways, etc.", + "ABSTRACT", + "", + "Railroads use several different incompatible track types.", + "", + "", + "", + "", + "", + "", + "", + "", + "Tracks for streetcars, cable-cars, etc. Ferries are services that are part of the road network but are not roads. They typically involve fares and scheduled departure times.", + "ABSTRACT", + "The vast majority of ferries are ferry boats.", + "Also called a \"car transport\", a ferry train is a rail service that carries passengers and their vehicles across undrivable terrain. The Channel Tunnel (\"Chunnel\") is the most famous example, but they are also common in the Alps where they connect neighboring valleys otherwise separated by impassable mountains.", + "Any plausible 1-dimensional path through a 2+ dimensional space, for the purposes of making graph-search-based routing possible. Such segments can be used to model paths through parking lots, squares, floors of buildings and other areas.", + "An intersection consists of a collection of segments that terminate at the same location. This is topological definition: it may not match what a typical user would think of as an \"intersection\". See TYPE_INTERSECTION_GROUP, below, for more information. Each segment terminating at an intersection has an \"endpoint type\" that specifies how that segment is terminated: stop sign, yield sign, three-way light, etc.", + "ABSTRACT", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "A transit line is a collection of transit legs, associated with some invariant properties of the trips that run over the legs. See also transitline.proto", + "A transit agency operates a number of lines, typically all in the same city, region or country. See also transitagency.proto", + "DEPRECATED", + "ABSTRACT", + "Road sign features have names, point geometry, etc. They also have segment_path data (see below) which lists the segments that refer to the sign. See segment.proto for the reference from the segment to the road sign.", + "Our TYPE_INTERSECTION feature, above, models the point where one or more segments terminate. This is topological definition: it may not match what a typical user would think of as an \"intersection\". Consider the intersections where Hayes, Market, Larkin, and 9th Street meet near (37.77765, -122.41638) in San Francisco. Most people would probably consider this a single feature, even though we model it as four separate TYPE_INTERSECTION features. This TYPE_INTERSECTION_GROUP is used to model the user's concept of a complex intersection.", + "RESERVED", + "A restriction group describes a set of segment restrictions that belong together and have a name or an associated event. See also restriction_group.proto", + "A toll cluster is either a single point on a segment (represented as a point at the end of the segment that has ENDPOINT_TOLL_BOOTH set) or a group of points on various road segments in MapFacts that represents one or more lanes passing through a toll fixture that all go to the same routing destination. Each toll cluster should have at most a single price per payment method. E.g. {CASH = $5, PASS = $1}. Note: If a toll fixture has different prices for multiple routing destinations, drivers need to be in the correct lane before passing through the toll fixture and hence such a fixture is represented by multiple toll clusters. A toll cluster does not necessarily represent a real-world entity, e.g. a particular plaza/structure as perceived by humans. This is because a plaza can be represented by more than one toll cluster. We require toll clusters to have names, but they might be non-unique. For example, a plaza might be represented by multiple toll clusters that may have the same plaza name. For further details, please see go/toll-cluster-schema.", + "ABSTRACT", + "", + "ABSTRACT", + "", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "", + "DEPRECATED", + "DEPRECATED", + "", + "", + "", + "", + "", + "", + "", + "e.g. Silicon Valley", + "A reservation is a region collectively held or governed by indigenous people and officially recognized by the country\u2019s government at the federal or state level. A reservation may be fully contained within an administrative feature or partially contained within two or more. These regions are referred to by different categorical names depending on country and even by state, including but not limited to: \u201cIndian Reservations\u201d, \u201cIndian Reserves\u201d, \u201cLand Claim Settlement Lands\u201d, \u201cIndian Lands\u201d, \u201cTreaty Lands\u201d, \u201cIndigenous Territories\u201d, etc. A reservation is not a historic indigenous territory boundary or a region which has applied for land rights but has not yet received official recognition.", + "", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "An entity widely considered to be a city, that may itself be made up of smaller political entities, some of which are cities/towns/villages themselves. For example, the colloquial view of Sydney, Australia actually comprises many smaller cities, but is regarded as a city itself. This type is not suitable for modeling official metro-/micropolitan or other statistical areas.", + "ABSTRACT", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "", + "", + "", + "", + "", + "", + "", + "Designated Market Areas (or DMAs) are used by marketing and ratings companies (such as the Nielsen Media Research company) to describe geographical regions (such as the greater New York metropolitan area) that are covered by a set of television stations. (See http://www.schooldata.com/pdfs/DMA.pdf) In the United States, DMAs should have a DMA numeric ID name, tagged with the FLAG_DESIGNATED_MARKET_AREA_ID flag.", + "", + "", + "Eventually we'll have more data for disputed areas (e.g., who makes claims on the area, who has de facto control, etc.). For the moment, we just define a type so we can simply mark areas as disputed.", + "Boundaries representing the jurisdiction of a particular police station.", + "An area used for aggregating statistical data, eg, a census region. Note that TYPE_STATISTICAL_AREA has a third nibble so we can add an abstract parent above it later if need be at 0x2E1 (and rename TYPE_STATISTICAL_AREA as TYPE_STATISTICAL_AREA1).", + "RESERVED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "A line representing the boundary between two features. See border.proto for details.", + "DEPRECATED", + "An association of a point with an address, with no other information.", + "ABSTRACT", + "Expanses of land that share common surface attributes. These areas would look more or less uniform from a high altitude.", + "", + "", + "", + "", + "", + "", + "Terrain that looks populated.", + "Terrain that is covered in vegetation.", + "", + "", + "", + "", + "", + "", + "A flat expanse of salt left by the evaporation of a body of salt water.", + "Features can be TYPE_WATER if we don't have enough information to properly type the body of water. TYPE_WATER is also used as the type for child features that compose a TYPE_RIVER feature.", + "One of the large salt-water bodies that covers most of the globe.", + "An ocean subdivision formed by a coastal indentation. Includes coves and gulfs.", + "An open body of water formed by a slight coastal indentation.", + "", + "An ocean subdivision more or less confined by land and islands.", + "A long narrow ocean subdivision. Includes sounds.", + "", + "", + "An inland body of standing water.", + "A lake that dries up part of the year.", + "An artificial body of water, possibly created by a dam, often used for irrigation or house use.", + "", + "An inland body of moving water, or parts associated with it in which there is little or no current (backwater).", + "", + "A branch which flows away from the main river. Includes deltas.", + "A place where two or more rivers join.", + "", + "A place where ground water flows naturally out of the ground.", + "", + "", + "A river that dries up part of the year.", + "A dry riverbed that occasionally receives flashfloods.", + "A place at the end of a river where fresh and salt water mix. Includes tidal creeks and limans.", + "Land that is usually flooded. Includes bogs, marshes, flats, moors, and swamps.", + "", + "A shallow place where water may be waded through.", + "A narrow passage used by boats. Normally artificial.", + "A deep place near a shore where ships commonly drop anchor.", + "A deep part in a body of water that is suitable for navigation. Includes narrows.", + "Rocks, coral, sandbars, or other features beneath the surface of the water that pose a hazard to passing ships. Includes shoals.", + "A relatively shallow zone of the back reef located closest to the shore, that may be exposed at low tide.", + "A small section of rocks, coral, sandbars, or other features beneath the surface of the water that forms part of a reef.", + "The full extent of the reef complex.", + "A submerged rock in the water.", + "Man-made (and sometimes natural) channels used to move water. This type was used for both dam structures and water that is hold back by dams. We should use TYPE_COMPOUND_BUILDING for dam structures and TYPE_RESERVOIR for water.", + "DEPRECATED", + "", + "Includes overfalls.", + "A natural depression filled with water where animals come to drink.", + "ABSTRACT This type is incorrectly under TYPE_TECTONIC instead of TYPE_WATER. This was a mistake and is now fixed. See TYPE_WATERING_HOLE for the replacement.", + "DEPRECATED", + "", + "", + "", + "", + "", + "", + "", + "", + "An exposed rock in the water.", + "A small, low-elevation, sandy island formed on the surface of coral reefs", + "A stretch of land projecting into water. Includes capes and spits.", + "A strip of land connecting two larger land masses, such as continents.", + "Features that are notable for being high (or low), or for having sudden changes in elevation. These features might have an \"elevation\" extension to specify the actual elevation. See ElevationProto for more information.", + "Elevations that have a distinctive peak.", + "A peak or ridge of a mountain that extends through a glacier.", + "A subsidiary peak of a mountain.", + "A route over an otherwise difficult to traverse feature. Includes saddle.", + "Elevations that are flat on top. Includes mesas and buttes.", + "A ridge is a geographical feature consisting of a chain of mountains or hills that form a continuous elevated crest with a single ridgeline for some distance.", + "Steep declines usually carved by erosion. Includes valleys, canyons, ditches, and gorges.", + "Depressions causes by impact, explosion, and sometimes sink-holes.", + "Topography formed on limestone and gypsum by dissolution with sinkholes, caves, etc.", + "A vertical or nearly vertical slope. Includes escarpments.", + "An elevated place that is notable for having a good view. Raster digital elevation data. This is not a type to be used by providers or consumed by clients.", + "RESERVED", + "Land along streams higher than the alluvial plain or stream terrace.", + "", + "Land not so steep as a cliff, but changing elevation. Includes slides.", + "All the points on the polygon are at the same elevation.", + "A near-level shallow, natural depression or basin, usually containing an intermittent lake, pond, or pool.", + "", + "A series of mountains or hills ranged in a line and connected by high ground. Mountain ranges usually consist of many smaller ridges. For example, the Himalayas, the Andes. the Alps, etc.", + "Features that are notable for being high (or low), or for having sudden changes in elevation. These features might have an \"elevation\" extension to specify the actual elevation. See ElevationProto for more information.", + "includes peaks, ranges, and spurs", + "", + "includes saddles", + "", + "", + "includes trenches and troughs", + "", + "", + "", + "", + "", + "Don't use 0xA7. Use 8 bits for additional types under TYPE_NATURAL_FEATURE, so we don't run out of space. The following are miscellaneous natural features that don't fit any of the categories above.", + "", + "A feature representing a group or chain of islands. ", + "ABSTRACT", + "This is the type for postal codes which are complete and independent enough that there should be a feature for them (e.g. US 5-digit ZIP codes). For even more detailed suffixes that further subdivide a postal code (such as the +4 component in US ZIP codes), store the information in a TYPE_POSTAL_CODE_SUFFIX address component. When a range or set of postal codes share the same geographical area, e.g. because a precise subdivision does not exist or this subdivision is unknown, this type is used for each individual postal code.", + "A prefix portion of a postal code which does not meet the requirements for TYPE_POSTAL_CODE, but which is useful to search for, for example UK outcodes.", + "DEPRECATED", + "DEPRECATED This is deprecated and we want to use TYPE_COMPOUND_SECTION instead.", + "DEPRECATED", + "The term \"post town\" is used for a locality-like-entity that is only used for postal addresses.", + "DEPRECATED", + "ABSTRACT", + "Every data source used in constructing a data repository has a corresponding feature that provides more information about that data source. The extra information is stored in the optional data_source field below.", + "A locale feature provides region specific conventions such as preferred language and formatting details for time, date, and currency values. Locales aren't necessary defined by physical geographic features, so they are classified as meta-features.", + "A timezone feature is used to specify the region covering an international timezone. When a point is covered by multiple timezone features, the most specific one can be used to compute the local time at this point. Most specific implies a much smaller region or the one that is closer to the center. A feature's timezone can be specified in the repeated related_timezone field.", + "A business chain feature is used to represent a chain, e.g. Starbucks, McDonald's, etc. Other features representing specific stores/franchises of this chain may refer to one such feature via RELATION_MEMBER_OF_CHAIN. This is not strictly reserved to commercial chains but can also be used to model organizations such as the Red Cross or the United Nations.", + "A phone number prefix feature is used to specify the region where phone numbers (typically fixed-line numbers) must begin with a certain prefix. Any phone number prefix down to any level of granularity could be represented by this type.", + "A phone number area code is a prefix which also coincides with the area code, or national destination code, of a particular region.", + "A Business Corridor is a dense cluster of semantically similar establishments. TYPE_BUSINESS_CORRIDOR features are distinguished from TYPE_COLLOQUIAL_AREA features because the corridors are not under the political hierarchy, are allowed to be nameless, and may not correspond to well-known real world locations. For more details, see go/geo-corridors-schema.", + "An address template feature provides region-specific conventions for structuring addresses. These features aren't necessarily defined by physical geographic features, so they are classified as meta-features.", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "DEPRECATED", + "RESERVED", + "A portal of entry or exit to another feature. Examples: - Subway station entrance. - Parking lot entrance.", + "Cartographic features are used to capture real-world objects for which there is no current desire to model any specific attributes. These are only useful to make the map tiles look pretty.", + "DEPRECATED", + "Also see skitrail.proto", + "Also see skilift.proto", + "Also see skiboundary.proto", + "", + "Starting with TYPE_TARMAC, we use longer IDs, so that we can expand the number of feature types under TYPE_CARTOGRAPHIC.", + "Use TYPE_COMPOUND_GROUND and appropriate gcids for the next two.", + "DEPRECATED", + "DEPRECATED", + "", + "Sub-types within a golf course.", + "", + "", + "", + "", + "Use TYPE_ESTABLISHMENT_POI and gcid:golf_shop for golf shops instead.", + "DEPRECATED", + "DEPRECATED", + "", + "", + "", + "", + "", + "", + "Subtype within a zoo - a cage or fenced-off or otherwise delineated area containing animals.", + "A line for a cartographic detail. For example the international date line. Such features should have polyline geometry.", + "ABSTRACT This type is being replaced by TYPE_COMPOUND_GROUNDS. For further details, see go/compounds-v2", + "DEPRECATED This type has been replaced by TYPE_COMPOUND_BUILDING. For further details, see go/oyster-compounds", + "DEPRECATED", + "Establishment POIs can be referenced by TYPE_COMPOUND features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation of the RELATION_OCCUPIES.", + "Represents service-only establishments (those without a storefront location). NOTE(tcain): Using value 0xD441, since we could find ourselves with a need to differentiate service areas from online-only at this level in the future, but still benefit from being able to group those under a common parent, disjoint from TYPE_ESTABLISHMENT_POI.", + "The root of types of features that are in the sky, rather than on the earth. There will eventually be a hierarchy of types here.", + "Features responsible for monitoring traffic on roads (usually for speed). Includes cameras at particular points as well as monitors that cover larger spans. Features of this type should have a corresponding gcid that specifies the correct subtype (e.g. gcid:road_camera or gcid:speed_camera_zone). This type was originally named as TYPE_ROAD_CAMERA.", + "ABSTRACT", + "Note that this type does not distinguish the nature of the statue (religious, historical, memorial, tourist, ...).", + "Open space used for events, gathering, or as market-place.", + "A feature used to represent a logical level, e.g. floor.", + "ABSTRACT", + "e.g. campus, compound, parcel.", + "e.g. single family dwelling, office building.", + "e.g. suite, room, hallway, cubicle.", + "A terminal point represents a good location for a user to meet a taxi, ridesharing vehicle, or general driver.", + "An area controlled in some way by an authoritative source, such as a government-designated COVID containment zone. Features of this type should have one or more gcids corresponding to their specific regulation.", + "DEPRECATED", + "A feature of completely unknown type. This should only be used when absolutely necessary. One example in which this type is useful is in the Chinese importer, which must heuristically segment addresses into components - it often does not know what types to make those components. Please note that the Oyster address formatter does not currently support address components of TYPE_UNKNOWN well." + ], + "type": "string" + }, + "positionPrecisionMeters": { + "description": "Precision of the center point (lat/long) of the geocoded FeatureProto", + "format": "double", + "type": "number" + }, + "queryString": { + "description": "The query sent to the geocoder", + "type": "string" + } + }, + "type": "object" + }, "GeographicDivision": { "description": "Describes a political geography.", "id": "GeographicDivision", @@ -871,6 +1664,12 @@ }, "type": "object" }, + "MessageSet": { + "description": "This is proto2's version of MessageSet.", + "id": "MessageSet", + "properties": {}, + "type": "object" + }, "Office": { "description": "Information about an Office held by one or more Officials.", "id": "Office", @@ -934,7 +1733,8 @@ "highestCourtJudge", "judge", "schoolBoard", - "specialPurposeOfficer" + "specialPurposeOfficer", + "otherRole" ], "enumDescriptions": [ "", @@ -947,6 +1747,7 @@ "", "", "", + "", "" ], "type": "string" @@ -988,6 +1789,13 @@ }, "type": "array" }, + "geocodingSummaries": { + "description": "Detailed summary about the official's address's geocoding", + "items": { + "$ref": "GeocodingSummary" + }, + "type": "array" + }, "name": { "description": "The official's name.", "type": "string" diff --git a/etc/api/classroom/v1/classroom-api.json b/etc/api/classroom/v1/classroom-api.json index d3efdf75c1..6b11377f72 100644 --- a/etc/api/classroom/v1/classroom-api.json +++ b/etc/api/classroom/v1/classroom-api.json @@ -170,7 +170,7 @@ "courses": { "methods": { "create": { - "description": "Creates a course. The user specified in `ownerId` is the owner of the created course and added as a teacher. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create courses or for access errors. * `NOT_FOUND` if the primary teacher is not a valid user. * `FAILED_PRECONDITION` if the course owner's account is disabled or for the following request errors: * UserGroupsMembershipLimitReached * `ALREADY_EXISTS` if an alias was specified in the `id` and already exists.", + "description": "Creates a course. The user specified in `ownerId` is the owner of the created course and added as a teacher. A non-admin requesting user can only create a course with themselves as the owner. Domain admins can create courses owned by any user within their domain. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create courses or for access errors. * `NOT_FOUND` if the primary teacher is not a valid user. * `FAILED_PRECONDITION` if the course owner's account is disabled or for the following request errors: * UserGroupsMembershipLimitReached * `ALREADY_EXISTS` if an alias was specified in the `id` and already exists.", "flatPath": "v1/courses", "httpMethod": "POST", "id": "classroom.courses.create", @@ -1471,7 +1471,7 @@ "students": { "methods": { "create": { - "description": "Adds a user as a student of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create students in this course or for access errors. * `NOT_FOUND` if the requested course ID does not exist. * `FAILED_PRECONDITION` if the requested user's account is disabled, for the following request errors: * CourseMemberLimitReached * CourseNotModifiable * UserGroupsMembershipLimitReached * `ALREADY_EXISTS` if the user is already a student or teacher in the course.", + "description": "Adds a user as a student of a course. Domain administrators are permitted to [directly add](https://developers.google.com/classroom/guides/manage-users) users within their domain as students to courses within their domain. Students are permitted to add themselves to a course using an enrollment code. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create students in this course or for access errors. * `NOT_FOUND` if the requested course ID does not exist. * `FAILED_PRECONDITION` if the requested user's account is disabled, for the following request errors: * CourseMemberLimitReached * CourseNotModifiable * UserGroupsMembershipLimitReached * `ALREADY_EXISTS` if the user is already a student or teacher in the course.", "flatPath": "v1/courses/{courseId}/students", "httpMethod": "POST", "id": "classroom.courses.students.create", @@ -1612,7 +1612,7 @@ "teachers": { "methods": { "create": { - "description": "Creates a teacher of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create teachers in this course or for access errors. * `NOT_FOUND` if the requested course ID does not exist. * `FAILED_PRECONDITION` if the requested user's account is disabled, for the following request errors: * CourseMemberLimitReached * CourseNotModifiable * CourseTeacherLimitReached * UserGroupsMembershipLimitReached * `ALREADY_EXISTS` if the user is already a teacher or student in the course.", + "description": "Creates a teacher of a course. Domain administrators are permitted to [directly add](https://developers.google.com/classroom/guides/manage-users) users within their domain as teachers to courses within their domain. Non-admin users should send an Invitation instead. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create teachers in this course or for access errors. * `NOT_FOUND` if the requested course ID does not exist. * `FAILED_PRECONDITION` if the requested user's account is disabled, for the following request errors: * CourseMemberLimitReached * CourseNotModifiable * CourseTeacherLimitReached * UserGroupsMembershipLimitReached * `ALREADY_EXISTS` if the user is already a teacher or student in the course.", "flatPath": "v1/courses/{courseId}/teachers", "httpMethod": "POST", "id": "classroom.courses.teachers.create", @@ -1641,7 +1641,7 @@ ] }, "delete": { - "description": "Deletes a teacher of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to delete teachers of this course or for access errors. * `NOT_FOUND` if no teacher of this course has the requested ID or if the course does not exist. * `FAILED_PRECONDITION` if the requested ID belongs to the primary teacher of this course.", + "description": "Removes the specified teacher from the specified course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to delete teachers of this course or for access errors. * `NOT_FOUND` if no teacher of this course has the requested ID or if the course does not exist. * `FAILED_PRECONDITION` if the requested ID belongs to the primary teacher of this course. * `FAILED_PRECONDITION` if the requested ID belongs to the owner of the course Drive folder. * `FAILED_PRECONDITION` if the course no longer has an active owner.", "flatPath": "v1/courses/{courseId}/teachers/{userId}", "httpMethod": "DELETE", "id": "classroom.courses.teachers.delete", @@ -2400,7 +2400,7 @@ } } }, - "revision": "20210323", + "revision": "20220224", "rootUrl": "https://classroom.googleapis.com/", "schemas": { "Announcement": { @@ -2605,6 +2605,10 @@ "description": "Enrollment code to use when joining this course. Specifying this field in a course update mask results in an error. Read-only.", "type": "string" }, + "gradebookSettings": { + "$ref": "GradebookSettings", + "description": "The gradebook settings that specify how a student's overall grade for the course will be calculated and who it will be displayed to. Read-only" + }, "guardiansEnabled": { "description": "Whether or not guardian notifications are enabled for this course. Read-only.", "type": "boolean" @@ -2763,6 +2767,10 @@ "$ref": "TimeOfDay", "description": "Optional time of day, in UTC, that submissions for this course work are due. This must be specified if `due_date` is specified." }, + "gradeCategory": { + "$ref": "GradeCategory", + "description": "The category that this coursework's grade contributes to. Present only when a category has been chosen for the coursework. May be used in calculating the overall grade. Read-only." + }, "id": { "description": "Classroom-assigned identifier of this course work, unique per course. Read-only.", "type": "string" @@ -2957,7 +2965,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "Date", "properties": { "day": { @@ -3099,6 +3107,31 @@ }, "type": "object" }, + "GradeCategory": { + "description": "Details for a grade category in a course. Coursework may have zero or one grade category, and the category may be used in computing the overall grade. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details.", + "id": "GradeCategory", + "properties": { + "defaultGradeDenominator": { + "description": "Default value of denominator. Only applicable when grade calculation type is TOTAL_POINTS.", + "format": "int32", + "type": "integer" + }, + "id": { + "description": "ID of the grade category.", + "type": "string" + }, + "name": { + "description": "Name of the grade category.", + "type": "string" + }, + "weight": { + "description": "The weight of the category average as part of overall average. A weight of 12.34% is represented as 123400 (100% is 1,000,000). The last two digits should always be zero since we use two decimal precision. Only applicable when grade calculation type is WEIGHTED_CATEGORIES.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GradeHistory": { "description": "The history of each grade on this submission.", "id": "GradeHistory", @@ -3141,6 +3174,50 @@ }, "type": "object" }, + "GradebookSettings": { + "description": "The gradebook settings for a course. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details.", + "id": "GradebookSettings", + "properties": { + "calculationType": { + "description": "Indicates how the overall grade is calculated.", + "enum": [ + "CALCULATION_TYPE_UNSPECIFIED", + "TOTAL_POINTS", + "WEIGHTED_CATEGORIES" + ], + "enumDescriptions": [ + "No method specified. This is never returned.", + "Overall grade is the sum of grades divided by the sum of total points regardless of category.", + "Overall grade is the weighted average by category." + ], + "type": "string" + }, + "displaySetting": { + "description": "Indicates who can see the overall grade..", + "enum": [ + "DISPLAY_SETTING_UNSPECIFIED", + "SHOW_OVERALL_GRADE", + "HIDE_OVERALL_GRADE", + "SHOW_TEACHERS_ONLY" + ], + "enumDescriptions": [ + "No setting specified. This is never returned.", + "Shows overall grade in the gradebook and student profile to both teachers and students.", + "Does not show overall grade in the gradebook or student profile.", + "Shows the overall grade to teachers in the gradebook and student profile. Hides from students in their student profile." + ], + "type": "string" + }, + "gradeCategories": { + "description": "Grade categories that are available for coursework in the course.", + "items": { + "$ref": "GradeCategory" + }, + "type": "array" + } + }, + "type": "object" + }, "Guardian": { "description": "Association between a student and a guardian of that student. The guardian may receive information about the student's course work.", "id": "Guardian", diff --git a/etc/api/cloudasset/v1/cloudasset-api.json b/etc/api/cloudasset/v1/cloudasset-api.json index 1497cb0206..9d69333f32 100644 --- a/etc/api/cloudasset/v1/cloudasset-api.json +++ b/etc/api/cloudasset/v1/cloudasset-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -105,6 +105,122 @@ }, "protocol": "rest", "resources": { + "assets": { + "methods": { + "list": { + "description": "Lists assets with time and resource types and returns paged results in response.", + "flatPath": "v1/{v1Id}/{v1Id1}/assets", + "httpMethod": "GET", + "id": "cloudasset.assets.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "assetTypes": { + "description": "A list of asset types to take a snapshot for. For example: \"compute.googleapis.com/Disk\". Regular expression is also supported. For example: * \"compute.googleapis.com.*\" snapshots resources whose asset type starts with \"compute.googleapis.com\". * \".*Instance\" snapshots resources whose asset type ends with \"Instance\". * \".*Instance.*\" snapshots resources whose asset type contains \"Instance\". See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported regular expression syntax. If the regular expression does not match any supported asset type, an INVALID_ARGUMENT error will be returned. If specified, only matching assets will be returned, otherwise, it will snapshot all asset types. See [Introduction to Cloud Asset Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all supported asset types.", + "location": "query", + "repeated": true, + "type": "string" + }, + "contentType": { + "description": "Asset content type. If not specified, no content but the asset name will be returned.", + "enum": [ + "CONTENT_TYPE_UNSPECIFIED", + "RESOURCE", + "IAM_POLICY", + "ORG_POLICY", + "ACCESS_POLICY", + "OS_INVENTORY", + "RELATIONSHIP" + ], + "enumDescriptions": [ + "Unspecified content type.", + "Resource metadata.", + "The actual IAM policy set on a resource.", + "The Cloud Organization Policy set on an asset.", + "The Cloud Access context manager Policy set on an asset.", + "The runtime OS Inventory information.", + "The related resources." + ], + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of assets to be returned in a single response. Default is 100, minimum is 1, and maximum is 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The `next_page_token` returned from the previous `ListAssetsResponse`, or unspecified for the first `ListAssetsRequest`. It is a continuation of a prior `ListAssets` call, and the API should return the next page of assets.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of the organization, folder, or project the assets belong to. Format: \"organizations/[organization-number]\" (such as \"organizations/123\"), \"projects/[project-id]\" (such as \"projects/my-project-id\"), \"projects/[project-number]\" (such as \"projects/12345\"), or \"folders/[folder-number]\" (such as \"folders/12345\").", + "location": "path", + "pattern": "^[^/]+/[^/]+$", + "required": true, + "type": "string" + }, + "readTime": { + "description": "Timestamp to take an asset snapshot. This can only be set to a timestamp between the current time and the current time minus 35 days (inclusive). If not specified, the current time will be used. Due to delays in resource data collection and indexing, there is a volatile window during which running the same query may get different results.", + "format": "google-datetime", + "location": "query", + "type": "string" + }, + "relationshipTypes": { + "description": "A list of relationship types to output, for example: `INSTANCE_TO_INSTANCEGROUP`. This field should only be specified if content_type=RELATIONSHIP. * If specified: it snapshots specified relationships. It returns an error if any of the [relationship_types] doesn't belong to the supported relationship types of the [asset_types] or if any of the [asset_types] doesn't belong to the source types of the [relationship_types]. * Otherwise: it snapshots the supported relationships for all [asset_types] or returns an error if any of the [asset_types] has no relationship support. An unspecified asset types field means all supported asset_types. See [Introduction to Cloud Asset Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all supported asset types and relationship types.", + "location": "query", + "repeated": true, + "type": "string" + } + }, + "path": "v1/{+parent}/assets", + "response": { + "$ref": "ListAssetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "effectiveIamPolicies": { + "methods": { + "batchGet": { + "description": "Gets effective IAM policies for a batch of resources.", + "flatPath": "v1/{v1Id}/{v1Id1}/effectiveIamPolicies:batchGet", + "httpMethod": "GET", + "id": "cloudasset.effectiveIamPolicies.batchGet", + "parameterOrder": [ + "scope" + ], + "parameters": { + "names": { + "description": "Required. The names refer to the [full_resource_names] (https://cloud.google.com/asset-inventory/docs/resource-name-format) of [searchable asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types). A maximum of 20 resources' effective policies can be retrieved in a batch.", + "location": "query", + "repeated": true, + "type": "string" + }, + "scope": { + "description": "Required. Only IAM policies on or below the scope will be returned. This can only be an organization number (such as \"organizations/123\"), a folder number (such as \"folders/123\"), a project ID (such as \"projects/my-project-id\"), or a project number (such as \"projects/12345\"). To know how to get organization id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). To know how to get folder or project id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).", + "location": "path", + "pattern": "^[^/]+/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+scope}/effectiveIamPolicies:batchGet", + "response": { + "$ref": "BatchGetEffectiveIamPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "feeds": { "methods": { "create": { @@ -269,6 +385,168 @@ } } }, + "savedQueries": { + "methods": { + "create": { + "description": "Creates a saved query in a parent project/folder/organization.", + "flatPath": "v1/{v1Id}/{v1Id1}/savedQueries", + "httpMethod": "POST", + "id": "cloudasset.savedQueries.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the project/folder/organization where this saved_query should be created in. It can only be an organization number (such as \"organizations/123\"), a folder number (such as \"folders/123\"), a project ID (such as \"projects/my-project-id\")\", or a project number (such as \"projects/12345\").", + "location": "path", + "pattern": "^[^/]+/[^/]+$", + "required": true, + "type": "string" + }, + "savedQueryId": { + "description": "Required. The ID to use for the saved query, which must be unique in the specified parent. It will become the final component of the saved query's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. Notice that this field is required in the saved query creation, and the `name` field of the `saved_query` will be ignored.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/savedQueries", + "request": { + "$ref": "SavedQuery" + }, + "response": { + "$ref": "SavedQuery" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a saved query.", + "flatPath": "v1/{v1Id}/{v1Id1}/savedQueries/{savedQueriesId}", + "httpMethod": "DELETE", + "id": "cloudasset.savedQueries.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the saved query to delete. It must be in the format of: * projects/project_number/savedQueries/saved_query_id * folders/folder_number/savedQueries/saved_query_id * organizations/organization_number/savedQueries/saved_query_id", + "location": "path", + "pattern": "^[^/]+/[^/]+/savedQueries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details about a saved query.", + "flatPath": "v1/{v1Id}/{v1Id1}/savedQueries/{savedQueriesId}", + "httpMethod": "GET", + "id": "cloudasset.savedQueries.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the saved query and it must be in the format of: * projects/project_number/savedQueries/saved_query_id * folders/folder_number/savedQueries/saved_query_id * organizations/organization_number/savedQueries/saved_query_id", + "location": "path", + "pattern": "^[^/]+/[^/]+/savedQueries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "SavedQuery" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all saved queries in a parent project/folder/organization.", + "flatPath": "v1/{v1Id}/{v1Id1}/savedQueries", + "httpMethod": "GET", + "id": "cloudasset.savedQueries.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The expression to filter resources. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. When `AND` and `OR` are both used in the expression, parentheses must be appropriately used to group the combinations. The expression may also contain regular expressions. See https://google.aip.dev/160 for more information on the grammar.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of saved queries to return per page. The service may return fewer than this value. If unspecified, at most 50 will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListSavedQueries` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSavedQueries` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent project/folder/organization whose savedQueries are to be listed. It can only be using project/folder/organization number (such as \"folders/12345\")\", or a project ID (such as \"projects/my-project-id\").", + "location": "path", + "pattern": "^[^/]+/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/savedQueries", + "response": { + "$ref": "ListSavedQueriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a saved query.", + "flatPath": "v1/{v1Id}/{v1Id1}/savedQueries/{savedQueriesId}", + "httpMethod": "PATCH", + "id": "cloudasset.savedQueries.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the saved query. The format must be: * projects/project_number/savedQueries/saved_query_id * folders/folder_number/savedQueries/saved_query_id * organizations/organization_number/savedQueries/saved_query_id", + "location": "path", + "pattern": "^[^/]+/[^/]+/savedQueries/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "SavedQuery" + }, + "response": { + "$ref": "SavedQuery" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "v1": { "methods": { "analyzeIamPolicy": { @@ -292,23 +570,29 @@ "repeated": true, "type": "string" }, + "analysisQuery.conditionContext.accessTime": { + "description": "The hypothetical access timestamp to evaluate IAM conditions. Note that this value must not be earlier than the current time; otherwise, an INVALID_ARGUMENT error will be returned.", + "format": "google-datetime", + "location": "query", + "type": "string" + }, "analysisQuery.identitySelector.identity": { - "description": "Required. The identity appear in the form of members in [IAM policy binding](https://cloud.google.com/iam/reference/rest/v1/Binding). The examples of supported forms are: \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\". Notice that wildcard characters (such as * and ?) are not supported. You must give a specific identity.", + "description": "Required. The identity appear in the form of principals in [IAM policy binding](https://cloud.google.com/iam/reference/rest/v1/Binding). The examples of supported forms are: \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\". Notice that wildcard characters (such as * and ?) are not supported. You must give a specific identity.", "location": "query", "type": "string" }, "analysisQuery.options.analyzeServiceAccountImpersonation": { - "description": "Optional. If true, the response will include access analysis from identities to resources via service account impersonation. This is a very expensive operation, because many derived queries will be executed. We highly recommend you use AssetService.AnalyzeIamPolicyLongrunning rpc instead. For example, if the request analyzes for which resources user A has permission P, and there's an IAM policy states user A has iam.serviceAccounts.getAccessToken permission to a service account SA, and there's another IAM policy states service account SA has permission P to a GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Another example, if the request analyzes for who has permission P to a GCP folder F, and there's an IAM policy states user A has iam.serviceAccounts.actAs permission to a service account SA, and there's another IAM policy states service account SA has permission P to the GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Default is false.", + "description": "Optional. If true, the response will include access analysis from identities to resources via service account impersonation. This is a very expensive operation, because many derived queries will be executed. We highly recommend you use AssetService.AnalyzeIamPolicyLongrunning rpc instead. For example, if the request analyzes for which resources user A has permission P, and there's an IAM policy states user A has iam.serviceAccounts.getAccessToken permission to a service account SA, and there's another IAM policy states service account SA has permission P to a GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Another example, if the request analyzes for who has permission P to a GCP folder F, and there's an IAM policy states user A has iam.serviceAccounts.actAs permission to a service account SA, and there's another IAM policy states service account SA has permission P to the GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Only the following permissions are considered in this analysis: * `iam.serviceAccounts.actAs` * `iam.serviceAccounts.signBlob` * `iam.serviceAccounts.signJwt` * `iam.serviceAccounts.getAccessToken` * `iam.serviceAccounts.getOpenIdToken` * `iam.serviceAccounts.implicitDelegation` Default is false.", "location": "query", "type": "boolean" }, "analysisQuery.options.expandGroups": { - "description": "Optional. If true, the identities section of the result will expand any Google groups appearing in an IAM policy binding. If IamPolicyAnalysisQuery.identity_selector is specified, the identity in the result will be determined by the selector, and this flag is not allowed to set. Default is false.", + "description": "Optional. If true, the identities section of the result will expand any Google groups appearing in an IAM policy binding. If IamPolicyAnalysisQuery.identity_selector is specified, the identity in the result will be determined by the selector, and this flag is not allowed to set. If true, the default max expansion per group is 1000 for AssetService.AnalyzeIamPolicy][]. Default is false.", "location": "query", "type": "boolean" }, "analysisQuery.options.expandResources": { - "description": "Optional. If true and IamPolicyAnalysisQuery.resource_selector is not specified, the resource section of the result will expand any resource attached to an IAM policy to include resources lower in the resource hierarchy. For example, if the request analyzes for which resources user A has permission P, and the results include an IAM policy with P on a GCP folder, the results will also include resources in that folder with permission P. If true and IamPolicyAnalysisQuery.resource_selector is specified, the resource section of the result will expand the specified resource to include resources lower in the resource hierarchy. Only project or lower resources are supported. Folder and organization resource cannot be used together with this option. For example, if the request analyzes for which users have permission P on a GCP project with this option enabled, the results will include all users who have permission P on that project or any lower resource. Default is false.", + "description": "Optional. If true and IamPolicyAnalysisQuery.resource_selector is not specified, the resource section of the result will expand any resource attached to an IAM policy to include resources lower in the resource hierarchy. For example, if the request analyzes for which resources user A has permission P, and the results include an IAM policy with P on a GCP folder, the results will also include resources in that folder with permission P. If true and IamPolicyAnalysisQuery.resource_selector is specified, the resource section of the result will expand the specified resource to include resources lower in the resource hierarchy. Only project or lower resources are supported. Folder and organization resource cannot be used together with this option. For example, if the request analyzes for which users have permission P on a GCP project with this option enabled, the results will include all users who have permission P on that project or any lower resource. If true, the default max expansion per resource is 1000 for AssetService.AnalyzeIamPolicy][] and 100000 for AssetService.AnalyzeIamPolicyLongrunning][]. Default is false.", "location": "query", "type": "boolean" }, @@ -318,12 +602,12 @@ "type": "boolean" }, "analysisQuery.options.outputGroupEdges": { - "description": "Optional. If true, the result will output group identity edges, starting from the binding's group members, to any expanded identities. Default is false.", + "description": "Optional. If true, the result will output the relevant membership relationships between groups and other groups, and between groups and principals. Default is false.", "location": "query", "type": "boolean" }, "analysisQuery.options.outputResourceEdges": { - "description": "Optional. If true, the result will output resource edges, starting from the policy attached resource, to any expanded resources. Default is false.", + "description": "Optional. If true, the result will output the relevant parent/child relationships between resources. Default is false.", "location": "query", "type": "boolean" }, @@ -338,6 +622,11 @@ "location": "query", "type": "string" }, + "savedAnalysisQuery": { + "description": "Optional. The name of a saved query, which must be in the format of: * projects/project_number/savedQueries/saved_query_id * folders/folder_number/savedQueries/saved_query_id * organizations/organization_number/savedQueries/saved_query_id If both `analysis_query` and `saved_analysis_query` are provided, they will be merged together with the `saved_analysis_query` as base and the `analysis_query` as overrides. For more details of the merge behavior, please refer to the [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details) page. Note that you cannot override primitive fields with default value, such as 0 or empty string, etc., because we use proto3, which doesn't support field presence yet.", + "location": "query", + "type": "string" + }, "scope": { "description": "Required. The relative name of the root asset. Only resources and IAM policies within the scope will be analyzed. This can only be an organization number (such as \"organizations/123\"), a folder number (such as \"folders/123\"), a project ID (such as \"projects/my-project-id\"), or a project number (such as \"projects/12345\"). To know how to get organization id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). To know how to get folder or project id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).", "location": "path", @@ -355,7 +644,7 @@ ] }, "analyzeIamPolicyLongrunning": { - "description": "Analyzes IAM policies asynchronously to answer which identities have what accesses on which resources, and writes the analysis results to a Google Cloud Storage or a BigQuery destination. For Cloud Storage destination, the output format is the JSON format that represents a AnalyzeIamPolicyResponse. This method implements the google.longrunning.Operation, which allows you to track the operation status. We recommend intervals of at least 2 seconds with exponential backoff retry to poll the operation result. The metadata contains the request to help callers to map responses to requests.", + "description": "Analyzes IAM policies asynchronously to answer which identities have what accesses on which resources, and writes the analysis results to a Google Cloud Storage or a BigQuery destination. For Cloud Storage destination, the output format is the JSON format that represents a AnalyzeIamPolicyResponse. This method implements the google.longrunning.Operation, which allows you to track the operation status. We recommend intervals of at least 2 seconds with exponential backoff retry to poll the operation result. The metadata contains the metadata for the long-running operation.", "flatPath": "v1/{v1Id}/{v1Id1}:analyzeIamPolicyLongrunning", "httpMethod": "POST", "id": "cloudasset.analyzeIamPolicyLongrunning", @@ -382,6 +671,51 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "analyzeMove": { + "description": "Analyze moving a resource to a specified destination without kicking off the actual move. The analysis is best effort depending on the user's permissions of viewing different hierarchical policies and configurations. The policies and configuration are subject to change before the actual resource migration takes place.", + "flatPath": "v1/{v1Id}/{v1Id1}:analyzeMove", + "httpMethod": "GET", + "id": "cloudasset.analyzeMove", + "parameterOrder": [ + "resource" + ], + "parameters": { + "destinationParent": { + "description": "Required. Name of the GCP Folder or Organization to reparent the target resource. The analysis will be performed against hypothetically moving the resource to this specified desitination parent. This can only be a Folder number (such as \"folders/123\") or an Organization number (such as \"organizations/123\").", + "location": "query", + "type": "string" + }, + "resource": { + "description": "Required. Name of the resource to perform the analysis against. Only GCP Project are supported as of today. Hence, this can only be Project ID (such as \"projects/my-project-id\") or a Project Number (such as \"projects/12345\").", + "location": "path", + "pattern": "^[^/]+/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Analysis view indicating what information should be included in the analysis response. If unspecified, the default view is FULL.", + "enum": [ + "ANALYSIS_VIEW_UNSPECIFIED", + "FULL", + "BASIC" + ], + "enumDescriptions": [ + "The default/unset value. The API will default to the FULL view.", + "Full analysis including all level of impacts of the specified resource move.", + "Basic analysis only including blockers which will prevent the specified resource move at runtime." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+resource}:analyzeMove", + "response": { + "$ref": "AnalyzeMoveResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "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": "v1/{v1Id}/{v1Id1}:batchGetAssetsHistory", @@ -405,7 +739,8 @@ "IAM_POLICY", "ORG_POLICY", "ACCESS_POLICY", - "OS_INVENTORY" + "OS_INVENTORY", + "RELATIONSHIP" ], "enumDescriptions": [ "Unspecified content type.", @@ -413,7 +748,8 @@ "The actual IAM policy set on a resource.", "The Cloud Organization Policy set on an asset.", "The Cloud Access context manager Policy set on an asset.", - "The runtime OS Inventory information." + "The runtime OS Inventory information.", + "The related resources." ], "location": "query", "type": "string" @@ -436,6 +772,12 @@ "format": "google-datetime", "location": "query", "type": "string" + }, + "relationshipTypes": { + "description": "Optional. A list of relationship types to output, for example: `INSTANCE_TO_INSTANCEGROUP`. This field should only be specified if content_type=RELATIONSHIP. * If specified: it outputs specified relationships' history on the [asset_names]. It returns an error if any of the [relationship_types] doesn't belong to the supported relationship types of the [asset_names] or if any of the [asset_names]'s types doesn't belong to the source types of the [relationship_types]. * Otherwise: it outputs the supported relationships' history on the [asset_names] or returns an error if any of the [asset_names]'s types has no relationship support. See [Introduction to Cloud Asset Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all supported asset types and relationship types.", + "location": "query", + "repeated": true, + "type": "string" } }, "path": "v1/{+parent}:batchGetAssetsHistory", @@ -447,7 +789,7 @@ ] }, "exportAssets": { - "description": "Exports assets with time and resource types to a given Cloud Storage location/BigQuery table. For Cloud Storage location destinations, the output format is newline-delimited JSON. Each line represents a google.cloud.asset.v1.Asset in the JSON format; for BigQuery table destinations, the output table stores the fields in asset proto as columns. This API implements the google.longrunning.Operation API , which allows you to keep track of the export. We recommend intervals of at least 2 seconds with exponential retry to poll the export operation result. For regular-size resource parent, the export operation usually finishes within 5 minutes.", + "description": "Exports assets with time and resource types to a given Cloud Storage location/BigQuery table. For Cloud Storage location destinations, the output format is newline-delimited JSON. Each line represents a google.cloud.asset.v1.Asset in the JSON format; for BigQuery table destinations, the output table stores the fields in asset Protobuf as columns. This API implements the google.longrunning.Operation API, which allows you to keep track of the export. We recommend intervals of at least 2 seconds with exponential retry to poll the export operation result. For regular-size resource parent, the export operation usually finishes within 5 minutes.", "flatPath": "v1/{v1Id}/{v1Id1}:exportAssets", "httpMethod": "POST", "id": "cloudasset.exportAssets", @@ -483,6 +825,17 @@ "scope" ], "parameters": { + "assetTypes": { + "description": "Optional. A list of asset types that the IAM policies are attached to. If empty, it will search the IAM policies that are attached to all the [searchable asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types). Regular expressions are also supported. For example: * \"compute.googleapis.com.*\" snapshots IAM policies attached to asset type starts with \"compute.googleapis.com\". * \".*Instance\" snapshots IAM policies attached to asset type ends with \"Instance\". * \".*Instance.*\" snapshots IAM policies attached to asset type contains \"Instance\". See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported regular expression syntax. If the regular expression does not match any supported asset type, an INVALID_ARGUMENT error will be returned.", + "location": "query", + "repeated": true, + "type": "string" + }, + "orderBy": { + "description": "Optional. A comma-separated list of fields specifying the sorting order of the results. The default order is ascending. Add \" DESC\" after the field name to indicate descending order. Redundant space characters are ignored. Example: \"assetType DESC, resource\". Only singular primitive fields in the response are sortable: * resource * assetType * project All the other fields such as repeated fields (e.g., `folders`) and non-primitive fields (e.g., `policy`) are not supported.", + "location": "query", + "type": "string" + }, "pageSize": { "description": "Optional. The page size for search result pagination. Page size is capped at 500 even if a larger value is given. If set to zero, server will pick an appropriate default. Returned results may be fewer than requested. When this happens, there could be more results as long as `next_page_token` is returned.", "format": "int32", @@ -495,7 +848,7 @@ "type": "string" }, "query": { - "description": "Optional. The query statement. See [how to construct a query](https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query) for more information. If not specified or empty, it will search all the IAM policies within the specified `scope`. Note that the query string is compared against each Cloud IAM policy binding, including its members, roles, and Cloud IAM conditions. The returned Cloud IAM policies will only contain the bindings that match your query. To learn more about the IAM policy structure, see [IAM policy doc](https://cloud.google.com/iam/docs/policies#structure). Examples: * `policy:amy@gmail.com` to find IAM policy bindings that specify user \"amy@gmail.com\". * `policy:roles/compute.admin` to find IAM policy bindings that specify the Compute Admin role. * `policy:comp*` to find IAM policy bindings that contain \"comp\" as a prefix of any word in the binding. * `policy.role.permissions:storage.buckets.update` to find IAM policy bindings that specify a role containing \"storage.buckets.update\" permission. Note that if callers don't have `iam.roles.get` access to a role's included permissions, policy bindings that specify this role will be dropped from the search results. * `policy.role.permissions:upd*` to find IAM policy bindings that specify a role containing \"upd\" as a prefix of any word in the role permission. Note that if callers don't have `iam.roles.get` access to a role's included permissions, policy bindings that specify this role will be dropped from the search results. * `resource:organizations/123456` to find IAM policy bindings that are set on \"organizations/123456\". * `resource=//cloudresourcemanager.googleapis.com/projects/myproject` to find IAM policy bindings that are set on the project named \"myproject\". * `Important` to find IAM policy bindings that contain \"Important\" as a word in any of the searchable fields (except for the included permissions). * `resource:(instance1 OR instance2) policy:amy` to find IAM policy bindings that are set on resources \"instance1\" or \"instance2\" and also specify user \"amy\".", + "description": "Optional. The query statement. See [how to construct a query](https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query) for more information. If not specified or empty, it will search all the IAM policies within the specified `scope`. Note that the query string is compared against each Cloud IAM policy binding, including its principals, roles, and Cloud IAM conditions. The returned Cloud IAM policies will only contain the bindings that match your query. To learn more about the IAM policy structure, see [IAM policy doc](https://cloud.google.com/iam/docs/policies#structure). Examples: * `policy:amy@gmail.com` to find IAM policy bindings that specify user \"amy@gmail.com\". * `policy:roles/compute.admin` to find IAM policy bindings that specify the Compute Admin role. * `policy:comp*` to find IAM policy bindings that contain \"comp\" as a prefix of any word in the binding. * `policy.role.permissions:storage.buckets.update` to find IAM policy bindings that specify a role containing \"storage.buckets.update\" permission. Note that if callers don't have `iam.roles.get` access to a role's included permissions, policy bindings that specify this role will be dropped from the search results. * `policy.role.permissions:upd*` to find IAM policy bindings that specify a role containing \"upd\" as a prefix of any word in the role permission. Note that if callers don't have `iam.roles.get` access to a role's included permissions, policy bindings that specify this role will be dropped from the search results. * `resource:organizations/123456` to find IAM policy bindings that are set on \"organizations/123456\". * `resource=//cloudresourcemanager.googleapis.com/projects/myproject` to find IAM policy bindings that are set on the project named \"myproject\". * `Important` to find IAM policy bindings that contain \"Important\" as a word in any of the searchable fields (except for the included permissions). * `resource:(instance1 OR instance2) policy:amy` to find IAM policy bindings that are set on resources \"instance1\" or \"instance2\" and also specify user \"amy\". * `roles:roles/compute.admin` to find IAM policy bindings that specify the Compute Admin role. * `memberTypes:user` to find IAM policy bindings that contain the principal type \"user\".", "location": "query", "type": "string" }, @@ -531,7 +884,7 @@ "type": "string" }, "orderBy": { - "description": "Optional. A comma separated list of fields specifying the sorting order of the results. The default order is ascending. Add \" DESC\" after the field name to indicate descending order. Redundant space characters are ignored. Example: \"location DESC, name\". Only string fields in the response are sortable, including `name`, `displayName`, `description`, `location`. All the other fields such as repeated fields (e.g., `networkTags`), map fields (e.g., `labels`) and struct fields (e.g., `additionalAttributes`) are not supported.", + "description": "Optional. A comma-separated list of fields specifying the sorting order of the results. The default order is ascending. Add \" DESC\" after the field name to indicate descending order. Redundant space characters are ignored. Example: \"location DESC, name\". Only singular primitive fields in the response are sortable: * name * assetType * project * displayName * description * location * kmsKey * createTime * updateTime * state * parentFullResourceName * parentAssetType All the other fields such as repeated fields (e.g., `networkTags`), map fields (e.g., `labels`) and struct fields (e.g., `additionalAttributes`) are not supported.", "location": "query", "type": "string" }, @@ -547,7 +900,13 @@ "type": "string" }, "query": { - "description": "Optional. The query statement. See [how to construct a query](https://cloud.google.com/asset-inventory/docs/searching-resources#how_to_construct_a_query) for more information. If not specified or empty, it will search all the resources within the specified `scope`. Examples: * `name:Important` to find Cloud resources whose name contains \"Important\" as a word. * `name=Important` to find the Cloud resource whose name is exactly \"Important\". * `displayName:Impor*` to find Cloud resources whose display name contains \"Impor\" as a prefix of any word in the field. * `location:us-west*` to find Cloud resources whose location contains both \"us\" and \"west\" as prefixes. * `labels:prod` to find Cloud resources whose labels contain \"prod\" as a key or value. * `labels.env:prod` to find Cloud resources that have a label \"env\" and its value is \"prod\". * `labels.env:*` to find Cloud resources that have a label \"env\". * `kmsKey:key` to find Cloud resources encrypted with a customer-managed encryption key whose name contains the word \"key\". * `state:ACTIVE` to find Cloud resources whose state contains \"ACTIVE\" as a word. * `createTime<1609459200` to find Cloud resources that were created before \"2021-01-01 00:00:00 UTC\". 1609459200 is the epoch timestamp of \"2021-01-01 00:00:00 UTC\" in seconds. * `updateTime>1609459200` to find Cloud resources that were updated after \"2021-01-01 00:00:00 UTC\". 1609459200 is the epoch timestamp of \"2021-01-01 00:00:00 UTC\" in seconds. * `Important` to find Cloud resources that contain \"Important\" as a word in any of the searchable fields. * `Impor*` to find Cloud resources that contain \"Impor\" as a prefix of any word in any of the searchable fields. * `Important location:(us-west1 OR global)` to find Cloud resources that contain \"Important\" as a word in any of the searchable fields and are also located in the \"us-west1\" region or the \"global\" location.", + "description": "Optional. The query statement. See [how to construct a query](https://cloud.google.com/asset-inventory/docs/searching-resources#how_to_construct_a_query) for more information. If not specified or empty, it will search all the resources within the specified `scope`. Examples: * `name:Important` to find Cloud resources whose name contains \"Important\" as a word. * `name=Important` to find the Cloud resource whose name is exactly \"Important\". * `displayName:Impor*` to find Cloud resources whose display name contains \"Impor\" as a prefix of any word in the field. * `location:us-west*` to find Cloud resources whose location contains both \"us\" and \"west\" as prefixes. * `labels:prod` to find Cloud resources whose labels contain \"prod\" as a key or value. * `labels.env:prod` to find Cloud resources that have a label \"env\" and its value is \"prod\". * `labels.env:*` to find Cloud resources that have a label \"env\". * `kmsKey:key` to find Cloud resources encrypted with a customer-managed encryption key whose name contains the word \"key\". * `state:ACTIVE` to find Cloud resources whose state contains \"ACTIVE\" as a word. * `NOT state:ACTIVE` to find Cloud resources whose state doesn't contain \"ACTIVE\" as a word. * `createTime<1609459200` to find Cloud resources that were created before \"2021-01-01 00:00:00 UTC\". 1609459200 is the epoch timestamp of \"2021-01-01 00:00:00 UTC\" in seconds. * `updateTime>1609459200` to find Cloud resources that were updated after \"2021-01-01 00:00:00 UTC\". 1609459200 is the epoch timestamp of \"2021-01-01 00:00:00 UTC\" in seconds. * `Important` to find Cloud resources that contain \"Important\" as a word in any of the searchable fields. * `Impor*` to find Cloud resources that contain \"Impor\" as a prefix of any word in any of the searchable fields. * `Important location:(us-west1 OR global)` to find Cloud resources that contain \"Important\" as a word in any of the searchable fields and are also located in the \"us-west1\" region or the \"global\" location.", + "location": "query", + "type": "string" + }, + "readMask": { + "description": "Optional. A comma-separated list of fields specifying which fields to be returned in ResourceSearchResult. Only '*' or combination of top level fields can be specified. Field names of both snake_case and camelCase are supported. Examples: `\"*\"`, `\"name,location\"`, `\"name,versionedResources\"`. The read_mask paths must be valid field paths listed but not limited to (both snake_case and camelCase are supported): * name * assetType * project * displayName * description * location * labels * networkTags * kmsKey * createTime * updateTime * state * additionalAttributes * versionedResources If read_mask is not specified, all fields except versionedResources will be returned. If only '*' is specified, all fields including versionedResources will be returned. Any invalid field path will trigger INVALID_ARGUMENT error.", + "format": "google-fieldmask", "location": "query", "type": "string" }, @@ -570,7 +929,7 @@ } } }, - "revision": "20210319", + "revision": "20220225", "rootUrl": "https://cloudasset.googleapis.com/", "schemas": { "AccessSelector": { @@ -594,6 +953,19 @@ }, "type": "object" }, + "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" + }, "AnalyzeIamPolicyLongrunningRequest": { "description": "A request message for AssetService.AnalyzeIamPolicyLongrunning.", "id": "AnalyzeIamPolicyLongrunningRequest", @@ -605,6 +977,10 @@ "outputConfig": { "$ref": "IamPolicyAnalysisOutputConfig", "description": "Required. Output configuration indicating where the results will be output to." + }, + "savedAnalysisQuery": { + "description": "Optional. The name of a saved query, which must be in the format of: * projects/project_number/savedQueries/saved_query_id * folders/folder_number/savedQueries/saved_query_id * organizations/organization_number/savedQueries/saved_query_id If both `analysis_query` and `saved_analysis_query` are provided, they will be merged together with the `saved_analysis_query` as base and the `analysis_query` as overrides. For more details of the merge behavior, please refer to the [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details) doc. Note that you cannot override primitive fields with default value, such as 0 or empty string, etc., because we use proto3, which doesn't support field presence yet.", + "type": "string" } }, "type": "object" @@ -637,8 +1013,22 @@ }, "type": "object" }, + "AnalyzeMoveResponse": { + "description": "The response message for resource move analysis.", + "id": "AnalyzeMoveResponse", + "properties": { + "moveAnalysis": { + "description": "The list of analyses returned from performing the intended resource move analysis. The analysis is grouped by different Cloud services.", + "items": { + "$ref": "MoveAnalysis" + }, + "type": "array" + } + }, + "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. Cloud IAM policy). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.", + "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. Cloud IAM policy), or a relationship (e.g. an INSTANCE_TO_INSTANCEGROUP relationship). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.", "id": "Asset", "properties": { "accessLevel": { @@ -679,6 +1069,10 @@ "$ref": "Inventory", "description": "A representation of runtime OS Inventory information. See [this topic](https://cloud.google.com/compute/docs/instances/os-inventory-management) for more information." }, + "relatedAssets": { + "$ref": "RelatedAssets", + "description": "The related assets of the asset of one relationship type. One asset only represents one type of relationship." + }, "resource": { "$ref": "Resource", "description": "A representation of the resource." @@ -695,6 +1089,24 @@ }, "type": "object" }, + "AttachedResource": { + "description": "Attached resource representation, which is defined by the corresponding service provider. It represents an attached resource's payload.", + "id": "AttachedResource", + "properties": { + "assetType": { + "description": "The type of this attached resource. Example: `osconfig.googleapis.com/Inventory` You can find the supported attached asset types of each resource in this table: `https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types`", + "type": "string" + }, + "versionedResources": { + "description": "Versioned resource representations of this attached resource. This is repeated because there could be multiple versions of the attached resource representations during version migration.", + "items": { + "$ref": "VersionedResource" + }, + "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", @@ -757,12 +1169,26 @@ }, "type": "object" }, + "BatchGetEffectiveIamPoliciesResponse": { + "description": "A response message for AssetService.BatchGetEffectiveIamPolicies.", + "id": "BatchGetEffectiveIamPoliciesResponse", + "properties": { + "policyResults": { + "description": "The effective policies for a batch of resources. Note that the results order is the same as the order of BatchGetEffectiveIamPoliciesRequest.names. When a resource does not have any effective IAM policies, its corresponding policy_result will contain empty EffectiveIamPolicy.policies.", + "items": { + "$ref": "EffectiveIamPolicy" + }, + "type": "array" + } + }, + "type": "object" + }, "BigQueryDestination": { "description": "A BigQuery destination for exporting assets to.", "id": "BigQueryDestination", "properties": { "dataset": { - "description": "Required. The BigQuery dataset in format \"projects/projectId/datasets/datasetId\", to which the snapshot result should be exported. If this dataset does not exist, the export call returns an INVALID_ARGUMENT error.", + "description": "Required. The BigQuery dataset in format \"projects/projectId/datasets/datasetId\", to which the snapshot result should be exported. If this dataset does not exist, the export call returns an INVALID_ARGUMENT error. Setting the `contentType` for `exportAssets` determines the [schema](/asset-inventory/docs/exporting-to-bigquery#bigquery-schema) of the BigQuery table. Setting `separateTablesPerAssetType` to `TRUE` also influences the schema.", "type": "string" }, "force": { @@ -785,22 +1211,57 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "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" + }, + "ConditionContext": { + "description": "The IAM conditions context.", + "id": "ConditionContext", + "properties": { + "accessTime": { + "description": "The hypothetical access timestamp to evaluate IAM conditions. Note that this value must not be earlier than the current time; otherwise, an INVALID_ARGUMENT error will be returned.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "ConditionEvaluation": { + "description": "The Condition evaluation.", + "id": "ConditionEvaluation", + "properties": { + "evaluationValue": { + "description": "The evaluation result.", + "enum": [ + "EVALUATION_VALUE_UNSPECIFIED", + "TRUE", + "FALSE", + "CONDITIONAL" + ], + "enumDescriptions": [ + "Reserved for future use.", + "The evaluation result is `true`.", + "The evaluation result is `false`.", + "The evaluation result is `conditional` when the condition expression contains variables that are either missing input values or have not been supported by Analyzer yet." + ], "type": "string" } }, @@ -821,6 +1282,46 @@ }, "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., 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" + }, + "EffectiveIamPolicy": { + "description": "The effective IAM policies on one resource.", + "id": "EffectiveIamPolicy", + "properties": { + "fullResourceName": { + "description": "The [full_resource_name] (https://cloud.google.com/asset-inventory/docs/resource-name-format) for which the policies are computed. This is one of the BatchGetEffectiveIamPoliciesRequest.names the caller provides in the request.", + "type": "string" + }, + "policies": { + "description": "The effective policies for the full_resource_name. These policies include the policy set on the full_resource_name and those set on its parents and ancestors up to the BatchGetEffectiveIamPoliciesRequest.scope. Note that these policies are not filtered according to the resource type of the full_resource_name. These policies are hierarchically ordered by PolicyInfo.attached_resource starting from full_resource_name itself to its parents and ancestors, such that policies[i]'s PolicyInfo.attached_resource is the child of policies[i+1]'s PolicyInfo.attached_resource, if policies[i+1] exists.", + "items": { + "$ref": "PolicyInfo" + }, + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", "id": "Empty", @@ -860,7 +1361,8 @@ "IAM_POLICY", "ORG_POLICY", "ACCESS_POLICY", - "OS_INVENTORY" + "OS_INVENTORY", + "RELATIONSHIP" ], "enumDescriptions": [ "Unspecified content type.", @@ -868,7 +1370,8 @@ "The actual IAM policy set on a resource.", "The Cloud Organization Policy set on an asset.", "The Cloud Access context manager Policy set on an asset.", - "The runtime OS Inventory information." + "The runtime OS Inventory information.", + "The related resources." ], "type": "string" }, @@ -880,6 +1383,13 @@ "description": "Timestamp to take an asset snapshot. This can only be set to a timestamp between the current time and the current time minus 35 days (inclusive). If not specified, the current time will be used. Due to delays in resource data collection and indexing, there is a volatile window during which running the same query may get different results.", "format": "google-datetime", "type": "string" + }, + "relationshipTypes": { + "description": "A list of relationship types to export, for example: `INSTANCE_TO_INSTANCEGROUP`. This field should only be specified if content_type=RELATIONSHIP. * If specified: it snapshots specified relationships. It returns an error if any of the [relationship_types] doesn't belong to the supported relationship types of the [asset_types] or if any of the [asset_types] doesn't belong to the source types of the [relationship_types]. * Otherwise: it snapshots the supported relationships for all [asset_types] or returns an error if any of the [asset_types] has no relationship support. An unspecified asset types field means all supported asset_types. See [Introduction to Cloud Asset Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all supported asset types and relationship types.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -912,14 +1422,14 @@ "id": "Feed", "properties": { "assetNames": { - "description": "A list of the full names of the assets to receive updates. You must specify either or both of asset_names and asset_types. Only asset updates matching specified asset_names or asset_types are exported to the feed. 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.", + "description": "A list of the full names of the assets to receive updates. You must specify either or both of asset_names and asset_types. Only asset updates matching specified asset_names or asset_types are exported to the feed. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. For a list of the full names for supported asset types, see [Resource name format](/asset-inventory/docs/resource-name-format).", "items": { "type": "string" }, "type": "array" }, "assetTypes": { - "description": "A list of types of the assets to receive updates. You must specify either or both of asset_names and asset_types. Only asset updates matching specified asset_names or asset_types are exported to the feed. Example: `\"compute.googleapis.com/Disk\"` See [this topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for a list of all supported asset types.", + "description": "A list of types of the assets to receive updates. You must specify either or both of asset_names and asset_types. Only asset updates matching specified asset_names or asset_types are exported to the feed. Example: `\"compute.googleapis.com/Disk\"` For a list of all supported asset types, see [Supported asset types](/asset-inventory/docs/supported-asset-types).", "items": { "type": "string" }, @@ -927,7 +1437,7 @@ }, "condition": { "$ref": "Expr", - "description": "A condition which determines whether an asset update should be published. If specified, an asset will be returned only when the expression evaluates to true. When set, `expression` field in the `Expr` must be a valid [CEL expression] (https://github.com/google/cel-spec) on a TemporalAsset with name `temporal_asset`. Example: a Feed with expression (\"temporal_asset.deleted == true\") will only publish Asset deletions. Other fields of `Expr` are optional. See our [user guide](https://cloud.google.com/asset-inventory/docs/monitoring-asset-changes#feed_with_condition) for detailed instructions." + "description": "A condition which determines whether an asset update should be published. If specified, an asset will be returned only when the expression evaluates to true. When set, `expression` field in the `Expr` must be a valid [CEL expression] (https://github.com/google/cel-spec) on a TemporalAsset with name `temporal_asset`. Example: a Feed with expression (\"temporal_asset.deleted == true\") will only publish Asset deletions. Other fields of `Expr` are optional. See our [user guide](https://cloud.google.com/asset-inventory/docs/monitoring-asset-changes-with-condition) for detailed instructions." }, "contentType": { "description": "Asset content type. If not specified, no content but the asset name and type will be returned.", @@ -937,7 +1447,8 @@ "IAM_POLICY", "ORG_POLICY", "ACCESS_POLICY", - "OS_INVENTORY" + "OS_INVENTORY", + "RELATIONSHIP" ], "enumDescriptions": [ "Unspecified content type.", @@ -945,7 +1456,8 @@ "The actual IAM policy set on a resource.", "The Cloud Organization Policy set on an asset.", "The Cloud Access context manager Policy set on an asset.", - "The runtime OS Inventory information." + "The runtime OS Inventory information.", + "The related resources." ], "type": "string" }, @@ -956,6 +1468,13 @@ "name": { "description": "Required. The format will be projects/{project_number}/feeds/{client-assigned_feed_identifier} or folders/{folder_number}/feeds/{client-assigned_feed_identifier} or organizations/{organization_number}/feeds/{client-assigned_feed_identifier} The client-assigned feed identifier must be unique within the parent project/folder/organization.", "type": "string" + }, + "relationshipTypes": { + "description": "A list of relationship types to output, for example: `INSTANCE_TO_INSTANCEGROUP`. This field should only be specified if content_type=RELATIONSHIP. * If specified: it outputs specified relationship updates on the [asset_names] or the [asset_types]. It returns an error if any of the [relationship_types] doesn't belong to the supported relationship types of the [asset_names] or [asset_types], or any of the [asset_names] or the [asset_types] doesn't belong to the source types of the [relationship_types]. * Otherwise: it outputs the supported relationships of the types of [asset_names] and [asset_types] or returns an error if any of the [asset_names] or the [asset_types] has no replationship support. See [Introduction to Cloud Asset Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all supported asset types and relationship types.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -1016,6 +1535,10 @@ }, "type": "array" }, + "conditionEvaluation": { + "$ref": "ConditionEvaluation", + "description": "Condition evaluation for this AccessControlList, if there is a condition defined in the above IAM policy binding." + }, "resourceEdges": { "description": "Resource edges of the graph starting from the policy attached resource to any descendant resources. The Edge.source_node contains the full resource name of a parent resource and Edge.target_node contains the full resource name of a child resource. This field is present only if the output_resource_edges option is enabled in request.", "items": { @@ -1416,7 +1939,7 @@ "type": "string" }, "name": { - "description": "Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length of the `short_name` component is 50 characters.", + "description": "Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{access_policy}/accessLevels/{access_level}`. The maximum length of the `access_level` component is 50 characters.", "type": "string" }, "title": { @@ -1435,13 +1958,20 @@ "type": "string" }, "name": { - "description": "Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{policy_id}`", + "description": "Output only. 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 a policy define which resources an ACM policy can restrict, and where ACM resources can be referenced. For example, a policy with scopes=[\"folders/123\"] has the following behavior: - vpcsc perimeters can only restrict projects within folders/123 - access levels can only be referenced by resources within folders/123. If empty, there are no limitations on which resources can be restricted by an ACM policy, and there are no limitations on where ACM resources can be referenced. Only one policy can include a given scope (attempting to create a second policy which includes \"folders/123\" will result in an error). Currently, scopes cannot be modified after a policy is created. Currently, 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" @@ -1612,7 +2142,7 @@ "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 protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed.", + "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": { @@ -1657,18 +2187,18 @@ "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 protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed.", + "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": { "operations": { - "description": "A list of ApiOperations that this egress rule applies to. A request matches if it contains an operation/service in this list.", + "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 match this to stanza. 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.", + "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" }, @@ -1678,7 +2208,7 @@ "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.", + "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": { @@ -1734,7 +2264,7 @@ "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 `*` is specified, then all IngressSources will be allowed.", + "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": { @@ -1745,18 +2275,18 @@ "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 destination of the request.", + "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 the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter.", + "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. A request matches if it contains a resource in this list. If `*` is specified for resources, then this IngressTo rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.", + "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" }, @@ -1826,7 +2356,7 @@ "type": "string" }, "name": { - "description": "Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`", + "description": "Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`", "type": "string" }, "perimeterType": { @@ -1969,13 +2499,17 @@ "type": "object" }, "IamPolicyAnalysisQuery": { - "description": "## IAM policy analysis query message.", + "description": "IAM policy analysis query message.", "id": "IamPolicyAnalysisQuery", "properties": { "accessSelector": { "$ref": "AccessSelector", "description": "Optional. Specifies roles or permissions for analysis. This is optional." }, + "conditionContext": { + "$ref": "ConditionContext", + "description": "Optional. The hypothetical context for IAM conditions evaluation." + }, "identitySelector": { "$ref": "IdentitySelector", "description": "Optional. Specifies an identity for analysis." @@ -2065,7 +2599,7 @@ "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 (e.g., 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. E.g., 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 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", @@ -2082,10 +2616,25 @@ "description": "A result of IAM Policy search, containing information of an IAM policy.", "id": "IamPolicySearchResult", "properties": { + "assetType": { + "description": "The type of the resource associated with this IAM policy. Example: `compute.googleapis.com/Disk`. To search against the `asset_type`: * specify the `asset_types` field in your search request.", + "type": "string" + }, "explanation": { "$ref": "Explanation", "description": "Explanation about the IAM policy search result. It contains additional information to explain why the search result matches the query." }, + "folders": { + "description": "The folder(s) that the IAM policy belongs to, in the form of folders/{FOLDER_NUMBER}. This field is available when the IAM policy belongs to one or more folders. To search against `folders`: * use a field query. Example: `folders:(123 OR 456)` * use a free text query. Example: `123` * specify the `scope` field as this folder in your search request.", + "items": { + "type": "string" + }, + "type": "array" + }, + "organization": { + "description": "The organization that the IAM policy belongs to, in the form of organizations/{ORGANIZATION_NUMBER}. This field is available when the IAM policy belongs to an organization. To search against `organization`: * use a field query. Example: `organization:123` * use a free text query. Example: `123` * specify the `scope` field as this organization in your search request.", + "type": "string" + }, "policy": { "$ref": "Policy", "description": "The IAM policy directly set on the given resource. Note that the original IAM policy can contain multiple bindings. This only contains the bindings that match the given query. For queries that don't contain a constrain on policies (e.g., an empty query), this contains all the bindings. To search against the `policy` bindings: * use a field query: - query by the policy contained members. Example: `policy:amy@gmail.com` - query by the policy contained roles. Example: `policy:roles/compute.admin` - query by the policy contained roles' included permissions. Example: `policy.role.permissions:compute.instances.create`" @@ -2106,14 +2655,14 @@ "id": "IdentitySelector", "properties": { "identity": { - "description": "Required. The identity appear in the form of members in [IAM policy binding](https://cloud.google.com/iam/reference/rest/v1/Binding). The examples of supported forms are: \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\". Notice that wildcard characters (such as * and ?) are not supported. You must give a specific identity.", + "description": "Required. The identity appear in the form of principals in [IAM policy binding](https://cloud.google.com/iam/reference/rest/v1/Binding). The examples of supported forms are: \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\". Notice that wildcard characters (such as * and ?) are not supported. You must give a specific identity.", "type": "string" } }, "type": "object" }, "Inventory": { - "description": "The inventory details of a VM.", + "description": "This API resource represents the available inventory data for a Compute Engine virtual machine (VM) instance at a given point in time. You can use this API resource to determine the inventory data of your VM. For more information, see [Information provided by OS inventory management](https://cloud.google.com/compute/docs/instances/os-inventory-management#data-collected).", "id": "Inventory", "properties": { "items": { @@ -2123,9 +2672,20 @@ "description": "Inventory items related to the VM keyed by an opaque unique identifier for each inventory item. The identifier is unique to each distinct and addressable inventory item and will change, when there is a new package version.", "type": "object" }, + "name": { + "description": "Output only. The `Inventory` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/inventory`", + "readOnly": true, + "type": "string" + }, "osInfo": { "$ref": "OsInfo", "description": "Base level operating system information for the VM." + }, + "updateTime": { + "description": "Output only. Timestamp of the last reported inventory for the VM.", + "format": "google-datetime", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -2185,6 +2745,29 @@ }, "type": "object" }, + "ListAssetsResponse": { + "description": "ListAssets response.", + "id": "ListAssetsResponse", + "properties": { + "assets": { + "description": "Assets.", + "items": { + "$ref": "Asset" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results. It expires 72 hours after the page token for the first page is generated. Set to empty if there are no remaining results.", + "type": "string" + }, + "readTime": { + "description": "Time the snapshot was taken.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "ListFeedsResponse": { "id": "ListFeedsResponse", "properties": { @@ -2198,6 +2781,75 @@ }, "type": "object" }, + "ListSavedQueriesResponse": { + "description": "Response of listing saved queries.", + "id": "ListSavedQueriesResponse", + "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" + }, + "savedQueries": { + "description": "A list of savedQueries.", + "items": { + "$ref": "SavedQuery" + }, + "type": "array" + } + }, + "type": "object" + }, + "MoveAnalysis": { + "description": "A message to group the analysis information.", + "id": "MoveAnalysis", + "properties": { + "analysis": { + "$ref": "MoveAnalysisResult", + "description": "Analysis result of moving the target resource." + }, + "displayName": { + "description": "The user friendly display name of the analysis. E.g. IAM, Organization Policy etc.", + "type": "string" + }, + "error": { + "$ref": "Status", + "description": "Description of error encountered when performing the analysis." + } + }, + "type": "object" + }, + "MoveAnalysisResult": { + "description": "An analysis result including blockers and warnings.", + "id": "MoveAnalysisResult", + "properties": { + "blockers": { + "description": "Blocking information that would prevent the target resource from moving to the specified destination at runtime.", + "items": { + "$ref": "MoveImpact" + }, + "type": "array" + }, + "warnings": { + "description": "Warning information indicating that moving the target resource to the specified destination might be unsafe. This can include important policy information and configuration changes, but will not block moves at runtime.", + "items": { + "$ref": "MoveImpact" + }, + "type": "array" + } + }, + "type": "object" + }, + "MoveImpact": { + "description": "A message to group impacts of moving the target resource.", + "id": "MoveImpact", + "properties": { + "detail": { + "description": "User friendly impact detail in a free form message.", + "type": "string" + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -2238,15 +2890,15 @@ "id": "Options", "properties": { "analyzeServiceAccountImpersonation": { - "description": "Optional. If true, the response will include access analysis from identities to resources via service account impersonation. This is a very expensive operation, because many derived queries will be executed. We highly recommend you use AssetService.AnalyzeIamPolicyLongrunning rpc instead. For example, if the request analyzes for which resources user A has permission P, and there's an IAM policy states user A has iam.serviceAccounts.getAccessToken permission to a service account SA, and there's another IAM policy states service account SA has permission P to a GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Another example, if the request analyzes for who has permission P to a GCP folder F, and there's an IAM policy states user A has iam.serviceAccounts.actAs permission to a service account SA, and there's another IAM policy states service account SA has permission P to the GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Default is false.", + "description": "Optional. If true, the response will include access analysis from identities to resources via service account impersonation. This is a very expensive operation, because many derived queries will be executed. We highly recommend you use AssetService.AnalyzeIamPolicyLongrunning rpc instead. For example, if the request analyzes for which resources user A has permission P, and there's an IAM policy states user A has iam.serviceAccounts.getAccessToken permission to a service account SA, and there's another IAM policy states service account SA has permission P to a GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Another example, if the request analyzes for who has permission P to a GCP folder F, and there's an IAM policy states user A has iam.serviceAccounts.actAs permission to a service account SA, and there's another IAM policy states service account SA has permission P to the GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Only the following permissions are considered in this analysis: * `iam.serviceAccounts.actAs` * `iam.serviceAccounts.signBlob` * `iam.serviceAccounts.signJwt` * `iam.serviceAccounts.getAccessToken` * `iam.serviceAccounts.getOpenIdToken` * `iam.serviceAccounts.implicitDelegation` Default is false.", "type": "boolean" }, "expandGroups": { - "description": "Optional. If true, the identities section of the result will expand any Google groups appearing in an IAM policy binding. If IamPolicyAnalysisQuery.identity_selector is specified, the identity in the result will be determined by the selector, and this flag is not allowed to set. Default is false.", + "description": "Optional. If true, the identities section of the result will expand any Google groups appearing in an IAM policy binding. If IamPolicyAnalysisQuery.identity_selector is specified, the identity in the result will be determined by the selector, and this flag is not allowed to set. If true, the default max expansion per group is 1000 for AssetService.AnalyzeIamPolicy][]. Default is false.", "type": "boolean" }, "expandResources": { - "description": "Optional. If true and IamPolicyAnalysisQuery.resource_selector is not specified, the resource section of the result will expand any resource attached to an IAM policy to include resources lower in the resource hierarchy. For example, if the request analyzes for which resources user A has permission P, and the results include an IAM policy with P on a GCP folder, the results will also include resources in that folder with permission P. If true and IamPolicyAnalysisQuery.resource_selector is specified, the resource section of the result will expand the specified resource to include resources lower in the resource hierarchy. Only project or lower resources are supported. Folder and organization resource cannot be used together with this option. For example, if the request analyzes for which users have permission P on a GCP project with this option enabled, the results will include all users who have permission P on that project or any lower resource. Default is false.", + "description": "Optional. If true and IamPolicyAnalysisQuery.resource_selector is not specified, the resource section of the result will expand any resource attached to an IAM policy to include resources lower in the resource hierarchy. For example, if the request analyzes for which resources user A has permission P, and the results include an IAM policy with P on a GCP folder, the results will also include resources in that folder with permission P. If true and IamPolicyAnalysisQuery.resource_selector is specified, the resource section of the result will expand the specified resource to include resources lower in the resource hierarchy. Only project or lower resources are supported. Folder and organization resource cannot be used together with this option. For example, if the request analyzes for which users have permission P on a GCP project with this option enabled, the results will include all users who have permission P on that project or any lower resource. If true, the default max expansion per resource is 1000 for AssetService.AnalyzeIamPolicy][] and 100000 for AssetService.AnalyzeIamPolicyLongrunning][]. Default is false.", "type": "boolean" }, "expandRoles": { @@ -2254,11 +2906,11 @@ "type": "boolean" }, "outputGroupEdges": { - "description": "Optional. If true, the result will output group identity edges, starting from the binding's group members, to any expanded identities. Default is false.", + "description": "Optional. If true, the result will output the relevant membership relationships between groups and other groups, and between groups and principals. Default is false.", "type": "boolean" }, "outputResourceEdges": { - "description": "Optional. If true, the result will output resource edges, starting from the policy attached resource, to any expanded resources. Default is false.", + "description": "Optional. If true, the result will output the relevant parent/child relationships between resources. Default is false.", "type": "boolean" } }, @@ -2309,7 +2961,7 @@ "properties": { "bigqueryDestination": { "$ref": "BigQueryDestination", - "description": "Destination on BigQuery. The output table stores the fields in asset proto as columns in BigQuery." + "description": "Destination on BigQuery. The output table stores the fields in asset Protobuf as columns in BigQuery." }, "gcsDestination": { "$ref": "GcsDestination", @@ -2354,7 +3006,7 @@ "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/).", + "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": { @@ -2365,7 +3017,7 @@ "type": "array" }, "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.", + "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" }, @@ -2384,6 +3036,21 @@ }, "type": "object" }, + "PolicyInfo": { + "description": "The IAM policy and its attached resource.", + "id": "PolicyInfo", + "properties": { + "attachedResource": { + "description": "The full resource name the policy is directly attached to.", + "type": "string" + }, + "policy": { + "$ref": "Policy", + "description": "The IAM policy that's directly attached to the attached_resource." + } + }, + "type": "object" + }, "PubsubDestination": { "description": "A Pub/Sub destination.", "id": "PubsubDestination", @@ -2395,6 +3062,109 @@ }, "type": "object" }, + "QueryContent": { + "description": "The query content.", + "id": "QueryContent", + "properties": { + "iamPolicyAnalysisQuery": { + "$ref": "IamPolicyAnalysisQuery", + "description": "An IAM Policy Analysis query, which could be used in the AssetService.AnalyzeIamPolicy rpc or the AssetService.AnalyzeIamPolicyLongrunning rpc." + } + }, + "type": "object" + }, + "RelatedAsset": { + "description": "An asset identifier 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. Cloud IAM policy). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.", + "id": "RelatedAsset", + "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" + }, + "RelatedAssets": { + "description": "The detailed related assets with the `relationship_type`.", + "id": "RelatedAssets", + "properties": { + "assets": { + "description": "The peer resources of the relationship.", + "items": { + "$ref": "RelatedAsset" + }, + "type": "array" + }, + "relationshipAttributes": { + "$ref": "RelationshipAttributes", + "description": "The detailed relationship attributes." + } + }, + "type": "object" + }, + "RelatedResource": { + "description": "The detailed related resource.", + "id": "RelatedResource", + "properties": { + "assetType": { + "description": "The type of the asset. Example: `compute.googleapis.com/Instance`", + "type": "string" + }, + "fullResourceName": { + "description": "The full resource name of the related resource. Example: `//compute.googleapis.com/projects/my_proj_123/zones/instance/instance123`", + "type": "string" + } + }, + "type": "object" + }, + "RelatedResources": { + "description": "The related resources of the primary resource.", + "id": "RelatedResources", + "properties": { + "relatedResources": { + "description": "The detailed related resources of the primary resource.", + "items": { + "$ref": "RelatedResource" + }, + "type": "array" + } + }, + "type": "object" + }, + "RelationshipAttributes": { + "description": "The relationship attributes which include `type`, `source_resource_type`, `target_resource_type` and `action`.", + "id": "RelationshipAttributes", + "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" + }, "Resource": { "description": "A representation of a Google Cloud resource.", "id": "Resource", @@ -2450,17 +3220,24 @@ "description": "The type of this resource. Example: `compute.googleapis.com/Disk`. To search against the `asset_type`: * specify the `asset_type` field in your search request.", "type": "string" }, + "attachedResources": { + "description": "Attached resources of this resource. For example, an OSConfig Inventory is an attached resource of a Compute Instance. This field is repeated because a resource could have multiple attached resources. This `attached_resources` field is not searchable. Some attributes of the attached resources are exposed in `additional_attributes` field, so as to allow users to search on them.", + "items": { + "$ref": "AttachedResource" + }, + "type": "array" + }, "createTime": { - "description": "The create timestamp of this resource, at which the resource was created. The granularity is in seconds. Timestamp.nanos will always be 0. This field is available only when the resource's proto contains it. To search against `create_time`: * use a field query (value in seconds). Example: `createTime >= 1594294238`", + "description": "The create timestamp of this resource, at which the resource was created. The granularity is in seconds. Timestamp.nanos will always be 0. This field is available only when the resource's Protobuf contains it. To search against `create_time`: * use a field query. - value in seconds since unix epoch. Example: `createTime > 1609459200` - value in date string. Example: `createTime > 2021-01-01` - value in date-time string (must be quoted). Example: `createTime > \"2021-01-01T00:00:00\"`", "format": "google-datetime", "type": "string" }, "description": { - "description": "One or more paragraphs of text description of this resource. Maximum length could be up to 1M bytes. This field is available only when the resource's proto contains it. To search against the `description`: * use a field query. Example: `description:\"important instance\"` * use a free text query. Example: `\"important instance\"`", + "description": "One or more paragraphs of text description of this resource. Maximum length could be up to 1M bytes. This field is available only when the resource's Protobuf contains it. To search against the `description`: * use a field query. Example: `description:\"important instance\"` * use a free text query. Example: `\"important instance\"`", "type": "string" }, "displayName": { - "description": "The display name of this resource. This field is available only when the resource's proto contains it. To search against the `display_name`: * use a field query. Example: `displayName:\"My Instance\"` * use a free text query. Example: `\"My Instance\"`", + "description": "The display name of this resource. This field is available only when the resource's Protobuf contains it. To search against the `display_name`: * use a field query. Example: `displayName:\"My Instance\"` * use a free text query. Example: `\"My Instance\"`", "type": "string" }, "folders": { @@ -2471,18 +3248,18 @@ "type": "array" }, "kmsKey": { - "description": "The Cloud KMS [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys?hl=en) name or [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions?hl=en) name. This field is available only when the resource's proto contains it. To search against the `kms_key`: * use a field query. Example: `kmsKey:key` * use a free text query. Example: `key`", + "description": "The Cloud KMS [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys) name or [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions) name. This field is available only when the resource's Protobuf contains it. To search against the `kms_key`: * use a field query. Example: `kmsKey:key` * use a free text query. Example: `key`", "type": "string" }, "labels": { "additionalProperties": { "type": "string" }, - "description": "Labels associated with this resource. See [Labelling and grouping GCP resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources) for more information. This field is available only when the resource's proto contains it. To search against the `labels`: * use a field query: - query on any label's key or value. Example: `labels:prod` - query by a given label. Example: `labels.env:prod` - query by a given label's existence. Example: `labels.env:*` * use a free text query. Example: `prod`", + "description": "Labels associated with this resource. See [Labelling and grouping GCP resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources) for more information. This field is available only when the resource's Protobuf contains it. To search against the `labels`: * use a field query: - query on any label's key or value. Example: `labels:prod` - query by a given label. Example: `labels.env:prod` - query by a given label's existence. Example: `labels.env:*` * use a free text query. Example: `prod`", "type": "object" }, "location": { - "description": "Location can be `global`, regional like `us-east1`, or zonal like `us-west1-b`. This field is available only when the resource's proto contains it. To search against the `location`: * use a field query. Example: `location:us-west*` * use a free text query. Example: `us-west*`", + "description": "Location can be `global`, regional like `us-east1`, or zonal like `us-west1-b`. This field is available only when the resource's Protobuf contains it. To search against the `location`: * use a field query. Example: `location:us-west*` * use a free text query. Example: `us-west*`", "type": "string" }, "name": { @@ -2490,7 +3267,7 @@ "type": "string" }, "networkTags": { - "description": "Network tags associated with this resource. Like labels, network tags are a type of annotations used to group GCP resources. See [Labelling GCP resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources) for more information. This field is available only when the resource's proto contains it. To search against the `network_tags`: * use a field query. Example: `networkTags:internal` * use a free text query. Example: `internal`", + "description": "Network tags associated with this resource. Like labels, network tags are a type of annotations used to group GCP resources. See [Labelling GCP resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources) for more information. This field is available only when the resource's Protobuf contains it. To search against the `network_tags`: * use a field query. Example: `networkTags:internal` * use a free text query. Example: `internal`", "items": { "type": "string" }, @@ -2505,21 +3282,35 @@ "type": "string" }, "parentFullResourceName": { - "description": "The full resource name of this resource's parent, if it has one.", + "description": "The full resource name of this resource's parent, if it has one. To search against the `parent_full_resource_name`: * use a field query. Example: `parentFullResourceName:\"project-name\"` * use a free text query. Example: `project-name`", "type": "string" }, "project": { "description": "The project that this resource belongs to, in the form of projects/{PROJECT_NUMBER}. This field is available when the resource belongs to a project. To search against `project`: * use a field query. Example: `project:12345` * use a free text query. Example: `12345` * specify the `scope` field as this project in your search request.", "type": "string" }, + "relationships": { + "additionalProperties": { + "$ref": "RelatedResources" + }, + "description": "A map of related resources of this resource, keyed by the relationship type. A relationship type is in the format of {SourceType}_{ACTION}_{DestType}. Example: `DISK_TO_INSTANCE`, `DISK_TO_NETWORK`, `INSTANCE_TO_INSTANCEGROUP`. See [supported relationship types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#supported_relationship_types).", + "type": "object" + }, "state": { - "description": "The state of this resource. Different resources types have different state definitions that are mapped from various fields of different resource types. This field is available only when the resource's proto contains it. Example: If the resource is an instance provided by Compute Engine, its state will include PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. See `status` definition in [API Reference](https://cloud.google.com/compute/docs/reference/rest/v1/instances). If the resource is a project provided by Cloud Resource Manager, its state will include LIFECYCLE_STATE_UNSPECIFIED, ACTIVE, DELETE_REQUESTED and DELETE_IN_PROGRESS. See `lifecycleState` definition in [API Reference](https://cloud.google.com/resource-manager/reference/rest/v1/projects). To search against the `state`: * use a field query. Example: `state:RUNNING` * use a free text query. Example: `RUNNING`", + "description": "The state of this resource. Different resources types have different state definitions that are mapped from various fields of different resource types. This field is available only when the resource's Protobuf contains it. Example: If the resource is an instance provided by Compute Engine, its state will include PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. See `status` definition in [API Reference](https://cloud.google.com/compute/docs/reference/rest/v1/instances). If the resource is a project provided by Cloud Resource Manager, its state will include LIFECYCLE_STATE_UNSPECIFIED, ACTIVE, DELETE_REQUESTED and DELETE_IN_PROGRESS. See `lifecycleState` definition in [API Reference](https://cloud.google.com/resource-manager/reference/rest/v1/projects). To search against the `state`: * use a field query. Example: `state:RUNNING` * use a free text query. Example: `RUNNING`", "type": "string" }, "updateTime": { - "description": "The last update timestamp of this resource, at which the resource was last modified or deleted. The granularity is in seconds. Timestamp.nanos will always be 0. This field is available only when the resource's proto contains it. To search against `update_time`: * use a field query (value in seconds). Example: `updateTime < 1594294238`", + "description": "The last update timestamp of this resource, at which the resource was last modified or deleted. The granularity is in seconds. Timestamp.nanos will always be 0. This field is available only when the resource's Protobuf contains it. To search against `update_time`: * use a field query. - value in seconds since unix epoch. Example: `updateTime < 1609459200` - value in date string. Example: `updateTime < 2021-01-01` - value in date-time string (must be quoted). Example: `updateTime < \"2021-01-01T00:00:00\"`", "format": "google-datetime", "type": "string" + }, + "versionedResources": { + "description": "Versioned resource representations of this resource. This is repeated because there could be multiple versions of resource representations during version migration. This `versioned_resources` field is not searchable. Some attributes of the resource representations are exposed in `additional_attributes` field, so as to allow users to search on them.", + "items": { + "$ref": "VersionedResource" + }, + "type": "array" } }, "type": "object" @@ -2535,6 +3326,54 @@ }, "type": "object" }, + "SavedQuery": { + "description": "A saved query which can be shared with others or used later.", + "id": "SavedQuery", + "properties": { + "content": { + "$ref": "QueryContent", + "description": "The query content." + }, + "createTime": { + "description": "Output only. The create time of this saved query.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creator": { + "description": "Output only. The account's email address who has created this saved query.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of this saved query. This value should be fewer than 255 characters.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels applied on the resource. This value should not contain more than 10 entries. The key and value of each entry must be non-empty and fewer than 64 characters.", + "type": "object" + }, + "lastUpdateTime": { + "description": "Output only. The last update time of this saved query.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "lastUpdater": { + "description": "Output only. The account's email address who has updated this saved query most recently.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The resource name of the saved query. The format must be: * projects/project_number/savedQueries/saved_query_id * folders/folder_number/savedQueries/saved_query_id * organizations/organization_number/savedQueries/saved_query_id", + "type": "string" + } + }, + "type": "object" + }, "SearchAllIamPoliciesResponse": { "description": "Search all IAM policies response.", "id": "SearchAllIamPoliciesResponse", @@ -2591,6 +3430,10 @@ "$ref": "WindowsQuickFixEngineeringPackage", "description": "Details of a Windows Quick Fix engineering package. See https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering for info in Windows Quick Fix Engineering." }, + "windowsApplication": { + "$ref": "WindowsApplication", + "description": "Details of Windows Application." + }, "wuaPackage": { "$ref": "WindowsUpdatePackage", "description": "Details of a Windows Update package. See https://docs.microsoft.com/en-us/windows/win32/api/_wua/ for information about Windows Update." @@ -2730,6 +3573,52 @@ }, "type": "object" }, + "VersionedResource": { + "description": "Resource representation as defined by the corresponding service providing the resource for a given API version.", + "id": "VersionedResource", + "properties": { + "resource": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "JSON representation of the resource as defined by the corresponding service providing this resource. Example: If the resource is an instance provided by Compute Engine, this field will contain the JSON representation of the instance as defined by Compute Engine: `https://cloud.google.com/compute/docs/reference/rest/v1/instances`. You can find the resource definition for each supported resource type in this table: `https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types`", + "type": "object" + }, + "version": { + "description": "API version of the resource. Example: If the resource is an instance provided by Compute Engine v1 API as defined in `https://cloud.google.com/compute/docs/reference/rest/v1/instances`, version will be \"v1\".", + "type": "string" + } + }, + "type": "object" + }, + "WindowsApplication": { + "description": "Contains information about a Windows application that is retrieved from the Windows Registry. For more information about these fields, see: https://docs.microsoft.com/en-us/windows/win32/msi/uninstall-registry-key", + "id": "WindowsApplication", + "properties": { + "displayName": { + "description": "The name of the application or product.", + "type": "string" + }, + "displayVersion": { + "description": "The version of the product or application in string format.", + "type": "string" + }, + "helpLink": { + "description": "The internet address for technical support.", + "type": "string" + }, + "installDate": { + "$ref": "Date", + "description": "The last time this product received service. The value of this property is replaced each time a patch is applied or removed from the product or the command-line option is used to repair the product." + }, + "publisher": { + "description": "The name of the manufacturer for the product or application.", + "type": "string" + } + }, + "type": "object" + }, "WindowsQuickFixEngineeringPackage": { "description": "Information related to a Quick Fix Engineering package. Fields are taken from Windows QuickFixEngineering Interface and match the source names: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering", "id": "WindowsQuickFixEngineeringPackage", diff --git a/etc/api/cloudasset/v1beta1/cloudasset-api.json b/etc/api/cloudasset/v1beta1/cloudasset-api.json index 95a2668021..2a5a0bfc48 100644 --- a/etc/api/cloudasset/v1beta1/cloudasset-api.json +++ b/etc/api/cloudasset/v1beta1/cloudasset-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -411,9 +411,22 @@ } } }, - "revision": "20210319", + "revision": "20220225", "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", @@ -525,22 +538,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -896,7 +909,7 @@ "type": "string" }, "name": { - "description": "Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length of the `short_name` component is 50 characters.", + "description": "Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{access_policy}/accessLevels/{access_level}`. The maximum length of the `access_level` component is 50 characters.", "type": "string" }, "title": { @@ -915,13 +928,20 @@ "type": "string" }, "name": { - "description": "Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{policy_id}`", + "description": "Output only. 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 a policy define which resources an ACM policy can restrict, and where ACM resources can be referenced. For example, a policy with scopes=[\"folders/123\"] has the following behavior: - vpcsc perimeters can only restrict projects within folders/123 - access levels can only be referenced by resources within folders/123. If empty, there are no limitations on which resources can be restricted by an ACM policy, and there are no limitations on where ACM resources can be referenced. Only one policy can include a given scope (attempting to create a second policy which includes \"folders/123\" will result in an error). Currently, scopes cannot be modified after a policy is created. Currently, 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" @@ -1092,7 +1112,7 @@ "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 protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed.", + "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": { @@ -1137,18 +1157,18 @@ "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 protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed.", + "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": { "operations": { - "description": "A list of ApiOperations that this egress rule applies to. A request matches if it contains an operation/service in this list.", + "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 match this to stanza. 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.", + "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" }, @@ -1158,7 +1178,7 @@ "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.", + "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": { @@ -1214,7 +1234,7 @@ "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 `*` is specified, then all IngressSources will be allowed.", + "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": { @@ -1225,18 +1245,18 @@ "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 destination of the request.", + "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 the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter.", + "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. A request matches if it contains a resource in this list. If `*` is specified for resources, then this IngressTo rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.", + "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" }, @@ -1306,7 +1326,7 @@ "type": "string" }, "name": { - "description": "Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`", + "description": "Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`", "type": "string" }, "perimeterType": { @@ -1451,7 +1471,7 @@ "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/).", + "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": { @@ -1462,7 +1482,7 @@ "type": "array" }, "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.", + "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" }, diff --git a/etc/api/cloudasset/v1p1beta1/cloudasset-api.json b/etc/api/cloudasset/v1p1beta1/cloudasset-api.json index 16b9830ad7..887051bf99 100644 --- a/etc/api/cloudasset/v1p1beta1/cloudasset-api.json +++ b/etc/api/cloudasset/v1p1beta1/cloudasset-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -207,9 +207,22 @@ } } }, - "revision": "20210319", + "revision": "20220225", "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", @@ -265,22 +278,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -294,7 +307,7 @@ "additionalProperties": { "$ref": "Permissions" }, - "description": "The map from roles to their included permission matching the permission query (e.g. containing `policy.role.permissions:`). A sample role string: \"roles/compute.instanceAdmin\". The roles can also be found in the returned `policy` bindings. Note that the map is populated only if requesting with a permission query.", + "description": "The map from roles to their included permission matching the permission query (e.g. containing `policy.role.permissions:`). Example role string: \"roles/compute.instanceAdmin\". The roles can also be found in the returned `policy` bindings. Note that the map is populated only if requesting with a permission query.", "type": "object" } }, @@ -598,7 +611,7 @@ "type": "string" }, "name": { - "description": "Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length of the `short_name` component is 50 characters.", + "description": "Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{access_policy}/accessLevels/{access_level}`. The maximum length of the `access_level` component is 50 characters.", "type": "string" }, "title": { @@ -617,13 +630,20 @@ "type": "string" }, "name": { - "description": "Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{policy_id}`", + "description": "Output only. 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 a policy define which resources an ACM policy can restrict, and where ACM resources can be referenced. For example, a policy with scopes=[\"folders/123\"] has the following behavior: - vpcsc perimeters can only restrict projects within folders/123 - access levels can only be referenced by resources within folders/123. If empty, there are no limitations on which resources can be restricted by an ACM policy, and there are no limitations on where ACM resources can be referenced. Only one policy can include a given scope (attempting to create a second policy which includes \"folders/123\" will result in an error). Currently, scopes cannot be modified after a policy is created. Currently, 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" @@ -794,7 +814,7 @@ "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 protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed.", + "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": { @@ -839,18 +859,18 @@ "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 protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed.", + "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": { "operations": { - "description": "A list of ApiOperations that this egress rule applies to. A request matches if it contains an operation/service in this list.", + "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 match this to stanza. 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.", + "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" }, @@ -860,7 +880,7 @@ "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.", + "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": { @@ -916,7 +936,7 @@ "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 `*` is specified, then all IngressSources will be allowed.", + "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": { @@ -927,18 +947,18 @@ "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 destination of the request.", + "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 the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter.", + "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. A request matches if it contains a resource in this list. If `*` is specified for resources, then this IngressTo rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.", + "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" }, @@ -1008,7 +1028,7 @@ "type": "string" }, "name": { - "description": "Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`", + "description": "Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`", "type": "string" }, "perimeterType": { @@ -1107,19 +1127,19 @@ "type": "object" }, "IamPolicySearchResult": { - "description": "The result for a IAM Policy search.", + "description": "The result for an IAM policy search.", "id": "IamPolicySearchResult", "properties": { "explanation": { "$ref": "Explanation", - "description": "Explanation about the IAM policy search result. It contains additional information to explain why the search result matches the query." + "description": "Explanation about the IAM policy search result. It contains additional information that explains why the search result matches the query." }, "policy": { "$ref": "Policy", - "description": "The IAM policy directly set on the given resource. Note that the original IAM policy can contain multiple bindings. This only contains the bindings that match the given query. For queries that don't contain a constrain on policies (e.g. an empty query), this contains all the bindings." + "description": "The IAM policy attached to the specified resource. Note that the original IAM policy can contain multiple bindings. This only contains the bindings that match the given query. For queries that don't contain a constraint on policies (e.g. an empty query), this contains all the bindings." }, "project": { - "description": "The project that the associated GCP resource belongs to, in the form of `projects/{project_number}`. If an IAM policy is set on a resource (like VM instance, Cloud Storage bucket), the project field will indicate the project that contains the resource. If an IAM policy is set on a folder or orgnization, the project field will be empty.", + "description": "The project that the associated Google Cloud resource belongs to, in the form of `projects/{project_number}`. If an IAM policy is set on a resource -- such as a Compute Engine instance or a Cloud Storage bucket -- the project field will indicate the project that contains the resource. If an IAM policy is set on a folder or orgnization, the project field will be empty.", "type": "string" }, "resource": { @@ -1130,11 +1150,11 @@ "type": "object" }, "Permissions": { - "description": "IAM permissions", + "description": "IAM permissions.", "id": "Permissions", "properties": { "permissions": { - "description": "A list of permissions. A sample permission string: \"compute.disk.get\".", + "description": "A list of permissions. Example permission string: \"compute.disk.get\".", "items": { "type": "string" }, @@ -1144,7 +1164,7 @@ "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/).", + "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": { @@ -1155,7 +1175,7 @@ "type": "array" }, "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.", + "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" }, diff --git a/etc/api/cloudasset/v1p4beta1/cloudasset-api.json b/etc/api/cloudasset/v1p4beta1/cloudasset-api.json index 66e7200963..e1f2c78cb1 100644 --- a/etc/api/cloudasset/v1p4beta1/cloudasset-api.json +++ b/etc/api/cloudasset/v1p4beta1/cloudasset-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -221,7 +221,7 @@ } } }, - "revision": "20210319", + "revision": "20220225", "rootUrl": "https://cloudasset.googleapis.com/", "schemas": { "AccessSelector": { @@ -245,6 +245,19 @@ }, "type": "object" }, + "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", @@ -329,22 +342,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -490,7 +503,7 @@ "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 (e.g., 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. E.g., 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 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", @@ -843,7 +856,7 @@ "type": "string" }, "name": { - "description": "Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length of the `short_name` component is 50 characters.", + "description": "Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{access_policy}/accessLevels/{access_level}`. The maximum length of the `access_level` component is 50 characters.", "type": "string" }, "title": { @@ -862,13 +875,20 @@ "type": "string" }, "name": { - "description": "Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{policy_id}`", + "description": "Output only. 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 a policy define which resources an ACM policy can restrict, and where ACM resources can be referenced. For example, a policy with scopes=[\"folders/123\"] has the following behavior: - vpcsc perimeters can only restrict projects within folders/123 - access levels can only be referenced by resources within folders/123. If empty, there are no limitations on which resources can be restricted by an ACM policy, and there are no limitations on where ACM resources can be referenced. Only one policy can include a given scope (attempting to create a second policy which includes \"folders/123\" will result in an error). Currently, scopes cannot be modified after a policy is created. Currently, 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" @@ -1039,7 +1059,7 @@ "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 protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed.", + "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": { @@ -1084,18 +1104,18 @@ "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 protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed.", + "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": { "operations": { - "description": "A list of ApiOperations that this egress rule applies to. A request matches if it contains an operation/service in this list.", + "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 match this to stanza. 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.", + "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" }, @@ -1105,7 +1125,7 @@ "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.", + "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": { @@ -1161,7 +1181,7 @@ "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 `*` is specified, then all IngressSources will be allowed.", + "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": { @@ -1172,18 +1192,18 @@ "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 destination of the request.", + "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 the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter.", + "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. A request matches if it contains a resource in this list. If `*` is specified for resources, then this IngressTo rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.", + "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" }, @@ -1253,7 +1273,7 @@ "type": "string" }, "name": { - "description": "Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`", + "description": "Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`", "type": "string" }, "perimeterType": { @@ -1515,7 +1535,7 @@ "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/).", + "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": { @@ -1526,7 +1546,7 @@ "type": "array" }, "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.", + "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" }, diff --git a/etc/api/cloudasset/v1p5beta1/cloudasset-api.json b/etc/api/cloudasset/v1p5beta1/cloudasset-api.json index ea3b6d4b92..be3b2a93eb 100644 --- a/etc/api/cloudasset/v1p5beta1/cloudasset-api.json +++ b/etc/api/cloudasset/v1p5beta1/cloudasset-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -136,7 +136,7 @@ "Resource metadata.", "The actual IAM policy set on a resource.", "The Cloud Organization Policy set on an asset.", - "The Cloud Access context mananger Policy set on an asset." + "The Cloud Access context manager Policy set on an asset." ], "location": "query", "type": "string" @@ -153,7 +153,7 @@ "type": "string" }, "parent": { - "description": "Required. Name of the organization or project the assets belong to. Format: \"organizations/[organization-number]\" (such as \"organizations/123\"), \"projects/[project-number]\" (such as \"projects/my-project-id\"), or \"projects/[project-id]\" (such as \"projects/12345\").", + "description": "Required. Name of the organization or project the assets belong to. Format: \"organizations/[organization-number]\" (such as \"organizations/123\"), \"projects/[project-id]\" (such as \"projects/my-project-id\"), or \"projects/[project-number]\" (such as \"projects/12345\").", "location": "path", "pattern": "^[^/]+/[^/]+$", "required": true, @@ -177,9 +177,22 @@ } } }, - "revision": "20210319", + "revision": "20220225", "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", @@ -284,22 +297,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -603,7 +616,7 @@ "type": "string" }, "name": { - "description": "Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length of the `short_name` component is 50 characters.", + "description": "Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{access_policy}/accessLevels/{access_level}`. The maximum length of the `access_level` component is 50 characters.", "type": "string" }, "title": { @@ -622,13 +635,20 @@ "type": "string" }, "name": { - "description": "Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{policy_id}`", + "description": "Output only. 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 a policy define which resources an ACM policy can restrict, and where ACM resources can be referenced. For example, a policy with scopes=[\"folders/123\"] has the following behavior: - vpcsc perimeters can only restrict projects within folders/123 - access levels can only be referenced by resources within folders/123. If empty, there are no limitations on which resources can be restricted by an ACM policy, and there are no limitations on where ACM resources can be referenced. Only one policy can include a given scope (attempting to create a second policy which includes \"folders/123\" will result in an error). Currently, scopes cannot be modified after a policy is created. Currently, 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" @@ -799,7 +819,7 @@ "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 protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed.", + "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": { @@ -844,18 +864,18 @@ "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 protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed.", + "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": { "operations": { - "description": "A list of ApiOperations that this egress rule applies to. A request matches if it contains an operation/service in this list.", + "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 match this to stanza. 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.", + "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" }, @@ -865,7 +885,7 @@ "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.", + "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": { @@ -921,7 +941,7 @@ "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 `*` is specified, then all IngressSources will be allowed.", + "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": { @@ -932,18 +952,18 @@ "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 destination of the request.", + "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 the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter.", + "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. A request matches if it contains a resource in this list. If `*` is specified for resources, then this IngressTo rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.", + "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" }, @@ -1013,7 +1033,7 @@ "type": "string" }, "name": { - "description": "Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`", + "description": "Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`", "type": "string" }, "perimeterType": { @@ -1135,7 +1155,7 @@ "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/).", + "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": { @@ -1146,7 +1166,7 @@ "type": "array" }, "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.", + "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" }, diff --git a/etc/api/cloudasset/v1p7beta1/cloudasset-api.json b/etc/api/cloudasset/v1p7beta1/cloudasset-api.json index 0c33f2259f..93ebef7017 100644 --- a/etc/api/cloudasset/v1p7beta1/cloudasset-api.json +++ b/etc/api/cloudasset/v1p7beta1/cloudasset-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -167,9 +167,22 @@ } } }, - "revision": "20210319", + "revision": "20220225", "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", @@ -225,22 +238,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -672,7 +685,7 @@ "type": "string" }, "name": { - "description": "Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length of the `short_name` component is 50 characters.", + "description": "Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{access_policy}/accessLevels/{access_level}`. The maximum length of the `access_level` component is 50 characters.", "type": "string" }, "title": { @@ -691,13 +704,20 @@ "type": "string" }, "name": { - "description": "Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{policy_id}`", + "description": "Output only. 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 a policy define which resources an ACM policy can restrict, and where ACM resources can be referenced. For example, a policy with scopes=[\"folders/123\"] has the following behavior: - vpcsc perimeters can only restrict projects within folders/123 - access levels can only be referenced by resources within folders/123. If empty, there are no limitations on which resources can be restricted by an ACM policy, and there are no limitations on where ACM resources can be referenced. Only one policy can include a given scope (attempting to create a second policy which includes \"folders/123\" will result in an error). Currently, scopes cannot be modified after a policy is created. Currently, 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" @@ -868,7 +888,7 @@ "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 protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed.", + "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": { @@ -913,18 +933,18 @@ "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 protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed.", + "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": { "operations": { - "description": "A list of ApiOperations that this egress rule applies to. A request matches if it contains an operation/service in this list.", + "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 match this to stanza. 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.", + "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" }, @@ -934,7 +954,7 @@ "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.", + "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": { @@ -990,7 +1010,7 @@ "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 `*` is specified, then all IngressSources will be allowed.", + "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": { @@ -1001,18 +1021,18 @@ "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 destination of the request.", + "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 the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter.", + "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. A request matches if it contains a resource in this list. If `*` is specified for resources, then this IngressTo rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.", + "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" }, @@ -1082,7 +1102,7 @@ "type": "string" }, "name": { - "description": "Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`", + "description": "Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`", "type": "string" }, "perimeterType": { @@ -1216,7 +1236,7 @@ "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/).", + "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": { @@ -1227,7 +1247,7 @@ "type": "array" }, "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.", + "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" }, diff --git a/etc/api/cloudbilling/v1/cloudbilling-api.json b/etc/api/cloudbilling/v1/cloudbilling-api.json index 8c5cd2db42..0bd8d6a6a2 100644 --- a/etc/api/cloudbilling/v1/cloudbilling-api.json +++ b/etc/api/cloudbilling/v1/cloudbilling-api.json @@ -9,7 +9,7 @@ "description": "View your Google Cloud Platform billing accounts" }, "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -169,7 +169,7 @@ ], "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).", + "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" @@ -369,7 +369,7 @@ "projects": { "methods": { "getBillingInfo": { - "description": "Gets the billing information for a project. The current authenticated user must have [permission to view the project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo ).", + "description": "Gets the billing information for a project. The current authenticated user must have the `resourcemanager.projects.get` permission for the project, which can be granted by assigning the [Project Viewer](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles) role.", "flatPath": "v1/projects/{projectsId}/billingInfo", "httpMethod": "GET", "id": "cloudbilling.projects.getBillingInfo", @@ -521,7 +521,7 @@ } } }, - "revision": "20210322", + "revision": "20220305", "rootUrl": "https://cloudbilling.googleapis.com/", "schemas": { "AggregationInfo": { @@ -636,22 +636,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -827,7 +827,7 @@ "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/).", + "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": { @@ -838,7 +838,7 @@ "type": "array" }, "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.", + "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" }, diff --git a/etc/api/cloudbuild/v1/cloudbuild-api.json b/etc/api/cloudbuild/v1/cloudbuild-api.json index 91394adc4a..b33130c76c 100644 --- a/etc/api/cloudbuild/v1/cloudbuild-api.json +++ b/etc/api/cloudbuild/v1/cloudbuild-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -105,6 +105,40 @@ }, "protocol": "rest", "resources": { + "locations": { + "methods": { + "regionalWebhook": { + "description": "ReceiveRegionalWebhook is called when the API receives a regional GitHub webhook.", + "flatPath": "v1/locations/{locationsId}/regionalWebhook", + "httpMethod": "POST", + "id": "cloudbuild.locations.regionalWebhook", + "parameterOrder": [ + "location" + ], + "parameters": { + "location": { + "description": "Required. The location where the webhook should be sent.", + "location": "path", + "pattern": "^locations/[^/]+$", + "required": true, + "type": "string" + }, + "webhookKey": { + "description": "For GitHub Enterprise webhooks, this key is used to associate the webhook request with the GitHubEnterpriseConfig to use for validation.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+location}/regionalWebhook", + "request": { + "$ref": "HttpBody" + }, + "response": { + "$ref": "Empty" + } + } + } + }, "operations": { "methods": { "cancel": { @@ -166,6 +200,34 @@ "resources": { "builds": { "methods": { + "approve": { + "description": "Approves or rejects a pending build. If approved, the returned LRO will be analogous to the LRO returned from a CreateBuild call. If rejected, the returned LRO will be immediately done.", + "flatPath": "v1/projects/{projectsId}/builds/{buildsId}:approve", + "httpMethod": "POST", + "id": "cloudbuild.projects.builds.approve", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the target build. For example: \"projects/{$project_id}/builds/{$build_id}\"", + "location": "path", + "pattern": "^projects/[^/]+/builds/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:approve", + "request": { + "$ref": "ApproveBuildRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "cancel": { "description": "Cancels a build in progress.", "flatPath": "v1/projects/{projectId}/builds/{id}:cancel", @@ -349,10 +411,501 @@ } } }, + "githubEnterpriseConfigs": { + "methods": { + "create": { + "description": "Create an association between a GCP project and a GitHub Enterprise server.", + "flatPath": "v1/projects/{projectsId}/githubEnterpriseConfigs", + "httpMethod": "POST", + "id": "cloudbuild.projects.githubEnterpriseConfigs.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "gheConfigId": { + "description": "Optional. The ID to use for the GithubEnterpriseConfig, which will become the final component of the GithubEnterpriseConfig\u2019s resource name. ghe_config_id must meet the following requirements: + They must contain only alphanumeric characters and dashes. + They can be 1-64 characters long. + They must begin and end with an alphanumeric character", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Name of the parent project. For example: projects/{$project_number} or projects/{$project_id}", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "projectId": { + "description": "ID of the project.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/githubEnterpriseConfigs", + "request": { + "$ref": "GitHubEnterpriseConfig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete an association between a GCP project and a GitHub Enterprise server.", + "flatPath": "v1/projects/{projectsId}/githubEnterpriseConfigs/{githubEnterpriseConfigsId}", + "httpMethod": "DELETE", + "id": "cloudbuild.projects.githubEnterpriseConfigs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "configId": { + "description": "Unique identifier of the `GitHubEnterpriseConfig`", + "location": "query", + "type": "string" + }, + "name": { + "description": "This field should contain the name of the enterprise config resource. For example: \"projects/{$project_id}/githubEnterpriseConfigs/{$config_id}\"", + "location": "path", + "pattern": "^projects/[^/]+/githubEnterpriseConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "projectId": { + "description": "ID of the project", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieve a GitHubEnterpriseConfig.", + "flatPath": "v1/projects/{projectsId}/githubEnterpriseConfigs/{githubEnterpriseConfigsId}", + "httpMethod": "GET", + "id": "cloudbuild.projects.githubEnterpriseConfigs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "configId": { + "description": "Unique identifier of the `GitHubEnterpriseConfig`", + "location": "query", + "type": "string" + }, + "name": { + "description": "This field should contain the name of the enterprise config resource. For example: \"projects/{$project_id}/githubEnterpriseConfigs/{$config_id}\"", + "location": "path", + "pattern": "^projects/[^/]+/githubEnterpriseConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "projectId": { + "description": "ID of the project", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GitHubEnterpriseConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List all GitHubEnterpriseConfigs for a given project.", + "flatPath": "v1/projects/{projectsId}/githubEnterpriseConfigs", + "httpMethod": "GET", + "id": "cloudbuild.projects.githubEnterpriseConfigs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Name of the parent project. For example: projects/{$project_number} or projects/{$project_id}", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "projectId": { + "description": "ID of the project", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/githubEnterpriseConfigs", + "response": { + "$ref": "ListGithubEnterpriseConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update an association between a GCP project and a GitHub Enterprise server.", + "flatPath": "v1/projects/{projectsId}/githubEnterpriseConfigs/{githubEnterpriseConfigsId}", + "httpMethod": "PATCH", + "id": "cloudbuild.projects.githubEnterpriseConfigs.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Optional. The full resource name for the GitHubEnterpriseConfig For example: \"projects/{$project_id}/githubEnterpriseConfigs/{$config_id}\"", + "location": "path", + "pattern": "^projects/[^/]+/githubEnterpriseConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Update mask for the resource. If this is set, the server will only update the fields specified in the field mask. Otherwise, a full update of the mutable resource fields will be performed.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GitHubEnterpriseConfig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "locations": { "resources": { + "bitbucketServerConfigs": { + "methods": { + "addBitbucketServerConnectedRepository": { + "description": "Add a Bitbucket Server repository to a given BitbucketServerConfig's connected repositories. This API is experimental.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/bitbucketServerConfigs/{bitbucketServerConfigsId}:addBitbucketServerConnectedRepository", + "httpMethod": "POST", + "id": "cloudbuild.projects.locations.bitbucketServerConfigs.addBitbucketServerConnectedRepository", + "parameterOrder": [ + "config" + ], + "parameters": { + "config": { + "description": "Required. The name of the `BitbucketServerConfig` to add a connected repository. Format: `projects/{project}/locations/{location}/bitbucketServerConfigs/{config}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/bitbucketServerConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+config}:addBitbucketServerConnectedRepository", + "request": { + "$ref": "AddBitbucketServerConnectedRepositoryRequest" + }, + "response": { + "$ref": "AddBitbucketServerConnectedRepositoryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a new `BitbucketServerConfig`. This API is experimental.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/bitbucketServerConfigs", + "httpMethod": "POST", + "id": "cloudbuild.projects.locations.bitbucketServerConfigs.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "bitbucketServerConfigId": { + "description": "Optional. The ID to use for the BitbucketServerConfig, which will become the final component of the BitbucketServerConfig's resource name. bitbucket_server_config_id must meet the following requirements: + They must contain only alphanumeric characters and dashes. + They can be 1-64 characters long. + They must begin and end with an alphanumeric character.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of the parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/bitbucketServerConfigs", + "request": { + "$ref": "BitbucketServerConfig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a `BitbucketServerConfig`. This API is experimental.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/bitbucketServerConfigs/{bitbucketServerConfigsId}", + "httpMethod": "DELETE", + "id": "cloudbuild.projects.locations.bitbucketServerConfigs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The config resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/bitbucketServerConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieve a `BitbucketServerConfig`. This API is experimental.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/bitbucketServerConfigs/{bitbucketServerConfigsId}", + "httpMethod": "GET", + "id": "cloudbuild.projects.locations.bitbucketServerConfigs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The config resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/bitbucketServerConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "BitbucketServerConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List all `BitbucketServerConfigs` for a given project. This API is experimental.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/bitbucketServerConfigs", + "httpMethod": "GET", + "id": "cloudbuild.projects.locations.bitbucketServerConfigs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 50 configs 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 `ListBitbucketServerConfigsRequest` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBitbucketServerConfigsRequest` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of the parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/bitbucketServerConfigs", + "response": { + "$ref": "ListBitbucketServerConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing `BitbucketServerConfig`. This API is experimental.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/bitbucketServerConfigs/{bitbucketServerConfigsId}", + "httpMethod": "PATCH", + "id": "cloudbuild.projects.locations.bitbucketServerConfigs.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name for the config.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/bitbucketServerConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Update mask for the resource. If this is set, the server will only update the fields specified in the field mask. Otherwise, a full update of the mutable resource fields will be performed.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "BitbucketServerConfig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "removeBitbucketServerConnectedRepository": { + "description": "Remove a Bitbucket Server repository from an given BitbucketServerConfig\u2019s connected repositories. This API is experimental.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/bitbucketServerConfigs/{bitbucketServerConfigsId}:removeBitbucketServerConnectedRepository", + "httpMethod": "POST", + "id": "cloudbuild.projects.locations.bitbucketServerConfigs.removeBitbucketServerConnectedRepository", + "parameterOrder": [ + "config" + ], + "parameters": { + "config": { + "description": "Required. The name of the `BitbucketServerConfig` to remove a connected repository. Format: `projects/{project}/locations/{location}/bitbucketServerConfigs/{config}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/bitbucketServerConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+config}:removeBitbucketServerConnectedRepository", + "request": { + "$ref": "RemoveBitbucketServerConnectedRepositoryRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "connectedRepositories": { + "methods": { + "batchCreate": { + "description": "Batch connecting Bitbucket Server repositories to Cloud Build.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/bitbucketServerConfigs/{bitbucketServerConfigsId}/connectedRepositories:batchCreate", + "httpMethod": "POST", + "id": "cloudbuild.projects.locations.bitbucketServerConfigs.connectedRepositories.batchCreate", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The name of the `BitbucketServerConfig` that added connected repository. Format: `projects/{project}/locations/{location}/bitbucketServerConfigs/{config}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/bitbucketServerConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/connectedRepositories:batchCreate", + "request": { + "$ref": "BatchCreateBitbucketServerConnectedRepositoriesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "repos": { + "methods": { + "list": { + "description": "List all repositories for a given `BitbucketServerConfig`. This API is experimental.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/bitbucketServerConfigs/{bitbucketServerConfigsId}/repos", + "httpMethod": "GET", + "id": "cloudbuild.projects.locations.bitbucketServerConfigs.repos.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 50 configs 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 `ListBitbucketServerRepositoriesRequest` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBitbucketServerConfigsRequest` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of the parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/bitbucketServerConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/repos", + "response": { + "$ref": "ListBitbucketServerRepositoriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, "builds": { "methods": { + "approve": { + "description": "Approves or rejects a pending build. If approved, the returned LRO will be analogous to the LRO returned from a CreateBuild call. If rejected, the returned LRO will be immediately done.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/builds/{buildsId}:approve", + "httpMethod": "POST", + "id": "cloudbuild.projects.locations.builds.approve", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the target build. For example: \"projects/{$project_id}/builds/{$build_id}\"", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/builds/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:approve", + "request": { + "$ref": "ApproveBuildRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "cancel": { "description": "Cancels a build in progress.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/builds/{buildsId}:cancel", @@ -525,6 +1078,182 @@ } } }, + "githubEnterpriseConfigs": { + "methods": { + "create": { + "description": "Create an association between a GCP project and a GitHub Enterprise server.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/githubEnterpriseConfigs", + "httpMethod": "POST", + "id": "cloudbuild.projects.locations.githubEnterpriseConfigs.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "gheConfigId": { + "description": "Optional. The ID to use for the GithubEnterpriseConfig, which will become the final component of the GithubEnterpriseConfig\u2019s resource name. ghe_config_id must meet the following requirements: + They must contain only alphanumeric characters and dashes. + They can be 1-64 characters long. + They must begin and end with an alphanumeric character", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Name of the parent project. For example: projects/{$project_number} or projects/{$project_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "projectId": { + "description": "ID of the project.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/githubEnterpriseConfigs", + "request": { + "$ref": "GitHubEnterpriseConfig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete an association between a GCP project and a GitHub Enterprise server.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/githubEnterpriseConfigs/{githubEnterpriseConfigsId}", + "httpMethod": "DELETE", + "id": "cloudbuild.projects.locations.githubEnterpriseConfigs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "configId": { + "description": "Unique identifier of the `GitHubEnterpriseConfig`", + "location": "query", + "type": "string" + }, + "name": { + "description": "This field should contain the name of the enterprise config resource. For example: \"projects/{$project_id}/githubEnterpriseConfigs/{$config_id}\"", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/githubEnterpriseConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "projectId": { + "description": "ID of the project", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieve a GitHubEnterpriseConfig.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/githubEnterpriseConfigs/{githubEnterpriseConfigsId}", + "httpMethod": "GET", + "id": "cloudbuild.projects.locations.githubEnterpriseConfigs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "configId": { + "description": "Unique identifier of the `GitHubEnterpriseConfig`", + "location": "query", + "type": "string" + }, + "name": { + "description": "This field should contain the name of the enterprise config resource. For example: \"projects/{$project_id}/githubEnterpriseConfigs/{$config_id}\"", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/githubEnterpriseConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "projectId": { + "description": "ID of the project", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GitHubEnterpriseConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List all GitHubEnterpriseConfigs for a given project.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/githubEnterpriseConfigs", + "httpMethod": "GET", + "id": "cloudbuild.projects.locations.githubEnterpriseConfigs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Name of the parent project. For example: projects/{$project_number} or projects/{$project_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "projectId": { + "description": "ID of the project", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/githubEnterpriseConfigs", + "response": { + "$ref": "ListGithubEnterpriseConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update an association between a GCP project and a GitHub Enterprise server.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/githubEnterpriseConfigs/{githubEnterpriseConfigsId}", + "httpMethod": "PATCH", + "id": "cloudbuild.projects.locations.githubEnterpriseConfigs.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Optional. The full resource name for the GitHubEnterpriseConfig For example: \"projects/{$project_id}/githubEnterpriseConfigs/{$config_id}\"", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/githubEnterpriseConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Update mask for the resource. If this is set, the server will only update the fields specified in the field mask. Otherwise, a full update of the mutable resource fields will be performed.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GitHubEnterpriseConfig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "operations": { "methods": { "cancel": { @@ -581,6 +1310,442 @@ ] } } + }, + "triggers": { + "methods": { + "create": { + "description": "Creates a new `BuildTrigger`. This API is experimental.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/triggers", + "httpMethod": "POST", + "id": "cloudbuild.projects.locations.triggers.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The parent resource where this trigger will be created. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "projectId": { + "description": "Required. ID of the project for which to configure automatic builds.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/triggers", + "request": { + "$ref": "BuildTrigger" + }, + "response": { + "$ref": "BuildTrigger" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a `BuildTrigger` by its project ID and trigger ID. This API is experimental.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/triggers/{triggersId}", + "httpMethod": "DELETE", + "id": "cloudbuild.projects.locations.triggers.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the `Trigger` to delete. Format: `projects/{project}/locations/{location}/triggers/{trigger}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/triggers/[^/]+$", + "required": true, + "type": "string" + }, + "projectId": { + "description": "Required. ID of the project that owns the trigger.", + "location": "query", + "type": "string" + }, + "triggerId": { + "description": "Required. ID of the `BuildTrigger` to delete.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns information about a `BuildTrigger`. This API is experimental.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/triggers/{triggersId}", + "httpMethod": "GET", + "id": "cloudbuild.projects.locations.triggers.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the `Trigger` to retrieve. Format: `projects/{project}/locations/{location}/triggers/{trigger}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/triggers/[^/]+$", + "required": true, + "type": "string" + }, + "projectId": { + "description": "Required. ID of the project that owns the trigger.", + "location": "query", + "type": "string" + }, + "triggerId": { + "description": "Required. Identifier (`id` or `name`) of the `BuildTrigger` to get.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "BuildTrigger" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists existing `BuildTrigger`s. This API is experimental.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/triggers", + "httpMethod": "GET", + "id": "cloudbuild.projects.locations.triggers.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Number of results to return in the list.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token to provide to skip to a particular spot in the list.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The parent of the collection of `Triggers`. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "projectId": { + "description": "Required. ID of the project for which to list BuildTriggers.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/triggers", + "response": { + "$ref": "ListBuildTriggersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a `BuildTrigger` by its project ID and trigger ID. This API is experimental.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/triggers/{triggersId}", + "httpMethod": "PATCH", + "id": "cloudbuild.projects.locations.triggers.patch", + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "projectId": { + "description": "Required. ID of the project that owns the trigger.", + "location": "query", + "type": "string" + }, + "resourceName": { + "description": "The `Trigger` name with format: `projects/{project}/locations/{location}/triggers/{trigger}`, where {trigger} is a unique identifier generated by the service.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/triggers/[^/]+$", + "required": true, + "type": "string" + }, + "triggerId": { + "description": "Required. ID of the `BuildTrigger` to update.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+resourceName}", + "request": { + "$ref": "BuildTrigger" + }, + "response": { + "$ref": "BuildTrigger" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "run": { + "description": "Runs a `BuildTrigger` at a particular source revision.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/triggers/{triggersId}:run", + "httpMethod": "POST", + "id": "cloudbuild.projects.locations.triggers.run", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the `Trigger` to run. Format: `projects/{project}/locations/{location}/triggers/{trigger}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/triggers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:run", + "request": { + "$ref": "RunBuildTriggerRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "webhook": { + "description": "ReceiveTriggerWebhook [Experimental] is called when the API receives a webhook request targeted at a specific trigger.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/triggers/{triggersId}:webhook", + "httpMethod": "POST", + "id": "cloudbuild.projects.locations.triggers.webhook", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the `ReceiveTriggerWebhook` to retrieve. Format: `projects/{project}/locations/{location}/triggers/{trigger}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/triggers/[^/]+$", + "required": true, + "type": "string" + }, + "projectId": { + "description": "Project in which the specified trigger lives", + "location": "query", + "type": "string" + }, + "secret": { + "description": "Secret token used for authorization if an OAuth token isn't provided.", + "location": "query", + "type": "string" + }, + "trigger": { + "description": "Name of the trigger to run the payload against", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}:webhook", + "request": { + "$ref": "HttpBody" + }, + "response": { + "$ref": "ReceiveTriggerWebhookResponse" + } + } + } + }, + "workerPools": { + "methods": { + "create": { + "description": "Creates a `WorkerPool`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workerPools", + "httpMethod": "POST", + "id": "cloudbuild.projects.locations.workerPools.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource where this worker pool will be created. Format: `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "If set, validate the request and preview the response, but do not actually post it.", + "location": "query", + "type": "boolean" + }, + "workerPoolId": { + "description": "Required. Immutable. The ID to use for the `WorkerPool`, which will become the final component of the resource name. This value should be 1-63 characters, and valid characters are /a-z-/.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/workerPools", + "request": { + "$ref": "WorkerPool" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a `WorkerPool`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workerPools/{workerPoolsId}", + "httpMethod": "DELETE", + "id": "cloudbuild.projects.locations.workerPools.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "If set to true, and the `WorkerPool` is not found, the request will succeed but no action will be taken on the server.", + "location": "query", + "type": "boolean" + }, + "etag": { + "description": "Optional. If provided, it must match the server's etag on the workerpool for the request to be processed.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the `WorkerPool` to delete. Format: `projects/{project}/locations/{workerPool}/workerPools/{workerPool}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workerPools/[^/]+$", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "If set, validate the request and preview the response, but do not actually post it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns details of a `WorkerPool`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workerPools/{workerPoolsId}", + "httpMethod": "GET", + "id": "cloudbuild.projects.locations.workerPools.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the `WorkerPool` to retrieve. Format: `projects/{project}/locations/{location}/workerPools/{workerPool}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workerPools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "WorkerPool" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists `WorkerPool`s.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workerPools", + "httpMethod": "GET", + "id": "cloudbuild.projects.locations.workerPools.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of `WorkerPool`s to return. The service may return fewer than this value. If omitted, the server will use a sensible default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListWorkerPools` call. Provide this to retrieve the subsequent page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent of the collection of `WorkerPools`. Format: `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/workerPools", + "response": { + "$ref": "ListWorkerPoolsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a `WorkerPool`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workerPools/{workerPoolsId}", + "httpMethod": "PATCH", + "id": "cloudbuild.projects.locations.workerPools.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The resource name of the `WorkerPool`, with format `projects/{project}/locations/{location}/workerPools/{worker_pool}`. The value of `{worker_pool}` is provided by `worker_pool_id` in `CreateWorkerPool` request and the value of `{location}` is determined by the endpoint accessed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workerPools/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "A mask specifying which fields in `worker_pool` to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "If set, validate the request and preview the response, but do not actually post it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "WorkerPool" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } }, @@ -595,6 +1760,11 @@ "projectId" ], "parameters": { + "parent": { + "description": "The parent resource where this trigger will be created. Format: `projects/{project}/locations/{location}`", + "location": "query", + "type": "string" + }, "projectId": { "description": "Required. ID of the project for which to configure automatic builds.", "location": "path", @@ -623,6 +1793,11 @@ "triggerId" ], "parameters": { + "name": { + "description": "The name of the `Trigger` to delete. Format: `projects/{project}/locations/{location}/triggers/{trigger}`", + "location": "query", + "type": "string" + }, "projectId": { "description": "Required. ID of the project that owns the trigger.", "location": "path", @@ -654,6 +1829,11 @@ "triggerId" ], "parameters": { + "name": { + "description": "The name of the `Trigger` to retrieve. Format: `projects/{project}/locations/{location}/triggers/{trigger}`", + "location": "query", + "type": "string" + }, "projectId": { "description": "Required. ID of the project that owns the trigger.", "location": "path", @@ -695,6 +1875,11 @@ "location": "query", "type": "string" }, + "parent": { + "description": "The parent of the collection of `Triggers`. Format: `projects/{project}/locations/{location}`", + "location": "query", + "type": "string" + }, "projectId": { "description": "Required. ID of the project for which to list BuildTriggers.", "location": "path", @@ -754,6 +1939,11 @@ "triggerId" ], "parameters": { + "name": { + "description": "The name of the `Trigger` to run. Format: `projects/{project}/locations/{location}/triggers/{trigger}`", + "location": "query", + "type": "string" + }, "projectId": { "description": "Required. ID of the project.", "location": "path", @@ -788,6 +1978,11 @@ "trigger" ], "parameters": { + "name": { + "description": "The name of the `ReceiveTriggerWebhook` to retrieve. Format: `projects/{project}/locations/{location}/triggers/{trigger}`", + "location": "query", + "type": "string" + }, "projectId": { "description": "Project in which the specified trigger lives", "location": "path", @@ -817,11 +2012,124 @@ } } } + }, + "v1": { + "methods": { + "webhook": { + "description": "ReceiveWebhook is called when the API receives a GitHub webhook.", + "flatPath": "v1/webhook", + "httpMethod": "POST", + "id": "cloudbuild.webhook", + "parameterOrder": [], + "parameters": { + "webhookKey": { + "description": "For GitHub Enterprise webhooks, this key is used to associate the webhook request with the GitHubEnterpriseConfig to use for validation.", + "location": "query", + "type": "string" + } + }, + "path": "v1/webhook", + "request": { + "$ref": "HttpBody" + }, + "response": { + "$ref": "Empty" + } + } + } } }, - "revision": "20210329", + "revision": "20220218", "rootUrl": "https://cloudbuild.googleapis.com/", "schemas": { + "AddBitbucketServerConnectedRepositoryRequest": { + "description": "RPC request object accepted by the AddBitbucketServerConnectedRepository RPC method.", + "id": "AddBitbucketServerConnectedRepositoryRequest", + "properties": { + "connectedRepository": { + "$ref": "BitbucketServerRepositoryId", + "description": "The connected repository to add." + } + }, + "type": "object" + }, + "AddBitbucketServerConnectedRepositoryResponse": { + "description": "RPC request object returned by the AddBitbucketServerConnectedRepository RPC method.", + "id": "AddBitbucketServerConnectedRepositoryResponse", + "properties": { + "config": { + "description": "The name of the `BitbucketServerConfig` that added connected repository. Format: `projects/{project}/locations/{location}/bitbucketServerConfigs/{config}`", + "type": "string" + }, + "connectedRepository": { + "$ref": "BitbucketServerRepositoryId", + "description": "The connected repository." + } + }, + "type": "object" + }, + "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" + }, + "ApproveBuildRequest": { + "description": "Request to approve or reject a pending build.", + "id": "ApproveBuildRequest", + "properties": { + "approvalResult": { + "$ref": "ApprovalResult", + "description": "Approval decision and metadata." + } + }, + "type": "object" + }, "ArtifactObjects": { "description": "Files in the workspace to upload to Cloud Storage upon successful completion of all build steps.", "id": "ArtifactObjects", @@ -881,10 +2189,236 @@ }, "type": "object" }, + "BatchCreateBitbucketServerConnectedRepositoriesRequest": { + "description": "RPC request object accepted by BatchCreateBitbucketServerConnectedRepositories RPC method.", + "id": "BatchCreateBitbucketServerConnectedRepositoriesRequest", + "properties": { + "requests": { + "description": "Required. Requests to connect Bitbucket Server repositories.", + "items": { + "$ref": "CreateBitbucketServerConnectedRepositoryRequest" + }, + "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" + }, + "BitbucketServerConfig": { + "description": "BitbucketServerConfig represents the configuration for a Bitbucket Server.", + "id": "BitbucketServerConfig", + "properties": { + "apiKey": { + "description": "Required. Immutable. API Key that will be attached to webhook. Once this field has been set, it cannot be changed. If you need to change it, please create another BitbucketServerConfig.", + "type": "string" + }, + "connectedRepositories": { + "description": "Output only. Connected Bitbucket Server repositories for this config.", + "items": { + "$ref": "BitbucketServerRepositoryId" + }, + "readOnly": true, + "type": "array" + }, + "createTime": { + "description": "Time when the config was created.", + "format": "google-datetime", + "type": "string" + }, + "hostUri": { + "description": "Required. Immutable. The URI of the Bitbucket Server host. Once this field has been set, it cannot be changed. If you need to change it, please create another BitbucketServerConfig.", + "type": "string" + }, + "name": { + "description": "The resource name for the config.", + "type": "string" + }, + "peeredNetwork": { + "description": "Optional. The network to be used when reaching out to the Bitbucket Server instance. The VPC network must be enabled for private service connection. This should be set if the Bitbucket Server instance is hosted on-premises and not reachable by public internet. If this field is left empty, no network peering will occur and calls to the Bitbucket Server instance will be made over the public internet. Must be in the format `projects/{project}/global/networks/{network}`, where {project} is a project number or id and {network} is the name of a VPC network in the project.", + "type": "string" + }, + "secrets": { + "$ref": "BitbucketServerSecrets", + "description": "Required. Secret Manager secrets needed by the config." + }, + "sslCa": { + "description": "Optional. SSL certificate to use for requests to Bitbucket Server. The format should be PEM format but the extension can be one of .pem, .cer, or .crt.", + "type": "string" + }, + "username": { + "description": "Username of the account Cloud Build will use on Bitbucket Server.", + "type": "string" + }, + "webhookKey": { + "description": "Output only. UUID included in webhook requests. The UUID is used to look up the corresponding config.", + "readOnly": true, + "type": "string" + } + }, + "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" + }, + "BitbucketServerRepository": { + "description": "BitbucketServerRepository represents a repository hosted on a Bitbucket Server.", + "id": "BitbucketServerRepository", + "properties": { + "browseUri": { + "description": "Link to the browse repo page on the Bitbucket Server instance.", + "type": "string" + }, + "description": { + "description": "Description of the repository.", + "type": "string" + }, + "displayName": { + "description": "Display name of the repository.", + "type": "string" + }, + "name": { + "description": "The resource name of the repository.", + "type": "string" + }, + "repoId": { + "$ref": "BitbucketServerRepositoryId", + "description": "Identifier for a repository hosted on a Bitbucket Server." + } + }, + "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" + }, + "BitbucketServerSecrets": { + "description": "BitbucketServerSecrets represents the secrets in Secret Manager for a Bitbucket Server.", + "id": "BitbucketServerSecrets", + "properties": { + "adminAccessTokenVersionName": { + "description": "Required. The resource name for the admin access token's secret version.", + "type": "string" + }, + "readAccessTokenVersionName": { + "description": "Required. The resource name for the read access token's secret version.", + "type": "string" + }, + "webhookSecretVersionName": { + "description": "Required. Immutable. The resource name for the webhook secret's secret version. Once this field has been set, it cannot be changed. If you need to change it, please create another BitbucketServerConfig.", + "type": "string" + } + }, + "type": "object" + }, + "BitbucketServerTriggerConfig": { + "description": "BitbucketServerTriggerConfig describes the configuration of a trigger that creates a build whenever a Bitbucket Server event is received.", + "id": "BitbucketServerTriggerConfig", + "properties": { + "bitbucketServerConfig": { + "$ref": "BitbucketServerConfig", + "description": "Output only. The BitbucketServerConfig specified in the bitbucket_server_config_resource field.", + "readOnly": true + }, + "bitbucketServerConfigResource": { + "description": "Required. The Bitbucket server config resource that this trigger config maps to.", + "type": "string" + }, + "projectKey": { + "description": "Required. Key of the project that the repo is in. For example: The key for http://mybitbucket.server/projects/TEST/repos/test-repo is \"TEST\".", + "type": "string" + }, + "pullRequest": { + "$ref": "PullRequestFilter", + "description": "Filter to match changes in pull requests." + }, + "push": { + "$ref": "PushFilter", + "description": "Filter to match changes in refs like branches, tags." + }, + "repoSlug": { + "description": "Required. Slug of the repository. A repository slug is a URL-friendly version of a repository name, automatically generated by Bitbucket for use in the URL. For example, if the repository name is 'test repo', in the URL it would become 'test-repo' as in http://mybitbucket.server/projects/TEST/repos/test-repo.", + "type": "string" + } + }, + "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. - $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.", + "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." @@ -904,6 +2438,11 @@ "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", @@ -963,7 +2502,7 @@ "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. This field is in beta.", + "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": { @@ -985,6 +2524,7 @@ "description": "Output only. Status of the build.", "enum": [ "STATUS_UNKNOWN", + "PENDING", "QUEUED", "WORKING", "SUCCESS", @@ -996,6 +2536,7 @@ ], "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.", @@ -1043,9 +2584,53 @@ "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 specified images. * FETCHSOURCE: time to fetch source. If the build does not specify source or images, these keys will not be included.", + "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 specified images. * 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" @@ -1107,10 +2692,10 @@ ], "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.", - "Cloud Logging and Cloud Storage logging are enabled.", - "Only Cloud Storage logging is enabled.", + "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.", - "Only Cloud Logging is enabled. Note that logs for both the Cloud Console UI and Cloud SDK are based on Cloud Storage logs, so neither will provide logs if this option is chosen.", + "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" @@ -1133,6 +2718,10 @@ ], "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": [ @@ -1189,7 +2778,7 @@ "type": "array" }, "workerPool": { - "description": "Option to specify a `WorkerPool` for the build. Format: projects/{project}/locations/{location}/workerPools/{workerPool} This field is in beta and is available only to restricted users.", + "description": "This field deprecated; please use `pool.name` instead.", "type": "string" } }, @@ -1234,6 +2823,10 @@ "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": { @@ -1245,6 +2838,7 @@ "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", @@ -1256,6 +2850,7 @@ ], "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.", @@ -1299,6 +2894,18 @@ "description": "Configuration for an automated build in response to source repository changes.", "id": "BuildTrigger", "properties": { + "approvalConfig": { + "$ref": "ApprovalConfig", + "description": "Configuration for manual approval to start a build invocation of this BuildTrigger." + }, + "autodetect": { + "description": "Autodetect build configuration. The following precedence is used (case insensitive): 1. cloudbuild.yaml 2. cloudbuild.yml 3. cloudbuild.json 4. Dockerfile Currently only available for GitHub App Triggers.", + "type": "boolean" + }, + "bitbucketServerTriggerConfig": { + "$ref": "BitbucketServerTriggerConfig", + "description": "BitbucketServerTriggerConfig describes the configuration of a trigger that creates a build whenever a Bitbucket Server event is received." + }, "build": { "$ref": "Build", "description": "Contents of the build template." @@ -1317,10 +2924,36 @@ "description": "If true, the trigger will never automatically execute a build.", "type": "boolean" }, + "eventType": { + "description": "EventType allows the user to explicitly set the type of event to which this BuildTrigger should respond. This field will be validated against the rest of the configuration if it is set.", + "enum": [ + "EVENT_TYPE_UNSPECIFIED", + "REPO", + "WEBHOOK", + "PUBSUB", + "MANUAL" + ], + "enumDescriptions": [ + "EVENT_TYPE_UNSPECIFIED event_types are ignored.", + "REPO corresponds to the supported VCS integrations.", + "WEBHOOK corresponds to webhook triggers.", + "PUBSUB corresponds to pubsub triggers.", + "MANUAL corresponds to manual-only invoked triggers." + ], + "type": "string" + }, "filename": { "description": "Path, from the source root, to the build configuration file (i.e. cloudbuild.yaml).", "type": "string" }, + "filter": { + "description": "A Common Expression Language string.", + "type": "string" + }, + "gitFileSource": { + "$ref": "GitFileSource", + "description": "The file source describing the local or remote Build template." + }, "github": { "$ref": "GitHubEventsConfig", "description": "GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. Mutually exclusive with `trigger_template`." @@ -1348,6 +2981,22 @@ "description": "User-assigned name of the trigger. Must be unique within the project. Trigger names must meet the following requirements: + They must contain only alphanumeric characters and dashes. + They can be 1-64 characters long. + They must begin and end with an alphanumeric character.", "type": "string" }, + "pubsubConfig": { + "$ref": "PubsubConfig", + "description": "PubsubConfig describes the configuration of a trigger that creates a build whenever a Pub/Sub message is published." + }, + "resourceName": { + "description": "The `Trigger` name with format: `projects/{project}/locations/{location}/triggers/{trigger}`, where {trigger} is a unique identifier generated by the service.", + "type": "string" + }, + "serviceAccount": { + "description": "The service account used for all user-controlled operations including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`", + "type": "string" + }, + "sourceToBuild": { + "$ref": "GitRepoSource", + "description": "The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers." + }, "substitutions": { "additionalProperties": { "type": "string" @@ -1365,6 +3014,10 @@ "triggerTemplate": { "$ref": "RepoSource", "description": "Template describing the types of source changes to trigger a build. Branch and tag names in trigger templates are interpreted as regular expressions. Any branch or tag change that matches that regular expression will trigger a build. Mutually exclusive with `github`." + }, + "webhookConfig": { + "$ref": "WebhookConfig", + "description": "WebhookConfig describes the configuration of a trigger that creates a build whenever a webhook is sent to a trigger's webhook URL." } }, "type": "object" @@ -1414,12 +3067,228 @@ "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" + }, + "CreateBitbucketServerConnectedRepositoryRequest": { + "description": "Request to connect a repository from a connected Bitbucket Server host.", + "id": "CreateBitbucketServerConnectedRepositoryRequest", + "properties": { + "bitbucketServerConnectedRepository": { + "$ref": "BitbucketServerConnectedRepository", + "description": "Required. The Bitbucket Server repository to connect." + }, + "parent": { + "description": "Required. The name of the `BitbucketServerConfig` that added connected repository. Format: `projects/{project}/locations/{location}/bitbucketServerConfigs/{config}`", + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", "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", @@ -1434,10 +3303,142 @@ }, "type": "object" }, + "GitFileSource": { + "description": "GitFileSource describes a file within a (possibly remote) code repository.", + "id": "GitFileSource", + "properties": { + "bitbucketServerConfig": { + "description": "The full resource name of the bitbucket server config. Format: `projects/{project}/locations/{location}/bitbucketServerConfigs/{id}`.", + "type": "string" + }, + "githubEnterpriseConfig": { + "description": "The full resource name of the github enterprise config. Format: `projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}`. `projects/{project}/githubEnterpriseConfigs/{id}`.", + "type": "string" + }, + "path": { + "description": "The path of the file, with the repo root as the root of the path.", + "type": "string" + }, + "repoType": { + "description": "See RepoType above.", + "enum": [ + "UNKNOWN", + "CLOUD_SOURCE_REPOSITORIES", + "GITHUB", + "BITBUCKET_SERVER" + ], + "enumDescriptions": [ + "The default, unknown repo type.", + "A Google Cloud Source Repositories-hosted repo.", + "A GitHub-hosted repo not necessarily on \"github.com\" (i.e. GitHub Enterprise).", + "A Bitbucket Server-hosted repo." + ], + "type": "string" + }, + "revision": { + "description": "The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.", + "type": "string" + }, + "uri": { + "description": "The URI of the repo (optional). If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.", + "type": "string" + } + }, + "type": "object" + }, + "GitHubEnterpriseConfig": { + "description": "GitHubEnterpriseConfig represents a configuration for a GitHub Enterprise server.", + "id": "GitHubEnterpriseConfig", + "properties": { + "appId": { + "description": "Required. The GitHub app id of the Cloud Build app on the GitHub Enterprise server.", + "format": "int64", + "type": "string" + }, + "createTime": { + "description": "Output only. Time when the installation was associated with the project.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Name to display for this config.", + "type": "string" + }, + "hostUrl": { + "description": "The URL of the github enterprise host the configuration is for.", + "type": "string" + }, + "name": { + "description": "Optional. The full resource name for the GitHubEnterpriseConfig For example: \"projects/{$project_id}/githubEnterpriseConfigs/{$config_id}\"", + "type": "string" + }, + "peeredNetwork": { + "description": "Optional. The network to be used when reaching out to the GitHub Enterprise server. The VPC network must be enabled for private service connection. This should be set if the GitHub Enterprise server is hosted on-premises and not reachable by public internet. If this field is left empty, no network peering will occur and calls to the GitHub Enterprise server will be made over the public internet. Must be in the format `projects/{project}/global/networks/{network}`, where {project} is a project number or id and {network} is the name of a VPC network in the project.", + "type": "string" + }, + "secrets": { + "$ref": "GitHubEnterpriseSecrets", + "description": "Names of secrets in Secret Manager." + }, + "sslCa": { + "description": "Optional. SSL certificate to use for requests to GitHub Enterprise.", + "type": "string" + }, + "webhookKey": { + "description": "The key that should be attached to webhook calls to the ReceiveWebhook endpoint.", + "type": "string" + } + }, + "type": "object" + }, + "GitHubEnterpriseSecrets": { + "description": "GitHubEnterpriseSecrets represents the names of all necessary secrets in Secret Manager for a GitHub Enterprise server. Format is: projects//secrets/.", + "id": "GitHubEnterpriseSecrets", + "properties": { + "oauthClientIdName": { + "description": "The resource name for the OAuth client ID secret in Secret Manager.", + "type": "string" + }, + "oauthClientIdVersionName": { + "description": "The resource name for the OAuth client ID secret version in Secret Manager.", + "type": "string" + }, + "oauthSecretName": { + "description": "The resource name for the OAuth secret in Secret Manager.", + "type": "string" + }, + "oauthSecretVersionName": { + "description": "The resource name for the OAuth secret secret version in Secret Manager.", + "type": "string" + }, + "privateKeyName": { + "description": "The resource name for the private key secret.", + "type": "string" + }, + "privateKeyVersionName": { + "description": "The resource name for the private key secret version.", + "type": "string" + }, + "webhookSecretName": { + "description": "The resource name for the webhook secret in Secret Manager.", + "type": "string" + }, + "webhookSecretVersionName": { + "description": "The resource name for the webhook secret secret version in Secret Manager.", + "type": "string" + } + }, + "type": "object" + }, "GitHubEventsConfig": { - "description": "GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received. This message is experimental.", + "description": "GitHubEventsConfig describes the configuration of a trigger that creates a build whenever a GitHub event is received.", "id": "GitHubEventsConfig", "properties": { + "enterpriseConfigResourceName": { + "description": "Optional. The resource name of the github enterprise config that should be applied to this installation. For example: \"projects/{$project_id}/githubEnterpriseConfigs/{$config_id}\"", + "type": "string" + }, "installationId": { "description": "The installationID that emits the GitHub event.", "format": "int64", @@ -1462,6 +3463,89 @@ }, "type": "object" }, + "GitRepoSource": { + "description": "GitRepoSource describes a repo and ref of a code repository.", + "id": "GitRepoSource", + "properties": { + "bitbucketServerConfig": { + "description": "The full resource name of the bitbucket server config. Format: `projects/{project}/locations/{location}/bitbucketServerConfigs/{id}`.", + "type": "string" + }, + "githubEnterpriseConfig": { + "description": "The full resource name of the github enterprise config. Format: `projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}`. `projects/{project}/githubEnterpriseConfigs/{id}`.", + "type": "string" + }, + "ref": { + "description": "The branch or tag to use. Must start with \"refs/\" (required).", + "type": "string" + }, + "repoType": { + "description": "See RepoType below.", + "enum": [ + "UNKNOWN", + "CLOUD_SOURCE_REPOSITORIES", + "GITHUB", + "BITBUCKET_SERVER" + ], + "enumDescriptions": [ + "The default, unknown repo type.", + "A Google Cloud Source Repositories-hosted repo.", + "A GitHub-hosted repo not necessarily on \"github.com\" (i.e. GitHub Enterprise).", + "A Bitbucket Server-hosted repo." + ], + "type": "string" + }, + "uri": { + "description": "The URI of the repo (required).", + "type": "string" + } + }, + "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", @@ -1545,6 +3629,42 @@ }, "type": "object" }, + "ListBitbucketServerConfigsResponse": { + "description": "RPC response object returned by ListBitbucketServerConfigs RPC method.", + "id": "ListBitbucketServerConfigsResponse", + "properties": { + "bitbucketServerConfigs": { + "description": "A list of BitbucketServerConfigs", + "items": { + "$ref": "BitbucketServerConfig" + }, + "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" + }, + "ListBitbucketServerRepositoriesResponse": { + "description": "RPC response object returned by the ListBitbucketServerRepositories RPC method.", + "id": "ListBitbucketServerRepositoriesResponse", + "properties": { + "bitbucketServerRepositories": { + "description": "List of Bitbucket Server repositories.", + "items": { + "$ref": "BitbucketServerRepository" + }, + "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" + }, "ListBuildTriggersResponse": { "description": "Response containing existing `BuildTriggers`.", "id": "ListBuildTriggersResponse", @@ -1581,6 +3701,63 @@ }, "type": "object" }, + "ListGithubEnterpriseConfigsResponse": { + "description": "RPC response object returned by ListGithubEnterpriseConfigs RPC method.", + "id": "ListGithubEnterpriseConfigsResponse", + "properties": { + "configs": { + "description": "A list of GitHubEnterpriseConfigs", + "items": { + "$ref": "GitHubEnterpriseConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListWorkerPoolsResponse": { + "description": "Response containing existing `WorkerPools`.", + "id": "ListWorkerPoolsResponse", + "properties": { + "nextPageToken": { + "description": "Continuation token used to page through large result sets. Provide this value in a subsequent ListWorkerPoolsRequest to return the next page of results.", + "type": "string" + }, + "workerPools": { + "description": "`WorkerPools` for the specified project.", + "items": { + "$ref": "WorkerPool" + }, + "type": "array" + } + }, + "type": "object" + }, + "NetworkConfig": { + "description": "Defines the network configuration for the pool.", + "id": "NetworkConfig", + "properties": { + "egressOption": { + "description": "Option to configure network egress for the workers.", + "enum": [ + "EGRESS_OPTION_UNSPECIFIED", + "NO_PUBLIC_EGRESS", + "PUBLIC_EGRESS" + ], + "enumDescriptions": [ + "If set, defaults to PUBLIC_EGRESS.", + "If set, workers are created without any public address, which prevents network egress to public IPs unless a network proxy is configured.", + "If set, workers are created with a public address which allows for public internet egress." + ], + "type": "string" + }, + "peeredNetwork": { + "description": "Required. Immutable. The network definition that the workers are peered to. If this section is left empty, the workers will be peered to `WorkerPool.project_id` on the service producer network. Must be in the format `projects/{project}/global/networks/{network}`, where `{project}` is a project number, such as `12345`, and `{network}` is the name of a VPC network in the project. See [Understanding network configuration options](https://cloud.google.com/build/docs/private-pools/set-up-private-pool-environment)", + "type": "string" + } + }, + "type": "object" + }, "Notification": { "description": "Notification is the container which holds the data that is relevant to this particular notification.", "id": "Notification", @@ -1729,6 +3906,135 @@ }, "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" + }, + "PrivatePoolV1Config": { + "description": "Configuration for a V1 `PrivatePool`.", + "id": "PrivatePoolV1Config", + "properties": { + "networkConfig": { + "$ref": "NetworkConfig", + "description": "Network configuration for the pool." + }, + "workerConfig": { + "$ref": "WorkerConfig", + "description": "Machine configuration for the workers in the pool." + } + }, + "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" + }, + "PubsubConfig": { + "description": "PubsubConfig describes the configuration of a trigger that creates a build whenever a Pub/Sub message is published.", + "id": "PubsubConfig", + "properties": { + "serviceAccountEmail": { + "description": "Service account that will make the push request.", + "type": "string" + }, + "state": { + "description": "Potential issues with the underlying Pub/Sub subscription configuration. Only populated on get requests.", + "enum": [ + "STATE_UNSPECIFIED", + "OK", + "SUBSCRIPTION_DELETED", + "TOPIC_DELETED", + "SUBSCRIPTION_MISCONFIGURED" + ], + "enumDescriptions": [ + "The subscription configuration has not been checked.", + "The Pub/Sub subscription is properly configured.", + "The subscription has been deleted.", + "The topic has been deleted.", + "Some of the subscription's field are misconfigured." + ], + "type": "string" + }, + "subscription": { + "description": "Output only. Name of the subscription. Format is `projects/{project}/subscriptions/{subscription}`.", + "readOnly": true, + "type": "string" + }, + "topic": { + "description": "The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`.", + "type": "string" + } + }, + "type": "object" + }, "PullRequestFilter": { "description": "PullRequestFilter contains filter properties for matching GitHub Pull Requests.", "id": "PullRequestFilter", @@ -1783,6 +4089,17 @@ "properties": {}, "type": "object" }, + "RemoveBitbucketServerConnectedRepositoryRequest": { + "description": "RPC request object accepted by RemoveBitbucketServerConnectedRepository RPC method.", + "id": "RemoveBitbucketServerConnectedRepositoryRequest", + "properties": { + "connectedRepository": { + "$ref": "BitbucketServerRepositoryId", + "description": "The connected repository to remove." + } + }, + "type": "object" + }, "RepoSource": { "description": "Location of the source in a Google Cloud Source Repository.", "id": "RepoSource", @@ -1886,6 +4203,69 @@ }, "type": "object" }, + "RunBuildTriggerRequest": { + "description": "Specifies a build trigger to run and the source to use.", + "id": "RunBuildTriggerRequest", + "properties": { + "projectId": { + "description": "Required. ID of the project.", + "type": "string" + }, + "source": { + "$ref": "RepoSource", + "description": "Source to build against this trigger. Branch and tag names cannot consist of regular expressions." + }, + "triggerId": { + "description": "Required. ID of the trigger.", + "type": "string" + } + }, + "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", @@ -2000,7 +4380,7 @@ }, "storageSourceManifest": { "$ref": "StorageSourceManifest", - "description": "If provided, get the source from this manifest in Google Cloud Storage. This feature is in Preview." + "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" @@ -2073,14 +4453,14 @@ "type": "string" }, "object": { - "description": "Google Cloud Storage object containing the source. This object must be a gzipped archive file (`.tar.gz`) containing source to build.", + "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.", + "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": { @@ -2116,6 +4496,90 @@ }, "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" + }, "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", @@ -2130,6 +4594,150 @@ } }, "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" + }, + "WebhookConfig": { + "description": "WebhookConfig describes the configuration of a trigger that creates a build whenever a webhook is sent to a trigger's webhook URL.", + "id": "WebhookConfig", + "properties": { + "secret": { + "description": "Required. Resource name for the secret required as a URL parameter.", + "type": "string" + }, + "state": { + "description": "Potential issues with the underlying Pub/Sub subscription configuration. Only populated on get requests.", + "enum": [ + "STATE_UNSPECIFIED", + "OK", + "SECRET_DELETED" + ], + "enumDescriptions": [ + "The webhook auth configuration not been checked.", + "The auth configuration is properly setup.", + "The secret provided in auth_method has been deleted." + ], + "type": "string" + } + }, + "type": "object" + }, + "WorkerConfig": { + "description": "Defines the configuration to be used for creating workers in the pool.", + "id": "WorkerConfig", + "properties": { + "diskSizeGb": { + "description": "Size of the disk attached to the worker, in GB. See [Worker pool config file](https://cloud.google.com/build/docs/private-pools/worker-pool-config-file-schema). Specify a value of up to 1000. If `0` is specified, Cloud Build will use a standard disk size.", + "format": "int64", + "type": "string" + }, + "machineType": { + "description": "Machine type of a worker, such as `e2-medium`. See [Worker pool config file](https://cloud.google.com/build/docs/private-pools/worker-pool-config-file-schema). If left blank, Cloud Build will use a sensible default.", + "type": "string" + } + }, + "type": "object" + }, + "WorkerPool": { + "description": "Configuration for a `WorkerPool`. Cloud Build owns and maintains a pool of workers for general use and have no access to a project's private network. By default, builds submitted to Cloud Build will use a worker from this pool. If your build needs access to resources on a private network, create and use a `WorkerPool` to run your builds. Private `WorkerPool`s give your builds access to any single VPC network that you administer, including any on-prem resources connected to that VPC network. For an overview of private pools, see [Private pools overview](https://cloud.google.com/build/docs/private-pools/private-pools-overview).", + "id": "WorkerPool", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "User specified annotations. See https://google.aip.dev/128#annotations for more details such as format and size limitations.", + "type": "object" + }, + "createTime": { + "description": "Output only. Time at which the request to create the `WorkerPool` was received.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deleteTime": { + "description": "Output only. Time at which the request to delete the `WorkerPool` was received.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "A user-specified, human-readable name for the `WorkerPool`. If provided, this value must be 1-63 characters.", + "type": "string" + }, + "etag": { + "description": "Output only. Checksum computed by the server. May be sent on update and delete requests to ensure that the client has an up-to-date value before proceeding.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the `WorkerPool`, with format `projects/{project}/locations/{location}/workerPools/{worker_pool}`. The value of `{worker_pool}` is provided by `worker_pool_id` in `CreateWorkerPool` request and the value of `{location}` is determined by the endpoint accessed.", + "readOnly": true, + "type": "string" + }, + "privatePoolV1Config": { + "$ref": "PrivatePoolV1Config", + "description": "Legacy Private Pool configuration." + }, + "state": { + "description": "Output only. `WorkerPool` state.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "RUNNING", + "DELETING", + "DELETED", + "UPDATING" + ], + "enumDescriptions": [ + "State of the `WorkerPool` is unknown.", + "`WorkerPool` is being created.", + "`WorkerPool` is running.", + "`WorkerPool` is being deleted: cancelling builds and draining workers.", + "`WorkerPool` is deleted.", + "`WorkerPool` is being updated; new builds cannot be run." + ], + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. A unique identifier for the `WorkerPool`.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Time at which the request to update the `WorkerPool` was received.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/etc/api/cloudbuild/v1alpha1/cloudbuild-api.json b/etc/api/cloudbuild/v1alpha1/cloudbuild-api.json index a6a07877cf..825171f97a 100644 --- a/etc/api/cloudbuild/v1alpha1/cloudbuild-api.json +++ b/etc/api/cloudbuild/v1alpha1/cloudbuild-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -306,9 +306,60 @@ } } }, - "revision": "20210329", + "revision": "20220218", "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", @@ -368,10 +419,91 @@ }, "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" + }, + "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. - $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.", + "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." @@ -391,6 +523,11 @@ "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", @@ -450,7 +587,7 @@ "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. This field is in beta.", + "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": { @@ -472,6 +609,7 @@ "description": "Output only. Status of the build.", "enum": [ "STATUS_UNKNOWN", + "PENDING", "QUEUED", "WORKING", "SUCCESS", @@ -483,6 +621,7 @@ ], "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.", @@ -530,9 +669,53 @@ "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 specified images. * FETCHSOURCE: time to fetch source. If the build does not specify source or images, these keys will not be included.", + "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 specified images. * 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" @@ -594,10 +777,10 @@ ], "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.", - "Cloud Logging and Cloud Storage logging are enabled.", - "Only Cloud Storage logging is enabled.", + "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.", - "Only Cloud Logging is enabled. Note that logs for both the Cloud Console UI and Cloud SDK are based on Cloud Storage logs, so neither will provide logs if this option is chosen.", + "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" @@ -620,6 +803,10 @@ ], "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": [ @@ -676,7 +863,7 @@ "type": "array" }, "workerPool": { - "description": "Option to specify a `WorkerPool` for the build. Format: projects/{project}/locations/{location}/workerPools/{workerPool} This field is in beta and is available only to restricted users.", + "description": "This field deprecated; please use `pool.name` instead.", "type": "string" } }, @@ -721,6 +908,10 @@ "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": { @@ -732,6 +923,7 @@ "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", @@ -743,6 +935,7 @@ ], "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.", @@ -808,12 +1001,213 @@ "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); } The JSON representation for `Empty` is empty JSON object `{}`.", "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", @@ -828,6 +1222,50 @@ }, "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", @@ -1065,6 +1503,82 @@ }, "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" + }, "RepoSource": { "description": "Location of the source in a Google Cloud Source Repository.", "id": "RepoSource", @@ -1149,6 +1663,50 @@ }, "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", @@ -1263,7 +1821,7 @@ }, "storageSourceManifest": { "$ref": "StorageSourceManifest", - "description": "If provided, get the source from this manifest in Google Cloud Storage. This feature is in Preview." + "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" @@ -1336,14 +1894,14 @@ "type": "string" }, "object": { - "description": "Google Cloud Storage object containing the source. This object must be a gzipped archive file (`.tar.gz`) containing source to build.", + "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.", + "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": { @@ -1379,6 +1937,90 @@ }, "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" + }, "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", @@ -1394,6 +2036,33 @@ }, "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", diff --git a/etc/api/cloudbuild/v1alpha2/cloudbuild-api.json b/etc/api/cloudbuild/v1alpha2/cloudbuild-api.json index deff0b6693..9b97ae9b40 100644 --- a/etc/api/cloudbuild/v1alpha2/cloudbuild-api.json +++ b/etc/api/cloudbuild/v1alpha2/cloudbuild-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -317,9 +317,60 @@ } } }, - "revision": "20210329", + "revision": "20220218", "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", @@ -379,10 +430,91 @@ }, "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" + }, + "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. - $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.", + "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." @@ -402,6 +534,11 @@ "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", @@ -461,7 +598,7 @@ "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. This field is in beta.", + "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": { @@ -483,6 +620,7 @@ "description": "Output only. Status of the build.", "enum": [ "STATUS_UNKNOWN", + "PENDING", "QUEUED", "WORKING", "SUCCESS", @@ -494,6 +632,7 @@ ], "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.", @@ -541,9 +680,53 @@ "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 specified images. * FETCHSOURCE: time to fetch source. If the build does not specify source or images, these keys will not be included.", + "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 specified images. * 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" @@ -605,10 +788,10 @@ ], "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.", - "Cloud Logging and Cloud Storage logging are enabled.", - "Only Cloud Storage logging is enabled.", + "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.", - "Only Cloud Logging is enabled. Note that logs for both the Cloud Console UI and Cloud SDK are based on Cloud Storage logs, so neither will provide logs if this option is chosen.", + "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" @@ -631,6 +814,10 @@ ], "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": [ @@ -687,7 +874,7 @@ "type": "array" }, "workerPool": { - "description": "Option to specify a `WorkerPool` for the build. Format: projects/{project}/locations/{location}/workerPools/{workerPool} This field is in beta and is available only to restricted users.", + "description": "This field deprecated; please use `pool.name` instead.", "type": "string" } }, @@ -732,6 +919,10 @@ "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": { @@ -743,6 +934,7 @@ "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", @@ -754,6 +946,7 @@ ], "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.", @@ -819,12 +1012,213 @@ "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); } The JSON representation for `Empty` is empty JSON object `{}`.", "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", @@ -839,6 +1233,50 @@ }, "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", @@ -1068,6 +1506,82 @@ }, "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" + }, "RepoSource": { "description": "Location of the source in a Google Cloud Source Repository.", "id": "RepoSource", @@ -1152,6 +1666,50 @@ }, "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", @@ -1266,7 +1824,7 @@ }, "storageSourceManifest": { "$ref": "StorageSourceManifest", - "description": "If provided, get the source from this manifest in Google Cloud Storage. This feature is in Preview." + "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" @@ -1339,14 +1897,14 @@ "type": "string" }, "object": { - "description": "Google Cloud Storage object containing the source. This object must be a gzipped archive file (`.tar.gz`) containing source to build.", + "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.", + "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": { @@ -1382,6 +1940,90 @@ }, "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" + }, "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", @@ -1397,6 +2039,33 @@ }, "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", diff --git a/etc/api/cloudbuild/v1beta1/cloudbuild-api.json b/etc/api/cloudbuild/v1beta1/cloudbuild-api.json index 9725ec8169..d8d4df6e48 100644 --- a/etc/api/cloudbuild/v1beta1/cloudbuild-api.json +++ b/etc/api/cloudbuild/v1beta1/cloudbuild-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -210,6 +210,11 @@ "name" ], "parameters": { + "etag": { + "description": "Optional. If this is provided, it must match the server's etag on the workerpool for the request to be processed.", + "location": "query", + "type": "string" + }, "name": { "description": "Required. The name of the `WorkerPool` to delete. Format: `projects/{project}/locations/{workerPool}/workerPools/{workerPool}`.", "location": "path", @@ -317,9 +322,60 @@ } } }, - "revision": "20210329", + "revision": "20220218", "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", @@ -379,10 +435,91 @@ }, "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" + }, + "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. - $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.", + "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." @@ -402,6 +539,11 @@ "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", @@ -461,7 +603,7 @@ "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. This field is in beta.", + "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": { @@ -483,6 +625,7 @@ "description": "Output only. Status of the build.", "enum": [ "STATUS_UNKNOWN", + "PENDING", "QUEUED", "WORKING", "SUCCESS", @@ -494,6 +637,7 @@ ], "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.", @@ -541,9 +685,53 @@ "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 specified images. * FETCHSOURCE: time to fetch source. If the build does not specify source or images, these keys will not be included.", + "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 specified images. * 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" @@ -605,10 +793,10 @@ ], "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.", - "Cloud Logging and Cloud Storage logging are enabled.", - "Only Cloud Storage logging is enabled.", + "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.", - "Only Cloud Logging is enabled. Note that logs for both the Cloud Console UI and Cloud SDK are based on Cloud Storage logs, so neither will provide logs if this option is chosen.", + "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" @@ -631,6 +819,10 @@ ], "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": [ @@ -687,7 +879,7 @@ "type": "array" }, "workerPool": { - "description": "Option to specify a `WorkerPool` for the build. Format: projects/{project}/locations/{location}/workerPools/{workerPool} This field is in beta and is available only to restricted users.", + "description": "This field deprecated; please use `pool.name` instead.", "type": "string" } }, @@ -732,6 +924,10 @@ "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": { @@ -743,6 +939,7 @@ "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", @@ -754,6 +951,7 @@ ], "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.", @@ -819,12 +1017,213 @@ "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); } The JSON representation for `Empty` is empty JSON object `{}`.", "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", @@ -839,6 +1238,50 @@ }, "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", @@ -1068,6 +1511,82 @@ }, "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" + }, "RepoSource": { "description": "Location of the source in a Google Cloud Source Repository.", "id": "RepoSource", @@ -1152,6 +1671,50 @@ }, "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", @@ -1266,7 +1829,7 @@ }, "storageSourceManifest": { "$ref": "StorageSourceManifest", - "description": "If provided, get the source from this manifest in Google Cloud Storage. This feature is in Preview." + "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" @@ -1339,14 +1902,14 @@ "type": "string" }, "object": { - "description": "Google Cloud Storage object containing the source. This object must be a gzipped archive file (`.tar.gz`) containing source to build.", + "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.", + "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": { @@ -1382,6 +1945,90 @@ }, "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" + }, "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", @@ -1397,6 +2044,33 @@ }, "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": "Defines the configuration to be used for creating workers in the pool.", "id": "WorkerConfig", @@ -1421,6 +2095,13 @@ "description": "Configuration for a `WorkerPool` to run the builds. Workers provide a build environment where Cloud Build runs your builds. Cloud Build owns and maintains a pool of workers for general use. By default, when you submit a build, Cloud Build uses one of the workers from this pool. Builds that run in the default worker pool have access to the public internet. If your build needs access to resources on a private network, create and use a `WorkerPool` to run your builds. Custom `WorkerPool`s give your builds access to any single VPC network that you administer, including any on-prem resources connected to that VPC network. For an overview of custom worker pools, see [Custom workers overview](https://cloud.google.com/cloud-build/docs/custom-workers/custom-workers-overview).", "id": "WorkerPool", "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "User specified annotations. See https://google.aip.dev/128#annotations for more details such as format and size limitations.", + "type": "object" + }, "createTime": { "description": "Output only. Time at which the request to create the `WorkerPool` was received.", "format": "google-datetime", @@ -1433,6 +2114,15 @@ "readOnly": true, "type": "string" }, + "displayName": { + "description": "A user-specified, human-readable name for the `WorkerPool`. If provided, this value must be 1-63 characters.", + "type": "string" + }, + "etag": { + "description": "Output only. Checksum computed by the server. May be sent on update and delete requests to ensure that the client has an up-to-date value before proceeding.", + "readOnly": true, + "type": "string" + }, "name": { "description": "Output only. The resource name of the `WorkerPool`, with format `projects/{project}/locations/{location}/workerPools/{worker_pool}`. The value of `{worker_pool}` is provided by `worker_pool_id` in `CreateWorkerPool` request and the value of `{location}` is determined by the endpoint accessed.", "readOnly": true, @@ -1461,6 +2151,11 @@ "readOnly": true, "type": "string" }, + "uid": { + "description": "Output only. A unique identifier for the `WorkerPool`.", + "readOnly": true, + "type": "string" + }, "updateTime": { "description": "Output only. Time at which the request to update the `WorkerPool` was received.", "format": "google-datetime", diff --git a/etc/api/cloudchannel/v1/cloudchannel-api.json b/etc/api/cloudchannel/v1/cloudchannel-api.json index b9720dbbbb..2dbfb23e7f 100644 --- a/etc/api/cloudchannel/v1/cloudchannel-api.json +++ b/etc/api/cloudchannel/v1/cloudchannel-api.json @@ -12,7 +12,7 @@ "baseUrl": "https://cloudchannel.googleapis.com/", "batchPath": "batch", "canonicalName": "Cloudchannel", - "description": "", + "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, @@ -316,7 +316,7 @@ ] }, "get": { - "description": "Returns a 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.", + "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", @@ -467,7 +467,7 @@ ] }, "delete": { - "description": "Deletes the given Customer permanently and irreversibly. 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.", + "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", @@ -492,7 +492,7 @@ ] }, "get": { - "description": "Returns a 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.", + "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", @@ -516,6 +516,34 @@ "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. * 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", @@ -525,6 +553,11 @@ "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", @@ -621,7 +654,7 @@ ] }, "delete": { - "description": "Deletes the given Customer permanently and irreversibly. 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.", + "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", @@ -646,7 +679,7 @@ ] }, "get": { - "description": "Returns a 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.", + "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", @@ -670,6 +703,34 @@ "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. * 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", @@ -679,6 +740,11 @@ "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", @@ -1119,7 +1185,7 @@ ] }, "get": { - "description": "Returns a 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.", + "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", @@ -1179,6 +1245,31 @@ "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", @@ -1508,7 +1599,7 @@ } } }, - "revision": "20210326", + "revision": "20220303", "rootUrl": "https://cloudchannel.googleapis.com/", "schemas": { "GoogleCloudChannelV1ActivateEntitlementRequest": { @@ -1572,7 +1663,7 @@ "type": "string" }, "parameters": { - "description": "Optional. Parameters needed to purchase the Offer.", + "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" }, @@ -1594,7 +1685,7 @@ "id": "GoogleCloudChannelV1ChangeParametersRequest", "properties": { "parameters": { - "description": "Required. Entitlement parameters to update. You can only change editable 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" }, @@ -1656,7 +1747,7 @@ "SUSPENDED" ], "enumDescriptions": [ - "The state is not specified.", + "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.", @@ -1756,7 +1847,7 @@ "TEAM" ], "enumDescriptions": [ - "Default value. This state doesn't show unless an error occurs.", + "Not used.", "Domain-owning customer which needs domain verification to use services.", "Team customer which needs email verification to use services." ], @@ -1826,28 +1917,28 @@ "id": "GoogleCloudChannelV1ContactInfo", "properties": { "displayName": { - "description": "Output only. Display name of the contact in the customer account. Populated by combining customer first name and last name.", + "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": "Email of the contact in the customer account. Email is required for entitlements that need creation of admin.google.com accounts. The email will be the username used in credentials to access the admin.google.com account.", + "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": "First name of the contact in the customer account.", + "description": "The customer account contact's first name. Optional for Team customers.", "type": "string" }, "lastName": { - "description": "Last name of the contact in the customer account.", + "description": "The customer account contact's last name. Optional for Team customers.", "type": "string" }, "phone": { - "description": "Phone number of the contact in the customer account.", + "description": "The customer account's contact phone number.", "type": "string" }, "title": { - "description": "Optional. Job title of the contact in the customer account.", + "description": "Optional. The customer account contact's job title.", "type": "string" } }, @@ -1873,7 +1964,7 @@ "id": "GoogleCloudChannelV1Customer", "properties": { "alternateEmail": { - "description": "Secondary contact email. Alternate email and primary contact email are required to have different domains if primary contact email is present. When creating admin.google.com accounts, users get notified credentials at this email. This email address is also used as a recovery email.", + "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": { @@ -1881,7 +1972,7 @@ "type": "string" }, "cloudIdentityId": { - "description": "Output only. Customer's cloud_identity_id. Populated only if a Cloud Identity resource exists for this customer.", + "description": "Output only. The customer's Cloud Identity ID if the customer has a Cloud Identity resource.", "readOnly": true, "type": "string" }, @@ -1891,13 +1982,13 @@ "readOnly": true }, "createTime": { - "description": "Output only. The time at which the customer is created.", + "description": "Output only. Time when the customer was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "domain": { - "description": "Required. Primary domain used by the customer. Domain of primary contact email is required to be same as the provided domain.", + "description": "Required. The customer's primary domain. Must match the primary contact email's domain.", "type": "string" }, "languageCode": { @@ -1915,14 +2006,14 @@ }, "orgPostalAddress": { "$ref": "GoogleTypePostalAddress", - "description": "Required. Address of the organization of the customer entity. Region and zip codes are required to enforce US laws and embargoes. Valid address lines are required for all customers. Language code is discarded. Use the Customer-level language code to set the customer's language." + "description": "Required. The organization address for the customer. To enforce US laws and embargoes, we require a region and zip code. 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. The time at which the customer is updated.", + "description": "Output only. Time when the customer was updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -1943,7 +2034,7 @@ "TEAM" ], "enumDescriptions": [ - "Default value. This state doesn't show unless an error occurs.", + "Not used.", "Domain-owning customer which needs domain verification to use services.", "Team customer which needs email verification to use services." ], @@ -1996,7 +2087,7 @@ "PRIMARY_DOMAIN_VERIFIED" ], "enumDescriptions": [ - "Default value. This state doesn't show unless an error occurs.", + "Not used.", "Primary domain for customer was changed.", "Primary domain of the customer has been verified." ], @@ -2022,7 +2113,7 @@ "SIZE_10001_OR_MORE" ], "enumDescriptions": [ - "Default value. This state doesn't show unless an error occurs.", + "Not used.", "1 - 100", "101 - 500", "501 - 1,000", @@ -2041,7 +2132,7 @@ "UNIVERSITY" ], "enumDescriptions": [ - "Default value. This state doesn't show unless an error occurs.", + "Not used.", "Elementary/Secondary Schools & Districts", "Higher Education Universities & Colleges" ], @@ -2082,7 +2173,7 @@ "type": "string" }, "parameters": { - "description": "Extended entitlement parameters. When creating an entitlement, valid parameters' names and values are defined in the offer's parameter definitions.", + "description": "Extended entitlement parameters. When creating an entitlement, valid parameter names and values are defined in the Offer.parameter_definitions. The response may include the following output-only Parameters: - assigned_units: The number of licenses assigned to users. - max_units: The maximum assignable units for a flexible offer. - num_units: The total commitment for commitment-based offers.", "items": { "$ref": "GoogleCloudChannelV1Parameter" }, @@ -2101,7 +2192,7 @@ "SUSPENDED" ], "enumDescriptions": [ - "Default value. This state doesn't show unless an error occurs.", + "Not used.", "The entitlement is currently active.", "The entitlement is currently suspended." ], @@ -2124,7 +2215,7 @@ "OTHER" ], "enumDescriptions": [ - "Default value. This state doesn't show unless an error occurs.", + "Not used.", "Entitlement was manually suspended by the Reseller.", "Trial ended.", "Entitlement renewal was canceled.", @@ -2172,10 +2263,11 @@ "SKU_CHANGED", "RENEWAL_SETTING_CHANGED", "PAID_SERVICE_STARTED", - "LICENSE_ASSIGNMENT_CHANGED" + "LICENSE_ASSIGNMENT_CHANGED", + "LICENSE_CAP_CHANGED" ], "enumDescriptions": [ - "Default value. This state doesn't show unless an error occurs.", + "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.", @@ -2186,13 +2278,45 @@ "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 was assigned to or revoked from a user.", + "License cap was changed for the entitlement." ], "type": "string" } }, "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" + } + }, + "type": "object" + }, "GoogleCloudChannelV1ListChannelPartnerLinksResponse": { "description": "Response message for CloudChannelService.ListChannelPartnerLinks.", "id": "GoogleCloudChannelV1ListChannelPartnerLinksResponse", @@ -2578,7 +2702,7 @@ "PROVISION_CLOUD_IDENTITY" ], "enumDescriptions": [ - "Default value. This state doesn't show unless an error occurs.", + "Not used.", "Long Running Operation was triggered by CreateEntitlement.", "Long Running Operation was triggered by ChangeRenewalSettings.", "Long Running Operation was triggered by StartPaidService.", @@ -2918,7 +3042,7 @@ "type": "string" }, "provisioningId": { - "description": "Output only. Provisioning ID of the entitlement. For Google Workspace, this would be the underlying Subscription ID.", + "description": "Output only. Provisioning ID of the entitlement. For Google Workspace, this is the underlying Subscription ID. For Google Cloud Platform, this is the Billing Account ID of the billing subaccount.\"", "readOnly": true, "type": "string" }, @@ -3044,16 +3168,16 @@ "type": "object" }, "GoogleCloudChannelV1SubscriberEvent": { - "description": "Represents information which resellers will get as part of notification from Cloud Pub/Sub.", + "description": "Represents information which resellers will get as part of notification from Pub/Sub.", "id": "GoogleCloudChannelV1SubscriberEvent", "properties": { "customerEvent": { "$ref": "GoogleCloudChannelV1CustomerEvent", - "description": "Customer event send as part of Pub/Sub event to partners." + "description": "Customer event sent as part of Pub/Sub event to partners." }, "entitlementEvent": { "$ref": "GoogleCloudChannelV1EntitlementEvent", - "description": "Entitlement event send as part of Pub/Sub event to partners." + "description": "Entitlement event sent as part of Pub/Sub event to partners." } }, "type": "object" @@ -3086,7 +3210,7 @@ "SKU_SUSPENDED" ], "enumDescriptions": [ - "Reason is not available.", + "Not used.", "Reseller needs to accept TOS before transferring the SKU.", "Reseller not eligible to sell the SKU.", "SKU subscription is suspended" @@ -3321,7 +3445,7 @@ "PRIMARY_DOMAIN_VERIFIED" ], "enumDescriptions": [ - "Default value. This state doesn't show unless an error occurs.", + "Not used.", "Primary domain for customer was changed.", "Primary domain of the customer has been verified." ], @@ -3377,7 +3501,7 @@ "type": "string" }, "parameters": { - "description": "Extended entitlement parameters. When creating an entitlement, valid parameters' names and values are defined in the offer's parameter definitions.", + "description": "Extended entitlement parameters. When creating an entitlement, valid parameter names and values are defined in the Offer.parameter_definitions. The response may include the following output-only Parameters: - assigned_units: The number of licenses assigned to users. - max_units: The maximum assignable units for a flexible offer. - num_units: The total commitment for commitment-based offers.", "items": { "$ref": "GoogleCloudChannelV1alpha1Parameter" }, @@ -3399,7 +3523,7 @@ "SUSPENDED" ], "enumDescriptions": [ - "Default value. This state doesn't show unless an error occurs.", + "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)", @@ -3425,7 +3549,7 @@ "OTHER" ], "enumDescriptions": [ - "Default value. This state doesn't show unless an error occurs.", + "Not used.", "Entitlement was manually suspended by the Reseller.", "Trial ended.", "Entitlement renewal was canceled.", @@ -3473,10 +3597,11 @@ "SKU_CHANGED", "RENEWAL_SETTING_CHANGED", "PAID_SERVICE_STARTED", - "LICENSE_ASSIGNMENT_CHANGED" + "LICENSE_ASSIGNMENT_CHANGED", + "LICENSE_CAP_CHANGED" ], "enumDescriptions": [ - "Default value. This state doesn't show unless an error occurs.", + "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.", @@ -3487,7 +3612,8 @@ "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 was assigned to or revoked from a user.", + "License cap was changed for the entitlement." ], "type": "string" } @@ -3518,7 +3644,7 @@ "PROVISION_CLOUD_IDENTITY" ], "enumDescriptions": [ - "Default value. This state doesn't show unless an error occurs.", + "Not used.", "Long Running Operation was triggered by CreateEntitlement.", "Long Running Operation was triggered by ChangeQuantity.", "Long Running Operation was triggered by ChangeRenewalSettings.", @@ -3597,7 +3723,7 @@ "type": "string" }, "provisioningId": { - "description": "Output only. Provisioning ID of the entitlement. For Google Workspace, this would be the underlying Subscription ID.", + "description": "Output only. Provisioning ID of the entitlement. For Google Workspace, this is the underlying Subscription ID. For Google Cloud Platform, this is the Billing Account ID of the billing subaccount.\"", "readOnly": true, "type": "string" }, @@ -3633,7 +3759,7 @@ "MONTHLY" ], "enumDescriptions": [ - "Default value. This state doesn't show unless an error occurs.", + "Not used.", "Paid in yearly installments.", "Paid in monthly installments." ], @@ -3667,16 +3793,16 @@ "type": "object" }, "GoogleCloudChannelV1alpha1SubscriberEvent": { - "description": "Represents information which resellers will get as part of notification from Cloud Pub/Sub.", + "description": "Represents information which resellers will get as part of notification from Pub/Sub.", "id": "GoogleCloudChannelV1alpha1SubscriberEvent", "properties": { "customerEvent": { "$ref": "GoogleCloudChannelV1alpha1CustomerEvent", - "description": "Customer event send as part of Pub/Sub event to partners." + "description": "Customer event sent as part of Pub/Sub event to partners." }, "entitlementEvent": { "$ref": "GoogleCloudChannelV1alpha1EntitlementEvent", - "description": "Entitlement event send as part of Pub/Sub event to partners." + "description": "Entitlement event sent as part of Pub/Sub event to partners." } }, "type": "object" @@ -3896,7 +4022,7 @@ "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 http://cldr.unicode.org/ and http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: \"CH\" for Switzerland.", + "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": { diff --git a/etc/api/clouddebugger/v2/clouddebugger-api.json b/etc/api/clouddebugger/v2/clouddebugger-api.json index 1846330cfd..c591af0e0e 100644 --- a/etc/api/clouddebugger/v2/clouddebugger-api.json +++ b/etc/api/clouddebugger/v2/clouddebugger-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." }, "https://www.googleapis.com/auth/cloud_debugger": { "description": "Use Stackdriver Debugger" @@ -448,7 +448,7 @@ } } }, - "revision": "20210326", + "revision": "20220225", "rootUrl": "https://clouddebugger.googleapis.com/", "schemas": { "AliasContext": { diff --git a/etc/api/clouddeploy/v1/clouddeploy-api.json b/etc/api/clouddeploy/v1/clouddeploy-api.json new file mode 100644 index 0000000000..50fb91fd09 --- /dev/null +++ b/etc/api/clouddeploy/v1/clouddeploy-api.json @@ -0,0 +1,2416 @@ +{ + "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://clouddeploy.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Cloud Deploy", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/deploy/", + "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": "clouddeploy:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://clouddeploy.mtls.googleapis.com/", + "name": "clouddeploy", + "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": "clouddeploy.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" + ] + }, + "getConfig": { + "description": "Gets the configuration for a location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/config", + "httpMethod": "GET", + "id": "clouddeploy.projects.locations.getConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of requested configuration.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/config$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Config" + }, + "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": "clouddeploy.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": { + "deliveryPipelines": { + "methods": { + "create": { + "description": "Creates a new DeliveryPipeline in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines", + "httpMethod": "POST", + "id": "clouddeploy.projects.locations.deliveryPipelines.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "deliveryPipelineId": { + "description": "Required. ID of the `DeliveryPipeline`.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent collection in which the `DeliveryPipeline` should be created. Format should be projects/{project_id}/locations/{location_name}.", + "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. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+parent}/deliveryPipelines", + "request": { + "$ref": "DeliveryPipeline" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single DeliveryPipeline.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}", + "httpMethod": "DELETE", + "id": "clouddeploy.projects.locations.deliveryPipelines.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If set to true, then deleting an already deleted or non-existing `DeliveryPipeline` will succeed.", + "location": "query", + "type": "boolean" + }, + "etag": { + "description": "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. If set to true, all child resources under this pipeline will also be deleted. Otherwise, the request will only work if the pipeline has no child resources.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The name of the `DeliveryPipeline` to delete. Format should be projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+$", + "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" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the review, but do not actually post it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single DeliveryPipeline.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}", + "httpMethod": "GET", + "id": "clouddeploy.projects.locations.deliveryPipelines.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the `DeliveryPipeline`. Format must be projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "DeliveryPipeline" + }, + "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}/deliveryPipelines/{deliveryPipelinesId}:getIamPolicy", + "httpMethod": "GET", + "id": "clouddeploy.projects.locations.deliveryPipelines.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists DeliveryPipelines in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines", + "httpMethod": "GET", + "id": "clouddeploy.projects.locations.deliveryPipelines.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filter builds to be returned. See https://google.aip.dev/160 for more details.", + "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 pipelines to return. The service may return fewer than this value. If unspecified, at most 50 pipelines will be returned. The maximum value is 1000; values above 1000 will be set to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListDeliveryPipelines` call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns this collection of pipelines. Format must be projects/{project_id}/locations/{location_name}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/deliveryPipelines", + "response": { + "$ref": "ListDeliveryPipelinesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single DeliveryPipeline.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}", + "httpMethod": "PATCH", + "id": "clouddeploy.projects.locations.deliveryPipelines.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If set to true, updating a `DeliveryPipeline` that does not exist will result in the creation of a new `DeliveryPipeline`.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Optional. Name of the `DeliveryPipeline`. Format is projects/{project}/ locations/{location}/deliveryPipelines/a-z{0,62}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+$", + "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": "Required. Field mask is used to specify the fields to be overwritten in the `DeliveryPipeline` 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 to true, the request is validated and the user is provided with an expected result, but no actual change is made.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "DeliveryPipeline" + }, + "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}/deliveryPipelines/{deliveryPipelinesId}:setIamPolicy", + "httpMethod": "POST", + "id": "clouddeploy.projects.locations.deliveryPipelines.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/[^/]+/deliveryPipelines/[^/]+$", + "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}/deliveryPipelines/{deliveryPipelinesId}:testIamPermissions", + "httpMethod": "POST", + "id": "clouddeploy.projects.locations.deliveryPipelines.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/[^/]+/deliveryPipelines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "releases": { + "methods": { + "create": { + "description": "Creates a new Release in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases", + "httpMethod": "POST", + "id": "clouddeploy.projects.locations.deliveryPipelines.releases.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent collection in which the `Release` should be created. Format should be projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+$", + "required": true, + "type": "string" + }, + "releaseId": { + "description": "Required. ID of the `Release`.", + "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" + }, + "validateOnly": { + "description": "Optional. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+parent}/releases", + "request": { + "$ref": "Release" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Release.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases/{releasesId}", + "httpMethod": "GET", + "id": "clouddeploy.projects.locations.deliveryPipelines.releases.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the `Release`. Format must be projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/releases/{release_name}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/releases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Release" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Releases in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases", + "httpMethod": "GET", + "id": "clouddeploy.projects.locations.deliveryPipelines.releases.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter builds to be returned. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of `Release` objects to return. The service may return fewer than this value. If unspecified, at most 50 `Release` objects will be returned. The maximum value is 1000; values above 1000 will be set to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListReleases` call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The `DeliveryPipeline` which owns this collection of `Release` objects.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/releases", + "response": { + "$ref": "ListReleasesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "rollouts": { + "methods": { + "approve": { + "description": "Approves a Rollout.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases/{releasesId}/rollouts/{rolloutsId}:approve", + "httpMethod": "POST", + "id": "clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.approve", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the Rollout. Format is projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/ releases/{release}/rollouts/{rollout}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/releases/[^/]+/rollouts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:approve", + "request": { + "$ref": "ApproveRolloutRequest" + }, + "response": { + "$ref": "ApproveRolloutResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a new Rollout in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases/{releasesId}/rollouts", + "httpMethod": "POST", + "id": "clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent collection in which the `Rollout` should be created. Format should be projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/releases/{release_name}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/releases/[^/]+$", + "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" + }, + "rolloutId": { + "description": "Required. ID of the `Rollout`.", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+parent}/rollouts", + "request": { + "$ref": "Rollout" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Rollout.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases/{releasesId}/rollouts/{rolloutsId}", + "httpMethod": "GET", + "id": "clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the `Rollout`. Format must be projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/releases/{release_name}/rollouts/{rollout_name}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/releases/[^/]+/rollouts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Rollout" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Rollouts in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deliveryPipelines/{deliveryPipelinesId}/releases/{releasesId}/rollouts", + "httpMethod": "GET", + "id": "clouddeploy.projects.locations.deliveryPipelines.releases.rollouts.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter builds to be returned. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of `Rollout` objects to return. The service may return fewer than this value. If unspecified, at most 50 `Rollout` objects will be returned. The maximum value is 1000; values above 1000 will be set to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListRollouts` call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The `Release` which owns this collection of `Rollout` objects.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deliveryPipelines/[^/]+/releases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/rollouts", + "response": { + "$ref": "ListRolloutsResponse" + }, + "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": "clouddeploy.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": "clouddeploy.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": "clouddeploy.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`. 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": "v1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "clouddeploy.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" + ] + } + } + }, + "targets": { + "methods": { + "create": { + "description": "Creates a new Target in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/targets", + "httpMethod": "POST", + "id": "clouddeploy.projects.locations.targets.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent collection in which the `Target` should be created. Format should be projects/{project_id}/locations/{location_name}.", + "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" + }, + "targetId": { + "description": "Required. ID of the `Target`.", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+parent}/targets", + "request": { + "$ref": "Target" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single Target.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/targets/{targetsId}", + "httpMethod": "DELETE", + "id": "clouddeploy.projects.locations.targets.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If set to true, then deleting an already deleted or non-existing DeliveryPipeline will succeed.", + "location": "query", + "type": "boolean" + }, + "etag": { + "description": "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the `Target` to delete. Format should be projects/{project_id}/locations/{location_name}/targets/{target_name}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/targets/[^/]+$", + "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" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the review, but do not actually post it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Target.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/targets/{targetsId}", + "httpMethod": "GET", + "id": "clouddeploy.projects.locations.targets.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the `Target`. Format must be projects/{project_id}/locations/{location_name}/targets/{target_name}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/targets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Target" + }, + "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}/targets/{targetsId}:getIamPolicy", + "httpMethod": "GET", + "id": "clouddeploy.projects.locations.targets.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/targets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Targets in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/targets", + "httpMethod": "GET", + "id": "clouddeploy.projects.locations.targets.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter builds to be returned. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of `Target` objects to return. The service may return fewer than this value. If unspecified, at most 50 `Target` objects will be returned. The maximum value is 1000; values above 1000 will be set to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListTargets` call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns this collection of targets. Format must be projects/{project_id}/locations/{location_name}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/targets", + "response": { + "$ref": "ListTargetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single Target.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/targets/{targetsId}", + "httpMethod": "PATCH", + "id": "clouddeploy.projects.locations.targets.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If set to true, updating a `Target` that does not exist will result in the creation of a new `Target`.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Optional. Name of the `Target`. Format is projects/{project}/locations/{location}/targets/a-z{0,62}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/targets/[^/]+$", + "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": "Required. Field mask is used to specify the fields to be overwritten in the Target 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 to true, the request is validated and the user is provided with an expected result, but no actual change is made.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Target" + }, + "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}/targets/{targetsId}:setIamPolicy", + "httpMethod": "POST", + "id": "clouddeploy.projects.locations.targets.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/[^/]+/targets/[^/]+$", + "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}/targets/{targetsId}:testIamPermissions", + "httpMethod": "POST", + "id": "clouddeploy.projects.locations.targets.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/[^/]+/targets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20220223", + "rootUrl": "https://clouddeploy.googleapis.com/", + "schemas": { + "AnthosCluster": { + "description": "Information specifying an Anthos Cluster.", + "id": "AnthosCluster", + "properties": { + "membership": { + "description": "Membership of the GKE Hub-registered cluster to which to apply the Skaffold configuration. Format is `projects/{project}/locations/{location}/memberships/{membership_name}`.", + "type": "string" + } + }, + "type": "object" + }, + "ApproveRolloutRequest": { + "description": "The request object used by `ApproveRollout`.", + "id": "ApproveRolloutRequest", + "properties": { + "approved": { + "description": "Required. True = approve; false = reject", + "type": "boolean" + } + }, + "type": "object" + }, + "ApproveRolloutResponse": { + "description": "The response object from `ApproveRollout`.", + "id": "ApproveRolloutResponse", + "properties": {}, + "type": "object" + }, + "AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the principals requesting access for a 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 the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "BuildArtifact": { + "description": "Description of an a image to use during Skaffold rendering.", + "id": "BuildArtifact", + "properties": { + "image": { + "description": "Image name in Skaffold configuration.", + "type": "string" + }, + "tag": { + "description": "Image tag to use. This will generally be the full path to an image, such as \"gcr.io/my-project/busybox:1.2.3\" or \"gcr.io/my-project/busybox@sha256:abc123\".", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "Config": { + "description": "Service-wide configuration.", + "id": "Config", + "properties": { + "defaultSkaffoldVersion": { + "description": "Output only. Default Skaffold version that is assigned when a Release is created without specifying a Skaffold version.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Name of the configuration.", + "type": "string" + }, + "supportedVersions": { + "description": "Output only. All supported versions of Skaffold.", + "items": { + "$ref": "SkaffoldVersion" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "Date": { + "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day, with a zero year (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., 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" + }, + "DefaultPool": { + "description": "Execution using the default Cloud Build pool.", + "id": "DefaultPool", + "properties": { + "artifactStorage": { + "description": "Optional. Cloud Storage location where execution outputs should be stored. This can either be a bucket (\"gs://my-bucket\") or a path within a bucket (\"gs://my-bucket/my-dir\"). If unspecified, a default bucket located in the same region will be used.", + "type": "string" + }, + "serviceAccount": { + "description": "Optional. Google service account to use for execution. If unspecified, the project execution service account (-compute@developer.gserviceaccount.com) will be used.", + "type": "string" + } + }, + "type": "object" + }, + "DeliveryPipeline": { + "description": "A `DeliveryPipeline` resource in the Google Cloud Deploy API. A `DeliveryPipeline` defines a pipeline through which a Skaffold configuration can progress.", + "id": "DeliveryPipeline", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "User annotations. These attributes can only be set and used by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations.", + "type": "object" + }, + "condition": { + "$ref": "PipelineCondition", + "description": "Output only. Information around the state of the Delivery Pipeline.", + "readOnly": true + }, + "createTime": { + "description": "Output only. Time at which the pipeline was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Description of the `DeliveryPipeline`. Max length is 255 characters.", + "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" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels are attributes that can be set and used by both the user and by Google Cloud Deploy. 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": "Optional. Name of the `DeliveryPipeline`. Format is projects/{project}/ locations/{location}/deliveryPipelines/a-z{0,62}.", + "type": "string" + }, + "serialPipeline": { + "$ref": "SerialPipeline", + "description": "SerialPipeline defines a sequential set of stages for a `DeliveryPipeline`." + }, + "uid": { + "description": "Output only. Unique identifier of the `DeliveryPipeline`.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Most recent time at which the pipeline was updated.", + "format": "google-datetime", + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "ExecutionConfig": { + "description": "Configuration of the environment to use when calling Skaffold.", + "id": "ExecutionConfig", + "properties": { + "artifactStorage": { + "description": "Optional. Cloud Storage location in which to store execution outputs. This can either be a bucket (\"gs://my-bucket\") or a path within a bucket (\"gs://my-bucket/my-dir\"). If unspecified, a default bucket located in the same region will be used.", + "type": "string" + }, + "defaultPool": { + "$ref": "DefaultPool", + "description": "Optional. Use default Cloud Build pool." + }, + "privatePool": { + "$ref": "PrivatePool", + "description": "Optional. Use private Cloud Build pool." + }, + "serviceAccount": { + "description": "Optional. Google service account to use for execution. If unspecified, the project execution service account (-compute@developer.gserviceaccount.com) is used.", + "type": "string" + }, + "usages": { + "description": "Required. Usages when this configuration should be applied.", + "items": { + "enum": [ + "EXECUTION_ENVIRONMENT_USAGE_UNSPECIFIED", + "RENDER", + "DEPLOY" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Use for rendering.", + "Use for deploying and deployment hooks." + ], + "type": "string" + }, + "type": "array" + }, + "workerPool": { + "description": "Optional. The resource name of the `WorkerPool`, with the format `projects/{project}/locations/{location}/workerPools/{worker_pool}`. If this optional field is unspecified, the default Cloud Build pool will be used.", + "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" + }, + "GkeCluster": { + "description": "Information specifying a GKE Cluster.", + "id": "GkeCluster", + "properties": { + "cluster": { + "description": "Information specifying a GKE Cluster. Format is `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}.", + "type": "string" + }, + "internalIp": { + "description": "Optional. If true, `cluster` is accessed using the private IP address of the control plane endpoint. Otherwise, the default IP address of the control plane endpoint is used. The default IP address is the private IP address for clusters with private control-plane endpoints and the public IP address otherwise. Only specify this option when `cluster` is a [private GKE cluster](https://cloud.google.com/kubernetes-engine/docs/concepts/private-cluster-concept).", + "type": "boolean" + } + }, + "type": "object" + }, + "ListDeliveryPipelinesResponse": { + "description": "The response object from `ListDeliveryPipelines`.", + "id": "ListDeliveryPipelinesResponse", + "properties": { + "deliveryPipelines": { + "description": "The `DeliveryPipeline` objects.", + "items": { + "$ref": "DeliveryPipeline" + }, + "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" + }, + "ListReleasesResponse": { + "description": "The response object from `ListReleases`.", + "id": "ListReleasesResponse", + "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" + }, + "releases": { + "description": "The `Release` objects.", + "items": { + "$ref": "Release" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListRolloutsResponse": { + "description": "ListRolloutsResponse is the response object reutrned by `ListRollouts`.", + "id": "ListRolloutsResponse", + "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" + }, + "rollouts": { + "description": "The `Rollout` objects.", + "items": { + "$ref": "Rollout" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListTargetsResponse": { + "description": "The response object from `ListTargets`.", + "id": "ListTargetsResponse", + "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" + }, + "targets": { + "description": "The `Target` objects.", + "items": { + "$ref": "Target" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform 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 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" + }, + "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" + }, + "PipelineCondition": { + "description": "PipelineCondition contains all conditions relevant to a Delivery Pipeline.", + "id": "PipelineCondition", + "properties": { + "pipelineReadyCondition": { + "$ref": "PipelineReadyCondition", + "description": "Details around the Pipeline's overall status." + }, + "targetsPresentCondition": { + "$ref": "TargetsPresentCondition", + "description": "Detalis around targets enumerated in the pipeline." + } + }, + "type": "object" + }, + "PipelineReadyCondition": { + "description": "PipelineReadyCondition contains information around the status of the Pipeline.", + "id": "PipelineReadyCondition", + "properties": { + "status": { + "description": "True if the Pipeline is in a valid state. Otherwise at least one condition in `PipelineCondition` is in an invalid state. Iterate over those conditions and see which condition(s) has status = false to find out what is wrong with the Pipeline.", + "type": "boolean" + }, + "updateTime": { + "description": "Last time the condition was updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "Policy", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "PrivatePool": { + "description": "Execution using a private Cloud Build pool.", + "id": "PrivatePool", + "properties": { + "artifactStorage": { + "description": "Optional. Cloud Storage location where execution outputs should be stored. This can either be a bucket (\"gs://my-bucket\") or a path within a bucket (\"gs://my-bucket/my-dir\"). If unspecified, a default bucket located in the same region will be used.", + "type": "string" + }, + "serviceAccount": { + "description": "Optional. Google service account to use for execution. If unspecified, the project execution service account (-compute@developer.gserviceaccount.com) will be used.", + "type": "string" + }, + "workerPool": { + "description": "Required. Resource name of the Cloud Build worker pool to use. The format is `projects/{project}/locations/{location}/workerPools/{pool}`.", + "type": "string" + } + }, + "type": "object" + }, + "Release": { + "description": "A `Release` resource in the Google Cloud Deploy API. A `Release` defines a specific Skaffold configuration instance that can be deployed.", + "id": "Release", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "User annotations. These attributes can only be set and used by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations.", + "type": "object" + }, + "buildArtifacts": { + "description": "List of artifacts to pass through to Skaffold command.", + "items": { + "$ref": "BuildArtifact" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. Time at which the `Release` was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deliveryPipelineSnapshot": { + "$ref": "DeliveryPipeline", + "description": "Output only. Snapshot of the parent pipeline taken at release creation time.", + "readOnly": true + }, + "description": { + "description": "Description of the `Release`. Max length is 255 characters.", + "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" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels are attributes that can be set and used by both the user and by Google Cloud Deploy. 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": "Optional. Name of the `Release`. Format is projects/{project}/ locations/{location}/deliveryPipelines/{deliveryPipeline}/ releases/a-z{0,62}.", + "type": "string" + }, + "renderEndTime": { + "description": "Output only. Time at which the render completed.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "renderStartTime": { + "description": "Output only. Time at which the render began.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "renderState": { + "description": "Output only. Current state of the render operation.", + "enum": [ + "RENDER_STATE_UNSPECIFIED", + "SUCCEEDED", + "FAILED", + "IN_PROGRESS" + ], + "enumDescriptions": [ + "The render state is unspecified.", + "All rendering operations have completed successfully.", + "All rendering operations have completed, and one or more have failed.", + "Rendering has started and is not complete." + ], + "readOnly": true, + "type": "string" + }, + "skaffoldConfigPath": { + "description": "Filepath of the Skaffold config inside of the config URI.", + "type": "string" + }, + "skaffoldConfigUri": { + "description": "Cloud Storage URI of tar.gz archive containing Skaffold configuration.", + "type": "string" + }, + "skaffoldVersion": { + "description": "The Skaffold version to use when operating on this release, such as \"1.20.0\". Not all versions are valid; Google Cloud Deploy supports a specific set of versions. If unset, the most recent supported Skaffold version will be used.", + "type": "string" + }, + "targetArtifacts": { + "additionalProperties": { + "$ref": "TargetArtifact" + }, + "description": "Output only. Map from target ID to the target artifacts created during the render operation.", + "readOnly": true, + "type": "object" + }, + "targetRenders": { + "additionalProperties": { + "$ref": "TargetRender" + }, + "description": "Output only. Map from target ID to details of the render operation for that target.", + "readOnly": true, + "type": "object" + }, + "targetSnapshots": { + "description": "Output only. Snapshot of the targets taken at release creation time.", + "items": { + "$ref": "Target" + }, + "readOnly": true, + "type": "array" + }, + "uid": { + "description": "Output only. Unique identifier of the `Release`.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Rollout": { + "description": "A `Rollout` resource in the Google Cloud Deploy API. A `Rollout` contains information around a specific deployment to a `Target`.", + "id": "Rollout", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "User annotations. These attributes can only be set and used by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations.", + "type": "object" + }, + "approvalState": { + "description": "Output only. Approval state of the `Rollout`.", + "enum": [ + "APPROVAL_STATE_UNSPECIFIED", + "NEEDS_APPROVAL", + "DOES_NOT_NEED_APPROVAL", + "APPROVED", + "REJECTED" + ], + "enumDescriptions": [ + "The `Rollout` has an unspecified approval state.", + "The `Rollout` requires approval.", + "The `Rollout` does not require approval.", + "The `Rollout` has been approved.", + "The `Rollout` has been rejected." + ], + "readOnly": true, + "type": "string" + }, + "approveTime": { + "description": "Output only. Time at which the `Rollout` was approved.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. Time at which the `Rollout` was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deployEndTime": { + "description": "Output only. Time at which the `Rollout` finished deploying.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deployFailureCause": { + "description": "Output only. The reason this deploy failed. This will always be unspecified while the deploy in progress.", + "enum": [ + "FAILURE_CAUSE_UNSPECIFIED", + "CLOUD_BUILD_UNAVAILABLE", + "EXECUTION_FAILED", + "DEADLINE_EXCEEDED", + "RELEASE_FAILED" + ], + "enumDescriptions": [ + "No reason for failure is specified.", + "Cloud Build is not available, either because it is not enabled or because Cloud Deploy has insufficient permissions. See [required permission](/deploy/docs/cloud-deploy-service-account#required_permissions).", + "The deploy operation did not complete successfully; check Cloud Build logs.", + "Deployment did not complete within the alloted time.", + "Release is in a failed state." + ], + "readOnly": true, + "type": "string" + }, + "deployStartTime": { + "description": "Output only. Time at which the `Rollout` started deploying.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deployingBuild": { + "description": "Output only. The resource name of the Cloud Build `Build` object that is used to deploy the Rollout. Format is `projects/{project}/locations/{location}/builds/{build}`.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Description of the `Rollout` for user purposes. Max length is 255 characters.", + "type": "string" + }, + "enqueueTime": { + "description": "Output only. Time at which the `Rollout` was enqueued.", + "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" + }, + "failureReason": { + "description": "Output only. Reason the build failed. Empty if the build succeeded.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels are attributes that can be set and used by both the user and by Google Cloud Deploy. 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": "Optional. Name of the `Rollout`. Format is projects/{project}/ locations/{location}/deliveryPipelines/{deliveryPipeline}/ releases/{release}/rollouts/a-z{0,62}.", + "type": "string" + }, + "state": { + "description": "Output only. Current state of the `Rollout`.", + "enum": [ + "STATE_UNSPECIFIED", + "SUCCEEDED", + "FAILED", + "IN_PROGRESS", + "PENDING_APPROVAL", + "APPROVAL_REJECTED", + "PENDING", + "PENDING_RELEASE" + ], + "enumDescriptions": [ + "The `Rollout` has an unspecified state.", + "The `Rollout` has completed successfully.", + "The `Rollout` has failed.", + "The `Rollout` is being deployed.", + "The `Rollout` needs approval.", + "An approver rejected the `Rollout`.", + "The `Rollout` is waiting for an earlier Rollout(s) to complete on this `Target`.", + "The `Rollout` is waiting for the `Release` to be fully rendered." + ], + "readOnly": true, + "type": "string" + }, + "targetId": { + "description": "Required. The ID of Target to which this `Rollout` is deploying.", + "type": "string" + }, + "uid": { + "description": "Output only. Unique identifier of the `Rollout`.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SerialPipeline": { + "description": "SerialPipeline defines a sequential set of stages for a `DeliveryPipeline`.", + "id": "SerialPipeline", + "properties": { + "stages": { + "description": "Each stage specifies configuration for a `Target`. The ordering of this list defines the promotion flow.", + "items": { + "$ref": "Stage" + }, + "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 Cloud Platform 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" + }, + "SkaffoldVersion": { + "description": "Details of a supported Skaffold version.", + "id": "SkaffoldVersion", + "properties": { + "supportEndDate": { + "$ref": "Date", + "description": "Date when this version is expected to no longer be supported." + }, + "version": { + "description": "Release version number. For example, \"1.20.3\".", + "type": "string" + } + }, + "type": "object" + }, + "Stage": { + "description": "Stage specifies a location to which to deploy.", + "id": "Stage", + "properties": { + "profiles": { + "description": "Skaffold profiles to use when rendering the manifest for this stage's `Target`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetId": { + "description": "The target_id to which this stage points. This field refers exclusively to the last segment of a target name. For example, this field would just be `my-target` (rather than `projects/project/locations/location/targets/my-target`). The location of the `Target` is inferred to be the same as the location of the `DeliveryPipeline` that contains this `Stage`.", + "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" + }, + "Target": { + "description": "A `Target` resource in the Google Cloud Deploy API. A `Target` defines a location to which a Skaffold configuration can be deployed.", + "id": "Target", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. User annotations. These attributes can only be set and used by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations.", + "type": "object" + }, + "anthosCluster": { + "$ref": "AnthosCluster", + "description": "Information specifying an Anthos Cluster." + }, + "createTime": { + "description": "Output only. Time at which the `Target` was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the `Target`. Max length is 255 characters.", + "type": "string" + }, + "etag": { + "description": "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", + "type": "string" + }, + "executionConfigs": { + "description": "Configurations for all execution that relates to this `Target`. Each `ExecutionEnvironmentUsage` value may only be used in a single configuration; using the same value multiple times is an error. When one or more configurations are specified, they must include the `RENDER` and `DEPLOY` `ExecutionEnvironmentUsage` values. When no configurations are specified, execution will use the default specified in `DefaultPool`.", + "items": { + "$ref": "ExecutionConfig" + }, + "type": "array" + }, + "gke": { + "$ref": "GkeCluster", + "description": "Information specifying a GKE Cluster." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels are attributes that can be set and used by both the user and by Google Cloud Deploy. 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": "Optional. Name of the `Target`. Format is projects/{project}/locations/{location}/targets/a-z{0,62}.", + "type": "string" + }, + "requireApproval": { + "description": "Optional. Whether or not the `Target` requires approval.", + "type": "boolean" + }, + "targetId": { + "description": "Output only. Resource id of the `Target`.", + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. Unique identifier of the `Target`.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Most recent time at which the `Target` was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "TargetArtifact": { + "description": "The artifacts produced by a target render operation.", + "id": "TargetArtifact", + "properties": { + "artifactUri": { + "description": "Output only. URI of a directory containing the artifacts. This contains deployment configuration used by Skaffold during a rollout, and all paths are relative to this location.", + "readOnly": true, + "type": "string" + }, + "manifestPath": { + "description": "Output only. File path of the rendered manifest relative to the URI.", + "readOnly": true, + "type": "string" + }, + "skaffoldConfigPath": { + "description": "Output only. File path of the resolved Skaffold configuration relative to the URI.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "TargetRender": { + "description": "Details of rendering for a single target.", + "id": "TargetRender", + "properties": { + "failureCause": { + "description": "Output only. Reason this render failed. This will always be unspecified while the render in progress.", + "enum": [ + "FAILURE_CAUSE_UNSPECIFIED", + "CLOUD_BUILD_UNAVAILABLE", + "EXECUTION_FAILED" + ], + "enumDescriptions": [ + "No reason for failure is specified.", + "Cloud Build is not available, either because it is not enabled or because Cloud Deploy has insufficient permissions. See [required permission](/deploy/docs/cloud-deploy-service-account#required_permissions).", + "The render operation did not complete successfully; check Cloud Build logs." + ], + "readOnly": true, + "type": "string" + }, + "renderingBuild": { + "description": "Output only. The resource name of the Cloud Build `Build` object that is used to render the manifest for this target. Format is `projects/{project}/locations/{location}/builds/{build}`.", + "readOnly": true, + "type": "string" + }, + "renderingState": { + "description": "Output only. Current state of the render operation for this Target.", + "enum": [ + "TARGET_RENDER_STATE_UNSPECIFIED", + "SUCCEEDED", + "FAILED", + "IN_PROGRESS" + ], + "enumDescriptions": [ + "The render operation state is unspecified.", + "The render operation has completed successfully.", + "The render operation has failed.", + "The render operation is in progress." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "TargetsPresentCondition": { + "description": "TargetsPresentCondition contains information on any Targets defined in the Delivery Pipeline that do not actually exist.", + "id": "TargetsPresentCondition", + "properties": { + "missingTargets": { + "description": "The list of Target names that are missing. For example, projects/{project_id}/locations/{location_name}/targets/{target_name}.", + "items": { + "type": "string" + }, + "type": "array" + }, + "status": { + "description": "True if there aren't any missing Targets.", + "type": "boolean" + }, + "updateTime": { + "description": "Last time the condition was updated.", + "format": "google-datetime", + "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 Deploy API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/clouderrorreporting/v1beta1/clouderrorreporting-api.json b/etc/api/clouderrorreporting/v1beta1/clouderrorreporting-api.json index 9f771941be..4e51af47e6 100644 --- a/etc/api/clouderrorreporting/v1beta1/clouderrorreporting-api.json +++ b/etc/api/clouderrorreporting/v1beta1/clouderrorreporting-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -213,7 +213,7 @@ ] }, "report": { - "description": "Report an individual error event and record the event to a log. This endpoint accepts **either** an OAuth token, **or** an [API key](https://support.google.com/cloud/answer/6158862) for authentication. To use an API key, append it to the URL as the value of a `key` parameter. For example: `POST https://clouderrorreporting.googleapis.com/v1beta1/{projectName}/events:report?key=123ABC456` **Note:** [Error Reporting](/error-reporting) is a global service built on Cloud Logging and doesn't analyze logs stored in regional log buckets or logs routed to other Google Cloud projects. For more information, see [Using Error Reporting with regionalized logs](/error-reporting/docs/regionalization).", + "description": "Report an individual error event and record the event to a log. This endpoint accepts **either** an OAuth token, **or** an [API key](https://support.google.com/cloud/answer/6158862) for authentication. To use an API key, append it to the URL as the value of a `key` parameter. For example: `POST https://clouderrorreporting.googleapis.com/v1beta1/{projectName}/events:report?key=123ABC456` **Note:** [Error Reporting] (https://cloud.google.com/error-reporting) is a global service built on Cloud Logging and doesn't analyze logs stored in regional log buckets or logs routed to other Google Cloud projects. For more information, see [Using Error Reporting with regionalized logs] (https://cloud.google.com/error-reporting/docs/regionalization).", "flatPath": "v1beta1/projects/{projectsId}/events:report", "httpMethod": "POST", "id": "clouderrorreporting.projects.events.report", @@ -430,7 +430,7 @@ } } }, - "revision": "20210323", + "revision": "20220302", "rootUrl": "https://clouderrorreporting.googleapis.com/", "schemas": { "DeleteEventsResponse": { @@ -676,7 +676,7 @@ "description": "Optional. A description of the context in which the error occurred." }, "eventTime": { - "description": "Optional. Time when the event occurred. If not provided, the time when the event was received by the Error Reporting system will be used.", + "description": "Optional. Time when the event occurred. If not provided, the time when the event was received by the Error Reporting system is used. If provided, the time must not exceed the [logs retention period](https://cloud.google.com/logging/quotas#logs_retention_periods) in the past, or be more than 24 hours in the future. If an invalid time is provided, then an error is returned.", "format": "google-datetime", "type": "string" }, diff --git a/etc/api/cloudfunctions/v1/cloudfunctions-api.json b/etc/api/cloudfunctions/v1/cloudfunctions-api.json index 640913eac5..82af22fbdf 100644 --- a/etc/api/cloudfunctions/v1/cloudfunctions-api.json +++ b/etc/api/cloudfunctions/v1/cloudfunctions-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -197,7 +197,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -392,7 +392,7 @@ ], "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).", + "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" @@ -466,7 +466,7 @@ "type": "string" }, "updateMask": { - "description": "Required list of fields to be updated in this request.", + "description": "Required. The list of fields in `CloudFunction` that have to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -546,7 +546,7 @@ } } }, - "revision": "20210325", + "revision": "20220224", "rootUrl": "https://cloudfunctions.googleapis.com/", "schemas": { "AuditConfig": { @@ -598,22 +598,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -670,14 +670,37 @@ "readOnly": true, "type": "string" }, + "buildName": { + "description": "Output only. The Cloud Build Name of the function deployment. `projects//locations//builds/`.", + "readOnly": true, + "type": "string" + }, "buildWorkerPool": { - "description": "Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project.", + "description": "Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (`service-@gcf-admin-robot.iam.gserviceaccount.com`) must be granted the role Cloud Build Custom Workers Builder (`roles/cloudbuild.customworkers.builder`) in the project.", "type": "string" }, "description": { "description": "User-provided description of a function.", "type": "string" }, + "dockerRegistry": { + "description": "Docker Registry to use for this deployment. If `docker_repository` field is specified, this field will be automatically set as `ARTIFACT_REGISTRY`. If unspecified, it currently defaults to `CONTAINER_REGISTRY`. This field may be overridden by the backend for eligible deployments.", + "enum": [ + "DOCKER_REGISTRY_UNSPECIFIED", + "CONTAINER_REGISTRY", + "ARTIFACT_REGISTRY" + ], + "enumDescriptions": [ + "Unspecified.", + "Docker images will be stored in multi-regional Container Registry repositories named `gcf`.", + "Docker images will be stored in regional Artifact Registry repositories. By default, GCF will create and use repositories named `gcf-artifacts` in every region in which a function is deployed. But the repository to use can also be specified by the user using the `docker_repository` field." + ], + "type": "string" + }, + "dockerRepository": { + "description": "User managed repository created in Artifact Registry optionally with a customer managed encryption key. If specified, deployments will use Artifact Registry. If unspecified and the deployment is eligible to use Artifact Registry, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. This is the repository to which the function docker image will be pushed after it is built by Cloud Build. It must match the pattern `projects/{project}/locations/{location}/repositories/{repository}`. Cross-project repositories are not supported. Cross-location repositories are not supported. Repository format must be 'DOCKER'.", + "type": "string" + }, "entryPoint": { "description": "The name of the function (as defined in source code) that will be executed. Defaults to the resource name suffix, if not specified. For backward compatibility, if function with given name is not found, then the system will try to use function named \"function\". For Node.js this is name of a function exported by the module specified in `source_location`.", "type": "string" @@ -713,6 +736,10 @@ ], "type": "string" }, + "kmsKeyName": { + "description": "Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. If specified, you must also provide an artifact registry repository using the `docker_repository` field that was created with the same KMS crypto key. The following service accounts need to be granted the role 'Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter)' on the Key/KeyRing/Project/Organization (least access preferred). 1. Google Cloud Functions service account (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) - Required to protect the function's image. 2. Google Storage service account (service-{project_number}@gs-project-accounts.iam.gserviceaccount.com) - Required to protect the function's source code. If this service account does not exist, deploying a function without a KMS key or retrieving the service agent name provisions it. For more information, see https://cloud.google.com/storage/docs/projects#service-agents and https://cloud.google.com/storage/docs/getting-service-agent#gsutil. Google Cloud Functions delegates access to service agents to protect function resources in internal projects that are not accessible by the end user.", + "type": "string" + }, "labels": { "additionalProperties": { "type": "string" @@ -725,24 +752,43 @@ "format": "int32", "type": "integer" }, + "minInstances": { + "description": "A lower bound for the number function instances that may coexist at a given time.", + "format": "int32", + "type": "integer" + }, "name": { "description": "A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*`", "type": "string" }, "network": { - "description": "The VPC Network that this cloud function can connect to. It can be either the fully-qualified URI, or the short name of the network resource. If the short network name is used, the network must belong to the same project. Otherwise, it must belong to a project within the same organization. The format of this field is either `projects/{project}/global/networks/{network}` or `{network}`, where {project} is a project id where the network is defined, and {network} is the short name of the network. This field is mutually exclusive with `vpc_connector` and will be replaced by it. See [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for more information on connecting Cloud projects.", + "description": "The VPC Network that this cloud function can connect to. It can be either the fully-qualified URI, or the short name of the network resource. If the short network name is used, the network must belong to the same project. Otherwise, it must belong to a project within the same organization. The format of this field is either `projects/{project}/global/networks/{network}` or `{network}`, where `{project}` is a project id where the network is defined, and `{network}` is the short name of the network. This field is mutually exclusive with `vpc_connector` and will be replaced by it. See [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for more information on connecting Cloud projects.", "type": "string" }, "runtime": { - "description": "The runtime in which to run the function. Required when deploying a new function, optional when updating an existing function. For a complete list of possible choices, see the [`gcloud` command reference](/sdk/gcloud/reference/functions/deploy#--runtime).", + "description": "The runtime in which to run the function. Required when deploying a new function, optional when updating an existing function. For a complete list of possible choices, see the [`gcloud` command reference](https://cloud.google.com/sdk/gcloud/reference/functions/deploy#--runtime).", "type": "string" }, + "secretEnvironmentVariables": { + "description": "Secret environment variables configuration.", + "items": { + "$ref": "SecretEnvVar" + }, + "type": "array" + }, + "secretVolumes": { + "description": "Secret volumes configuration.", + "items": { + "$ref": "SecretVolume" + }, + "type": "array" + }, "serviceAccountEmail": { "description": "The email of the function's service account. If empty, defaults to `{project_id}@appspot.gserviceaccount.com`.", "type": "string" }, "sourceArchiveUrl": { - "description": "The Google Cloud Storage URL, starting with gs://, pointing to the zip archive which contains the function.", + "description": "The Google Cloud Storage URL, starting with `gs://`, pointing to the zip archive which contains the function.", "type": "string" }, "sourceRepository": { @@ -754,7 +800,7 @@ "type": "string" }, "sourceUploadUrl": { - "description": "The Google Cloud Storage signed URL used for source uploading, generated by google.cloud.functions.v1.GenerateUploadUrl", + "description": "The Google Cloud Storage signed URL used for source uploading, generated by calling [google.cloud.functions.v1.GenerateUploadUrl]. The signature is validated on write methods (Create, Update) The signature is stripped from the Function object on read methods (Get, List)", "type": "string" }, "status": { @@ -913,6 +959,300 @@ }, "type": "object" }, + "GoogleCloudFunctionsV2alphaOperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleCloudFunctionsV2alphaOperationMetadata", + "properties": { + "apiVersion": { + "description": "API version used to start the operation.", + "type": "string" + }, + "cancelRequested": { + "description": "Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "createTime": { + "description": "The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "requestResource": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The original request that started the operation.", + "type": "object" + }, + "stages": { + "description": "Mechanism for reporting in-progress stages", + "items": { + "$ref": "GoogleCloudFunctionsV2alphaStage" + }, + "type": "array" + }, + "statusDetail": { + "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" + }, + "GoogleCloudFunctionsV2alphaStage": { + "description": "Each Stage of the deployment process", + "id": "GoogleCloudFunctionsV2alphaStage", + "properties": { + "message": { + "description": "Message describing the Stage", + "type": "string" + }, + "name": { + "description": "Name of the Stage. This will be unique for each Stage.", + "enum": [ + "NAME_UNSPECIFIED", + "ARTIFACT_REGISTRY", + "BUILD", + "SERVICE", + "TRIGGER", + "SERVICE_ROLLBACK", + "TRIGGER_ROLLBACK" + ], + "enumDescriptions": [ + "Not specified. Invalid name.", + "Artifact Regsitry Stage", + "Build Stage", + "Service Stage", + "Trigger Stage", + "Service Rollback Stage", + "Trigger Rollback Stage" + ], + "type": "string" + }, + "resource": { + "description": "Resource of the Stage", + "type": "string" + }, + "resourceUri": { + "description": "Link to the current Stage resource", + "type": "string" + }, + "state": { + "description": "Current state of the Stage", + "enum": [ + "STATE_UNSPECIFIED", + "NOT_STARTED", + "IN_PROGRESS", + "COMPLETE" + ], + "enumDescriptions": [ + "Not specified. Invalid state.", + "Stage has not started.", + "Stage is in progress.", + "Stage has completed." + ], + "type": "string" + }, + "stateMessages": { + "description": "State messages from the current Stage.", + "items": { + "$ref": "GoogleCloudFunctionsV2alphaStateMessage" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudFunctionsV2alphaStateMessage": { + "description": "Informational messages about the state of the Cloud Function or Operation.", + "id": "GoogleCloudFunctionsV2alphaStateMessage", + "properties": { + "message": { + "description": "The message.", + "type": "string" + }, + "severity": { + "description": "Severity of the state message.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Not specified. Invalid severity.", + "ERROR-level severity.", + "WARNING-level severity.", + "INFO-level severity." + ], + "type": "string" + }, + "type": { + "description": "One-word CamelCase type of the state message.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudFunctionsV2betaOperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleCloudFunctionsV2betaOperationMetadata", + "properties": { + "apiVersion": { + "description": "API version used to start the operation.", + "type": "string" + }, + "cancelRequested": { + "description": "Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "createTime": { + "description": "The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "requestResource": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The original request that started the operation.", + "type": "object" + }, + "stages": { + "description": "Mechanism for reporting in-progress stages", + "items": { + "$ref": "GoogleCloudFunctionsV2betaStage" + }, + "type": "array" + }, + "statusDetail": { + "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" + }, + "GoogleCloudFunctionsV2betaStage": { + "description": "Each Stage of the deployment process", + "id": "GoogleCloudFunctionsV2betaStage", + "properties": { + "message": { + "description": "Message describing the Stage", + "type": "string" + }, + "name": { + "description": "Name of the Stage. This will be unique for each Stage.", + "enum": [ + "NAME_UNSPECIFIED", + "ARTIFACT_REGISTRY", + "BUILD", + "SERVICE", + "TRIGGER", + "SERVICE_ROLLBACK", + "TRIGGER_ROLLBACK" + ], + "enumDescriptions": [ + "Not specified. Invalid name.", + "Artifact Regsitry Stage", + "Build Stage", + "Service Stage", + "Trigger Stage", + "Service Rollback Stage", + "Trigger Rollback Stage" + ], + "type": "string" + }, + "resource": { + "description": "Resource of the Stage", + "type": "string" + }, + "resourceUri": { + "description": "Link to the current Stage resource", + "type": "string" + }, + "state": { + "description": "Current state of the Stage", + "enum": [ + "STATE_UNSPECIFIED", + "NOT_STARTED", + "IN_PROGRESS", + "COMPLETE" + ], + "enumDescriptions": [ + "Not specified. Invalid state.", + "Stage has not started.", + "Stage is in progress.", + "Stage has completed." + ], + "type": "string" + }, + "stateMessages": { + "description": "State messages from the current Stage.", + "items": { + "$ref": "GoogleCloudFunctionsV2betaStateMessage" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudFunctionsV2betaStateMessage": { + "description": "Informational messages about the state of the Cloud Function or Operation.", + "id": "GoogleCloudFunctionsV2betaStateMessage", + "properties": { + "message": { + "description": "The message.", + "type": "string" + }, + "severity": { + "description": "Severity of the state message.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Not specified. Invalid severity.", + "ERROR-level severity.", + "WARNING-level severity.", + "INFO-level severity." + ], + "type": "string" + }, + "type": { + "description": "One-word CamelCase type of the state message.", + "type": "string" + } + }, + "type": "object" + }, "HttpsTrigger": { "description": "Describes HttpsTrigger, could be used to connect web hooks to function.", "id": "HttpsTrigger", @@ -1077,6 +1417,10 @@ "description": "The Cloud Build ID of the function created or updated by an API call. This field is only populated for Create and Update operations.", "type": "string" }, + "buildName": { + "description": "The Cloud Build Name of the function deployment. This field is only populated for Create and Update operations. `projects//locations//builds/`.", + "type": "string" + }, "request": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", @@ -1090,7 +1434,7 @@ "type": "string" }, "target": { - "description": "Target of the operation - for example projects/project-1/locations/region-1/functions/function-1", + "description": "Target of the operation - for example `projects/project-1/locations/region-1/functions/function-1`", "type": "string" }, "type": { @@ -1123,7 +1467,7 @@ "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/).", + "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": { @@ -1134,7 +1478,7 @@ "type": "array" }, "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.", + "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" }, @@ -1159,6 +1503,70 @@ "properties": {}, "type": "object" }, + "SecretEnvVar": { + "description": "Configuration for a secret environment variable. It has the information necessary to fetch the secret value from secret manager and expose it as an environment variable.", + "id": "SecretEnvVar", + "properties": { + "key": { + "description": "Name of the environment variable.", + "type": "string" + }, + "projectId": { + "description": "Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function.", + "type": "string" + }, + "secret": { + "description": "Name of the secret in secret manager (not the full resource name).", + "type": "string" + }, + "version": { + "description": "Version of the secret (version number or the string 'latest'). It is recommended to use a numeric version for secret environment variables as any updates to the secret value is not reflected until new instances start.", + "type": "string" + } + }, + "type": "object" + }, + "SecretVersion": { + "description": "Configuration for a single version.", + "id": "SecretVersion", + "properties": { + "path": { + "description": "Relative path of the file under the mount path where the secret value for this version will be fetched and made available. For example, setting the mount_path as '/etc/secrets' and path as `/secret_foo` would mount the secret value file at `/etc/secrets/secret_foo`.", + "type": "string" + }, + "version": { + "description": "Version of the secret (version number or the string 'latest'). It is preferrable to use `latest` version with secret volumes as secret value changes are reflected immediately.", + "type": "string" + } + }, + "type": "object" + }, + "SecretVolume": { + "description": "Configuration for a secret volume. It has the information necessary to fetch the secret value from secret manager and make it available as files mounted at the requested paths within the application container. Secret value is not a part of the configuration. Every filesystem read operation performs a lookup in secret manager to retrieve the secret value.", + "id": "SecretVolume", + "properties": { + "mountPath": { + "description": "The path within the container to mount the secret volume. For example, setting the mount_path as `/etc/secrets` would mount the secret value files under the `/etc/secrets` directory. This directory will also be completely shadowed and unavailable to mount any other secrets. Recommended mount paths: /etc/secrets Restricted mount paths: /cloudsql, /dev/log, /pod, /proc, /var/log", + "type": "string" + }, + "projectId": { + "description": "Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function.", + "type": "string" + }, + "secret": { + "description": "Name of the secret in secret manager (not the full resource name).", + "type": "string" + }, + "versions": { + "description": "List of secret versions to mount for this secret. If empty, the `latest` version of the secret will be made available in a file named after the secret under the mount point.", + "items": { + "$ref": "SecretVersion" + }, + "type": "array" + } + }, + "type": "object" + }, "SetIamPolicyRequest": { "description": "Request message for `SetIamPolicy` method.", "id": "SetIamPolicyRequest", diff --git a/etc/api/cloudfunctions/v2alpha/cloudfunctions-api.json b/etc/api/cloudfunctions/v2alpha/cloudfunctions-api.json new file mode 100644 index 0000000000..aeb207dea5 --- /dev/null +++ b/etc/api/cloudfunctions/v2alpha/cloudfunctions-api.json @@ -0,0 +1,1729 @@ +{ + "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://cloudfunctions.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Cloud Functions", + "description": "Manages lightweight user-provided functions executed in response to events.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/functions", + "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": "cloudfunctions:v2alpha", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://cloudfunctions.mtls.googleapis.com/", + "name": "cloudfunctions", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v2alpha/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "cloudfunctions.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. If not set, the service selects a default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "functions": { + "methods": { + "create": { + "description": "Creates a new function. If a function with the given name already exists in the specified project, the long running operation will return `ALREADY_EXISTS` error.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions", + "httpMethod": "POST", + "id": "cloudfunctions.projects.locations.functions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "functionId": { + "description": "The ID to use for the function, which will become the final component of the function's resource name. This value should be 4-63 characters, and valid characters are /a-z-/.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location in which the function should be created, specified in the format `projects/*/locations/*`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+parent}/functions", + "request": { + "$ref": "Function" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a function with the given name from the specified project. If the given function is used by some trigger, the trigger will be updated to remove this function.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}", + "httpMethod": "DELETE", + "id": "cloudfunctions.projects.locations.functions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the function which should be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "generateDownloadUrl": { + "description": "Returns a signed URL for downloading deployed function source code. The URL is only valid for a limited period and should be used within 30 minutes of generation. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:generateDownloadUrl", + "httpMethod": "POST", + "id": "cloudfunctions.projects.locations.functions.generateDownloadUrl", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of function for which source code Google Cloud Storage signed URL should be generated.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+name}:generateDownloadUrl", + "request": { + "$ref": "GenerateDownloadUrlRequest" + }, + "response": { + "$ref": "GenerateDownloadUrlResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "generateUploadUrl": { + "description": "Returns a signed URL for uploading a function source code. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls. Once the function source code upload is complete, the used signed URL should be provided in CreateFunction or UpdateFunction request as a reference to the function source code. When uploading source code to the generated signed URL, please follow these restrictions: * Source file type should be a zip file. * No credentials should be attached - the signed URLs provide access to the target bucket using internal service identity; if credentials were attached, the identity from the credentials would be used, but that identity does not have permissions to upload files to the URL. When making a HTTP PUT request, these two headers need to be specified: * `content-type: application/zip` And this header SHOULD NOT be specified: * `Authorization: Bearer YOUR_TOKEN`", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions:generateUploadUrl", + "httpMethod": "POST", + "id": "cloudfunctions.projects.locations.functions.generateUploadUrl", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The project and location in which the Google Cloud Storage signed URL should be generated, specified in the format `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+parent}/functions:generateUploadUrl", + "request": { + "$ref": "GenerateUploadUrlRequest" + }, + "response": { + "$ref": "GenerateUploadUrlResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns a function with the given name from the requested project.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}", + "httpMethod": "GET", + "id": "cloudfunctions.projects.locations.functions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the function which details should be obtained.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "response": { + "$ref": "Function" + }, + "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": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:getIamPolicy", + "httpMethod": "GET", + "id": "cloudfunctions.projects.locations.functions.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns a list of functions that belong to the requested project.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions", + "httpMethod": "GET", + "id": "cloudfunctions.projects.locations.functions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "The filter for Functions that match the filter expression, following the syntax outlined in https://google.aip.dev/160.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "The sorting order of the resources returned. Value should be a comma separated list of fields. The default sorting oder is ascending. See https://google.aip.dev/132#ordering.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Maximum number of functions to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListFunctionsResponse`; indicates that this is a continuation of a prior `ListFunctions` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the function should be listed, specified in the format `projects/*/locations/*` If you want to list functions in all locations, use \"-\" in place of a location. When listing functions in all locations, if one or more location(s) are unreachable, the response will contain functions from all reachable locations along with the names of any unreachable locations.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+parent}/functions", + "response": { + "$ref": "ListFunctionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates existing function.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}", + "httpMethod": "PATCH", + "id": "cloudfunctions.projects.locations.functions.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to be updated. If no field mask is provided, all provided fields in the request will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "request": { + "$ref": "Function" + }, + "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": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:setIamPolicy", + "httpMethod": "POST", + "id": "cloudfunctions.projects.locations.functions.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/[^/]+/functions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+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": "v2alpha/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:testIamPermissions", + "httpMethod": "POST", + "id": "cloudfunctions.projects.locations.functions.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/[^/]+/functions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "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": "cloudfunctions.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. 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": "v2alpha/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "cloudfunctions.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "Required. A filter for matching the requested operations. The supported formats of *filter* are: To query for a specific function: project:*,location:*,function:* To query for all of the latest operations for a project: project:*,latest:true", + "location": "query", + "type": "string" + }, + "name": { + "description": "Must not be set.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of records that should be returned. Requested page size cannot exceed 100. If not set, the default page size is 100. Pagination is only supported when querying for a specific function.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token identifying which result to start with, which is returned by a previous list call. Pagination is only supported when querying for a specific function.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "runtimes": { + "methods": { + "list": { + "description": "Returns a list of runtimes that are supported for the requested project.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/runtimes", + "httpMethod": "GET", + "id": "cloudfunctions.projects.locations.runtimes.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "The filter for Runtimes that match the filter expression, following the syntax outlined in https://google.aip.dev/160.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the runtimes should be listed, specified in the format `projects/*/locations/*`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+parent}/runtimes", + "response": { + "$ref": "ListRuntimesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20220224", + "rootUrl": "https://cloudfunctions.googleapis.com/", + "schemas": { + "AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the principals requesting access for a 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 the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "BuildConfig": { + "description": "Describes the Build step of the function that builds a container from the given source.", + "id": "BuildConfig", + "properties": { + "build": { + "description": "Output only. The Cloud Build name of the latest successful deployment of the function.", + "readOnly": true, + "type": "string" + }, + "dockerRepository": { + "description": "Optional. User managed repository created in Artifact Registry optionally with a customer managed encryption key. This is the repository to which the function docker image will be pushed after it is built by Cloud Build. If unspecified, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. It must match the pattern `projects/{project}/locations/{location}/repositories/{repository}`. Cross-project repositories are not supported. Cross-location repositories are not supported. Repository format must be 'DOCKER'.", + "type": "string" + }, + "entryPoint": { + "description": "The name of the function (as defined in source code) that will be executed. Defaults to the resource name suffix, if not specified. For backward compatibility, if function with given name is not found, then the system will try to use function named \"function\". For Node.js this is name of a function exported by the module specified in `source_location`.", + "type": "string" + }, + "environmentVariables": { + "additionalProperties": { + "type": "string" + }, + "description": "User-provided build-time environment variables for the function", + "type": "object" + }, + "runtime": { + "description": "The runtime in which to run the function. Required when deploying a new function, optional when updating an existing function. For a complete list of possible choices, see the [`gcloud` command reference](https://cloud.google.com/sdk/gcloud/reference/functions/deploy#--runtime).", + "type": "string" + }, + "source": { + "$ref": "Source", + "description": "The location of the function source code." + }, + "sourceProvenance": { + "$ref": "SourceProvenance", + "description": "Output only. A permanent fixed identifier for source.", + "readOnly": true + }, + "workerPool": { + "description": "Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project.", + "type": "string" + } + }, + "type": "object" + }, + "EventFilter": { + "description": "Filters events based on exact matches on the CloudEvents attributes.", + "id": "EventFilter", + "properties": { + "attribute": { + "description": "Required. The name of a CloudEvents attribute.", + "type": "string" + }, + "value": { + "description": "Required. The value for the attribute.", + "type": "string" + } + }, + "type": "object" + }, + "EventTrigger": { + "description": "Describes EventTrigger, used to request events to be sent from another service.", + "id": "EventTrigger", + "properties": { + "eventFilters": { + "description": "Criteria used to filter events.", + "items": { + "$ref": "EventFilter" + }, + "type": "array" + }, + "eventType": { + "description": "Required. The type of event to observe. For example: `google.cloud.audit.log.v1.written` or `google.cloud.pubsub.topic.v1.messagePublished`.", + "type": "string" + }, + "pubsubTopic": { + "description": "Optional. The name of a Pub/Sub topic in the same project that will be used as the transport topic for the event delivery. Format: `projects/{project}/topics/{topic}`. This is only valid for events of type `google.cloud.pubsub.topic.v1.messagePublished`. The topic provided here will not be deleted at function deletion.", + "type": "string" + }, + "retryPolicy": { + "description": "Optional. If unset, then defaults to ignoring failures (i.e. not retrying them).", + "enum": [ + "RETRY_POLICY_UNSPECIFIED", + "RETRY_POLICY_DO_NOT_RETRY", + "RETRY_POLICY_RETRY" + ], + "enumDescriptions": [ + "Not specified.", + "Do not retry.", + "Retry on any failure, retry up to 7 days with an exponential backoff (capped at 10 seconds)." + ], + "type": "string" + }, + "serviceAccountEmail": { + "description": "Optional. The email of the trigger's service account. The service account must have permission to invoke Cloud Run services, the permission is `run.routes.invoke`. If empty, defaults to the Compute Engine default service account: `{project_number}-compute@developer.gserviceaccount.com`.", + "type": "string" + }, + "trigger": { + "description": "Output only. The resource name of the Eventarc trigger. The format of this field is `projects/{project}/locations/{region}/triggers/{trigger}`.", + "readOnly": true, + "type": "string" + }, + "triggerRegion": { + "description": "The region that the trigger will be in. The trigger will only receive events originating in this region. It can be the same region as the function, a different region or multi-region, or the global region. If not provided, defaults to the same region as the function.", + "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" + }, + "Function": { + "description": "Describes a Cloud Function that contains user computation executed in response to an event. It encapsulate function and triggers configurations.", + "id": "Function", + "properties": { + "buildConfig": { + "$ref": "BuildConfig", + "description": "Describes the Build step of the function that builds a container from the given source." + }, + "description": { + "description": "User-provided description of a function.", + "type": "string" + }, + "environment": { + "description": "Describe whether the function is gen1 or gen2.", + "enum": [ + "ENVIRONMENT_UNSPECIFIED", + "GEN_1", + "GEN_2" + ], + "enumDescriptions": [ + "Unspecified", + "Gen 1", + "Gen 2" + ], + "type": "string" + }, + "eventTrigger": { + "$ref": "EventTrigger", + "description": "An Eventarc trigger managed by Google Cloud Functions that fires events in response to a condition in another service." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels associated with this Cloud Function.", + "type": "object" + }, + "name": { + "description": "A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*`", + "type": "string" + }, + "serviceConfig": { + "$ref": "ServiceConfig", + "description": "Describes the Service being deployed. Currently deploys services to Cloud Run (fully managed)." + }, + "state": { + "description": "Output only. State of the function.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "FAILED", + "DEPLOYING", + "DELETING", + "UNKNOWN" + ], + "enumDescriptions": [ + "Not specified. Invalid state.", + "Function has been successfully deployed and is serving.", + "Function deployment failed and the function is not serving.", + "Function is being created or updated.", + "Function is being deleted.", + "Function deployment failed and the function serving state is undefined. The function should be updated or deleted to move it out of this state." + ], + "readOnly": true, + "type": "string" + }, + "stateMessages": { + "description": "Output only. State Messages for this Cloud Function.", + "items": { + "$ref": "GoogleCloudFunctionsV2alphaStateMessage" + }, + "readOnly": true, + "type": "array" + }, + "updateTime": { + "description": "Output only. The last update timestamp of a Cloud Function.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GenerateDownloadUrlRequest": { + "description": "Request of `GenerateDownloadUrl` method.", + "id": "GenerateDownloadUrlRequest", + "properties": {}, + "type": "object" + }, + "GenerateDownloadUrlResponse": { + "description": "Response of `GenerateDownloadUrl` method.", + "id": "GenerateDownloadUrlResponse", + "properties": { + "downloadUrl": { + "description": "The generated Google Cloud Storage signed URL that should be used for function source code download.", + "type": "string" + } + }, + "type": "object" + }, + "GenerateUploadUrlRequest": { + "description": "Request of `GenerateSourceUploadUrl` method.", + "id": "GenerateUploadUrlRequest", + "properties": {}, + "type": "object" + }, + "GenerateUploadUrlResponse": { + "description": "Response of `GenerateSourceUploadUrl` method.", + "id": "GenerateUploadUrlResponse", + "properties": { + "storageSource": { + "$ref": "StorageSource", + "description": "The location of the source code in the upload bucket. Once the archive is uploaded using the `upload_url` use this field to set the `function.build_config.source.storage_source` during CreateFunction and UpdateFunction. Generation defaults to 0, as Cloud Storage provides a new generation only upon uploading a new object or version of an object." + }, + "uploadUrl": { + "description": "The generated Google Cloud Storage signed URL that should be used for a function source code upload. The uploaded file should be a zip archive which contains a function.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudFunctionsV2alphaOperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleCloudFunctionsV2alphaOperationMetadata", + "properties": { + "apiVersion": { + "description": "API version used to start the operation.", + "type": "string" + }, + "cancelRequested": { + "description": "Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "createTime": { + "description": "The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "requestResource": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The original request that started the operation.", + "type": "object" + }, + "stages": { + "description": "Mechanism for reporting in-progress stages", + "items": { + "$ref": "GoogleCloudFunctionsV2alphaStage" + }, + "type": "array" + }, + "statusDetail": { + "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" + }, + "GoogleCloudFunctionsV2alphaStage": { + "description": "Each Stage of the deployment process", + "id": "GoogleCloudFunctionsV2alphaStage", + "properties": { + "message": { + "description": "Message describing the Stage", + "type": "string" + }, + "name": { + "description": "Name of the Stage. This will be unique for each Stage.", + "enum": [ + "NAME_UNSPECIFIED", + "ARTIFACT_REGISTRY", + "BUILD", + "SERVICE", + "TRIGGER", + "SERVICE_ROLLBACK", + "TRIGGER_ROLLBACK" + ], + "enumDescriptions": [ + "Not specified. Invalid name.", + "Artifact Regsitry Stage", + "Build Stage", + "Service Stage", + "Trigger Stage", + "Service Rollback Stage", + "Trigger Rollback Stage" + ], + "type": "string" + }, + "resource": { + "description": "Resource of the Stage", + "type": "string" + }, + "resourceUri": { + "description": "Link to the current Stage resource", + "type": "string" + }, + "state": { + "description": "Current state of the Stage", + "enum": [ + "STATE_UNSPECIFIED", + "NOT_STARTED", + "IN_PROGRESS", + "COMPLETE" + ], + "enumDescriptions": [ + "Not specified. Invalid state.", + "Stage has not started.", + "Stage is in progress.", + "Stage has completed." + ], + "type": "string" + }, + "stateMessages": { + "description": "State messages from the current Stage.", + "items": { + "$ref": "GoogleCloudFunctionsV2alphaStateMessage" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudFunctionsV2alphaStateMessage": { + "description": "Informational messages about the state of the Cloud Function or Operation.", + "id": "GoogleCloudFunctionsV2alphaStateMessage", + "properties": { + "message": { + "description": "The message.", + "type": "string" + }, + "severity": { + "description": "Severity of the state message.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Not specified. Invalid severity.", + "ERROR-level severity.", + "WARNING-level severity.", + "INFO-level severity." + ], + "type": "string" + }, + "type": { + "description": "One-word CamelCase type of the state message.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudFunctionsV2betaOperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleCloudFunctionsV2betaOperationMetadata", + "properties": { + "apiVersion": { + "description": "API version used to start the operation.", + "type": "string" + }, + "cancelRequested": { + "description": "Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "createTime": { + "description": "The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "requestResource": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The original request that started the operation.", + "type": "object" + }, + "stages": { + "description": "Mechanism for reporting in-progress stages", + "items": { + "$ref": "GoogleCloudFunctionsV2betaStage" + }, + "type": "array" + }, + "statusDetail": { + "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" + }, + "GoogleCloudFunctionsV2betaStage": { + "description": "Each Stage of the deployment process", + "id": "GoogleCloudFunctionsV2betaStage", + "properties": { + "message": { + "description": "Message describing the Stage", + "type": "string" + }, + "name": { + "description": "Name of the Stage. This will be unique for each Stage.", + "enum": [ + "NAME_UNSPECIFIED", + "ARTIFACT_REGISTRY", + "BUILD", + "SERVICE", + "TRIGGER", + "SERVICE_ROLLBACK", + "TRIGGER_ROLLBACK" + ], + "enumDescriptions": [ + "Not specified. Invalid name.", + "Artifact Regsitry Stage", + "Build Stage", + "Service Stage", + "Trigger Stage", + "Service Rollback Stage", + "Trigger Rollback Stage" + ], + "type": "string" + }, + "resource": { + "description": "Resource of the Stage", + "type": "string" + }, + "resourceUri": { + "description": "Link to the current Stage resource", + "type": "string" + }, + "state": { + "description": "Current state of the Stage", + "enum": [ + "STATE_UNSPECIFIED", + "NOT_STARTED", + "IN_PROGRESS", + "COMPLETE" + ], + "enumDescriptions": [ + "Not specified. Invalid state.", + "Stage has not started.", + "Stage is in progress.", + "Stage has completed." + ], + "type": "string" + }, + "stateMessages": { + "description": "State messages from the current Stage.", + "items": { + "$ref": "GoogleCloudFunctionsV2betaStateMessage" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudFunctionsV2betaStateMessage": { + "description": "Informational messages about the state of the Cloud Function or Operation.", + "id": "GoogleCloudFunctionsV2betaStateMessage", + "properties": { + "message": { + "description": "The message.", + "type": "string" + }, + "severity": { + "description": "Severity of the state message.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Not specified. Invalid severity.", + "ERROR-level severity.", + "WARNING-level severity.", + "INFO-level severity." + ], + "type": "string" + }, + "type": { + "description": "One-word CamelCase type of the state message.", + "type": "string" + } + }, + "type": "object" + }, + "ListFunctionsResponse": { + "description": "Response for the `ListFunctions` method.", + "id": "ListFunctionsResponse", + "properties": { + "functions": { + "description": "The functions that match the request.", + "items": { + "$ref": "Function" + }, + "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. The response does not include any functions from these locations.", + "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" + }, + "ListRuntimesResponse": { + "description": "Response for the `ListRuntimes` method.", + "id": "ListRuntimesResponse", + "properties": { + "runtimes": { + "description": "The runtimes that match the request.", + "items": { + "$ref": "Runtime" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform 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 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" + }, + "OperationMetadataV1": { + "description": "Metadata describing an Operation", + "id": "OperationMetadataV1", + "properties": { + "buildId": { + "description": "The Cloud Build ID of the function created or updated by an API call. This field is only populated for Create and Update operations.", + "type": "string" + }, + "buildName": { + "description": "The Cloud Build Name of the function deployment. This field is only populated for Create and Update operations. `projects//locations//builds/`.", + "type": "string" + }, + "request": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The original request that started the operation.", + "type": "object" + }, + "sourceToken": { + "description": "An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments.", + "type": "string" + }, + "target": { + "description": "Target of the operation - for example `projects/project-1/locations/region-1/functions/function-1`", + "type": "string" + }, + "type": { + "description": "Type of operation.", + "enum": [ + "OPERATION_UNSPECIFIED", + "CREATE_FUNCTION", + "UPDATE_FUNCTION", + "DELETE_FUNCTION" + ], + "enumDescriptions": [ + "Unknown operation type.", + "Triggered by CreateFunction call", + "Triggered by UpdateFunction call", + "Triggered by DeleteFunction call." + ], + "type": "string" + }, + "updateTime": { + "description": "The last update timestamp of the operation.", + "format": "google-datetime", + "type": "string" + }, + "versionId": { + "description": "Version id of the function created or updated by an API call. This field is only populated for Create and Update operations.", + "format": "int64", + "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" + }, + "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. eg. helloworld (no leading slash allowed)", + "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" + }, + "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" + }, + "Runtime": { + "description": "Describes a runtime and any special information (e.g., deprecation status) related to it.", + "id": "Runtime", + "properties": { + "displayName": { + "description": "The user facing name, eg 'Go 1.13', 'Node.js 12', etc.", + "type": "string" + }, + "environment": { + "description": "The environment for the runtime.", + "enum": [ + "ENVIRONMENT_UNSPECIFIED", + "GEN_1", + "GEN_2" + ], + "enumDescriptions": [ + "Unspecified", + "Gen 1", + "Gen 2" + ], + "type": "string" + }, + "name": { + "description": "The name of the runtime, e.g., 'go113', 'nodejs12', etc.", + "type": "string" + }, + "stage": { + "description": "The stage of life this runtime is in, e.g., BETA, GA, etc.", + "enum": [ + "RUNTIME_STAGE_UNSPECIFIED", + "DEVELOPMENT", + "ALPHA", + "BETA", + "GA", + "DEPRECATED", + "DECOMMISSIONED" + ], + "enumDescriptions": [ + "Not specified.", + "The runtime is in development.", + "The runtime is in the Alpha stage.", + "The runtime is in the Beta stage.", + "The runtime is generally available.", + "The runtime is deprecated.", + "The runtime is no longer supported." + ], + "type": "string" + }, + "warnings": { + "description": "Warning messages, e.g., a deprecation warning.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ServiceConfig": { + "description": "Describes the Service being deployed. Currently Supported : Cloud Run (fully managed).", + "id": "ServiceConfig", + "properties": { + "allTrafficOnLatestRevision": { + "description": "Whether 100% of traffic is routed to the latest revision. On CreateFunction and UpdateFunction, when set to true, the revision being deployed will serve 100% of traffic, ignoring any traffic split settings, if any. On GetFunction, true will be returned if the latest revision is serving 100% of traffic.", + "type": "boolean" + }, + "availableMemory": { + "description": "The amount of memory available for a function. Defaults to 256M. Supported units are k, M, G, Mi, Gi. If no unit is supplied the value is interpreted as bytes. See https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go a full description.", + "type": "string" + }, + "environmentVariables": { + "additionalProperties": { + "type": "string" + }, + "description": "Environment variables that shall be available during function execution.", + "type": "object" + }, + "ingressSettings": { + "description": "The ingress settings for the function, controlling what traffic can reach it.", + "enum": [ + "INGRESS_SETTINGS_UNSPECIFIED", + "ALLOW_ALL", + "ALLOW_INTERNAL_ONLY", + "ALLOW_INTERNAL_AND_GCLB" + ], + "enumDescriptions": [ + "Unspecified.", + "Allow HTTP traffic from public and private sources.", + "Allow HTTP traffic from only private VPC sources.", + "Allow HTTP traffic from private VPC sources and through GCLB." + ], + "type": "string" + }, + "maxInstanceCount": { + "description": "The limit on the maximum number of function instances that may coexist at a given time. In some cases, such as rapid traffic surges, Cloud Functions may, for a short period of time, create more instances than the specified max instances limit. If your function cannot tolerate this temporary behavior, you may want to factor in a safety margin and set a lower max instances value than your function can tolerate. See the [Max Instances](https://cloud.google.com/functions/docs/max-instances) Guide for more details.", + "format": "int32", + "type": "integer" + }, + "minInstanceCount": { + "description": "The limit on the minimum number of function instances that may coexist at a given time. Function instances are kept in idle state for a short period after they finished executing the request to reduce cold start time for subsequent requests. Setting a minimum instance count will ensure that the given number of instances are kept running in idle state always. This can help with cold start times when jump in incoming request count occurs after the idle instance would have been stopped in the default case.", + "format": "int32", + "type": "integer" + }, + "service": { + "description": "Output only. Name of the service associated with a Function. The format of this field is `projects/{project}/locations/{region}/services/{service}`", + "readOnly": true, + "type": "string" + }, + "serviceAccountEmail": { + "description": "The email of the service's service account. If empty, defaults to `{project_number}-compute@developer.gserviceaccount.com`.", + "type": "string" + }, + "timeoutSeconds": { + "description": "The function execution timeout. Execution is considered failed and can be terminated if the function is not completed at the end of the timeout period. Defaults to 60 seconds.", + "format": "int32", + "type": "integer" + }, + "uri": { + "description": "Output only. URI of the Service deployed.", + "readOnly": true, + "type": "string" + }, + "vpcConnector": { + "description": "The Serverless VPC Access connector that this cloud function can connect to. The format of this field is `projects/*/locations/*/connectors/*`.", + "type": "string" + }, + "vpcConnectorEgressSettings": { + "description": "The egress settings for the connector, controlling what traffic is diverted through it.", + "enum": [ + "VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED", + "PRIVATE_RANGES_ONLY", + "ALL_TRAFFIC" + ], + "enumDescriptions": [ + "Unspecified.", + "Use the VPC Access Connector only for private IP space from RFC1918.", + "Force the use of VPC Access Connector for all egress traffic from the function." + ], + "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 Cloud Platform 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": "The location of the function source code.", + "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." + } + }, + "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": { + "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." + } + }, + "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 gzipped archive file (`.tar.gz`) containing source to build.", + "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": "Cloud Functions API", + "version": "v2alpha", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/cloudfunctions/v2beta/cloudfunctions-api.json b/etc/api/cloudfunctions/v2beta/cloudfunctions-api.json new file mode 100644 index 0000000000..f84592be58 --- /dev/null +++ b/etc/api/cloudfunctions/v2beta/cloudfunctions-api.json @@ -0,0 +1,1729 @@ +{ + "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://cloudfunctions.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Cloud Functions", + "description": "Manages lightweight user-provided functions executed in response to events.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/functions", + "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": "cloudfunctions:v2beta", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://cloudfunctions.mtls.googleapis.com/", + "name": "cloudfunctions", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v2beta/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "cloudfunctions.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": "v2beta/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "functions": { + "methods": { + "create": { + "description": "Creates a new function. If a function with the given name already exists in the specified project, the long running operation will return `ALREADY_EXISTS` error.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/functions", + "httpMethod": "POST", + "id": "cloudfunctions.projects.locations.functions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "functionId": { + "description": "The ID to use for the function, which will become the final component of the function's resource name. This value should be 4-63 characters, and valid characters are /a-z-/.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location in which the function should be created, specified in the format `projects/*/locations/*`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/functions", + "request": { + "$ref": "Function" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a function with the given name from the specified project. If the given function is used by some trigger, the trigger will be updated to remove this function.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}", + "httpMethod": "DELETE", + "id": "cloudfunctions.projects.locations.functions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the function which should be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "generateDownloadUrl": { + "description": "Returns a signed URL for downloading deployed function source code. The URL is only valid for a limited period and should be used within 30 minutes of generation. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:generateDownloadUrl", + "httpMethod": "POST", + "id": "cloudfunctions.projects.locations.functions.generateDownloadUrl", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of function for which source code Google Cloud Storage signed URL should be generated.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}:generateDownloadUrl", + "request": { + "$ref": "GenerateDownloadUrlRequest" + }, + "response": { + "$ref": "GenerateDownloadUrlResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "generateUploadUrl": { + "description": "Returns a signed URL for uploading a function source code. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls. Once the function source code upload is complete, the used signed URL should be provided in CreateFunction or UpdateFunction request as a reference to the function source code. When uploading source code to the generated signed URL, please follow these restrictions: * Source file type should be a zip file. * No credentials should be attached - the signed URLs provide access to the target bucket using internal service identity; if credentials were attached, the identity from the credentials would be used, but that identity does not have permissions to upload files to the URL. When making a HTTP PUT request, these two headers need to be specified: * `content-type: application/zip` And this header SHOULD NOT be specified: * `Authorization: Bearer YOUR_TOKEN`", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/functions:generateUploadUrl", + "httpMethod": "POST", + "id": "cloudfunctions.projects.locations.functions.generateUploadUrl", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The project and location in which the Google Cloud Storage signed URL should be generated, specified in the format `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/functions:generateUploadUrl", + "request": { + "$ref": "GenerateUploadUrlRequest" + }, + "response": { + "$ref": "GenerateUploadUrlResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns a function with the given name from the requested project.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}", + "httpMethod": "GET", + "id": "cloudfunctions.projects.locations.functions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the function which details should be obtained.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "Function" + }, + "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": "v2beta/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:getIamPolicy", + "httpMethod": "GET", + "id": "cloudfunctions.projects.locations.functions.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns a list of functions that belong to the requested project.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/functions", + "httpMethod": "GET", + "id": "cloudfunctions.projects.locations.functions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "The filter for Functions that match the filter expression, following the syntax outlined in https://google.aip.dev/160.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "The sorting order of the resources returned. Value should be a comma separated list of fields. The default sorting oder is ascending. See https://google.aip.dev/132#ordering.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Maximum number of functions to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListFunctionsResponse`; indicates that this is a continuation of a prior `ListFunctions` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the function should be listed, specified in the format `projects/*/locations/*` If you want to list functions in all locations, use \"-\" in place of a location. When listing functions in all locations, if one or more location(s) are unreachable, the response will contain functions from all reachable locations along with the names of any unreachable locations.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/functions", + "response": { + "$ref": "ListFunctionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates existing function.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}", + "httpMethod": "PATCH", + "id": "cloudfunctions.projects.locations.functions.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to be updated. If no field mask is provided, all provided fields in the request will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}", + "request": { + "$ref": "Function" + }, + "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": "v2beta/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:setIamPolicy", + "httpMethod": "POST", + "id": "cloudfunctions.projects.locations.functions.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/[^/]+/functions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+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": "v2beta/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:testIamPermissions", + "httpMethod": "POST", + "id": "cloudfunctions.projects.locations.functions.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/[^/]+/functions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "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": "v2beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "cloudfunctions.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. 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": "v2beta/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "cloudfunctions.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "Required. A filter for matching the requested operations. The supported formats of *filter* are: To query for a specific function: project:*,location:*,function:* To query for all of the latest operations for a project: project:*,latest:true", + "location": "query", + "type": "string" + }, + "name": { + "description": "Must not be set.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of records that should be returned. Requested page size cannot exceed 100. If not set, the default page size is 100. Pagination is only supported when querying for a specific function.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token identifying which result to start with, which is returned by a previous list call. Pagination is only supported when querying for a specific function.", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "runtimes": { + "methods": { + "list": { + "description": "Returns a list of runtimes that are supported for the requested project.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/runtimes", + "httpMethod": "GET", + "id": "cloudfunctions.projects.locations.runtimes.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "The filter for Runtimes that match the filter expression, following the syntax outlined in https://google.aip.dev/160.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the runtimes should be listed, specified in the format `projects/*/locations/*`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/runtimes", + "response": { + "$ref": "ListRuntimesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20220224", + "rootUrl": "https://cloudfunctions.googleapis.com/", + "schemas": { + "AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the principals requesting access for a 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 the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "BuildConfig": { + "description": "Describes the Build step of the function that builds a container from the given source.", + "id": "BuildConfig", + "properties": { + "build": { + "description": "Output only. The Cloud Build name of the latest successful deployment of the function.", + "readOnly": true, + "type": "string" + }, + "dockerRepository": { + "description": "Optional. User managed repository created in Artifact Registry optionally with a customer managed encryption key. This is the repository to which the function docker image will be pushed after it is built by Cloud Build. If unspecified, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. It must match the pattern `projects/{project}/locations/{location}/repositories/{repository}`. Cross-project repositories are not supported. Cross-location repositories are not supported. Repository format must be 'DOCKER'.", + "type": "string" + }, + "entryPoint": { + "description": "The name of the function (as defined in source code) that will be executed. Defaults to the resource name suffix, if not specified. For backward compatibility, if function with given name is not found, then the system will try to use function named \"function\". For Node.js this is name of a function exported by the module specified in `source_location`.", + "type": "string" + }, + "environmentVariables": { + "additionalProperties": { + "type": "string" + }, + "description": "User-provided build-time environment variables for the function", + "type": "object" + }, + "runtime": { + "description": "The runtime in which to run the function. Required when deploying a new function, optional when updating an existing function. For a complete list of possible choices, see the [`gcloud` command reference](https://cloud.google.com/sdk/gcloud/reference/functions/deploy#--runtime).", + "type": "string" + }, + "source": { + "$ref": "Source", + "description": "The location of the function source code." + }, + "sourceProvenance": { + "$ref": "SourceProvenance", + "description": "Output only. A permanent fixed identifier for source.", + "readOnly": true + }, + "workerPool": { + "description": "Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool. If the project id is not the same as the function, then the Cloud Functions Service Agent (service-@gcf-admin-robot.iam.gserviceaccount.com) must be granted the role Cloud Build Custom Workers Builder (roles/cloudbuild.customworkers.builder) in the project.", + "type": "string" + } + }, + "type": "object" + }, + "EventFilter": { + "description": "Filters events based on exact matches on the CloudEvents attributes.", + "id": "EventFilter", + "properties": { + "attribute": { + "description": "Required. The name of a CloudEvents attribute.", + "type": "string" + }, + "value": { + "description": "Required. The value for the attribute.", + "type": "string" + } + }, + "type": "object" + }, + "EventTrigger": { + "description": "Describes EventTrigger, used to request events to be sent from another service.", + "id": "EventTrigger", + "properties": { + "eventFilters": { + "description": "Criteria used to filter events.", + "items": { + "$ref": "EventFilter" + }, + "type": "array" + }, + "eventType": { + "description": "Required. The type of event to observe. For example: `google.cloud.audit.log.v1.written` or `google.cloud.pubsub.topic.v1.messagePublished`.", + "type": "string" + }, + "pubsubTopic": { + "description": "Optional. The name of a Pub/Sub topic in the same project that will be used as the transport topic for the event delivery. Format: `projects/{project}/topics/{topic}`. This is only valid for events of type `google.cloud.pubsub.topic.v1.messagePublished`. The topic provided here will not be deleted at function deletion.", + "type": "string" + }, + "retryPolicy": { + "description": "Optional. If unset, then defaults to ignoring failures (i.e. not retrying them).", + "enum": [ + "RETRY_POLICY_UNSPECIFIED", + "RETRY_POLICY_DO_NOT_RETRY", + "RETRY_POLICY_RETRY" + ], + "enumDescriptions": [ + "Not specified.", + "Do not retry.", + "Retry on any failure, retry up to 7 days with an exponential backoff (capped at 10 seconds)." + ], + "type": "string" + }, + "serviceAccountEmail": { + "description": "Optional. The email of the trigger's service account. The service account must have permission to invoke Cloud Run services, the permission is `run.routes.invoke`. If empty, defaults to the Compute Engine default service account: `{project_number}-compute@developer.gserviceaccount.com`.", + "type": "string" + }, + "trigger": { + "description": "Output only. The resource name of the Eventarc trigger. The format of this field is `projects/{project}/locations/{region}/triggers/{trigger}`.", + "readOnly": true, + "type": "string" + }, + "triggerRegion": { + "description": "The region that the trigger will be in. The trigger will only receive events originating in this region. It can be the same region as the function, a different region or multi-region, or the global region. If not provided, defaults to the same region as the function.", + "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" + }, + "Function": { + "description": "Describes a Cloud Function that contains user computation executed in response to an event. It encapsulate function and triggers configurations.", + "id": "Function", + "properties": { + "buildConfig": { + "$ref": "BuildConfig", + "description": "Describes the Build step of the function that builds a container from the given source." + }, + "description": { + "description": "User-provided description of a function.", + "type": "string" + }, + "environment": { + "description": "Describe whether the function is gen1 or gen2.", + "enum": [ + "ENVIRONMENT_UNSPECIFIED", + "GEN_1", + "GEN_2" + ], + "enumDescriptions": [ + "Unspecified", + "Gen 1", + "Gen 2" + ], + "type": "string" + }, + "eventTrigger": { + "$ref": "EventTrigger", + "description": "An Eventarc trigger managed by Google Cloud Functions that fires events in response to a condition in another service." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels associated with this Cloud Function.", + "type": "object" + }, + "name": { + "description": "A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*`", + "type": "string" + }, + "serviceConfig": { + "$ref": "ServiceConfig", + "description": "Describes the Service being deployed. Currently deploys services to Cloud Run (fully managed)." + }, + "state": { + "description": "Output only. State of the function.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "FAILED", + "DEPLOYING", + "DELETING", + "UNKNOWN" + ], + "enumDescriptions": [ + "Not specified. Invalid state.", + "Function has been successfully deployed and is serving.", + "Function deployment failed and the function is not serving.", + "Function is being created or updated.", + "Function is being deleted.", + "Function deployment failed and the function serving state is undefined. The function should be updated or deleted to move it out of this state." + ], + "readOnly": true, + "type": "string" + }, + "stateMessages": { + "description": "Output only. State Messages for this Cloud Function.", + "items": { + "$ref": "GoogleCloudFunctionsV2betaStateMessage" + }, + "readOnly": true, + "type": "array" + }, + "updateTime": { + "description": "Output only. The last update timestamp of a Cloud Function.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GenerateDownloadUrlRequest": { + "description": "Request of `GenerateDownloadUrl` method.", + "id": "GenerateDownloadUrlRequest", + "properties": {}, + "type": "object" + }, + "GenerateDownloadUrlResponse": { + "description": "Response of `GenerateDownloadUrl` method.", + "id": "GenerateDownloadUrlResponse", + "properties": { + "downloadUrl": { + "description": "The generated Google Cloud Storage signed URL that should be used for function source code download.", + "type": "string" + } + }, + "type": "object" + }, + "GenerateUploadUrlRequest": { + "description": "Request of `GenerateSourceUploadUrl` method.", + "id": "GenerateUploadUrlRequest", + "properties": {}, + "type": "object" + }, + "GenerateUploadUrlResponse": { + "description": "Response of `GenerateSourceUploadUrl` method.", + "id": "GenerateUploadUrlResponse", + "properties": { + "storageSource": { + "$ref": "StorageSource", + "description": "The location of the source code in the upload bucket. Once the archive is uploaded using the `upload_url` use this field to set the `function.build_config.source.storage_source` during CreateFunction and UpdateFunction. Generation defaults to 0, as Cloud Storage provides a new generation only upon uploading a new object or version of an object." + }, + "uploadUrl": { + "description": "The generated Google Cloud Storage signed URL that should be used for a function source code upload. The uploaded file should be a zip archive which contains a function.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudFunctionsV2alphaOperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleCloudFunctionsV2alphaOperationMetadata", + "properties": { + "apiVersion": { + "description": "API version used to start the operation.", + "type": "string" + }, + "cancelRequested": { + "description": "Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "createTime": { + "description": "The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "requestResource": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The original request that started the operation.", + "type": "object" + }, + "stages": { + "description": "Mechanism for reporting in-progress stages", + "items": { + "$ref": "GoogleCloudFunctionsV2alphaStage" + }, + "type": "array" + }, + "statusDetail": { + "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" + }, + "GoogleCloudFunctionsV2alphaStage": { + "description": "Each Stage of the deployment process", + "id": "GoogleCloudFunctionsV2alphaStage", + "properties": { + "message": { + "description": "Message describing the Stage", + "type": "string" + }, + "name": { + "description": "Name of the Stage. This will be unique for each Stage.", + "enum": [ + "NAME_UNSPECIFIED", + "ARTIFACT_REGISTRY", + "BUILD", + "SERVICE", + "TRIGGER", + "SERVICE_ROLLBACK", + "TRIGGER_ROLLBACK" + ], + "enumDescriptions": [ + "Not specified. Invalid name.", + "Artifact Regsitry Stage", + "Build Stage", + "Service Stage", + "Trigger Stage", + "Service Rollback Stage", + "Trigger Rollback Stage" + ], + "type": "string" + }, + "resource": { + "description": "Resource of the Stage", + "type": "string" + }, + "resourceUri": { + "description": "Link to the current Stage resource", + "type": "string" + }, + "state": { + "description": "Current state of the Stage", + "enum": [ + "STATE_UNSPECIFIED", + "NOT_STARTED", + "IN_PROGRESS", + "COMPLETE" + ], + "enumDescriptions": [ + "Not specified. Invalid state.", + "Stage has not started.", + "Stage is in progress.", + "Stage has completed." + ], + "type": "string" + }, + "stateMessages": { + "description": "State messages from the current Stage.", + "items": { + "$ref": "GoogleCloudFunctionsV2alphaStateMessage" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudFunctionsV2alphaStateMessage": { + "description": "Informational messages about the state of the Cloud Function or Operation.", + "id": "GoogleCloudFunctionsV2alphaStateMessage", + "properties": { + "message": { + "description": "The message.", + "type": "string" + }, + "severity": { + "description": "Severity of the state message.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Not specified. Invalid severity.", + "ERROR-level severity.", + "WARNING-level severity.", + "INFO-level severity." + ], + "type": "string" + }, + "type": { + "description": "One-word CamelCase type of the state message.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudFunctionsV2betaOperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleCloudFunctionsV2betaOperationMetadata", + "properties": { + "apiVersion": { + "description": "API version used to start the operation.", + "type": "string" + }, + "cancelRequested": { + "description": "Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "type": "boolean" + }, + "createTime": { + "description": "The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "requestResource": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The original request that started the operation.", + "type": "object" + }, + "stages": { + "description": "Mechanism for reporting in-progress stages", + "items": { + "$ref": "GoogleCloudFunctionsV2betaStage" + }, + "type": "array" + }, + "statusDetail": { + "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" + }, + "GoogleCloudFunctionsV2betaStage": { + "description": "Each Stage of the deployment process", + "id": "GoogleCloudFunctionsV2betaStage", + "properties": { + "message": { + "description": "Message describing the Stage", + "type": "string" + }, + "name": { + "description": "Name of the Stage. This will be unique for each Stage.", + "enum": [ + "NAME_UNSPECIFIED", + "ARTIFACT_REGISTRY", + "BUILD", + "SERVICE", + "TRIGGER", + "SERVICE_ROLLBACK", + "TRIGGER_ROLLBACK" + ], + "enumDescriptions": [ + "Not specified. Invalid name.", + "Artifact Regsitry Stage", + "Build Stage", + "Service Stage", + "Trigger Stage", + "Service Rollback Stage", + "Trigger Rollback Stage" + ], + "type": "string" + }, + "resource": { + "description": "Resource of the Stage", + "type": "string" + }, + "resourceUri": { + "description": "Link to the current Stage resource", + "type": "string" + }, + "state": { + "description": "Current state of the Stage", + "enum": [ + "STATE_UNSPECIFIED", + "NOT_STARTED", + "IN_PROGRESS", + "COMPLETE" + ], + "enumDescriptions": [ + "Not specified. Invalid state.", + "Stage has not started.", + "Stage is in progress.", + "Stage has completed." + ], + "type": "string" + }, + "stateMessages": { + "description": "State messages from the current Stage.", + "items": { + "$ref": "GoogleCloudFunctionsV2betaStateMessage" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudFunctionsV2betaStateMessage": { + "description": "Informational messages about the state of the Cloud Function or Operation.", + "id": "GoogleCloudFunctionsV2betaStateMessage", + "properties": { + "message": { + "description": "The message.", + "type": "string" + }, + "severity": { + "description": "Severity of the state message.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Not specified. Invalid severity.", + "ERROR-level severity.", + "WARNING-level severity.", + "INFO-level severity." + ], + "type": "string" + }, + "type": { + "description": "One-word CamelCase type of the state message.", + "type": "string" + } + }, + "type": "object" + }, + "ListFunctionsResponse": { + "description": "Response for the `ListFunctions` method.", + "id": "ListFunctionsResponse", + "properties": { + "functions": { + "description": "The functions that match the request.", + "items": { + "$ref": "Function" + }, + "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. The response does not include any functions from these locations.", + "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" + }, + "ListRuntimesResponse": { + "description": "Response for the `ListRuntimes` method.", + "id": "ListRuntimesResponse", + "properties": { + "runtimes": { + "description": "The runtimes that match the request.", + "items": { + "$ref": "Runtime" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform 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 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" + }, + "OperationMetadataV1": { + "description": "Metadata describing an Operation", + "id": "OperationMetadataV1", + "properties": { + "buildId": { + "description": "The Cloud Build ID of the function created or updated by an API call. This field is only populated for Create and Update operations.", + "type": "string" + }, + "buildName": { + "description": "The Cloud Build Name of the function deployment. This field is only populated for Create and Update operations. `projects//locations//builds/`.", + "type": "string" + }, + "request": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The original request that started the operation.", + "type": "object" + }, + "sourceToken": { + "description": "An identifier for Firebase function sources. Disclaimer: This field is only supported for Firebase function deployments.", + "type": "string" + }, + "target": { + "description": "Target of the operation - for example `projects/project-1/locations/region-1/functions/function-1`", + "type": "string" + }, + "type": { + "description": "Type of operation.", + "enum": [ + "OPERATION_UNSPECIFIED", + "CREATE_FUNCTION", + "UPDATE_FUNCTION", + "DELETE_FUNCTION" + ], + "enumDescriptions": [ + "Unknown operation type.", + "Triggered by CreateFunction call", + "Triggered by UpdateFunction call", + "Triggered by DeleteFunction call." + ], + "type": "string" + }, + "updateTime": { + "description": "The last update timestamp of the operation.", + "format": "google-datetime", + "type": "string" + }, + "versionId": { + "description": "Version id of the function created or updated by an API call. This field is only populated for Create and Update operations.", + "format": "int64", + "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" + }, + "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. eg. helloworld (no leading slash allowed)", + "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" + }, + "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" + }, + "Runtime": { + "description": "Describes a runtime and any special information (e.g., deprecation status) related to it.", + "id": "Runtime", + "properties": { + "displayName": { + "description": "The user facing name, eg 'Go 1.13', 'Node.js 12', etc.", + "type": "string" + }, + "environment": { + "description": "The environment for the runtime.", + "enum": [ + "ENVIRONMENT_UNSPECIFIED", + "GEN_1", + "GEN_2" + ], + "enumDescriptions": [ + "Unspecified", + "Gen 1", + "Gen 2" + ], + "type": "string" + }, + "name": { + "description": "The name of the runtime, e.g., 'go113', 'nodejs12', etc.", + "type": "string" + }, + "stage": { + "description": "The stage of life this runtime is in, e.g., BETA, GA, etc.", + "enum": [ + "RUNTIME_STAGE_UNSPECIFIED", + "DEVELOPMENT", + "ALPHA", + "BETA", + "GA", + "DEPRECATED", + "DECOMMISSIONED" + ], + "enumDescriptions": [ + "Not specified.", + "The runtime is in development.", + "The runtime is in the Alpha stage.", + "The runtime is in the Beta stage.", + "The runtime is generally available.", + "The runtime is deprecated.", + "The runtime is no longer supported." + ], + "type": "string" + }, + "warnings": { + "description": "Warning messages, e.g., a deprecation warning.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ServiceConfig": { + "description": "Describes the Service being deployed. Currently Supported : Cloud Run (fully managed).", + "id": "ServiceConfig", + "properties": { + "allTrafficOnLatestRevision": { + "description": "Whether 100% of traffic is routed to the latest revision. On CreateFunction and UpdateFunction, when set to true, the revision being deployed will serve 100% of traffic, ignoring any traffic split settings, if any. On GetFunction, true will be returned if the latest revision is serving 100% of traffic.", + "type": "boolean" + }, + "availableMemory": { + "description": "The amount of memory available for a function. Defaults to 256M. Supported units are k, M, G, Mi, Gi. If no unit is supplied the value is interpreted as bytes. See https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go a full description.", + "type": "string" + }, + "environmentVariables": { + "additionalProperties": { + "type": "string" + }, + "description": "Environment variables that shall be available during function execution.", + "type": "object" + }, + "ingressSettings": { + "description": "The ingress settings for the function, controlling what traffic can reach it.", + "enum": [ + "INGRESS_SETTINGS_UNSPECIFIED", + "ALLOW_ALL", + "ALLOW_INTERNAL_ONLY", + "ALLOW_INTERNAL_AND_GCLB" + ], + "enumDescriptions": [ + "Unspecified.", + "Allow HTTP traffic from public and private sources.", + "Allow HTTP traffic from only private VPC sources.", + "Allow HTTP traffic from private VPC sources and through GCLB." + ], + "type": "string" + }, + "maxInstanceCount": { + "description": "The limit on the maximum number of function instances that may coexist at a given time. In some cases, such as rapid traffic surges, Cloud Functions may, for a short period of time, create more instances than the specified max instances limit. If your function cannot tolerate this temporary behavior, you may want to factor in a safety margin and set a lower max instances value than your function can tolerate. See the [Max Instances](https://cloud.google.com/functions/docs/max-instances) Guide for more details.", + "format": "int32", + "type": "integer" + }, + "minInstanceCount": { + "description": "The limit on the minimum number of function instances that may coexist at a given time. Function instances are kept in idle state for a short period after they finished executing the request to reduce cold start time for subsequent requests. Setting a minimum instance count will ensure that the given number of instances are kept running in idle state always. This can help with cold start times when jump in incoming request count occurs after the idle instance would have been stopped in the default case.", + "format": "int32", + "type": "integer" + }, + "service": { + "description": "Output only. Name of the service associated with a Function. The format of this field is `projects/{project}/locations/{region}/services/{service}`", + "readOnly": true, + "type": "string" + }, + "serviceAccountEmail": { + "description": "The email of the service's service account. If empty, defaults to `{project_number}-compute@developer.gserviceaccount.com`.", + "type": "string" + }, + "timeoutSeconds": { + "description": "The function execution timeout. Execution is considered failed and can be terminated if the function is not completed at the end of the timeout period. Defaults to 60 seconds.", + "format": "int32", + "type": "integer" + }, + "uri": { + "description": "Output only. URI of the Service deployed.", + "readOnly": true, + "type": "string" + }, + "vpcConnector": { + "description": "The Serverless VPC Access connector that this cloud function can connect to. The format of this field is `projects/*/locations/*/connectors/*`.", + "type": "string" + }, + "vpcConnectorEgressSettings": { + "description": "The egress settings for the connector, controlling what traffic is diverted through it.", + "enum": [ + "VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED", + "PRIVATE_RANGES_ONLY", + "ALL_TRAFFIC" + ], + "enumDescriptions": [ + "Unspecified.", + "Use the VPC Access Connector only for private IP space from RFC1918.", + "Force the use of VPC Access Connector for all egress traffic from the function." + ], + "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 Cloud Platform 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": "The location of the function source code.", + "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." + } + }, + "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": { + "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." + } + }, + "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 gzipped archive file (`.tar.gz`) containing source to build.", + "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": "Cloud Functions API", + "version": "v2beta", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/cloudidentity/v1/cloudidentity-api.json b/etc/api/cloudidentity/v1/cloudidentity-api.json index 23805d4e61..f26df3f84f 100644 --- a/etc/api/cloudidentity/v1/cloudidentity-api.json +++ b/etc/api/cloudidentity/v1/cloudidentity-api.json @@ -2,9 +2,15 @@ "auth": { "oauth2": { "scopes": { + "https://www.googleapis.com/auth/cloud-identity.devices": { + "description": "Private Service: https://www.googleapis.com/auth/cloud-identity.devices" + }, "https://www.googleapis.com/auth/cloud-identity.devices.lookup": { "description": "See your device details" }, + "https://www.googleapis.com/auth/cloud-identity.devices.readonly": { + "description": "Private Service: https://www.googleapis.com/auth/cloud-identity.devices.readonly" + }, "https://www.googleapis.com/auth/cloud-identity.groups": { "description": "See, change, create, and delete any of the Cloud Identity Groups that you can access, including the members of each group" }, @@ -12,7 +18,7 @@ "description": "See any Cloud Identity Groups that you can access, including group members and their emails" }, "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -126,7 +132,7 @@ ], "parameters": { "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}`, where device_id is the unique ID assigned to the Device.", + "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}`, where device is the unique ID assigned to the Device.", "location": "path", "pattern": "^devices/[^/]+$", "required": true, @@ -139,7 +145,10 @@ }, "response": { "$ref": "Operation" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices" + ] }, "create": { "description": "Creates a device. Only company-owned device may be created. **Note**: This method is available only to customers who have one of the following SKUs: Enterprise Standard, Enterprise Plus, Enterprise for Education, and Cloud Identity Premium", @@ -149,7 +158,7 @@ "parameterOrder": [], "parameters": { "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", + "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", "location": "query", "type": "string" } @@ -160,7 +169,10 @@ }, "response": { "$ref": "Operation" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices" + ] }, "delete": { "description": "Deletes the specified device.", @@ -172,12 +184,12 @@ ], "parameters": { "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", + "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", "location": "query", "type": "string" }, "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}`, where device_id is the unique ID assigned to the Device.", + "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}`, where device is the unique ID assigned to the Device.", "location": "path", "pattern": "^devices/[^/]+$", "required": true, @@ -187,7 +199,10 @@ "path": "v1/{+name}", "response": { "$ref": "Operation" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices" + ] }, "get": { "description": "Retrieves the specified device.", @@ -199,12 +214,12 @@ ], "parameters": { "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Customer in the format: `customers/{customer_id}`, where customer_id is the customer to whom the device belongs. If you're using this API for your own organization, use `customers/my_customer`. If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", + "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Customer in the format: `customers/{customer}`, where customer is the customer to whom the device belongs. If you're using this API for your own organization, use `customers/my_customer`. If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", "location": "query", "type": "string" }, "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in the format: `devices/{device_id}`, where device_id is the unique ID assigned to the Device.", + "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in the format: `devices/{device}`, where device is the unique ID assigned to the Device.", "location": "path", "pattern": "^devices/[^/]+$", "required": true, @@ -214,7 +229,11 @@ "path": "v1/{+name}", "response": { "$ref": "GoogleAppsCloudidentityDevicesV1Device" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices", + "https://www.googleapis.com/auth/cloud-identity.devices.readonly" + ] }, "list": { "description": "Lists/Searches devices.", @@ -224,7 +243,7 @@ "parameterOrder": [], "parameters": { "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer in the format: `customers/{customer_id}`, where customer_id is the customer to whom the device belongs. If you're using this API for your own organization, use `customers/my_customer`. If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", + "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer in the format: `customers/{customer}`, where customer is the customer to whom the device belongs. If you're using this API for your own organization, use `customers/my_customer`. If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", "location": "query", "type": "string" }, @@ -268,7 +287,11 @@ "path": "v1/devices", "response": { "$ref": "GoogleAppsCloudidentityDevicesV1ListDevicesResponse" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices", + "https://www.googleapis.com/auth/cloud-identity.devices.readonly" + ] }, "wipe": { "description": "Wipes all data on the specified device.", @@ -280,7 +303,7 @@ ], "parameters": { "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.", + "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}/deviceUsers/{device_user}`, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User.", "location": "path", "pattern": "^devices/[^/]+$", "required": true, @@ -293,7 +316,10 @@ }, "response": { "$ref": "Operation" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices" + ] } }, "resources": { @@ -309,7 +335,7 @@ ], "parameters": { "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.", + "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}/deviceUsers/{device_user}`, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User.", "location": "path", "pattern": "^devices/[^/]+/deviceUsers/[^/]+$", "required": true, @@ -322,7 +348,10 @@ }, "response": { "$ref": "Operation" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices" + ] }, "block": { "description": "Blocks device from accessing user data", @@ -334,7 +363,7 @@ ], "parameters": { "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.", + "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}/deviceUsers/{device_user}`, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User.", "location": "path", "pattern": "^devices/[^/]+/deviceUsers/[^/]+$", "required": true, @@ -347,7 +376,10 @@ }, "response": { "$ref": "Operation" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices" + ] }, "cancelWipe": { "description": "Cancels an unfinished user account wipe. This operation can be used to cancel device wipe in the gap between the wipe operation returning success and the device being wiped.", @@ -359,7 +391,7 @@ ], "parameters": { "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.", + "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}/deviceUsers/{device_user}`, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User.", "location": "path", "pattern": "^devices/[^/]+/deviceUsers/[^/]+$", "required": true, @@ -372,7 +404,10 @@ }, "response": { "$ref": "Operation" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices" + ] }, "delete": { "description": "Deletes the specified DeviceUser. This also revokes the user's access to device data.", @@ -384,12 +419,12 @@ ], "parameters": { "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", + "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", "location": "query", "type": "string" }, "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.", + "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}/deviceUsers/{device_user}`, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User.", "location": "path", "pattern": "^devices/[^/]+/deviceUsers/[^/]+$", "required": true, @@ -399,7 +434,10 @@ "path": "v1/{+name}", "response": { "$ref": "Operation" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices" + ] }, "get": { "description": "Retrieves the specified DeviceUser", @@ -411,12 +449,12 @@ ], "parameters": { "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", + "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", "location": "query", "type": "string" }, "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.", + "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}/deviceUsers/{device_user}`, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User.", "location": "path", "pattern": "^devices/[^/]+/deviceUsers/[^/]+$", "required": true, @@ -426,7 +464,11 @@ "path": "v1/{+name}", "response": { "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices", + "https://www.googleapis.com/auth/cloud-identity.devices.readonly" + ] }, "list": { "description": "Lists/Searches DeviceUsers.", @@ -438,7 +480,7 @@ ], "parameters": { "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", + "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", "location": "query", "type": "string" }, @@ -474,7 +516,11 @@ "path": "v1/{+parent}/deviceUsers", "response": { "$ref": "GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices", + "https://www.googleapis.com/auth/cloud-identity.devices.readonly" + ] }, "lookup": { "description": "Looks up resource names of the DeviceUsers associated with the caller's credentials, as well as the properties provided in the request. This method must be called with end-user credentials with the scope: https://www.googleapis.com/auth/cloud-identity.devices.lookup If multiple properties are provided, only DeviceUsers having all of these properties are considered as matches - i.e. the query behaves like an AND. Different platforms require different amounts of information from the caller to ensure that the DeviceUser is uniquely identified. - iOS: No properties need to be passed, the caller's credentials are sufficient to identify the corresponding DeviceUser. - Android: Specifying the 'android_id' field is required. - Desktop: Specifying the 'raw_resource_id' field is required.", @@ -537,7 +583,7 @@ ], "parameters": { "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.", + "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}/deviceUsers/{device_user}`, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User.", "location": "path", "pattern": "^devices/[^/]+/deviceUsers/[^/]+$", "required": true, @@ -550,7 +596,10 @@ }, "response": { "$ref": "Operation" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices" + ] } }, "resources": { @@ -566,12 +615,12 @@ ], "parameters": { "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", + "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", "location": "query", "type": "string" }, "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device_id}/deviceUsers/{device_user_id}/clientStates/{partner_id}`, where `device_id` is the unique ID assigned to the Device, `device_user_id` is the unique ID assigned to the User and `partner_id` identifies the partner storing the data. To get the client state for devices belonging to your own organization, the `partnerId` is in the format: `customerId-*anystring*`. Where the `customerId` is your organization's customer ID and `anystring` is any suffix. This suffix is used in setting up Custom Access Levels in Context-Aware Access. You may use `my_customer` instead of the customer ID for devices managed by your own organization. You may specify `-` in place of the `{device_id}`, so the ClientState resource name can be: `devices/-/deviceUsers/{device_user_resource_id}/clientStates/{partner_id}`.", + "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device}/deviceUsers/{device_user}/clientStates/{partner}`, where `device` is the unique ID assigned to the Device, `device_user` is the unique ID assigned to the User and `partner` identifies the partner storing the data. To get the client state for devices belonging to your own organization, the `partnerId` is in the format: `customerId-*anystring*`. Where the `customerId` is your organization's customer ID and `anystring` is any suffix. This suffix is used in setting up Custom Access Levels in Context-Aware Access. You may use `my_customer` instead of the customer ID for devices managed by your own organization. You may specify `-` in place of the `{device}`, so the ClientState resource name can be: `devices/-/deviceUsers/{device_user_resource}/clientStates/{partner}`.", "location": "path", "pattern": "^devices/[^/]+/deviceUsers/[^/]+/clientStates/[^/]+$", "required": true, @@ -581,7 +630,11 @@ "path": "v1/{+name}", "response": { "$ref": "GoogleAppsCloudidentityDevicesV1ClientState" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices", + "https://www.googleapis.com/auth/cloud-identity.devices.readonly" + ] }, "list": { "description": "Lists the client states for the given search query.", @@ -593,7 +646,7 @@ ], "parameters": { "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", + "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", "location": "query", "type": "string" }, @@ -623,7 +676,11 @@ "path": "v1/{+parent}/clientStates", "response": { "$ref": "GoogleAppsCloudidentityDevicesV1ListClientStatesResponse" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices", + "https://www.googleapis.com/auth/cloud-identity.devices.readonly" + ] }, "patch": { "description": "Updates the client state for the device user **Note**: This method is available only to customers who have one of the following SKUs: Enterprise Standard, Enterprise Plus, Enterprise for Education, and Cloud Identity Premium", @@ -635,12 +692,12 @@ ], "parameters": { "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", + "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", "location": "query", "type": "string" }, "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device_id}/deviceUsers/{device_user_id}/clientState/{partner_id}`, where partner_id corresponds to the partner storing the data. For partners belonging to the \"BeyondCorp Alliance\", this is the partner ID specified to you by Google. For all other callers, this is a string of the form: `{customer_id}-suffix`, where `customer_id` is your customer ID. The *suffix* is any string the caller specifies. This string will be displayed verbatim in the administration console. This suffix is used in setting up Custom Access Levels in Context-Aware Access. Your organization's customer ID can be obtained from the URL: `GET https://www.googleapis.com/admin/directory/v1/customers/my_customer` The `id` field in the response contains the customer ID starting with the letter 'C'. The customer ID to be used in this API is the string after the letter 'C' (not including 'C')", + "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device}/deviceUsers/{device_user}/clientState/{partner}`, where partner corresponds to the partner storing the data. For partners belonging to the \"BeyondCorp Alliance\", this is the partner ID specified to you by Google. For all other callers, this is a string of the form: `{customer}-suffix`, where `customer` is your customer ID. The *suffix* is any string the caller specifies. This string will be displayed verbatim in the administration console. This suffix is used in setting up Custom Access Levels in Context-Aware Access. Your organization's customer ID can be obtained from the URL: `GET https://www.googleapis.com/admin/directory/v1/customers/my_customer` The `id` field in the response contains the customer ID starting with the letter 'C'. The customer ID to be used in this API is the string after the letter 'C' (not including 'C')", "location": "path", "pattern": "^devices/[^/]+/deviceUsers/[^/]+/clientStates/[^/]+$", "required": true, @@ -659,7 +716,10 @@ }, "response": { "$ref": "Operation" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices" + ] } } } @@ -714,7 +774,7 @@ ], "parameters": { "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group` to retrieve. Must be of the form `groups/{group_id}`.", + "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group` to retrieve. Must be of the form `groups/{group}`.", "location": "path", "pattern": "^groups/[^/]+$", "required": true, @@ -740,7 +800,7 @@ ], "parameters": { "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group` to retrieve. Must be of the form `groups/{group_id}`.", + "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group` to retrieve. Must be of the form `groups/{group}`.", "location": "path", "pattern": "^groups/[^/]+$", "required": true, @@ -757,8 +817,41 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getSecuritySettings": { + "description": "Get Security Settings", + "flatPath": "v1/groups/{groupsId}/securitySettings", + "httpMethod": "GET", + "id": "cloudidentity.groups.getSecuritySettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The security settings to retrieve. Format: `groups/{group_id}/securitySettings`", + "location": "path", + "pattern": "^groups/[^/]+/securitySettings$", + "required": true, + "type": "string" + }, + "readMask": { + "description": "Field-level read mask of which fields to return. \"*\" returns all fields. If not specified, all fields will be returned. May only contain the following field: `member_restriction`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "SecuritySettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.groups", + "https://www.googleapis.com/auth/cloud-identity.groups.readonly", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { - "description": "Lists the `Group`s under a customer or namespace.", + "description": "Lists the `Group` resources under a customer or namespace.", "flatPath": "v1/groups", "httpMethod": "GET", "id": "cloudidentity.groups.list", @@ -776,7 +869,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource under which to list all `Group`s. Must be of the form `identitysources/{identity_source_id}` for external- identity-mapped groups or `customers/{customer_id}` for Google Groups.", + "description": "Required. The parent resource under which to list all `Group` resources. Must be of the form `identitysources/{identity_source}` for external- identity-mapped groups or `customers/{customer}` for Google Groups. The `customer` must begin with \"C\" (for example, 'C046psxkn').", "location": "query", "type": "string" }, @@ -819,7 +912,7 @@ "type": "string" }, "groupKey.namespace": { - "description": "The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}.", + "description": "The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source}`.", "location": "query", "type": "string" } @@ -844,14 +937,14 @@ ], "parameters": { "name": { - "description": "Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group`. Shall be of the form `groups/{group_id}`.", + "description": "Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group`. Shall be of the form `groups/{group}`.", "location": "path", "pattern": "^groups/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Required. The fully-qualified names of fields to update. May only contain the following fields: `display_name`, `description`.", + "description": "Required. The names of fields to update. May only contain the following field names: `display_name`, `description`, `labels`.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -870,7 +963,7 @@ ] }, "search": { - "description": "Searches for `Group`s matching a specified query.", + "description": "Searches for `Group` resources matching a specified query.", "flatPath": "v1/groups:search", "httpMethod": "GET", "id": "cloudidentity.groups.search", @@ -888,7 +981,7 @@ "type": "string" }, "query": { - "description": "Required. The search query. Must be specified in [Common Expression Language](https://opensource.google/projects/cel). May only contain equality operators on the parent and inclusion operators on labels (e.g., `parent == 'customers/{customer_id}' && 'cloudidentity.googleapis.com/groups.discussion_forum' in labels`).", + "description": "Required. The search query. Must be specified in [Common Expression Language](https://opensource.google/projects/cel). May only contain equality operators on the parent and inclusion operators on labels (e.g., `parent == 'customers/{customer}' && 'cloudidentity.googleapis.com/groups.discussion_forum' in labels`). The `customer` must begin with \"C\" (for example, 'C046psxkn').", "location": "query", "type": "string" }, @@ -917,6 +1010,41 @@ "https://www.googleapis.com/auth/cloud-identity.groups.readonly", "https://www.googleapis.com/auth/cloud-platform" ] + }, + "updateSecuritySettings": { + "description": "Update Security Settings", + "flatPath": "v1/groups/{groupsId}/securitySettings", + "httpMethod": "PATCH", + "id": "cloudidentity.groups.updateSecuritySettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The resource name of the security settings. Shall be of the form `groups/{group_id}/securitySettings`.", + "location": "path", + "pattern": "^groups/[^/]+/securitySettings$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The fully-qualified names of fields to update. May only contain the following field: `member_restriction.query`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "SecuritySettings" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.groups", + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -932,7 +1060,7 @@ ], "parameters": { "parent": { - "description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the group to check the transitive membership in. Format: `groups/{group_id}`, where `group_id` is the unique id assigned to the Group to which the Membership belongs to.", + "description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the group to check the transitive membership in. Format: `groups/{group}`, where `group` is the unique id assigned to the Group to which the Membership belongs to.", "location": "path", "pattern": "^groups/[^/]+$", "required": true, @@ -964,7 +1092,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent `Group` resource under which to create the `Membership`. Must be of the form `groups/{group_id}`.", + "description": "Required. The parent `Group` resource under which to create the `Membership`. Must be of the form `groups/{group}`.", "location": "path", "pattern": "^groups/[^/]+$", "required": true, @@ -993,7 +1121,7 @@ ], "parameters": { "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership` to delete. Must be of the form `groups/{group_id}/memberships/{membership_id}`", + "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership` to delete. Must be of the form `groups/{group}/memberships/{membership}`", "location": "path", "pattern": "^groups/[^/]+/memberships/[^/]+$", "required": true, @@ -1019,7 +1147,7 @@ ], "parameters": { "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership` to retrieve. Must be of the form `groups/{group_id}/memberships/{membership_id}`.", + "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership` to retrieve. Must be of the form `groups/{group}/memberships/{membership}`.", "location": "path", "pattern": "^groups/[^/]+/memberships/[^/]+$", "required": true, @@ -1046,7 +1174,7 @@ ], "parameters": { "parent": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group_id}`, where `group_id` is the unique ID assigned to the Group to which the Membership belongs to. group_id can be a wildcard collection id \"-\". When a group_id is specified, the membership graph will be constrained to paths between the member (defined in the query) and the parent. If a wildcard collection is provided, all membership paths connected to the member will be returned.", + "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group}`, where `group` is the unique ID assigned to the Group to which the Membership belongs to. group can be a wildcard collection id \"-\". When a group is specified, the membership graph will be constrained to paths between the member (defined in the query) and the parent. If a wildcard collection is provided, all membership paths connected to the member will be returned.", "location": "path", "pattern": "^groups/[^/]+$", "required": true, @@ -1089,7 +1217,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent `Group` resource under which to lookup the `Membership` name. Must be of the form `groups/{group_id}`.", + "description": "Required. The parent `Group` resource under which to lookup the `Membership` name. Must be of the form `groups/{group}`.", "location": "path", "pattern": "^groups/[^/]+$", "required": true, @@ -1136,12 +1264,12 @@ "type": "string" }, "memberKey.namespace": { - "description": "The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}.", + "description": "The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source}`.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent `Group` resource under which to lookup the `Membership` name. Must be of the form `groups/{group_id}`.", + "description": "Required. The parent `Group` resource under which to lookup the `Membership` name. Must be of the form `groups/{group}`.", "location": "path", "pattern": "^groups/[^/]+$", "required": true, @@ -1168,7 +1296,7 @@ ], "parameters": { "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership` whose roles are to be modified. Must be of the form `groups/{group_id}/memberships/{membership_id}`.", + "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership` whose roles are to be modified. Must be of the form `groups/{group}/memberships/{membership}`.", "location": "path", "pattern": "^groups/[^/]+/memberships/[^/]+$", "required": true, @@ -1208,14 +1336,14 @@ "type": "string" }, "parent": { - "description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group_id}`, where `group_id` is always '-' as this API will search across all groups for a given member.", + "description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group}`, where `group` is always '-' as this API will search across all groups for a given member.", "location": "path", "pattern": "^groups/[^/]+$", "required": true, "type": "string" }, "query": { - "description": "Required. A CEL expression that MUST include member specification AND label(s). This is a `required` field. Users can search on label attributes of groups. CONTAINS match ('in') is supported on labels. Certain groups are uniquely identified by both a 'member_key_id' and a 'member_key_namespace', which requires an additional query input: 'member_key_namespace'. Example query: `member_key_id == 'member_key_id_value' && in labels`", + "description": "Required. A CEL expression that MUST include member specification AND label(s). This is a `required` field. Users can search on label attributes of groups. CONTAINS match ('in') is supported on labels. Identity-mapped groups are uniquely identified by both a `member_key_id` and a `member_key_namespace`, which requires an additional query input: `member_key_namespace`. Example query: `member_key_id == 'member_key_id_value' && in labels`", "location": "query", "type": "string" } @@ -1251,7 +1379,7 @@ "type": "string" }, "parent": { - "description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group_id}`, where `group_id` is the unique ID assigned to the Group.", + "description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group}`, where `group` is the unique ID assigned to the Group.", "location": "path", "pattern": "^groups/[^/]+$", "required": true, @@ -1273,7 +1401,7 @@ } } }, - "revision": "20210310", + "revision": "20220301", "rootUrl": "https://cloudidentity.googleapis.com/", "schemas": { "CheckTransitiveMembershipResponse": { @@ -1287,6 +1415,30 @@ }, "type": "object" }, + "CreateGroupMetadata": { + "description": "Metadata for CreateGroup LRO.", + "id": "CreateGroupMetadata", + "properties": {}, + "type": "object" + }, + "CreateMembershipMetadata": { + "description": "Metadata for CreateMembership LRO.", + "id": "CreateMembershipMetadata", + "properties": {}, + "type": "object" + }, + "DeleteGroupMetadata": { + "description": "Metadata for DeleteGroup LRO.", + "id": "DeleteGroupMetadata", + "properties": {}, + "type": "object" + }, + "DeleteMembershipMetadata": { + "description": "Metadata for DeleteMembership LRO.", + "id": "DeleteMembershipMetadata", + "properties": {}, + "type": "object" + }, "DynamicGroupMetadata": { "description": "Dynamic group metadata like queries and status.", "id": "DynamicGroupMetadata", @@ -1311,7 +1463,7 @@ "id": "DynamicGroupQuery", "properties": { "query": { - "description": "Query that determines the memberships of the dynamic group. Examples: All users with at least one `organizations.department` of engineering. `user.organizations.exists(org, org.department=='engineering')` All users with at least one location that has `area` of `foo` and `building_id` of `bar`. `user.locations.exists(loc, loc.area=='foo' && loc.building_id=='bar')`", + "description": "Query that determines the memberships of the dynamic group. Examples: All users with at least one `organizations.department` of engineering. `user.organizations.exists(org, org.department=='engineering')` All users with at least one location that has `area` of `foo` and `building_id` of `bar`. `user.locations.exists(loc, loc.area=='foo' && loc.building_id=='bar')` All users with any variation of the name John Doe (case-insensitive queries add `equalsIgnoreCase()` to the value being queried). `user.name.value.equalsIgnoreCase('jOhn DoE')`", "type": "string" }, "resourceType": { @@ -1338,12 +1490,14 @@ "enum": [ "STATUS_UNSPECIFIED", "UP_TO_DATE", - "UPDATING_MEMBERSHIPS" + "UPDATING_MEMBERSHIPS", + "INVALID_QUERY" ], "enumDescriptions": [ "Default.", "The dynamic group is up-to-date.", - "The dynamic group has just been created and memberships are being updated." + "The dynamic group has just been created and memberships are being updated.", + "Group is in an unrecoverable state and its memberships can't be updated." ], "type": "string" }, @@ -1364,7 +1518,7 @@ "type": "string" }, "namespace": { - "description": "The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}.", + "description": "The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source}`.", "type": "string" } }, @@ -1382,6 +1536,12 @@ }, "type": "object" }, + "GetMembershipGraphMetadata": { + "description": "Metadata of GetMembershipGraphResponse LRO. This is currently empty to permit future extensibility.", + "id": "GetMembershipGraphMetadata", + "properties": {}, + "type": "object" + }, "GetMembershipGraphResponse": { "description": "The response message for MembershipsService.GetMembershipGraph.", "id": "GetMembershipGraphResponse", @@ -1438,12 +1598,18 @@ }, "type": "object" }, + "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata": { + "description": "Metadata for ApproveDeviceUser LRO.", + "id": "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata", + "properties": {}, + "type": "object" + }, "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest": { "description": "Request message for approving the device to access user data.", "id": "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest", "properties": { "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", + "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", "type": "string" } }, @@ -1460,12 +1626,18 @@ }, "type": "object" }, + "GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata": { + "description": "Metadata for BlockDeviceUser LRO.", + "id": "GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata", + "properties": {}, + "type": "object" + }, "GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest": { "description": "Request message for blocking account on device.", "id": "GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest", "properties": { "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", + "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", "type": "string" } }, @@ -1482,12 +1654,18 @@ }, "type": "object" }, + "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata": { + "description": "Metadata for CancelWipeDevice LRO.", + "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata", + "properties": {}, + "type": "object" + }, "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest": { "description": "Request message for cancelling an unfinished device wipe.", "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest", "properties": { "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", + "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", "type": "string" } }, @@ -1504,12 +1682,18 @@ }, "type": "object" }, + "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata": { + "description": "Metadata for CancelWipeDeviceUser LRO.", + "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata", + "properties": {}, + "type": "object" + }, "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest": { "description": "Request message for cancelling an unfinished user account wipe.", "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest", "properties": { "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", + "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", "type": "string" } }, @@ -1613,7 +1797,7 @@ "type": "string" }, "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device_id}/deviceUsers/{device_user_id}/clientState/{partner_id}`, where partner_id corresponds to the partner storing the data. For partners belonging to the \"BeyondCorp Alliance\", this is the partner ID specified to you by Google. For all other callers, this is a string of the form: `{customer_id}-suffix`, where `customer_id` is your customer ID. The *suffix* is any string the caller specifies. This string will be displayed verbatim in the administration console. This suffix is used in setting up Custom Access Levels in Context-Aware Access. Your organization's customer ID can be obtained from the URL: `GET https://www.googleapis.com/admin/directory/v1/customers/my_customer` The `id` field in the response contains the customer ID starting with the letter 'C'. The customer ID to be used in this API is the string after the letter 'C' (not including 'C')", + "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device}/deviceUsers/{device_user}/clientState/{partner}`, where partner corresponds to the partner storing the data. For partners belonging to the \"BeyondCorp Alliance\", this is the partner ID specified to you by Google. For all other callers, this is a string of the form: `{customer}-suffix`, where `customer` is your customer ID. The *suffix* is any string the caller specifies. This string will be displayed verbatim in the administration console. This suffix is used in setting up Custom Access Levels in Context-Aware Access. Your organization's customer ID can be obtained from the URL: `GET https://www.googleapis.com/admin/directory/v1/customers/my_customer` The `id` field in the response contains the customer ID starting with the letter 'C'. The customer ID to be used in this API is the string after the letter 'C' (not including 'C')", "readOnly": true, "type": "string" }, @@ -1639,6 +1823,12 @@ }, "type": "object" }, + "GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata": { + "description": "Metadata for CreateDevice LRO.", + "id": "GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata", + "properties": {}, + "type": "object" + }, "GoogleAppsCloudidentityDevicesV1CustomAttributeValue": { "description": "Additional custom attribute values may be one of these types", "id": "GoogleAppsCloudidentityDevicesV1CustomAttributeValue", @@ -1659,6 +1849,18 @@ }, "type": "object" }, + "GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata": { + "description": "Metadata for DeleteDevice LRO.", + "id": "GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata", + "properties": {}, + "type": "object" + }, + "GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata": { + "description": "Metadata for DeleteDeviceUser LRO.", + "id": "GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata", + "properties": {}, + "type": "object" + }, "GoogleAppsCloudidentityDevicesV1Device": { "description": " A Device within the Cloud Identity Devices API. Represents a Device known to Google Cloud, independent of the device ownership, type, and whether it is assigned or in use by a user.", "id": "GoogleAppsCloudidentityDevicesV1Device", @@ -1819,7 +2021,7 @@ "type": "string" }, "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}`, where device_id is the unique id assigned to the Device.", + "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}`, where device is the unique id assigned to the Device.", "readOnly": true, "type": "string" }, @@ -1945,7 +2147,7 @@ "type": "string" }, "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the DeviceUser in format: `devices/{device_id}/deviceUsers/{user_id}`, where user_id is the ID of the user associated with the user session.", + "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the DeviceUser in format: `devices/{device}/deviceUsers/{device_user}`, where `device_user` uniquely identifies a user's use of a device.", "readOnly": true, "type": "string" }, @@ -2029,6 +2231,12 @@ }, "type": "object" }, + "GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata": { + "description": "Metadata for ListEndpointApps LRO.", + "id": "GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata", + "properties": {}, + "type": "object" + }, "GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse": { "description": "Response containing resource names of the DeviceUsers associated with the caller's credentials.", "id": "GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse", @@ -2038,7 +2246,7 @@ "type": "string" }, "names": { - "description": "[Resource names](https://cloud.google.com/apis/design/resource_names) of the DeviceUsers in the format: `devices/{device_id}/deviceUsers/{user_resource_id}`, where device_id is the unique ID assigned to a Device and user_resource_id is the unique user ID", + "description": "[Resource names](https://cloud.google.com/apis/design/resource_names) of the DeviceUsers in the format: `devices/{device}/deviceUsers/{user_resource}`, where device is the unique ID assigned to a Device and user_resource is the unique user ID", "items": { "type": "string" }, @@ -2051,13 +2259,41 @@ }, "type": "object" }, + "GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata": { + "description": "Metadata for SignoutDeviceUser LRO.", + "id": "GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata", + "properties": {}, + "type": "object" + }, + "GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata": { + "description": "Metadata for UpdateClientState LRO.", + "id": "GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata", + "properties": {}, + "type": "object" + }, + "GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata": { + "description": "Metadata for UpdateDevice LRO.", + "id": "GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata", + "properties": {}, + "type": "object" + }, + "GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata": { + "description": "Metadata for WipeDevice LRO.", + "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata", + "properties": {}, + "type": "object" + }, "GoogleAppsCloudidentityDevicesV1WipeDeviceRequest": { "description": "Request message for wiping all data on the device.", "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceRequest", "properties": { "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", + "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", "type": "string" + }, + "removeResetLock": { + "description": "Optional. Specifies if a user is able to factory reset a device after a Device Wipe. On iOS, this is called \"Activation Lock\", while on Android, this is known as \"Factory Reset Protection\". If true, this protection will be removed from the device, so that a user can successfully factory reset. If false, the setting is untouched on the device.", + "type": "boolean" } }, "type": "object" @@ -2073,12 +2309,18 @@ }, "type": "object" }, + "GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata": { + "description": "Metadata for WipeDeviceUser LRO.", + "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata", + "properties": {}, + "type": "object" + }, "GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest": { "description": "Request message for starting an account wipe on device.", "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest", "properties": { "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", + "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", "type": "string" } }, @@ -2119,22 +2361,22 @@ }, "groupKey": { "$ref": "EntityKey", - "description": "Required. Immutable. The `EntityKey` of the `Group`." + "description": "Required. The `EntityKey` of the `Group`." }, "labels": { "additionalProperties": { "type": "string" }, - "description": "Required. One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value. Google Groups are the default type of group and have a label with a key of `cloudidentity.googleapis.com/groups.discussion_forum` and an empty value. Existing Google Groups can have an additional label with a key of `cloudidentity.googleapis.com/groups.security` and an empty value added to them. **This is an immutable change and the security label cannot be removed once added.** Dynamic groups have a label with a key of `cloudidentity.googleapis.com/groups.dynamic`. Identity-mapped groups for Cloud Search have a label with a key of `system/groups/external` and an empty value. Examples: {\"cloudidentity.googleapis.com/groups.discussion_forum\": \"\"} or {\"system/groups/external\": \"\"}.", + "description": "Required. One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value. Google Groups are the default type of group and have a label with a key of `cloudidentity.googleapis.com/groups.discussion_forum` and an empty value. Existing Google Groups can have an additional label with a key of `cloudidentity.googleapis.com/groups.security` and an empty value added to them. **This is an immutable change and the security label cannot be removed once added.** Dynamic groups have a label with a key of `cloudidentity.googleapis.com/groups.dynamic`. Identity-mapped groups for Cloud Search have a label with a key of `system/groups/external` and an empty value.", "type": "object" }, "name": { - "description": "Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group`. Shall be of the form `groups/{group_id}`.", + "description": "Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group`. Shall be of the form `groups/{group}`.", "readOnly": true, "type": "string" }, "parent": { - "description": "Required. Immutable. The resource name of the entity under which this `Group` resides in the Cloud Identity resource hierarchy. Must be of the form `identitysources/{identity_source_id}` for external- identity-mapped groups or `customers/{customer_id}` for Google Groups.", + "description": "Required. Immutable. The resource name of the entity under which this `Group` resides in the Cloud Identity resource hierarchy. Must be of the form `identitysources/{identity_source}` for external- identity-mapped groups or `customers/{customer}` for Google Groups. The `customer` must begin with \"C\" (for example, 'C046psxkn').", "type": "string" }, "updateTime": { @@ -2247,7 +2489,7 @@ "id": "LookupMembershipNameResponse", "properties": { "name": { - "description": "The [resource name](https://cloud.google.com/apis/design/resource_names) of the looked-up `Membership`. Must be of the form `groups/{group_id}/memberships/{membership_id}`.", + "description": "The [resource name](https://cloud.google.com/apis/design/resource_names) of the looked-up `Membership`. Must be of the form `groups/{group}/memberships/{membership}`.", "type": "string" } }, @@ -2258,7 +2500,7 @@ "id": "MemberRelation", "properties": { "member": { - "description": "Resource name for this member if member is a GROUP, otherwise it is empty.", + "description": "Resource name for this member.", "type": "string" }, "preferredMemberKey": { @@ -2294,6 +2536,21 @@ }, "type": "object" }, + "MemberRestriction": { + "description": "The definition of MemberRestriction", + "id": "MemberRestriction", + "properties": { + "evaluation": { + "$ref": "RestrictionEvaluation", + "description": "The evaluated state of this restriction on a group." + }, + "query": { + "description": "Member Restriction as defined by CEL expression. Supported restrictions are: `member.customer_id` and `member.type`. Valid values for `member.type` are `1`, `2` and `3`. They correspond to USER, SERVICE_ACCOUNT, and GROUP respectively. The value for `member.customer_id` only supports `groupCustomerId()` currently which means the customer id of the group will be used for restriction. Supported operators are `&&`, `||` and `==`, corresponding to AND, OR, and EQUAL. Examples: Allow only service accounts of given customer to be members. `member.type == 2 && member.customer_id == groupCustomerId()` Allow only users or groups to be members. `member.type == 1 || member.type == 3`", + "type": "string" + } + }, + "type": "object" + }, "Membership": { "description": "A membership within the Cloud Identity Groups API. A `Membership` defines a relationship between a `Group` and an entity belonging to that `Group`, referred to as a \"member\".", "id": "Membership", @@ -2305,7 +2562,7 @@ "type": "string" }, "name": { - "description": "Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership`. Shall be of the form `groups/{group_id}/memberships/{membership_id}`.", + "description": "Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership`. Shall be of the form `groups/{group}/memberships/{membership}`.", "readOnly": true, "type": "string" }, @@ -2327,6 +2584,7 @@ "USER", "SERVICE_ACCOUNT", "GROUP", + "SHARED_DRIVE", "OTHER" ], "enumDescriptions": [ @@ -2334,6 +2592,7 @@ "Represents user type.", "Represents service account type.", "Represents group type.", + "Represents Shared drive.", "Represents other type." ], "readOnly": true, @@ -2377,6 +2636,36 @@ "name": { "description": "The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`, `MEMBER`.", "type": "string" + }, + "restrictionEvaluations": { + "$ref": "RestrictionEvaluations", + "description": "Evaluations of restrictions applied to parent group on this membership." + } + }, + "type": "object" + }, + "MembershipRoleRestrictionEvaluation": { + "description": "The evaluated state of this restriction.", + "id": "MembershipRoleRestrictionEvaluation", + "properties": { + "state": { + "description": "Output only. The current state of the restriction", + "enum": [ + "STATE_UNSPECIFIED", + "COMPLIANT", + "FORWARD_COMPLIANT", + "NON_COMPLIANT", + "EVALUATING" + ], + "enumDescriptions": [ + "Default. Should not be used.", + "The member adheres to the parent group's restriction.", + "The group-group membership might be currently violating some parent group's restriction but in future, it will never allow any new member in the child group which can violate parent group's restriction.", + "The member violates the parent group's restriction.", + "The state of the membership is under evaluation." + ], + "readOnly": true, + "type": "string" } }, "type": "object" @@ -2455,12 +2744,49 @@ }, "type": "object" }, + "RestrictionEvaluation": { + "description": "The evaluated state of this restriction.", + "id": "RestrictionEvaluation", + "properties": { + "state": { + "description": "Output only. The current state of the restriction", + "enum": [ + "STATE_UNSPECIFIED", + "EVALUATING", + "COMPLIANT", + "FORWARD_COMPLIANT", + "NON_COMPLIANT" + ], + "enumDescriptions": [ + "Default. Should not be used.", + "The restriction state is currently being evaluated.", + "All transitive memberships are adhering to restriction.", + "Some transitive memberships violate the restriction. No new violating memberships can be added.", + "Some transitive memberships violate the restriction. New violating direct memberships will be denied while indirect memberships may be added." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "RestrictionEvaluations": { + "description": "Evaluations of restrictions applied to parent group on this membership.", + "id": "RestrictionEvaluations", + "properties": { + "memberRestrictionEvaluation": { + "$ref": "MembershipRoleRestrictionEvaluation", + "description": "Evaluation of the member restriction applied to this membership. Empty if the user lacks permission to view the restriction evaluation." + } + }, + "type": "object" + }, "SearchGroupsResponse": { "description": "The response message for GroupsService.SearchGroups.", "id": "SearchGroupsResponse", "properties": { "groups": { - "description": "The `Group`s that match the search query.", + "description": "The `Group` resources that match the search query.", "items": { "$ref": "Group" }, @@ -2509,6 +2835,22 @@ }, "type": "object" }, + "SecuritySettings": { + "description": "The definition of security settings.", + "id": "SecuritySettings", + "properties": { + "memberRestriction": { + "$ref": "MemberRestriction", + "description": "The Member Restriction value" + }, + "name": { + "description": "Output only. The resource name of the security settings. Shall be of the form `groups/{group_id}/securitySettings`.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", @@ -2547,12 +2889,24 @@ }, "type": "object" }, + "UpdateGroupMetadata": { + "description": "Metadata for UpdateGroup LRO.", + "id": "UpdateGroupMetadata", + "properties": {}, + "type": "object" + }, + "UpdateMembershipMetadata": { + "description": "Metadata for UpdateMembership LRO.", + "id": "UpdateMembershipMetadata", + "properties": {}, + "type": "object" + }, "UpdateMembershipRolesParams": { "description": "The details of an update to a `MembershipRole`.", "id": "UpdateMembershipRolesParams", "properties": { "fieldMask": { - "description": "The fully-qualified names of fields to update. May only contain the field `expiry_detail`.", + "description": "The fully-qualified names of fields to update. May only contain the field `expiry_detail.expire_time`.", "format": "google-fieldmask", "type": "string" }, @@ -2562,45 +2916,6 @@ } }, "type": "object" - }, - "UserInvitation": { - "description": "The `UserInvitation` resource represents an email that can be sent to an unmanaged user account inviting them to join the customer\u2019s Google Workspace or Cloud Identity account. An unmanaged account shares an email address domain with the Google Workspace or Cloud Identity account but is not managed by it yet. If the user accepts the `UserInvitation`, the user account will become managed.", - "id": "UserInvitation", - "properties": { - "mailsSentCount": { - "description": "Number of invitation emails sent to the user.", - "format": "int64", - "type": "string" - }, - "name": { - "description": "Shall be of the form `customers/{customer}/userinvitations/{user_email_address}`.", - "type": "string" - }, - "state": { - "description": "State of the `UserInvitation`.", - "enum": [ - "STATE_UNSPECIFIED", - "NOT_YET_SENT", - "INVITED", - "ACCEPTED", - "DECLINED" - ], - "enumDescriptions": [ - "The default value. This value is used if the state is omitted.", - "The `UserInvitation` has been created and is ready for sending as an email.", - "The user has been invited by email.", - "The user has accepted the invitation and is part of the organization.", - "The user declined the invitation." - ], - "type": "string" - }, - "updateTime": { - "description": "Time when the `UserInvitation` was last updated.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" } }, "servicePath": "", diff --git a/etc/api/cloudidentity/v1beta1/cloudidentity-api.json b/etc/api/cloudidentity/v1beta1/cloudidentity-api.json index fdfc5aa55d..822a920c53 100644 --- a/etc/api/cloudidentity/v1beta1/cloudidentity-api.json +++ b/etc/api/cloudidentity/v1beta1/cloudidentity-api.json @@ -2,9 +2,15 @@ "auth": { "oauth2": { "scopes": { + "https://www.googleapis.com/auth/cloud-identity.devices": { + "description": "Private Service: https://www.googleapis.com/auth/cloud-identity.devices" + }, "https://www.googleapis.com/auth/cloud-identity.devices.lookup": { "description": "See your device details" }, + "https://www.googleapis.com/auth/cloud-identity.devices.readonly": { + "description": "Private Service: https://www.googleapis.com/auth/cloud-identity.devices.readonly" + }, "https://www.googleapis.com/auth/cloud-identity.groups": { "description": "See, change, create, and delete any of the Cloud Identity Groups that you can access, including the members of each group" }, @@ -12,7 +18,7 @@ "description": "See any Cloud Identity Groups that you can access, including group members and their emails" }, "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -144,7 +150,7 @@ } }, "get": { - "description": "Retrieves a UserInvitation resource. **Note:** New consumer accounts with the customer\u2019s verified domain created within the previous 48 hours will not appear in the result. This delay also applies to newly-verified domains.", + "description": "Retrieves a UserInvitation resource. **Note:** New consumer accounts with the customer's verified domain created within the previous 48 hours will not appear in the result. This delay also applies to newly-verified domains.", "flatPath": "v1beta1/customers/{customersId}/userinvitations/{userinvitationsId}", "httpMethod": "GET", "id": "cloudidentity.customers.userinvitations.get", @@ -166,7 +172,7 @@ } }, "isInvitableUser": { - "description": "Verifies whether a user account is eligible to receive a UserInvitation (is an unmanaged account). Eligibility is based on the following criteria: * the email address is a consumer account and it\u2019s the primary email address of the account, and * the domain of the email address matches an existing verified Google Workspace or Cloud Identity domain If both conditions are met, the user is eligible. **Note:** This method is not supported for Workspace Essentials customers.", + "description": "Verifies whether a user account is eligible to receive a UserInvitation (is an unmanaged account). Eligibility is based on the following criteria: * the email address is a consumer account and it's the primary email address of the account, and * the domain of the email address matches an existing verified Google Workspace or Cloud Identity domain If both conditions are met, the user is eligible. **Note:** This method is not supported for Workspace Essentials customers.", "flatPath": "v1beta1/customers/{customersId}/userinvitations/{userinvitationsId}:isInvitableUser", "httpMethod": "GET", "id": "cloudidentity.customers.userinvitations.isInvitableUser", @@ -188,7 +194,7 @@ } }, "list": { - "description": "Retrieves a list of UserInvitation resources. **Note:** New consumer accounts with the customer\u2019s verified domain created within the previous 48 hours will not appear in the result. This delay also applies to newly-verified domains.", + "description": "Retrieves a list of UserInvitation resources. **Note:** New consumer accounts with the customer's verified domain created within the previous 48 hours will not appear in the result. This delay also applies to newly-verified domains.", "flatPath": "v1beta1/customers/{customersId}/userinvitations", "httpMethod": "GET", "id": "cloudidentity.customers.userinvitations.list", @@ -284,7 +290,10 @@ }, "response": { "$ref": "Operation" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices" + ] }, "create": { "description": "Creates a device. Only company-owned device may be created. **Note**: This method is available only to customers who have one of the following SKUs: Enterprise Standard, Enterprise Plus, Enterprise for Education, and Cloud Identity Premium", @@ -299,7 +308,10 @@ }, "response": { "$ref": "Operation" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices" + ] }, "delete": { "description": "Deletes the specified device.", @@ -321,7 +333,10 @@ "path": "v1beta1/{+name}", "response": { "$ref": "Operation" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices" + ] }, "get": { "description": "Retrieves the specified device.", @@ -343,7 +358,11 @@ "path": "v1beta1/{+name}", "response": { "$ref": "Device" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices", + "https://www.googleapis.com/auth/cloud-identity.devices.readonly" + ] }, "list": { "description": "Lists/Searches devices.", @@ -392,7 +411,11 @@ "path": "v1beta1/devices", "response": { "$ref": "ListDevicesResponse" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices", + "https://www.googleapis.com/auth/cloud-identity.devices.readonly" + ] }, "wipe": { "description": "Wipes all data on the specified device.", @@ -417,7 +440,10 @@ }, "response": { "$ref": "Operation" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices" + ] } }, "resources": { @@ -446,7 +472,10 @@ }, "response": { "$ref": "Operation" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices" + ] }, "block": { "description": "Blocks device from accessing user data", @@ -471,7 +500,10 @@ }, "response": { "$ref": "Operation" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices" + ] }, "cancelWipe": { "description": "Cancels an unfinished user account wipe. This operation can be used to cancel device wipe in the gap between the wipe operation returning success and the device being wiped.", @@ -496,7 +528,10 @@ }, "response": { "$ref": "Operation" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices" + ] }, "delete": { "description": "Deletes the specified DeviceUser. This also revokes the user's access to device data.", @@ -518,7 +553,10 @@ "path": "v1beta1/{+name}", "response": { "$ref": "Operation" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices" + ] }, "get": { "description": "Retrieves the specified DeviceUser", @@ -540,7 +578,11 @@ "path": "v1beta1/{+name}", "response": { "$ref": "DeviceUser" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices", + "https://www.googleapis.com/auth/cloud-identity.devices.readonly" + ] }, "list": { "description": "Lists/Searches DeviceUsers.", @@ -583,7 +625,11 @@ "path": "v1beta1/{+parent}/deviceUsers", "response": { "$ref": "ListDeviceUsersResponse" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices", + "https://www.googleapis.com/auth/cloud-identity.devices.readonly" + ] }, "lookup": { "description": "Looks up resource names of the DeviceUsers associated with the caller's credentials, as well as the properties provided in the request. This method must be called with end-user credentials with the scope: https://www.googleapis.com/auth/cloud-identity.devices.lookup If multiple properties are provided, only DeviceUsers having all of these properties are considered as matches - i.e. the query behaves like an AND. Different platforms require different amounts of information from the caller to ensure that the DeviceUser is uniquely identified. - iOS: No properties need to be passed, the caller's credentials are sufficient to identify the corresponding DeviceUser. - Android: Specifying the 'android_id' field is required. - Desktop: Specifying the 'raw_resource_id' field is required.", @@ -659,7 +705,10 @@ }, "response": { "$ref": "Operation" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices" + ] } }, "resources": { @@ -690,7 +739,11 @@ "path": "v1beta1/{+name}", "response": { "$ref": "ClientState" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices", + "https://www.googleapis.com/auth/cloud-identity.devices.readonly" + ] }, "patch": { "description": "Updates the client state for the device user **Note**: This method is available only to customers who have one of the following SKUs: Enterprise Standard, Enterprise Plus, Enterprise for Education, and Cloud Identity Premium", @@ -726,7 +779,10 @@ }, "response": { "$ref": "Operation" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.devices" + ] } } } @@ -824,8 +880,41 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getSecuritySettings": { + "description": "Get Security Settings", + "flatPath": "v1beta1/groups/{groupsId}/securitySettings", + "httpMethod": "GET", + "id": "cloudidentity.groups.getSecuritySettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The security settings to retrieve. Format: `groups/{group_id}/securitySettings`", + "location": "path", + "pattern": "^groups/[^/]+/securitySettings$", + "required": true, + "type": "string" + }, + "readMask": { + "description": "Field-level read mask of which fields to return. \"*\" returns all fields. If not specified, all fields will be returned. May only contain the following field: `member_restriction`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "SecuritySettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.groups", + "https://www.googleapis.com/auth/cloud-identity.groups.readonly", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { - "description": "Lists the `Group`s under a customer or namespace.", + "description": "Lists the `Group` resources under a customer or namespace.", "flatPath": "v1beta1/groups", "httpMethod": "GET", "id": "cloudidentity.groups.list", @@ -843,7 +932,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource under which to list all `Group`s. Must be of the form `identitysources/{identity_source_id}` for external- identity-mapped groups or `customers/{customer_id}` for Google Groups.", + "description": "Required. The parent resource under which to list all `Group` resources. Must be of the form `identitysources/{identity_source_id}` for external- identity-mapped groups or `customers/{customer_id}` for Google Groups. The `customer_id` must begin with \"C\" (for example, 'C046psxkn').", "location": "query", "type": "string" }, @@ -886,7 +975,7 @@ "type": "string" }, "groupKey.namespace": { - "description": "The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}.", + "description": "The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}`.", "location": "query", "type": "string" } @@ -918,7 +1007,7 @@ "type": "string" }, "updateMask": { - "description": "Required. The fully-qualified names of fields to update. May only contain the following fields: `display_name`, `description`.", + "description": "Required. The names of fields to update. May only contain the following field names: `display_name`, `description`, `labels`, `dynamic_group_metadata`, `posix_groups`.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -937,7 +1026,7 @@ ] }, "search": { - "description": "Searches for `Group`s matching a specified query.", + "description": "Searches for `Group` resources matching a specified query.", "flatPath": "v1beta1/groups:search", "httpMethod": "GET", "id": "cloudidentity.groups.search", @@ -955,7 +1044,7 @@ "type": "string" }, "query": { - "description": "Required. The search query. Must be specified in [Common Expression Language](https://opensource.google/projects/cel). May only contain equality operators on the parent and inclusion operators on labels (e.g., `parent == 'customers/{customer_id}' && 'cloudidentity.googleapis.com/groups.discussion_forum' in labels`).", + "description": "Required. The search query. Must be specified in [Common Expression Language](https://opensource.google/projects/cel). May only contain equality operators on the parent and inclusion operators on labels (e.g., `parent == 'customers/{customer_id}' && 'cloudidentity.googleapis.com/groups.discussion_forum' in labels`). The `customer_id` must begin with \"C\" (for example, 'C046psxkn').", "location": "query", "type": "string" }, @@ -982,6 +1071,41 @@ "https://www.googleapis.com/auth/cloud-identity.groups.readonly", "https://www.googleapis.com/auth/cloud-platform" ] + }, + "updateSecuritySettings": { + "description": "Update Security Settings", + "flatPath": "v1beta1/groups/{groupsId}/securitySettings", + "httpMethod": "PATCH", + "id": "cloudidentity.groups.updateSecuritySettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The resource name of the security settings. Shall be of the form `groups/{group_id}/securitySettings`.", + "location": "path", + "pattern": "^groups/[^/]+/securitySettings$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The fully-qualified names of fields to update. May only contain the following field: `member_restriction.query`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "SecuritySettings" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.groups", + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -1199,7 +1323,7 @@ "type": "string" }, "memberKey.namespace": { - "description": "The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}.", + "description": "The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}`.", "location": "query", "type": "string" }, @@ -1278,7 +1402,7 @@ "type": "string" }, "query": { - "description": "Required. A CEL expression that MUST include member specification AND label(s). This is a `required` field. Users can search on label attributes of groups. CONTAINS match ('in') is supported on labels. Certain groups are uniquely identified by both a 'member_key_id' and a 'member_key_namespace', which requires an additional query input: 'member_key_namespace'. Example query: `member_key_id == 'member_key_id_value' && in labels`", + "description": "Required. A CEL expression that MUST include member specification AND label(s). This is a `required` field. Users can search on label attributes of groups. CONTAINS match ('in') is supported on labels. Identity-mapped groups are uniquely identified by both a `member_key_id` and a `member_key_namespace`, which requires an additional query input: `member_key_namespace`. Example query: `member_key_id == 'member_key_id_value' && in labels`", "location": "query", "type": "string" } @@ -1334,9 +1458,85 @@ } } } + }, + "orgUnits": { + "resources": { + "memberships": { + "methods": { + "list": { + "description": "List OrgMembership resources in an OrgUnit treated as 'parent'. Parent format: orgUnits/{$orgUnitId} where `$orgUnitId` is the `orgUnitId` from the [Admin SDK `OrgUnit` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/orgunits)", + "flatPath": "v1beta1/orgUnits/{orgUnitsId}/memberships", + "httpMethod": "GET", + "id": "cloudidentity.orgUnits.memberships.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "customer": { + "description": "Required. Immutable. Customer that this OrgMembership belongs to. All authorization will happen on the role assignments of this customer. Format: customers/{$customerId} where `$customerId` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may also use `customers/my_customer` to specify your own organization.", + "location": "query", + "type": "string" + }, + "filter": { + "description": "The search query. Must be specified in [Common Expression Language](https://opensource.google/projects/cel). May only contain equality operators on the `type` (e.g., `type == 'shared_drive'`).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. The service may return fewer than this value. If omitted (or defaulted to zero) the server will default to 50. The maximum allowed value is 100, though requests with page_size greater than that will be silently interpreted as 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `OrgMembershipsService.ListOrgMemberships` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListOrgMembershipsRequest` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Immutable. OrgUnit which is queried for a list of memberships. Format: orgUnits/{$orgUnitId} where `$orgUnitId` is the `orgUnitId` from the [Admin SDK `OrgUnit` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/orgunits).", + "location": "path", + "pattern": "^orgUnits/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/memberships", + "response": { + "$ref": "ListOrgMembershipsResponse" + } + }, + "move": { + "description": "Move an OrgMembership to a new OrgUnit. NOTE: This is an atomic copy-and-delete. The resource will have a new copy under the destination OrgUnit and be deleted from the source OrgUnit. The resource can only be searched under the destination OrgUnit afterwards.", + "flatPath": "v1beta1/orgUnits/{orgUnitsId}/memberships/{membershipsId}:move", + "httpMethod": "POST", + "id": "cloudidentity.orgUnits.memberships.move", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Immutable. The [resource name](https://cloud.google.com/apis/design/resource_names) of the OrgMembership. Format: orgUnits/{$orgUnitId}/memberships/{$membership} The `$orgUnitId` is the `orgUnitId` from the [Admin SDK `OrgUnit` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/orgunits). To manage a Membership without specifying source `orgUnitId`, this API also supports the wildcard character '-' for `$orgUnitId` per https://google.aip.dev/159. The `$membership` shall be of the form `{$entityType};{$memberId}`, where `$entityType` is the enum value of OrgMembership.EntityType, and `memberId` is the `id` from [Drive API (V3) `Drive` resource](https://developers.google.com/drive/api/v3/reference/drives#resource) for OrgMembership.EntityType.SHARED_DRIVE.", + "location": "path", + "pattern": "^orgUnits/[^/]+/memberships/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:move", + "request": { + "$ref": "MoveOrgMembershipRequest" + }, + "response": { + "$ref": "Operation" + } + } + } + } + } } }, - "revision": "20210310", + "revision": "20220301", "rootUrl": "https://cloudidentity.googleapis.com/", "schemas": { "AndroidAttributes": { @@ -1448,6 +1648,82 @@ }, "type": "object" }, + "CertificateAttributes": { + "description": "Stores information about a certificate.", + "id": "CertificateAttributes", + "properties": { + "certificateTemplate": { + "$ref": "CertificateTemplate", + "description": "The X.509 extension for CertificateTemplate." + }, + "fingerprint": { + "description": "The encoded certificate fingerprint.", + "type": "string" + }, + "issuer": { + "description": "The name of the issuer of this certificate.", + "type": "string" + }, + "serialNumber": { + "description": "Serial number of the certificate, Example: \"123456789\".", + "type": "string" + }, + "subject": { + "description": "The subject name of this certificate.", + "type": "string" + }, + "thumbprint": { + "description": "The certificate thumbprint.", + "type": "string" + }, + "validationState": { + "description": "Validation state of this certificate.", + "enum": [ + "CERTIFICATE_VALIDATION_STATE_UNSPECIFIED", + "VALIDATION_SUCCESSFUL", + "VALIDATION_FAILED" + ], + "enumDescriptions": [ + "Default value.", + "Certificate validation was successful.", + "Certificate validation failed." + ], + "type": "string" + }, + "validityExpirationTime": { + "description": "Certificate not valid at or after this timestamp.", + "format": "google-datetime", + "type": "string" + }, + "validityStartTime": { + "description": "Certificate not valid before this timestamp.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "CertificateTemplate": { + "description": "CertificateTemplate (v3 Extension in X.509).", + "id": "CertificateTemplate", + "properties": { + "id": { + "description": "The template id of the template. Example: \"1.3.6.1.4.1.311.21.8.15608621.11768144.5720724.16068415.6889630.81.2472537.7784047\".", + "type": "string" + }, + "majorVersion": { + "description": "The Major version of the template. Example: 100.", + "format": "int32", + "type": "integer" + }, + "minorVersion": { + "description": "The minor version of the template. Example: 12.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "CheckTransitiveMembershipResponse": { "description": "The response message for MembershipsService.CheckTransitiveMembership.", "id": "CheckTransitiveMembershipResponse", @@ -1709,6 +1985,11 @@ "readOnly": true, "type": "string" }, + "endpointVerificationSpecificAttributes": { + "$ref": "EndpointVerificationSpecificAttributes", + "description": "Output only. Attributes specific to Endpoint Verification devices.", + "readOnly": true + }, "imei": { "description": "Output only. IMEI number of device if GSM device; empty otherwise.", "readOnly": true, @@ -1889,7 +2170,7 @@ "type": "string" }, "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the DeviceUser in format: `devices/{device_id}/deviceUsers/{user_id}`, where user_id is the ID of the user associated with the user session.", + "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the DeviceUser in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where `device_user_id` uniquely identifies a user's use of a device.", "readOnly": true, "type": "string" }, @@ -1943,7 +2224,7 @@ "id": "DynamicGroupQuery", "properties": { "query": { - "description": "Query that determines the memberships of the dynamic group. Examples: All users with at least one `organizations.department` of engineering. `user.organizations.exists(org, org.department=='engineering')` All users with at least one location that has `area` of `foo` and `building_id` of `bar`. `user.locations.exists(loc, loc.area=='foo' && loc.building_id=='bar')`", + "description": "Query that determines the memberships of the dynamic group. Examples: All users with at least one `organizations.department` of engineering. `user.organizations.exists(org, org.department=='engineering')` All users with at least one location that has `area` of `foo` and `building_id` of `bar`. `user.locations.exists(loc, loc.area=='foo' && loc.building_id=='bar')` All users with any variation of the name John Doe (case-insensitive queries add `equalsIgnoreCase()` to the value being queried). `user.name.value.equalsIgnoreCase('jOhn DoE')`", "type": "string" }, "resourceType": { @@ -1969,12 +2250,14 @@ "enum": [ "STATUS_UNSPECIFIED", "UP_TO_DATE", - "UPDATING_MEMBERSHIPS" + "UPDATING_MEMBERSHIPS", + "INVALID_QUERY" ], "enumDescriptions": [ "Default.", "The dynamic group is up-to-date.", - "The dynamic group has just been created and memberships are being updated." + "The dynamic group has just been created and memberships are being updated.", + "Group is in an unrecoverable state and its memberships can't be updated." ], "type": "string" }, @@ -1986,6 +2269,20 @@ }, "type": "object" }, + "EndpointVerificationSpecificAttributes": { + "description": "Resource representing the Endpoint Verification-specific attributes of a Device. https://cloud.google.com/endpoint-verification/docs/overview", + "id": "EndpointVerificationSpecificAttributes", + "properties": { + "certificateAttributes": { + "description": "Details of certificates.", + "items": { + "$ref": "CertificateAttributes" + }, + "type": "array" + } + }, + "type": "object" + }, "EntityKey": { "description": "A unique identifier for an entity in the Cloud Identity Groups API. An entity can represent either a group with an optional `namespace` or a user without a `namespace`. The combination of `id` and `namespace` must be unique; however, the same `id` can be used with different `namespace`s.", "id": "EntityKey", @@ -1995,7 +2292,7 @@ "type": "string" }, "namespace": { - "description": "The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}.", + "description": "The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}`.", "type": "string" } }, @@ -2013,6 +2310,21 @@ }, "type": "object" }, + "FirstAdminInvitationInfo": { + "description": "Message containing first admin invitation info for customers", + "id": "FirstAdminInvitationInfo", + "properties": { + "isFirstAdmin": { + "description": "Optional. To enable First Admin Invitation for Domained Customer", + "type": "boolean" + }, + "primaryDomain": { + "description": "Optional. Domain information of first admin invited", + "type": "string" + } + }, + "type": "object" + }, "GetMembershipGraphResponse": { "description": "The response message for MembershipsService.GetMembershipGraph.", "id": "GetMembershipGraphResponse", @@ -2069,6 +2381,12 @@ }, "type": "object" }, + "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata": { + "description": "Metadata for ApproveDeviceUser LRO.", + "id": "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata", + "properties": {}, + "type": "object" + }, "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse": { "description": "Response message for approving the device to access user data.", "id": "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse", @@ -2080,6 +2398,12 @@ }, "type": "object" }, + "GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata": { + "description": "Metadata for BlockDeviceUser LRO.", + "id": "GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata", + "properties": {}, + "type": "object" + }, "GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse": { "description": "Response message for blocking the device from accessing user data.", "id": "GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse", @@ -2091,6 +2415,12 @@ }, "type": "object" }, + "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata": { + "description": "Metadata for CancelWipeDevice LRO.", + "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata", + "properties": {}, + "type": "object" + }, "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse": { "description": "Response message for cancelling an unfinished device wipe.", "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse", @@ -2102,6 +2432,12 @@ }, "type": "object" }, + "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata": { + "description": "Metadata for CancelWipeDeviceUser LRO.", + "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata", + "properties": {}, + "type": "object" + }, "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse": { "description": "Response message for cancelling an unfinished user account wipe.", "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse", @@ -2200,7 +2536,7 @@ "type": "string" }, "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device_id}/deviceUsers/{device_user_id}/clientState/{partner_id}`, where partner_id corresponds to the partner storing the data. For partners belonging to the \"BeyondCorp Alliance\", this is the partner ID specified to you by Google. For all other callers, this is a string of the form: `{customer_id}-suffix`, where `customer_id` is your customer ID. The *suffix* is any string the caller specifies. This string will be displayed verbatim in the administration console. This suffix is used in setting up Custom Access Levels in Context-Aware Access. Your organization's customer ID can be obtained from the URL: `GET https://www.googleapis.com/admin/directory/v1/customers/my_customer` The `id` field in the response contains the customer ID starting with the letter 'C'. The customer ID to be used in this API is the string after the letter 'C' (not including 'C')", + "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device}/deviceUsers/{device_user}/clientState/{partner}`, where partner corresponds to the partner storing the data. For partners belonging to the \"BeyondCorp Alliance\", this is the partner ID specified to you by Google. For all other callers, this is a string of the form: `{customer}-suffix`, where `customer` is your customer ID. The *suffix* is any string the caller specifies. This string will be displayed verbatim in the administration console. This suffix is used in setting up Custom Access Levels in Context-Aware Access. Your organization's customer ID can be obtained from the URL: `GET https://www.googleapis.com/admin/directory/v1/customers/my_customer` The `id` field in the response contains the customer ID starting with the letter 'C'. The customer ID to be used in this API is the string after the letter 'C' (not including 'C')", "readOnly": true, "type": "string" }, @@ -2226,6 +2562,12 @@ }, "type": "object" }, + "GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata": { + "description": "Metadata for CreateDevice LRO.", + "id": "GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata", + "properties": {}, + "type": "object" + }, "GoogleAppsCloudidentityDevicesV1CustomAttributeValue": { "description": "Additional custom attribute values may be one of these types", "id": "GoogleAppsCloudidentityDevicesV1CustomAttributeValue", @@ -2246,6 +2588,18 @@ }, "type": "object" }, + "GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata": { + "description": "Metadata for DeleteDevice LRO.", + "id": "GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata", + "properties": {}, + "type": "object" + }, + "GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata": { + "description": "Metadata for DeleteDeviceUser LRO.", + "id": "GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata", + "properties": {}, + "type": "object" + }, "GoogleAppsCloudidentityDevicesV1Device": { "description": " A Device within the Cloud Identity Devices API. Represents a Device known to Google Cloud, independent of the device ownership, type, and whether it is assigned or in use by a user.", "id": "GoogleAppsCloudidentityDevicesV1Device", @@ -2406,7 +2760,7 @@ "type": "string" }, "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}`, where device_id is the unique id assigned to the Device.", + "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}`, where device is the unique id assigned to the Device.", "readOnly": true, "type": "string" }, @@ -2532,7 +2886,7 @@ "type": "string" }, "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the DeviceUser in format: `devices/{device_id}/deviceUsers/{user_id}`, where user_id is the ID of the user associated with the user session.", + "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the DeviceUser in format: `devices/{device}/deviceUsers/{device_user}`, where `device_user` uniquely identifies a user's use of a device.", "readOnly": true, "type": "string" }, @@ -2562,6 +2916,36 @@ }, "type": "object" }, + "GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata": { + "description": "Metadata for ListEndpointApps LRO.", + "id": "GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata", + "properties": {}, + "type": "object" + }, + "GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata": { + "description": "Metadata for SignoutDeviceUser LRO.", + "id": "GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata", + "properties": {}, + "type": "object" + }, + "GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata": { + "description": "Metadata for UpdateClientState LRO.", + "id": "GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata", + "properties": {}, + "type": "object" + }, + "GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata": { + "description": "Metadata for UpdateDevice LRO.", + "id": "GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata", + "properties": {}, + "type": "object" + }, + "GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata": { + "description": "Metadata for WipeDevice LRO.", + "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata", + "properties": {}, + "type": "object" + }, "GoogleAppsCloudidentityDevicesV1WipeDeviceResponse": { "description": "Response message for wiping all data on the device.", "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceResponse", @@ -2573,6 +2957,12 @@ }, "type": "object" }, + "GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata": { + "description": "Metadata for WipeDeviceUser LRO.", + "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata", + "properties": {}, + "type": "object" + }, "GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse": { "description": "Response message for wiping the user's account from the device.", "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse", @@ -2615,13 +3005,13 @@ }, "groupKey": { "$ref": "EntityKey", - "description": "Required. Immutable. The `EntityKey` of the `Group`." + "description": "Required. The `EntityKey` of the `Group`." }, "labels": { "additionalProperties": { "type": "string" }, - "description": "Required. One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value. Google Groups are the default type of group and have a label with a key of `cloudidentity.googleapis.com/groups.discussion_forum` and an empty value. Existing Google Groups can have an additional label with a key of `cloudidentity.googleapis.com/groups.security` and an empty value added to them. **This is an immutable change and the security label cannot be removed once added.** Dynamic groups have a label with a key of `cloudidentity.googleapis.com/groups.dynamic`. Identity-mapped groups for Cloud Search have a label with a key of `system/groups/external` and an empty value. Examples: {\"cloudidentity.googleapis.com/groups.discussion_forum\": \"\"} or {\"system/groups/external\": \"\"}.", + "description": "Required. One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value. Google Groups are the default type of group and have a label with a key of `cloudidentity.googleapis.com/groups.discussion_forum` and an empty value. Existing Google Groups can have an additional label with a key of `cloudidentity.googleapis.com/groups.security` and an empty value added to them. **This is an immutable change and the security label cannot be removed once added.** Dynamic groups have a label with a key of `cloudidentity.googleapis.com/groups.dynamic`. Identity-mapped groups for Cloud Search have a label with a key of `system/groups/external` and an empty value.", "type": "object" }, "name": { @@ -2630,9 +3020,16 @@ "type": "string" }, "parent": { - "description": "Required. Immutable. The resource name of the entity under which this `Group` resides in the Cloud Identity resource hierarchy. Must be of the form `identitysources/{identity_source_id}` for external- identity-mapped groups or `customers/{customer_id}` for Google Groups.", + "description": "Required. Immutable. The resource name of the entity under which this `Group` resides in the Cloud Identity resource hierarchy. Must be of the form `identitysources/{identity_source_id}` for external- identity-mapped groups or `customers/{customer_id}` for Google Groups. The `customer_id` must begin with \"C\" (for example, 'C046psxkn').", "type": "string" }, + "posixGroups": { + "description": "Optional. The POSIX groups associated with the `Group`.", + "items": { + "$ref": "PosixGroup" + }, + "type": "array" + }, "updateTime": { "description": "Output only. The time when the `Group` was last updated.", "format": "google-datetime", @@ -2761,7 +3158,7 @@ "id": "ListGroupsResponse", "properties": { "groups": { - "description": "The `Group`s under the specified `parent`.", + "description": "The `Group` resources under the specified `parent`.", "items": { "$ref": "Group" }, @@ -2792,6 +3189,24 @@ }, "type": "object" }, + "ListOrgMembershipsResponse": { + "description": "The response message for OrgMembershipsService.ListOrgMemberships.", + "id": "ListOrgMembershipsResponse", + "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" + }, + "orgMemberships": { + "description": "The non-vacuous membership in an orgUnit.", + "items": { + "$ref": "OrgMembership" + }, + "type": "array" + } + }, + "type": "object" + }, "ListUserInvitationsResponse": { "description": "Response message for UserInvitation listing request.", "id": "ListUserInvitationsResponse", @@ -2860,7 +3275,7 @@ "id": "MemberRelation", "properties": { "member": { - "description": "Resource name for this member if member is a GROUP, otherwise it is empty.", + "description": "Resource name for this member.", "type": "string" }, "preferredMemberKey": { @@ -2871,7 +3286,7 @@ "type": "array" }, "relationType": { - "description": "The relation between the group and the transitive member.", + "description": "The relation between the group and the transitive membership.", "enum": [ "RELATION_TYPE_UNSPECIFIED", "DIRECT", @@ -2896,6 +3311,21 @@ }, "type": "object" }, + "MemberRestriction": { + "description": "The definition of MemberRestriction", + "id": "MemberRestriction", + "properties": { + "evaluation": { + "$ref": "RestrictionEvaluation", + "description": "The evaluated state of this restriction on a group." + }, + "query": { + "description": "Member Restriction as defined by CEL expression. Supported restrictions are: `member.customer_id` and `member.type`. Valid values for `member.type` are `1`, `2` and `3`. They correspond to USER, SERVICE_ACCOUNT, and GROUP respectively. The value for `member.customer_id` only supports `groupCustomerId()` currently which means the customer id of the group will be used for restriction. Supported operators are `&&`, `||` and `==`, corresponding to AND, OR, and EQUAL. Examples: Allow only service accounts of given customer to be members. `member.type == 2 && member.customer_id == groupCustomerId()` Allow only users or groups to be members. `member.type == 1 || member.type == 3`", + "type": "string" + } + }, + "type": "object" + }, "Membership": { "description": "A membership within the Cloud Identity Groups API. A `Membership` defines a relationship between a `Group` and an entity belonging to that `Group`, referred to as a \"member\".", "id": "Membership", @@ -2933,6 +3363,7 @@ "USER", "SERVICE_ACCOUNT", "GROUP", + "SHARED_DRIVE", "OTHER" ], "enumDescriptions": [ @@ -2940,6 +3371,7 @@ "Represents user type.", "Represents service account type.", "Represents group type.", + "Represents Shared drive.", "Represents other type." ], "readOnly": true, @@ -2983,6 +3415,36 @@ "name": { "description": "The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`, `MEMBER`.", "type": "string" + }, + "restrictionEvaluations": { + "$ref": "RestrictionEvaluations", + "description": "Evaluations of restrictions applied to parent group on this membership." + } + }, + "type": "object" + }, + "MembershipRoleRestrictionEvaluation": { + "description": "The evaluated state of this restriction.", + "id": "MembershipRoleRestrictionEvaluation", + "properties": { + "state": { + "description": "Output only. The current state of the restriction", + "enum": [ + "STATE_UNSPECIFIED", + "COMPLIANT", + "FORWARD_COMPLIANT", + "NON_COMPLIANT", + "EVALUATING" + ], + "enumDescriptions": [ + "Default. Should not be used.", + "The member adheres to the parent group's restriction.", + "The group-group membership might be currently violating some parent group's restriction but in future, it will never allow any new member in the child group which can violate parent group's restriction.", + "The member violates the parent group's restriction.", + "The state of the membership is under evaluation." + ], + "readOnly": true, + "type": "string" } }, "type": "object" @@ -3026,6 +3488,21 @@ }, "type": "object" }, + "MoveOrgMembershipRequest": { + "description": "The request message for OrgMembershipsService.MoveOrgMembership.", + "id": "MoveOrgMembershipRequest", + "properties": { + "customer": { + "description": "Required. Immutable. Customer on whose membership change is made. All authorization will happen on the role assignments of this customer. Format: customers/{$customerId} where `$customerId` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may also use `customers/my_customer` to specify your own organization.", + "type": "string" + }, + "destinationOrgUnit": { + "description": "Required. Immutable. OrgUnit where the membership will be moved to. Format: orgUnits/{$orgUnitId} where `$orgUnitId` is the `orgUnitId` from the [Admin SDK `OrgUnit` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/orgunits).", + "type": "string" + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -3061,12 +3538,100 @@ }, "type": "object" }, + "OrgMembership": { + "description": "A membership in an OrgUnit. An `OrgMembership` defines a relationship between an `OrgUnit` and an entity belonging to that `OrgUnit`, referred to as a \"member\".", + "id": "OrgMembership", + "properties": { + "member": { + "description": "Immutable. Org member id as full resource name. Format for shared drive resource: //drive.googleapis.com/drives/{$memberId} where `$memberId` is the `id` from [Drive API (V3) `Drive` resource](https://developers.google.com/drive/api/v3/reference/drives#resource).", + "type": "string" + }, + "memberUri": { + "description": "Uri with which you can read the member. This follows https://aip.dev/122 Format for shared drive resource: https://drive.googleapis.com/drive/v3/drives/{$memberId} where `$memberId` is the `id` from [Drive API (V3) `Drive` resource](https://developers.google.com/drive/api/v3/reference/drives#resource).", + "type": "string" + }, + "name": { + "description": "Required. Immutable. The [resource name](https://cloud.google.com/apis/design/resource_names) of the OrgMembership. Format: orgUnits/{$orgUnitId}/memberships/{$membership} The `$orgUnitId` is the `orgUnitId` from the [Admin SDK `OrgUnit` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/orgunits). The `$membership` shall be of the form `{$entityType};{$memberId}`, where `$entityType` is the enum value of [OrgMembership.EntityType], and `memberId` is the `id` from [Drive API (V3) `Drive` resource](https://developers.google.com/drive/api/v3/reference/drives#resource) for OrgMembership.EntityType.SHARED_DRIVE.", + "type": "string" + }, + "type": { + "description": "Immutable. Entity type for the org member.", + "enum": [ + "ENTITY_TYPE_UNSPECIFIED", + "SHARED_DRIVE" + ], + "enumDescriptions": [ + "Equivalent to no resource type mentioned", + "Shared drive as resource type" + ], + "type": "string" + } + }, + "type": "object" + }, + "PosixGroup": { + "description": "POSIX Group definition to represent a group in a POSIX compliant system.", + "id": "PosixGroup", + "properties": { + "gid": { + "description": "GID of the POSIX group.", + "format": "uint64", + "type": "string" + }, + "name": { + "description": "Name of the POSIX group.", + "type": "string" + }, + "systemId": { + "description": "System identifier for which group name and gid apply to. If not specified it will default to empty value.", + "type": "string" + } + }, + "type": "object" + }, + "RestrictionEvaluation": { + "description": "The evaluated state of this restriction.", + "id": "RestrictionEvaluation", + "properties": { + "state": { + "description": "Output only. The current state of the restriction", + "enum": [ + "STATE_UNSPECIFIED", + "EVALUATING", + "COMPLIANT", + "FORWARD_COMPLIANT", + "NON_COMPLIANT" + ], + "enumDescriptions": [ + "Default. Should not be used.", + "The restriction state is currently being evaluated.", + "All transitive memberships are adhering to restriction.", + "Some transitive memberships violate the restriction. No new violating memberships can be added.", + "Some transitive memberships violate the restriction. New violating direct memberships will be denied while indirect memberships may be added." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "RestrictionEvaluations": { + "description": "Evaluations of restrictions applied to parent group on this membership.", + "id": "RestrictionEvaluations", + "properties": { + "memberRestrictionEvaluation": { + "$ref": "MembershipRoleRestrictionEvaluation", + "description": "Evaluation of the member restriction applied to this membership. Empty if the user lacks permission to view the restriction evaluation." + } + }, + "type": "object" + }, "SearchGroupsResponse": { "description": "The response message for GroupsService.SearchGroups.", "id": "SearchGroupsResponse", "properties": { "groups": { - "description": "The `Group`s that match the search query.", + "description": "The `Group` resources that match the search query.", "items": { "$ref": "Group" }, @@ -3102,7 +3667,7 @@ "id": "SearchTransitiveMembershipsResponse", "properties": { "memberships": { - "description": "List of transitive members satisfying the query.", + "description": "List of transitive memberships satisfying the query.", "items": { "$ref": "MemberRelation" }, @@ -3115,10 +3680,31 @@ }, "type": "object" }, + "SecuritySettings": { + "description": "The definiion of security settings.", + "id": "SecuritySettings", + "properties": { + "memberRestriction": { + "$ref": "MemberRestriction", + "description": "The Member Restriction value" + }, + "name": { + "description": "Output only. The resource name of the security settings. Shall be of the form `groups/{group_id}/securitySettings`.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "SendUserInvitationRequest": { "description": "A request to send email for inviting target user corresponding to the UserInvitation.", "id": "SendUserInvitationRequest", - "properties": {}, + "properties": { + "firstAdminInvitationInfo": { + "$ref": "FirstAdminInvitationInfo", + "description": "Optional. First admin invitation info for customers" + } + }, "type": "object" }, "Status": { @@ -3164,7 +3750,7 @@ "id": "UpdateMembershipRolesParams", "properties": { "fieldMask": { - "description": "The fully-qualified names of fields to update. May only contain the field `expiry_detail`.", + "description": "The fully-qualified names of fields to update. May only contain the field `expiry_detail.expire_time`.", "format": "google-fieldmask", "type": "string" }, @@ -3176,7 +3762,7 @@ "type": "object" }, "UserInvitation": { - "description": "The `UserInvitation` resource represents an email that can be sent to an unmanaged user account inviting them to join the customer\u2019s Google Workspace or Cloud Identity account. An unmanaged account shares an email address domain with the Google Workspace or Cloud Identity account but is not managed by it yet. If the user accepts the `UserInvitation`, the user account will become managed.", + "description": "The `UserInvitation` resource represents an email that can be sent to an unmanaged user account inviting them to join the customer's Google Workspace or Cloud Identity account. An unmanaged account shares an email address domain with the Google Workspace or Cloud Identity account but is not managed by it yet. If the user accepts the `UserInvitation`, the user account will become managed.", "id": "UserInvitation", "properties": { "mailsSentCount": { @@ -3217,7 +3803,12 @@ "WipeDeviceRequest": { "description": "Request message for wiping all data on the device.", "id": "WipeDeviceRequest", - "properties": {}, + "properties": { + "removeResetLock": { + "description": "Optional. Specifies if a user is able to factory reset a device after a Device Wipe. On iOS, this is called \"Activation Lock\", while on Android, this is known as \"Factory Reset Protection\". If true, this protection will be removed from the device, so that a user can successfully factory reset. If false, the setting is untouched on the device.", + "type": "boolean" + } + }, "type": "object" }, "WipeDeviceResponse": { diff --git a/etc/api/cloudiot/v1/cloudiot-api.json b/etc/api/cloudiot/v1/cloudiot-api.json index 7bacd0c706..0e199fe409 100644 --- a/etc/api/cloudiot/v1/cloudiot-api.json +++ b/etc/api/cloudiot/v1/cloudiot-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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" @@ -938,7 +938,7 @@ } } }, - "revision": "20210323", + "revision": "20220131", "rootUrl": "https://cloudiot.googleapis.com/", "schemas": { "BindDeviceToGatewayRequest": { @@ -963,22 +963,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -1311,7 +1311,7 @@ "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).", + "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" } @@ -1442,11 +1442,11 @@ "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/).", + "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` 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.", + "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" }, diff --git a/etc/api/cloudkms/v1/cloudkms-api.json b/etc/api/cloudkms/v1/cloudkms-api.json index bf524e2a4a..4302117eec 100644 --- a/etc/api/cloudkms/v1/cloudkms-api.json +++ b/etc/api/cloudkms/v1/cloudkms-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "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" @@ -112,6 +112,35 @@ "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}", @@ -160,7 +189,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -182,6 +211,242 @@ } }, "resources": { + "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 the operation documentation 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 the operation documentation 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 the operation documentation 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" + ] + } + } + }, "keyRings": { "methods": { "create": { @@ -254,7 +519,7 @@ ], "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).", + "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" @@ -518,7 +783,7 @@ ], "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).", + "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" @@ -694,7 +959,7 @@ ] }, "updatePrimaryVersion": { - "description": "Update the version of a CryptoKey that will be used in Encrypt. Returns an error if called on an asymmetric key.", + "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", @@ -814,7 +1079,7 @@ ] }, "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 a time 24 hours in the future, at which point the state will be changed to DESTROYED, and the key material will be irrevocably destroyed. Before the destroy_time is reached, RestoreCryptoKeyVersion may be called to reverse the process.", + "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", @@ -895,7 +1160,7 @@ ] }, "import": { - "description": "Imports a new CryptoKeyVersion into an existing CryptoKey using the wrapped key material provided in the request. The version ID will be assigned the next sequential id within the CryptoKey.", + "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", @@ -904,7 +1169,7 @@ ], "parameters": { "parent": { - "description": "Required. The name of the CryptoKey to be imported into.", + "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, @@ -983,6 +1248,64 @@ "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}", @@ -1123,7 +1446,7 @@ ], "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).", + "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" @@ -1259,7 +1582,7 @@ } } }, - "revision": "20210318", + "revision": "20220225", "rootUrl": "https://cloudkms.googleapis.com/", "schemas": { "AsymmetricDecryptRequest": { @@ -1272,7 +1595,7 @@ "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. NOTE: This field is in Beta.", + "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" } @@ -1289,7 +1612,7 @@ "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. NOTE: This field is in Beta.", + "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" }, @@ -1299,18 +1622,20 @@ "PROTECTION_LEVEL_UNSPECIFIED", "SOFTWARE", "HSM", - "EXTERNAL" + "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 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. NOTE: This field is in Beta.", + "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" } }, @@ -1320,12 +1645,22 @@ "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." + "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. NOTE: This field is in Beta.", + "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" } @@ -1337,7 +1672,7 @@ "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. NOTE: This field is in Beta.", + "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": { @@ -1346,13 +1681,15 @@ "PROTECTION_LEVEL_UNSPECIFIED", "SOFTWARE", "HSM", - "EXTERNAL" + "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 by an external key manager.", + "Crypto operations are performed in an EKM-over-VPC backend." ], "type": "string" }, @@ -1362,12 +1699,16 @@ "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. NOTE: This field is in Beta.", + "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. NOTE: This field is in Beta.", + "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" } }, @@ -1422,27 +1763,84 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "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" }, + "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", @@ -1481,6 +1879,19 @@ "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 24 hours.", + "format": "google-duration", + "type": "string" + }, + "importOnly": { + "description": "Immutable. Whether this key may contain imported versions only.", + "type": "boolean" + }, "labels": { "additionalProperties": { "type": "string" @@ -1509,13 +1920,15 @@ "CRYPTO_KEY_PURPOSE_UNSPECIFIED", "ENCRYPT_DECRYPT", "ASYMMETRIC_SIGN", - "ASYMMETRIC_DECRYPT" + "ASYMMETRIC_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 AsymmetricDecrypt and GetPublicKey.", + "CryptoKeys with this purpose may be used with MacSign." ], "type": "string" }, @@ -1548,12 +1961,20 @@ "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", + "HMAC_SHA256", "EXTERNAL_SYMMETRIC_ENCRYPTION" ], "enumDescriptions": [ @@ -1567,12 +1988,20 @@ "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.", "ECDSA on the NIST P-384 curve with a SHA384 digest.", + "ECDSA on the non-NIST secp256k1 curve. This curve is only supported for HSM protection level.", + "HMAC-SHA256 signing with a 256 bit key.", "Algorithm representing symmetric encryption by an external key manager." ], "readOnly": true, @@ -1603,7 +2032,7 @@ }, "externalProtectionLevelOptions": { "$ref": "ExternalProtectionLevelOptions", - "description": "ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion that are specific to the EXTERNAL protection level." + "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.", @@ -1612,17 +2041,17 @@ "type": "string" }, "importFailureReason": { - "description": "Output only. The root cause of an import failure. Only present if state is IMPORT_FAILED.", + "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 to import this CryptoKeyVersion. Only present if the underlying key material was imported.", + "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 imported.", + "description": "Output only. The time at which this CryptoKeyVersion's key material was most recently imported.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -1638,17 +2067,24 @@ "PROTECTION_LEVEL_UNSPECIFIED", "SOFTWARE", "HSM", - "EXTERNAL" + "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 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": [ @@ -1666,7 +2102,7 @@ "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. A version may not leave this state once entered.", + "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." @@ -1693,12 +2129,20 @@ "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", + "HMAC_SHA256", "EXTERNAL_SYMMETRIC_ENCRYPTION" ], "enumDescriptions": [ @@ -1712,12 +2156,20 @@ "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.", "ECDSA on the NIST P-384 curve with a SHA384 digest.", + "ECDSA on the non-NIST secp256k1 curve. This curve is only supported for HSM protection level.", + "HMAC-SHA256 signing with a 256 bit key.", "Algorithm representing symmetric encryption by an external key manager." ], "type": "string" @@ -1728,13 +2180,15 @@ "PROTECTION_LEVEL_UNSPECIFIED", "SOFTWARE", "HSM", - "EXTERNAL" + "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 by an external key manager.", + "Crypto operations are performed in an EKM-over-VPC backend." ], "type": "string" } @@ -1751,7 +2205,7 @@ "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. NOTE: This field is in Beta.", + "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" }, @@ -1761,7 +2215,7 @@ "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. NOTE: This field is in Beta.", + "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" } @@ -1778,7 +2232,7 @@ "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. NOTE: This field is in Beta.", + "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" }, @@ -1788,13 +2242,15 @@ "PROTECTION_LEVEL_UNSPECIFIED", "SOFTWARE", "HSM", - "EXTERNAL" + "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 by an external key manager.", + "Crypto operations are performed in an EKM-over-VPC backend." ], "type": "string" }, @@ -1833,6 +2289,35 @@ }, "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" + }, + "etag": { + "description": "This checksum is computed by the server based on the value of other fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name for the EkmConnection in the format `projects/*/locations/*/ekmConnections/*`.", + "readOnly": true, + "type": "string" + }, + "serviceResolvers": { + "description": "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", @@ -1843,7 +2328,7 @@ "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. NOTE: This field is in Beta.", + "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" }, @@ -1853,7 +2338,7 @@ "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. NOTE: This field is in Beta.", + "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" } @@ -1870,7 +2355,7 @@ "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. NOTE: This field is in Beta.", + "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" }, @@ -1884,22 +2369,24 @@ "PROTECTION_LEVEL_UNSPECIFIED", "SOFTWARE", "HSM", - "EXTERNAL" + "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 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. NOTE: This field is in Beta.", + "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. NOTE: This field is in Beta.", + "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" } }, @@ -1929,9 +2416,13 @@ "type": "object" }, "ExternalProtectionLevelOptions": { - "description": "ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion that are specific to the EXTERNAL protection level.", + "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" @@ -1939,6 +2430,53 @@ }, "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", @@ -1956,12 +2494,20 @@ "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", + "HMAC_SHA256", "EXTERNAL_SYMMETRIC_ENCRYPTION" ], "enumDescriptions": [ @@ -1975,22 +2521,34 @@ "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.", "ECDSA on the NIST P-384 curve with a SHA384 digest.", + "ECDSA on the non-NIST secp256k1 curve. This curve is only supported for HSM protection level.", + "HMAC-SHA256 signing with a 256 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": "Wrapped key material produced with RSA_OAEP_3072_SHA1_AES_256 or RSA_OAEP_4096_SHA1_AES_256. This field contains the concatenation of two wrapped keys: 1. An ephemeral AES-256 wrapping key wrapped with the public_key using RSAES-OAEP with SHA-1, MGF1 with SHA-1, and an empty label. 2. The key to be imported, wrapped with the ephemeral AES-256 key using AES-KWP (RFC 5649). If importing symmetric key material, it is expected that the unwrapped key contains plain bytes. If importing asymmetric key material, it is expected that the unwrapped key is in PKCS#8-encoded DER format (the PrivateKeyInfo structure from RFC 5208). This format is the same as the format produced by PKCS#11 mechanism CKM_RSA_AES_KEY_WRAP.", + "description": "Wrapped key material produced with RSA_OAEP_3072_SHA1_AES_256 or RSA_OAEP_4096_SHA1_AES_256. This field contains the concatenation of two wrapped keys: 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 key to be imported, wrapped with the ephemeral AES-256 key using AES-KWP (RFC 5649). If importing symmetric key material, it is expected that the unwrapped key contains plain bytes. If importing asymmetric key material, it is expected that the unwrapped key is in PKCS#8-encoded DER format (the PrivateKeyInfo structure from RFC 5208). This format is the same as the format produced by PKCS#11 mechanism CKM_RSA_AES_KEY_WRAP.", "format": "byte", "type": "string" } @@ -2055,13 +2613,15 @@ "PROTECTION_LEVEL_UNSPECIFIED", "SOFTWARE", "HSM", - "EXTERNAL" + "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 by an external key manager.", + "Crypto operations are performed in an EKM-over-VPC backend." ], "type": "string" }, @@ -2114,7 +2674,7 @@ ], "enumDescriptions": [ "Not specified.", - "Cavium HSM attestation compressed with gzip. Note that this format is defined by Cavium and subject to change at any time.", + "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, @@ -2187,6 +2747,29 @@ }, "type": "object" }, + "ListEkmConnectionsResponse": { + "description": "Response message for KeyManagementService.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", @@ -2300,8 +2883,140 @@ }, "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.tag) 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" + }, "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/).", + "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": { @@ -2312,7 +3027,7 @@ "type": "array" }, "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.", + "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" }, @@ -2348,12 +3063,20 @@ "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", + "HMAC_SHA256", "EXTERNAL_SYMMETRIC_ENCRYPTION" ], "enumDescriptions": [ @@ -2367,12 +3090,20 @@ "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.", "ECDSA on the NIST P-384 curve with a SHA384 digest.", + "ECDSA on the non-NIST secp256k1 curve. This curve is only supported for HSM protection level.", + "HMAC-SHA256 signing with a 256 bit key.", "Algorithm representing symmetric encryption by an external key manager." ], "type": "string" @@ -2396,13 +3127,15 @@ "PROTECTION_LEVEL_UNSPECIFIED", "SOFTWARE", "HSM", - "EXTERNAL" + "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 by an external key manager.", + "Crypto operations are performed in an EKM-over-VPC backend." ], "type": "string" } @@ -2415,6 +3148,32 @@ "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", diff --git a/etc/api/cloudprofiler/v2/cloudprofiler-api.json b/etc/api/cloudprofiler/v2/cloudprofiler-api.json index 107c1916dd..50f5cc997c 100644 --- a/etc/api/cloudprofiler/v2/cloudprofiler-api.json +++ b/etc/api/cloudprofiler/v2/cloudprofiler-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." }, "https://www.googleapis.com/auth/monitoring": { "description": "View and write monitoring data for all of your Google and third-party Cloud and API projects" @@ -116,7 +116,7 @@ "profiles": { "methods": { "create": { - "description": "CreateProfile creates a new profile resource in the online mode. The server ensures that the new profiles are created at a constant rate per deployment, so the creation request may hang for some time until the next profile session is available. The request may fail with ABORTED error if the creation is not available within ~1m, the response will indicate the duration of the backoff the client should take before attempting creating a profile again. The backoff duration is returned in google.rpc.RetryInfo extension on the response status. To a gRPC client, the extension will be return as a binary-serialized proto in the trailing metadata item named \"google.rpc.retryinfo-bin\".", + "description": "CreateProfile creates a new profile resource in the online mode. The server ensures that the new profiles are created at a constant rate per deployment, so the creation request may hang for some time until the next profile session is available. The request may fail with ABORTED error if the creation is not available within ~1m, the response will indicate the duration of the backoff the client should take before attempting creating a profile again. The backoff duration is returned in google.rpc.RetryInfo extension on the response status. To a gRPC client, the extension will be return as a binary-serialized proto in the trailing metadata item named \"google.rpc.retryinfo-bin\". ", "flatPath": "v2/projects/{projectsId}/profiles", "httpMethod": "POST", "id": "cloudprofiler.projects.profiles.create", @@ -216,19 +216,19 @@ } } }, - "revision": "20210326", + "revision": "20220228", "rootUrl": "https://cloudprofiler.googleapis.com/", "schemas": { "CreateProfileRequest": { - "description": "CreateProfileRequest describes a profile resource online creation request. The deployment field must be populated. The profile_type specifies the list of profile types supported by the agent. The creation call will hang until a profile of one of these types needs to be collected.", + "description": "CreateProfileRequest describes a profile resource online creation request. The deployment field must be populated. The profile_type specifies the list of profile types supported by the agent. The creation call will hang until a profile of one of these types needs to be collected. ", "id": "CreateProfileRequest", "properties": { "deployment": { "$ref": "Deployment", - "description": "Deployment details." + "description": "Required. Deployment details." }, "profileType": { - "description": "One or more profile types that the agent is capable of providing.", + "description": "Required. One or more profile types that the agent is capable of providing.", "items": { "enum": [ "PROFILE_TYPE_UNSPECIFIED", @@ -273,7 +273,7 @@ "type": "string" }, "target": { - "description": "Target is the service name used to group related deployments: * Service name for GAE Flex / Standard. * Cluster and container name for GKE. * User-specified string for direct GCE profiling (e.g. Java). * Job name for Dataflow. Validation regex: `^[a-z]([-a-z0-9_.]{0,253}[a-z0-9])?$`.", + "description": "Target is the service name used to group related deployments: * Service name for App Engine Flex / Standard. * Cluster and container name for GKE. * User-specified string for direct Compute Engine profiling (e.g. Java). * Job name for Dataflow. Validation regex: `^[a-z]([-a-z0-9_.]{0,253}[a-z0-9])?$`.", "type": "string" } }, @@ -301,6 +301,7 @@ }, "name": { "description": "Output only. Opaque, server-assigned, unique ID for this profile.", + "readOnly": true, "type": "string" }, "profileBytes": { diff --git a/etc/api/cloudresourcemanager/v1/cloudresourcemanager-api.json b/etc/api/cloudresourcemanager/v1/cloudresourcemanager-api.json index 09e8b7f3c3..31bc040563 100644 --- a/etc/api/cloudresourcemanager/v1/cloudresourcemanager-api.json +++ b/etc/api/cloudresourcemanager/v1/cloudresourcemanager-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" } } } @@ -365,7 +365,7 @@ "parameterOrder": [], "parameters": { "pageSize": { - "description": "The maximum number of items to return. This is a suggestion for the server.", + "description": "The maximum number of items to return. This is a suggestion for the server. The server can return fewer liens than requested. If unspecified, server picks an appropriate default.", "format": "int32", "location": "query", "type": "integer" @@ -948,7 +948,7 @@ "parameterOrder": [], "parameters": { "filter": { - "description": "Optional. An expression for filtering the results of the request. Filter rules are case insensitive. If multiple fields are included in a filter query, the query will return results that match any of the fields. Some eligible fields for filtering are: + `name` + `id` + `labels.` (where *key* is the name of a label) + `parent.type` + `parent.id` + `lifecycleState` Some examples of filter strings: | Filter | Description | |------------------|-----------------------------------------------------| | name:how* | The project's name starts with \"how\". | | name:Howl | The project's name is `Howl` or `howl`. | | name:HOWL | Equivalent to above. | | NAME:howl | Equivalent to above. | | labels.color:* | The project has the label `color`. | | labels.color:red | The project's label `color` has the value `red`. | | labels.color:red labels.size:big | The project's label `color` | : : has the value `red` and its : : : label`size` has the value : : : `big`. : | lifecycleState:DELETE_REQUESTED | Only show projects that are | : : pending deletion. : If no filter is specified, the call will return projects for which the user has the `resourcemanager.projects.get` permission. NOTE: To perform a by-parent query (eg., what projects are directly in a Folder), the caller must have the `resourcemanager.projects.list` permission on the parent and the filter must contain both a `parent.type` and a `parent.id` restriction (example: \"parent.type:folder parent.id:123\"). In this case an alternate search index is used which provides more consistent results.", + "description": "Optional. An expression for filtering the results of the request. Filter rules are case insensitive. If multiple fields are included in a filter query, the query will return results that match any of the fields. Some eligible fields for filtering are: + `name` + `id` + `labels.` (where *key* is the name of a label) + `parent.type` + `parent.id` + `lifecycleState` Some examples of filter queries: | Query | Description | |------------------|-----------------------------------------------------| | name:how* | The project's name starts with \"how\". | | name:Howl | The project's name is `Howl` or `howl`. | | name:HOWL | Equivalent to above. | | NAME:howl | Equivalent to above. | | labels.color:* | The project has the label `color`. | | labels.color:red | The project's label `color` has the value `red`. | | labels.color:red labels.size:big | The project's label `color` has the value `red` and its label `size` has the value `big`.| | lifecycleState:DELETE_REQUESTED | Only show projects that are pending deletion.| If no filter is specified, the call will return projects for which the user has the `resourcemanager.projects.get` permission. NOTE: To perform a by-parent query (eg., what projects are directly in a Folder), the caller must have the `resourcemanager.projects.list` permission on the parent and the filter must contain both a `parent.type` and a `parent.id` restriction (example: \"parent.type:folder parent.id:123\"). In this case an alternate search index is used which provides more consistent results.", "location": "query", "type": "string" }, @@ -1032,7 +1032,7 @@ ] }, "setIamPolicy": { - "description": "Sets the IAM access control policy for the specified Project. CAUTION: This method will replace the existing policy, and cannot be used to append additional IAM settings. NOTE: Removing service accounts from policies or changing their roles can render services completely inoperable. It is important to understand how the service account is being used before removing or updating its roles. For additional information about `resource` (e.g. my-project-id) structure and identification, see [Resource Names](https://cloud.google.com/apis/design/resource_names). The following constraints apply when using `setIamPolicy()`: + Project does not support `allUsers` and `allAuthenticatedUsers` as `members` in a `Binding` of a `Policy`. + The owner role can be granted to a `user`, `serviceAccount`, or a group that is part of an organization. For example, group@myownpersonaldomain.com could be added as an owner to a project in the myownpersonaldomain.com organization, but not the examplepetstore.com organization. + Service accounts can be made owners of a project directly without any restrictions. However, to be added as an owner, a user must be invited via Cloud Platform console and must accept the invitation. + A user cannot be granted the owner role using `setIamPolicy()`. The user must be granted the owner role using the Cloud Platform Console and must explicitly accept the invitation. + You can only grant ownership of a project to a member by using the GCP Console. Inviting a member will deliver an invitation email that they must accept. An invitation email is not generated if you are granting a role other than owner, or if both the member you are inviting and the project are part of your organization. + Membership changes that leave the project without any owners that have accepted the Terms of Service (ToS) will be rejected. + If the project is not part of an organization, there must be at least one owner who has accepted the Terms of Service (ToS) agreement in the policy. Calling `setIamPolicy()` to remove the last ToS-accepted owner from the policy will fail. This restriction also applies to legacy projects that no longer have owners who have accepted the ToS. Edits to IAM policies will be rejected until the lack of a ToS-accepting owner is rectified. Authorization requires the Google IAM permission `resourcemanager.projects.setIamPolicy` on the project", + "description": "Sets the IAM access control policy for the specified Project. CAUTION: This method will replace the existing policy, and cannot be used to append additional IAM settings. NOTE: Removing service accounts from policies or changing their roles can render services completely inoperable. It is important to understand how the service account is being used before removing or updating its roles. For additional information about `resource` (e.g. my-project-id) structure and identification, see [Resource Names](https://cloud.google.com/apis/design/resource_names). The following constraints apply when using `setIamPolicy()`: + Project does not support `allUsers` and `allAuthenticatedUsers` as `members` in a `Binding` of a `Policy`. + The owner role can be granted to a `user`, `serviceAccount`, or a group that is part of an organization. For example, group@myownpersonaldomain.com could be added as an owner to a project in the myownpersonaldomain.com organization, but not the examplepetstore.com organization. + Service accounts can be made owners of a project directly without any restrictions. However, to be added as an owner, a user must be invited via Cloud Platform console and must accept the invitation. + A user cannot be granted the owner role using `setIamPolicy()`. The user must be granted the owner role using the Cloud Platform Console and must explicitly accept the invitation. + You can only grant ownership of a project to a member by using the GCP Console. Inviting a member will deliver an invitation email that they must accept. An invitation email is not generated if you are granting a role other than owner, or if both the member you are inviting and the project are part of your organization. + If the project is not part of an organization, there must be at least one owner who has accepted the Terms of Service (ToS) agreement in the policy. Calling `setIamPolicy()` to remove the last ToS-accepted owner from the policy will fail. This restriction also applies to legacy projects that no longer have owners who have accepted the ToS. Edits to IAM policies will be rejected until the lack of a ToS-accepting owner is rectified. If the project is part of an organization, you can remove all owners, potentially making the organization inaccessible. Authorization requires the Google IAM permission `resourcemanager.projects.setIamPolicy` on the project", "flatPath": "v1/projects/{resource}:setIamPolicy", "httpMethod": "POST", "id": "cloudresourcemanager.projects.setIamPolicy", @@ -1171,7 +1171,7 @@ } } }, - "revision": "20210328", + "revision": "20220306", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "schemas": { "Ancestor": { @@ -1234,22 +1234,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -1435,6 +1435,12 @@ }, "type": "object" }, + "CreateTagBindingMetadata": { + "description": "Runtime operation information for creating a TagValue.", + "id": "CreateTagBindingMetadata", + "properties": {}, + "type": "object" + }, "CreateTagKeyMetadata": { "description": "Runtime operation information for creating a TagKey.", "id": "CreateTagKeyMetadata", @@ -1465,6 +1471,12 @@ "properties": {}, "type": "object" }, + "DeleteTagBindingMetadata": { + "description": "Runtime operation information for deleting a TagBinding.", + "id": "DeleteTagBindingMetadata", + "properties": {}, + "type": "object" + }, "DeleteTagKeyMetadata": { "description": "Runtime operation information for deleting a TagKey.", "id": "DeleteTagKeyMetadata", @@ -1632,7 +1644,7 @@ "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).", + "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" } @@ -1984,7 +1996,7 @@ "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/).", + "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": { @@ -1995,7 +2007,7 @@ "type": "array" }, "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.", + "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" }, @@ -2116,7 +2128,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of Organizations to return in the response. This field is optional.", + "description": "The maximum number of Organizations to return in the response. The server can return fewer organizations than requested. If unspecified, server picks an appropriate default.", "format": "int32", "type": "integer" }, diff --git a/etc/api/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json b/etc/api/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json index 59c4f3555f..3bd89b40ba 100644 --- a/etc/api/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json +++ b/etc/api/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" } } } @@ -566,7 +566,7 @@ } } }, - "revision": "20210328", + "revision": "20220306", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "schemas": { "Ancestor": { @@ -629,22 +629,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -751,6 +751,12 @@ }, "type": "object" }, + "CreateTagBindingMetadata": { + "description": "Runtime operation information for creating a TagValue.", + "id": "CreateTagBindingMetadata", + "properties": {}, + "type": "object" + }, "CreateTagKeyMetadata": { "description": "Runtime operation information for creating a TagKey.", "id": "CreateTagKeyMetadata", @@ -781,6 +787,12 @@ "properties": {}, "type": "object" }, + "DeleteTagBindingMetadata": { + "description": "Runtime operation information for deleting a TagBinding.", + "id": "DeleteTagBindingMetadata", + "properties": {}, + "type": "object" + }, "DeleteTagKeyMetadata": { "description": "Runtime operation information for deleting a TagKey.", "id": "DeleteTagKeyMetadata", @@ -926,7 +938,7 @@ "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).", + "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" } @@ -1048,7 +1060,7 @@ "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/).", + "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": { @@ -1059,7 +1071,7 @@ "type": "array" }, "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.", + "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" }, diff --git a/etc/api/cloudresourcemanager/v2/cloudresourcemanager-api.json b/etc/api/cloudresourcemanager/v2/cloudresourcemanager-api.json index 13dd5d4a2f..2ae79c6d0f 100644 --- a/etc/api/cloudresourcemanager/v2/cloudresourcemanager-api.json +++ b/etc/api/cloudresourcemanager/v2/cloudresourcemanager-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" } } } @@ -222,7 +222,7 @@ "parameterOrder": [], "parameters": { "pageSize": { - "description": "Optional. The maximum number of Folders to return in the response.", + "description": "Optional. The maximum number of Folders to return in the response. The server can return fewer folders than requested. If unspecified, server picks an appropriate default.", "format": "int32", "location": "query", "type": "integer" @@ -450,7 +450,7 @@ } } }, - "revision": "20210328", + "revision": "20220306", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "schemas": { "AuditConfig": { @@ -502,22 +502,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -624,6 +624,12 @@ }, "type": "object" }, + "CreateTagBindingMetadata": { + "description": "Runtime operation information for creating a TagValue.", + "id": "CreateTagBindingMetadata", + "properties": {}, + "type": "object" + }, "CreateTagKeyMetadata": { "description": "Runtime operation information for creating a TagKey.", "id": "CreateTagKeyMetadata", @@ -654,6 +660,12 @@ "properties": {}, "type": "object" }, + "DeleteTagBindingMetadata": { + "description": "Runtime operation information for deleting a TagBinding.", + "id": "DeleteTagBindingMetadata", + "properties": {}, + "type": "object" + }, "DeleteTagKeyMetadata": { "description": "Runtime operation information for deleting a TagKey.", "id": "DeleteTagKeyMetadata", @@ -814,7 +826,7 @@ "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).", + "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" } @@ -911,7 +923,7 @@ "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/).", + "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": { @@ -922,7 +934,7 @@ "type": "array" }, "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.", + "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" }, @@ -966,7 +978,7 @@ "id": "SearchFoldersRequest", "properties": { "pageSize": { - "description": "Optional. The maximum number of folders to return in the response.", + "description": "Optional. The maximum number of folders to return in the response. The server can return fewer folders than requested. If unspecified, server picks an appropriate default.", "format": "int32", "type": "integer" }, diff --git a/etc/api/cloudresourcemanager/v2beta1/cloudresourcemanager-api.json b/etc/api/cloudresourcemanager/v2beta1/cloudresourcemanager-api.json index c88ec832af..384289a124 100644 --- a/etc/api/cloudresourcemanager/v2beta1/cloudresourcemanager-api.json +++ b/etc/api/cloudresourcemanager/v2beta1/cloudresourcemanager-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" } } } @@ -222,7 +222,7 @@ "parameterOrder": [], "parameters": { "pageSize": { - "description": "Optional. The maximum number of Folders to return in the response.", + "description": "Optional. The maximum number of Folders to return in the response. The server can return fewer folders than requested. If unspecified, server picks an appropriate default.", "format": "int32", "location": "query", "type": "integer" @@ -450,7 +450,7 @@ } } }, - "revision": "20210328", + "revision": "20220306", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "schemas": { "AuditConfig": { @@ -502,22 +502,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -624,6 +624,12 @@ }, "type": "object" }, + "CreateTagBindingMetadata": { + "description": "Runtime operation information for creating a TagValue.", + "id": "CreateTagBindingMetadata", + "properties": {}, + "type": "object" + }, "CreateTagKeyMetadata": { "description": "Runtime operation information for creating a TagKey.", "id": "CreateTagKeyMetadata", @@ -654,6 +660,12 @@ "properties": {}, "type": "object" }, + "DeleteTagBindingMetadata": { + "description": "Runtime operation information for deleting a TagBinding.", + "id": "DeleteTagBindingMetadata", + "properties": {}, + "type": "object" + }, "DeleteTagKeyMetadata": { "description": "Runtime operation information for deleting a TagKey.", "id": "DeleteTagKeyMetadata", @@ -814,7 +826,7 @@ "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).", + "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" } @@ -911,7 +923,7 @@ "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/).", + "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": { @@ -922,7 +934,7 @@ "type": "array" }, "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.", + "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" }, @@ -966,7 +978,7 @@ "id": "SearchFoldersRequest", "properties": { "pageSize": { - "description": "Optional. The maximum number of folders to return in the response.", + "description": "Optional. The maximum number of folders to return in the response. The server can return fewer folders than requested. If unspecified, server picks an appropriate default.", "format": "int32", "type": "integer" }, diff --git a/etc/api/cloudresourcemanager/v3/cloudresourcemanager-api.json b/etc/api/cloudresourcemanager/v3/cloudresourcemanager-api.json index a308c67434..47d6c7784f 100644 --- a/etc/api/cloudresourcemanager/v3/cloudresourcemanager-api.json +++ b/etc/api/cloudresourcemanager/v3/cloudresourcemanager-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" } } } @@ -216,7 +216,7 @@ "parameterOrder": [], "parameters": { "pageSize": { - "description": "Optional. The maximum number of folders to return in the response. If unspecified, server picks an appropriate default.", + "description": "Optional. The maximum number of folders to return in the response. The server can return fewer folders than requested. If unspecified, server picks an appropriate default.", "format": "int32", "location": "query", "type": "integer" @@ -316,7 +316,7 @@ "parameterOrder": [], "parameters": { "pageSize": { - "description": "Optional. The maximum number of folders to return in the response. If unspecified, server picks an appropriate default.", + "description": "Optional. The maximum number of folders to return in the response. The server can return fewer folders than requested. If unspecified, server picks an appropriate default.", "format": "int32", "location": "query", "type": "integer" @@ -327,7 +327,7 @@ "type": "string" }, "query": { - "description": "Optional. Search criteria used to select the folders to return. If no search criteria is specified then all accessible folders will be returned. Query expressions can be used to restrict results based upon displayName, state and parent, where the operators `=` (`:`) `NOT`, `AND` and `OR` can be used along with the suffix wildcard symbol `*`. The `displayName` field in a query expression should use escaped quotes for values that include whitespace to prevent unexpected behavior. | Field | Description | |-------------------------|----------------------------------------| | displayName | Filters by displayName. | | parent | Filters by parent (for example: folders/123). | | state, lifecycleState | Filters by state. | Some example queries are: * Query `displayName=Test*` returns Folder resources whose display name starts with \"Test\". * Query `state=ACTIVE` returns Folder resources with `state` set to `ACTIVE`. * Query `parent=folders/123` returns Folder resources that have `folders/123` as a parent resource. * Query `parent=folders/123 AND state=ACTIVE` returns active Folder resources that have `folders/123` as a parent resource. * Query `displayName=\\\\\"Test String\\\\\"` returns Folder resources with display names that include both \"Test\" and \"String\".", + "description": "Optional. Search criteria used to select the folders to return. If no search criteria is specified then all accessible folders will be returned. Query expressions can be used to restrict results based upon displayName, state and parent, where the operators `=` (`:`) `NOT`, `AND` and `OR` can be used along with the suffix wildcard symbol `*`. The `displayName` field in a query expression should use escaped quotes for values that include whitespace to prevent unexpected behavior. ``` | Field | Description | |-------------------------|----------------------------------------| | displayName | Filters by displayName. | | parent | Filters by parent (for example: folders/123). | | state, lifecycleState | Filters by state. | ``` Some example queries are: * Query `displayName=Test*` returns Folder resources whose display name starts with \"Test\". * Query `state=ACTIVE` returns Folder resources with `state` set to `ACTIVE`. * Query `parent=folders/123` returns Folder resources that have `folders/123` as a parent resource. * Query `parent=folders/123 AND state=ACTIVE` returns active Folder resources that have `folders/123` as a parent resource. * Query `displayName=\\\\\"Test String\\\\\"` returns Folder resources with display names that include both \"Test\" and \"String\".", "location": "query", "type": "string" } @@ -508,7 +508,7 @@ "parameterOrder": [], "parameters": { "pageSize": { - "description": "The maximum number of items to return. This is a suggestion for the server.", + "description": "The maximum number of items to return. This is a suggestion for the server. The server can return fewer liens than requested. If unspecified, server picks an appropriate default.", "format": "int32", "location": "query", "type": "integer" @@ -630,7 +630,7 @@ "parameterOrder": [], "parameters": { "pageSize": { - "description": "Optional. The maximum number of organizations to return in the response. If unspecified, server picks an appropriate default.", + "description": "Optional. The maximum number of organizations to return in the response. The server can return fewer organizations than requested. If unspecified, server picks an appropriate default.", "format": "int32", "location": "query", "type": "integer" @@ -641,7 +641,7 @@ "type": "string" }, "query": { - "description": "Optional. An optional query string used to filter the Organizations to return in the response. Query rules are case-insensitive. | Field | Description | |------------------|--------------------------------------------| | directoryCustomerId, owner.directoryCustomerId | Filters by directory customer id. | | domain | Filters by domain. | Organizations may be queried by `directoryCustomerId` or by `domain`, where the domain is a G Suite domain, for example: * Query `directorycustomerid:123456789` returns Organization resources with `owner.directory_customer_id` equal to `123456789`. * Query `domain:google.com` returns Organization resources corresponding to the domain `google.com`.", + "description": "Optional. An optional query string used to filter the Organizations to return in the response. Query rules are case-insensitive. ``` | Field | Description | |------------------|--------------------------------------------| | directoryCustomerId, owner.directoryCustomerId | Filters by directory customer id. | | domain | Filters by domain. | ``` Organizations may be queried by `directoryCustomerId` or by `domain`, where the domain is a G Suite domain, for example: * Query `directorycustomerid:123456789` returns Organization resources with `owner.directory_customer_id` equal to `123456789`. * Query `domain:google.com` returns Organization resources corresponding to the domain `google.com`.", "location": "query", "type": "string" } @@ -786,7 +786,7 @@ ] }, "getIamPolicy": { - "description": "Returns the IAM access control policy for the specified project. Permission is denied if the policy or the resource do not exist.", + "description": "Returns the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123. Permission is denied if the policy or the resource do not exist.", "flatPath": "v3/projects/{projectsId}:getIamPolicy", "httpMethod": "POST", "id": "cloudresourcemanager.projects.getIamPolicy", @@ -853,7 +853,7 @@ ] }, "move": { - "description": "Move a project to another place in your resource hierarchy, under a new resource parent. Returns an operation which can be used to track the process of the project move workflow. Upon success, the `Operation.response` field will be populated with the moved project. The caller must have `resourcemanager.projects.update` permission on the project and have `resourcemanager.projects.move` permission on the project's current and proposed new parent. ", + "description": "Move a project to another place in your resource hierarchy, under a new resource parent. Returns an operation which can be used to track the process of the project move workflow. Upon success, the `Operation.response` field will be populated with the moved project. The caller must have `resourcemanager.projects.move` permission on the project, on the project's current and proposed new parent. If project has no current parent, or it currently does not have an associated organization resource, you will also need the `resourcemanager.projects.setIamPolicy` permission in the project. ", "flatPath": "v3/projects/{projectsId}:move", "httpMethod": "POST", "id": "cloudresourcemanager.projects.move", @@ -933,7 +933,7 @@ "type": "string" }, "query": { - "description": "Optional. A query string for searching for projects that the caller has `resourcemanager.projects.get` permission to. If multiple fields are included in the query, the it will return results that match any of the fields. Some eligible fields are: | Field | Description | |-------------------------|----------------------------------------------| | displayName, name | Filters by displayName. | | parent | Project's parent. (for example: folders/123, organizations/*) Prefer parent field over parent.type and parent.id. | | parent.type | Parent's type: `folder` or `organization`. | | parent.id | Parent's id number (for example: 123) | | id, projectId | Filters by projectId. | | state, lifecycleState | Filters by state. | | labels | Filters by label name or value. | | labels. (where *key* is the name of a label) | Filters by label name. | Search expressions are case insensitive. Some examples queries: | Query | Description | |------------------|-----------------------------------------------------| | name:how* | The project's name starts with \"how\". | | name:Howl | The project's name is `Howl` or `howl`. | | name:HOWL | Equivalent to above. | | NAME:howl | Equivalent to above. | | labels.color:* | The project has the label `color`. | | labels.color:red | The project's label `color` has the value `red`. | | labels.color:red labels.size:big | The project's label `color` has the value `red` and its label `size` has the value `big`. | If no query is specified, the call will return projects for which the user has the `resourcemanager.projects.get` permission.", + "description": "Optional. A query string for searching for projects that the caller has `resourcemanager.projects.get` permission to. If multiple fields are included in the query, then it will return results that match any of the fields. Some eligible fields are: ``` | Field | Description | |-------------------------|----------------------------------------------| | displayName, name | Filters by displayName. | | parent | Project's parent (for example: folders/123, organizations/*). Prefer parent field over parent.type and parent.id.| | parent.type | Parent's type: `folder` or `organization`. | | parent.id | Parent's id number (for example: 123) | | id, projectId | Filters by projectId. | | state, lifecycleState | Filters by state. | | labels | Filters by label name or value. | | labels.\\ (where *key* is the name of a label) | Filters by label name.| ``` Search expressions are case insensitive. Some examples queries: ``` | Query | Description | |------------------|-----------------------------------------------------| | name:how* | The project's name starts with \"how\". | | name:Howl | The project's name is `Howl` or `howl`. | | name:HOWL | Equivalent to above. | | NAME:howl | Equivalent to above. | | labels.color:* | The project has the label `color`. | | labels.color:red | The project's label `color` has the value `red`. | | labels.color:red labels.size:big | The project's label `color` has the value `red` and its label `size` has the value `big`.| ``` If no query is specified, the call will return projects for which the user has the `resourcemanager.projects.get` permission.", "location": "query", "type": "string" } @@ -947,7 +947,7 @@ ] }, "setIamPolicy": { - "description": "Sets the IAM access control policy for the specified project. CAUTION: This method will replace the existing policy, and cannot be used to append additional IAM settings. Note: Removing service accounts from policies or changing their roles can render services completely inoperable. It is important to understand how the service account is being used before removing or updating its roles. The following constraints apply when using `setIamPolicy()`: + Project does not support `allUsers` and `allAuthenticatedUsers` as `members` in a `Binding` of a `Policy`. + The owner role can be granted to a `user`, `serviceAccount`, or a group that is part of an organization. For example, group@myownpersonaldomain.com could be added as an owner to a project in the myownpersonaldomain.com organization, but not the examplepetstore.com organization. + Service accounts can be made owners of a project directly without any restrictions. However, to be added as an owner, a user must be invited using the Cloud Platform console and must accept the invitation. + A user cannot be granted the owner role using `setIamPolicy()`. The user must be granted the owner role using the Cloud Platform Console and must explicitly accept the invitation. + Invitations to grant the owner role cannot be sent using `setIamPolicy()`; they must be sent only using the Cloud Platform Console. + Membership changes that leave the project without any owners that have accepted the Terms of Service (ToS) will be rejected. + If the project is not part of an organization, there must be at least one owner who has accepted the Terms of Service (ToS) agreement in the policy. Calling `setIamPolicy()` to remove the last ToS-accepted owner from the policy will fail. This restriction also applies to legacy projects that no longer have owners who have accepted the ToS. Edits to IAM policies will be rejected until the lack of a ToS-accepting owner is rectified. + Calling this method requires enabling the App Engine Admin API.", + "description": "Sets the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123. CAUTION: This method will replace the existing policy, and cannot be used to append additional IAM settings. Note: Removing service accounts from policies or changing their roles can render services completely inoperable. It is important to understand how the service account is being used before removing or updating its roles. The following constraints apply when using `setIamPolicy()`: + Project does not support `allUsers` and `allAuthenticatedUsers` as `members` in a `Binding` of a `Policy`. + The owner role can be granted to a `user`, `serviceAccount`, or a group that is part of an organization. For example, group@myownpersonaldomain.com could be added as an owner to a project in the myownpersonaldomain.com organization, but not the examplepetstore.com organization. + Service accounts can be made owners of a project directly without any restrictions. However, to be added as an owner, a user must be invited using the Cloud Platform console and must accept the invitation. + A user cannot be granted the owner role using `setIamPolicy()`. The user must be granted the owner role using the Cloud Platform Console and must explicitly accept the invitation. + Invitations to grant the owner role cannot be sent using `setIamPolicy()`; they must be sent only using the Cloud Platform Console. + If the project is not part of an organization, there must be at least one owner who has accepted the Terms of Service (ToS) agreement in the policy. Calling `setIamPolicy()` to remove the last ToS-accepted owner from the policy will fail. This restriction also applies to legacy projects that no longer have owners who have accepted the ToS. Edits to IAM policies will be rejected until the lack of a ToS-accepting owner is rectified. If the project is part of an organization, you can remove all owners, potentially making the organization inaccessible. + Calling this method requires enabling the App Engine Admin API.", "flatPath": "v3/projects/{projectsId}:setIamPolicy", "httpMethod": "POST", "id": "cloudresourcemanager.projects.setIamPolicy", @@ -975,7 +975,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified project.", + "description": "Returns permissions that a caller has on the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123..", "flatPath": "v3/projects/{projectsId}:testIamPermissions", "httpMethod": "POST", "id": "cloudresourcemanager.projects.testIamPermissions", @@ -1092,13 +1092,13 @@ "parameterOrder": [], "parameters": { "pageSize": { - "description": "Optional. The maximum number of TagBindings to return in the response. The server allows a maximum of 300 TagBindings to return. If unspecified, the server will use 100 as the default.", + "description": "Optional. The maximum number of TagBindings to return in the response. The server allows a maximum of 300 TagBindings to return. If unspecified, the server will use 100 as the default. Currently this api returns unpaginated response and `page_size` is ignored.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. A pagination token returned from a previous call to `ListTagBindings` that indicates where this listing should continue from.", + "description": "Optional. A pagination token returned from a previous call to `ListTagBindings` that indicates where this listing should continue from. Currently this api returns unpaginated response and `page_token` is ignored.", "location": "query", "type": "string" }, @@ -1612,7 +1612,7 @@ } } }, - "revision": "20210328", + "revision": "20220306", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "schemas": { "AuditConfig": { @@ -1664,22 +1664,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -1786,6 +1786,12 @@ }, "type": "object" }, + "CreateTagBindingMetadata": { + "description": "Runtime operation information for creating a TagValue.", + "id": "CreateTagBindingMetadata", + "properties": {}, + "type": "object" + }, "CreateTagKeyMetadata": { "description": "Runtime operation information for creating a TagKey.", "id": "CreateTagKeyMetadata", @@ -1816,6 +1822,12 @@ "properties": {}, "type": "object" }, + "DeleteTagBindingMetadata": { + "description": "Runtime operation information for deleting a TagBinding.", + "id": "DeleteTagBindingMetadata", + "properties": {}, + "type": "object" + }, "DeleteTagKeyMetadata": { "description": "Runtime operation information for deleting a TagKey.", "id": "DeleteTagKeyMetadata", @@ -1999,7 +2011,7 @@ "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).", + "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" } @@ -2104,7 +2116,7 @@ "type": "string" }, "tagBindings": { - "description": "A possibly paginated list of TagBindings for the specified TagValue or resource.", + "description": "A possibly paginated list of TagBindings for the specified resource.", "items": { "$ref": "TagBinding" }, @@ -2291,7 +2303,7 @@ "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/).", + "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": { @@ -2302,7 +2314,7 @@ "type": "array" }, "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.", + "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" }, diff --git a/etc/api/cloudscheduler/v1/cloudscheduler-api.json b/etc/api/cloudscheduler/v1/cloudscheduler-api.json index 24daa532a0..67c2afe530 100644 --- a/etc/api/cloudscheduler/v1/cloudscheduler-api.json +++ b/etc/api/cloudscheduler/v1/cloudscheduler-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -418,7 +418,7 @@ } } }, - "revision": "20210315", + "revision": "20220212", "rootUrl": "https://cloudscheduler.googleapis.com/", "schemas": { "AppEngineHttpTarget": { @@ -438,7 +438,7 @@ "additionalProperties": { "type": "string" }, - "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Scheduler will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. If the job has an body, Cloud Scheduler sets the following headers: * `Content-Type`: By default, the `Content-Type` header is set to `\"application/octet-stream\"`. The default can be overridden by explictly setting `Content-Type` to a particular media type when the job is created. For example, `Content-Type` can be set to `\"application/json\"`. * `Content-Length`: This is computed by Cloud Scheduler. This value is output only. It cannot be changed. The headers below are output only. They cannot be set or overridden: * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler.", + "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Scheduler will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule time in RFC3339 UTC \"Zulu\" format. If the job has an body, Cloud Scheduler sets the following headers: * `Content-Type`: By default, the `Content-Type` header is set to `\"application/octet-stream\"`. The default can be overridden by explictly setting `Content-Type` to a particular media type when the job is created. For example, `Content-Type` can be set to `\"application/json\"`. * `Content-Length`: This is computed by Cloud Scheduler. This value is output only. It cannot be changed. The headers below are output only. They cannot be set or overridden: * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler.", "type": "object" }, "httpMethod": { @@ -481,7 +481,7 @@ "type": "string" }, "instance": { - "description": "App instance. By default, the job is sent to an instance which is available when the job is attempted. Requests can only be sent to a specific instance if [manual scaling is used in App Engine Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes). App Engine Flex does not support instances. For more information, see [App Engine Standard request routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed) and [App Engine Flex request routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).", + "description": "App instance. By default, the job is sent to an instance which is available when the job is attempted. Requests can only be sent to a specific instance if [manual scaling is used in App Engine Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?#scaling_types_and_instance_classes). App Engine Flex does not support instances. For more information, see [App Engine Standard request routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed) and [App Engine Flex request routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).", "type": "string" }, "service": { @@ -514,7 +514,7 @@ "additionalProperties": { "type": "string" }, - "description": "The user can specify HTTP request headers to send with the job's HTTP request. This map contains the header field names and values. Repeated headers are not supported, but a header value can contain commas. These headers represent a subset of the headers that will accompany the job's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is below: - Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `\"Google-Cloud-Scheduler\"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. The total size of headers must be less than 80KB.", + "description": "The user can specify HTTP request headers to send with the job's HTTP request. This map contains the header field names and values. Repeated headers are not supported, but a header value can contain commas. These headers represent a subset of the headers that will accompany the job's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is below: - Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `\"Google-Cloud-Scheduler\"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule time in RFC3339 UTC \"Zulu\" format. The total size of headers must be less than 80KB.", "type": "object" }, "httpMethod": { @@ -557,7 +557,7 @@ "type": "object" }, "Job": { - "description": "Configuration for a job. The maximum allowed size for a job is 100KB.", + "description": "Configuration for a job. The maximum allowed size for a job is 1MB.", "id": "Job", "properties": { "appEngineHttpTarget": { @@ -565,7 +565,7 @@ "description": "App Engine HTTP target." }, "attemptDeadline": { - "description": "The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours.", + "description": "The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds.", "format": "google-duration", "type": "string" }, @@ -595,7 +595,7 @@ "description": "Settings that determine the retry behavior." }, "schedule": { - "description": "Required, except when used with UpdateJob. Describes the schedule on which the job will be executed. The schedule can be either of the following types: * [Crontab](http://en.wikipedia.org/wiki/Cron#Overview) * English-like [schedule](https://cloud.google.com/scheduler/docs/configuring/cron-job-schedules) As a general rule, execution `n + 1` of a job will not begin until execution `n` has finished. Cloud Scheduler will never allow two simultaneously outstanding executions. For example, this implies that if the `n+1`th execution is scheduled to run at 16:00 but the `n`th execution takes until 16:15, the `n+1`th execution will not start until `16:15`. A scheduled start time will be delayed if the previous execution has not ended when its scheduled time occurs. If retry_count > 0 and a job attempt fails, the job will be tried a total of retry_count times, with exponential backoff, until the next scheduled start time.", + "description": "Required, except when used with UpdateJob. Describes the schedule on which the job will be executed. The schedule can be either of the following types: * [Crontab](https://en.wikipedia.org/wiki/Cron#Overview) * English-like [schedule](https://cloud.google.com/scheduler/docs/configuring/cron-job-schedules) As a general rule, execution `n + 1` of a job will not begin until execution `n` has finished. Cloud Scheduler will never allow two simultaneously outstanding executions. For example, this implies that if the `n+1`th execution is scheduled to run at 16:00 but the `n`th execution takes until 16:15, the `n+1`th execution will not start until `16:15`. A scheduled start time will be delayed if the previous execution has not ended when its scheduled time occurs. If retry_count > 0 and a job attempt fails, the job will be tried a total of retry_count times, with exponential backoff, until the next scheduled start time.", "type": "string" }, "scheduleTime": { @@ -792,7 +792,7 @@ "type": "string" }, "topicName": { - "description": "Required. The name of the Cloud Pub/Sub topic to which messages will be published when a job is delivered. The topic name must be in the same format as required by PubSub's [PublishRequest.name](https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#publishrequest), for example `projects/PROJECT_ID/topics/TOPIC_ID`. The topic must be in the same project as the Cloud Scheduler job.", + "description": "Required. The name of the Cloud Pub/Sub topic to which messages will be published when a job is delivered. The topic name must be in the same format as required by Pub/Sub's [PublishRequest.name](https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#publishrequest), for example `projects/PROJECT_ID/topics/TOPIC_ID`. The topic must be in the same project as the Cloud Scheduler job.", "type": "string" } }, diff --git a/etc/api/cloudscheduler/v1beta1/cloudscheduler-api.json b/etc/api/cloudscheduler/v1beta1/cloudscheduler-api.json index 14094e7cce..a925e46aa2 100644 --- a/etc/api/cloudscheduler/v1beta1/cloudscheduler-api.json +++ b/etc/api/cloudscheduler/v1beta1/cloudscheduler-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -271,6 +271,11 @@ "parent" ], "parameters": { + "filter": { + "description": "`filter` can be used to specify a subset of jobs. If `filter` equals `target_config=\"HttpConfig\"`, then the http target jobs are retrieved. If `filter` equals `target_config=\"PubSubConfig\"`, then the Pub/Sub target jobs are retrieved. If `filter` equals `labels.foo=value1 labels.foo=value2` then only jobs which are labeled with foo=value1 AND foo=value2 will be returned.", + "location": "query", + "type": "string" + }, "legacyAppEngineCron": { "description": "This field is used to manage the legacy App Engine Cron jobs using the Cloud Scheduler API. If the field is set to true, the jobs in the __cron queue will be listed instead.", "location": "query", @@ -428,7 +433,7 @@ } } }, - "revision": "20210315", + "revision": "20220212", "rootUrl": "https://cloudscheduler.googleapis.com/", "schemas": { "AppEngineHttpTarget": { @@ -448,7 +453,7 @@ "additionalProperties": { "type": "string" }, - "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Scheduler will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. If the job has an body, Cloud Scheduler sets the following headers: * `Content-Type`: By default, the `Content-Type` header is set to `\"application/octet-stream\"`. The default can be overridden by explictly setting `Content-Type` to a particular media type when the job is created. For example, `Content-Type` can be set to `\"application/json\"`. * `Content-Length`: This is computed by Cloud Scheduler. This value is output only. It cannot be changed. The headers below are output only. They cannot be set or overridden: * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler.", + "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Scheduler will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule time in RFC3339 UTC \"Zulu\" format. If the job has an body, Cloud Scheduler sets the following headers: * `Content-Type`: By default, the `Content-Type` header is set to `\"application/octet-stream\"`. The default can be overridden by explictly setting `Content-Type` to a particular media type when the job is created. For example, `Content-Type` can be set to `\"application/json\"`. * `Content-Length`: This is computed by Cloud Scheduler. This value is output only. It cannot be changed. The headers below are output only. They cannot be set or overridden: * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler.", "type": "object" }, "httpMethod": { @@ -491,7 +496,7 @@ "type": "string" }, "instance": { - "description": "App instance. By default, the job is sent to an instance which is available when the job is attempted. Requests can only be sent to a specific instance if [manual scaling is used in App Engine Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes). App Engine Flex does not support instances. For more information, see [App Engine Standard request routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed) and [App Engine Flex request routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).", + "description": "App instance. By default, the job is sent to an instance which is available when the job is attempted. Requests can only be sent to a specific instance if [manual scaling is used in App Engine Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?#scaling_types_and_instance_classes). App Engine Flex does not support instances. For more information, see [App Engine Standard request routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed) and [App Engine Flex request routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).", "type": "string" }, "service": { @@ -524,7 +529,7 @@ "additionalProperties": { "type": "string" }, - "description": "The user can specify HTTP request headers to send with the job's HTTP request. This map contains the header field names and values. Repeated headers are not supported, but a header value can contain commas. These headers represent a subset of the headers that will accompany the job's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is below: - Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `\"Google-Cloud-Scheduler\"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. The total size of headers must be less than 80KB.", + "description": "The user can specify HTTP request headers to send with the job's HTTP request. This map contains the header field names and values. Repeated headers are not supported, but a header value can contain commas. These headers represent a subset of the headers that will accompany the job's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is below: - Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `\"Google-Cloud-Scheduler\"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule time in RFC3339 UTC \"Zulu\" format. The total size of headers must be less than 80KB.", "type": "object" }, "httpMethod": { @@ -567,7 +572,7 @@ "type": "object" }, "Job": { - "description": "Configuration for a job. The maximum allowed size for a job is 100KB.", + "description": "Configuration for a job. The maximum allowed size for a job is 1MB.", "id": "Job", "properties": { "appEngineHttpTarget": { @@ -575,7 +580,7 @@ "description": "App Engine HTTP target." }, "attemptDeadline": { - "description": "The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours. * For PubSub targets, this field is ignored.", + "description": "The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds. * For Pub/Sub targets, this field is ignored.", "format": "google-duration", "type": "string" }, @@ -609,7 +614,7 @@ "description": "Settings that determine the retry behavior." }, "schedule": { - "description": "Required, except when used with UpdateJob. Describes the schedule on which the job will be executed. The schedule can be either of the following types: * [Crontab](http://en.wikipedia.org/wiki/Cron#Overview) * English-like [schedule](https://cloud.google.com/scheduler/docs/configuring/cron-job-schedules) As a general rule, execution `n + 1` of a job will not begin until execution `n` has finished. Cloud Scheduler will never allow two simultaneously outstanding executions. For example, this implies that if the `n+1`th execution is scheduled to run at 16:00 but the `n`th execution takes until 16:15, the `n+1`th execution will not start until `16:15`. A scheduled start time will be delayed if the previous execution has not ended when its scheduled time occurs. If retry_count > 0 and a job attempt fails, the job will be tried a total of retry_count times, with exponential backoff, until the next scheduled start time.", + "description": "Required, except when used with UpdateJob. Describes the schedule on which the job will be executed. The schedule can be either of the following types: * [Crontab](https://en.wikipedia.org/wiki/Cron#Overview) * English-like [schedule](https://cloud.google.com/scheduler/docs/configuring/cron-job-schedules) As a general rule, execution `n + 1` of a job will not begin until execution `n` has finished. Cloud Scheduler will never allow two simultaneously outstanding executions. For example, this implies that if the `n+1`th execution is scheduled to run at 16:00 but the `n`th execution takes until 16:15, the `n+1`th execution will not start until `16:15`. A scheduled start time will be delayed if the previous execution has not ended when its scheduled time occurs. If retry_count > 0 and a job attempt fails, the job will be tried a total of retry_count times, with exponential backoff, until the next scheduled start time.", "type": "string" }, "scheduleTime": { @@ -806,7 +811,7 @@ "type": "string" }, "topicName": { - "description": "Required. The name of the Cloud Pub/Sub topic to which messages will be published when a job is delivered. The topic name must be in the same format as required by PubSub's [PublishRequest.name](https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#publishrequest), for example `projects/PROJECT_ID/topics/TOPIC_ID`. The topic must be in the same project as the Cloud Scheduler job.", + "description": "Required. The name of the Cloud Pub/Sub topic to which messages will be published when a job is delivered. The topic name must be in the same format as required by Pub/Sub's [PublishRequest.name](https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#publishrequest), for example `projects/PROJECT_ID/topics/TOPIC_ID`. The topic must be in the same project as the Cloud Scheduler job.", "type": "string" } }, diff --git a/etc/api/cloudsearch/v1/cloudsearch-api.json b/etc/api/cloudsearch/v1/cloudsearch-api.json index 47ddba8713..e4e2695cec 100644 --- a/etc/api/cloudsearch/v1/cloudsearch-api.json +++ b/etc/api/cloudsearch/v1/cloudsearch-api.json @@ -36,7 +36,7 @@ "baseUrl": "https://cloudsearch.googleapis.com/", "batchPath": "batch", "canonicalName": "Cloud Search", - "description": "Cloud Search provides cloud-based search capabilities over G Suite data. The Cloud Search API allows indexing of non-G Suite data into Cloud Search.", + "description": "Cloud Search provides cloud-based search capabilities over Google Workspace data. The Cloud Search API allows indexing of non-Google Workspace data into Cloud Search.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/cloud-search/docs/guides/", "fullyEncodeReservedExpansion": true, @@ -521,7 +521,7 @@ "type": "string" }, "version": { - "description": "Required. The incremented version of the item to delete from the index. The indexing system stores the version from the datasource as a byte string and compares the Item version in the index to the version of the queued Item using lexical ordering. Cloud Search Indexing won't delete any queued item with a version value that is less than or equal to the version of the currently indexed item. The maximum length for this field is 1024 bytes.", + "description": "Required. The incremented version of the item to delete from the index. The indexing system stores the version from the datasource as a byte string and compares the Item version in the index to the version of the queued Item using lexical ordering. Cloud Search Indexing won't delete any queued item with a version value that is less than or equal to the version of the currently indexed item. The maximum length for this field is 1024 bytes. For information on how item version affects the deletion process, refer to [Handle revisions after manual deletes](https://developers.google.com/cloud-search/docs/guides/operations).", "format": "byte", "location": "query", "type": "string" @@ -938,7 +938,7 @@ "query": { "methods": { "search": { - "description": "The Cloud Search Query API provides the search method, which returns the most relevant results from a user query. The results can come from G Suite Apps, such as Gmail or Google Drive, or they can come from data that you have indexed from a third party. **Note:** This API requires a standard end user account to execute. A service account can't perform Query API requests directly; to use a service account to perform queries, set up [G Suite domain-wide delegation of authority](https://developers.google.com/cloud-search/docs/guides/delegation/).", + "description": "The Cloud Search Query API provides the search method, which returns the most relevant results from a user query. The results can come from Google Workspace apps, such as Gmail or Google Drive, or they can come from data that you have indexed from a third party. **Note:** This API requires a standard end user account to execute. A service account can't perform Query API requests directly; to use a service account to perform queries, set up [Google Workspace domain-wide delegation of authority](https://developers.google.com/cloud-search/docs/guides/delegation/).", "flatPath": "v1/query/search", "httpMethod": "POST", "id": "cloudsearch.query.search", @@ -957,7 +957,7 @@ ] }, "suggest": { - "description": "Provides suggestions for autocompleting the query. **Note:** This API requires a standard end user account to execute. A service account can't perform Query API requests directly; to use a service account to perform queries, set up [G Suite domain-wide delegation of authority](https://developers.google.com/cloud-search/docs/guides/delegation/).", + "description": "Provides suggestions for autocompleting the query. **Note:** This API requires a standard end user account to execute. A service account can't perform Query API requests directly; to use a service account to perform queries, set up [Google Workspace domain-wide delegation of authority](https://developers.google.com/cloud-search/docs/guides/delegation/).", "flatPath": "v1/query/suggest", "httpMethod": "POST", "id": "cloudsearch.query.suggest", @@ -980,7 +980,7 @@ "sources": { "methods": { "list": { - "description": "Returns list of sources that user can use for Search and Suggest APIs. **Note:** This API requires a standard end user account to execute. A service account can't perform Query API requests directly; to use a service account to perform queries, set up [G Suite domain-wide delegation of authority](https://developers.google.com/cloud-search/docs/guides/delegation/).", + "description": "Returns list of sources that user can use for Search and Suggest APIs. **Note:** This API requires a standard end user account to execute. A service account can't perform Query API requests directly; to use a service account to perform queries, set up [Google Workspace domain-wide delegation of authority](https://developers.google.com/cloud-search/docs/guides/delegation/).", "flatPath": "v1/query/sources", "httpMethod": "GET", "id": "cloudsearch.query.sources.list", @@ -1026,6 +1026,52 @@ } }, "settings": { + "methods": { + "getCustomer": { + "description": "Get customer settings. **Note:** This API requires an admin account to execute.", + "flatPath": "v1/settings/customer", + "httpMethod": "GET", + "id": "cloudsearch.settings.getCustomer", + "parameterOrder": [], + "parameters": {}, + "path": "v1/settings/customer", + "response": { + "$ref": "CustomerSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud_search", + "https://www.googleapis.com/auth/cloud_search.settings", + "https://www.googleapis.com/auth/cloud_search.settings.indexing" + ] + }, + "updateCustomer": { + "description": "Update customer settings. **Note:** This API requires an admin account to execute.", + "flatPath": "v1/settings/customer", + "httpMethod": "PATCH", + "id": "cloudsearch.settings.updateCustomer", + "parameterOrder": [], + "parameters": { + "updateMask": { + "description": "Update mask to control which fields get updated. If you specify a field in the update_mask but don't specify its value here, that field will be cleared. If the mask is not present or empty, all fields will be updated. Currently supported field paths: vpc_settings and audit_logging_settings", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/settings/customer", + "request": { + "$ref": "CustomerSettings" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud_search", + "https://www.googleapis.com/auth/cloud_search.settings", + "https://www.googleapis.com/auth/cloud_search.settings.indexing" + ] + } + }, "resources": { "datasources": { "methods": { @@ -1126,7 +1172,7 @@ "type": "boolean" }, "pageSize": { - "description": "Maximum number of datasources to fetch in a request. The max value is 100. The default value is 10", + "description": "Maximum number of datasources to fetch in a request. The max value is 1000. The default value is 1000.", "format": "int32", "location": "query", "type": "integer" @@ -1473,6 +1519,60 @@ "https://www.googleapis.com/auth/cloud_search.stats.indexing" ] }, + "getSearchapplication": { + "description": "Get search application stats for customer. **Note:** This API requires a standard end user account to execute.", + "flatPath": "v1/stats/searchapplication", + "httpMethod": "GET", + "id": "cloudsearch.stats.getSearchapplication", + "parameterOrder": [], + "parameters": { + "endDate.day": { + "description": "Day of month. Must be from 1 to 31 and valid for the year and month.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "endDate.month": { + "description": "Month of date. Must be from 1 to 12.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "endDate.year": { + "description": "Year of date. Must be from 1 to 9999.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "startDate.day": { + "description": "Day of month. Must be from 1 to 31 and valid for the year and month.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "startDate.month": { + "description": "Month of date. Must be from 1 to 12.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "startDate.year": { + "description": "Year of date. Must be from 1 to 9999.", + "format": "int32", + "location": "query", + "type": "integer" + } + }, + "path": "v1/stats/searchapplication", + "response": { + "$ref": "GetCustomerSearchApplicationStatsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud_search", + "https://www.googleapis.com/auth/cloud_search.stats", + "https://www.googleapis.com/auth/cloud_search.stats.indexing" + ] + }, "getSession": { "description": "Get the # of search sessions, % of successful sessions with a click query statistics for customer. **Note:** This API requires a standard end user account to execute.", "flatPath": "v1/stats/session", @@ -1868,11 +1968,162 @@ } } } + }, + "v1": { + "methods": { + "initializeCustomer": { + "description": "Enables `third party` support in Google Cloud Search. **Note:** This API requires an admin account to execute.", + "flatPath": "v1:initializeCustomer", + "httpMethod": "POST", + "id": "cloudsearch.initializeCustomer", + "parameterOrder": [], + "parameters": {}, + "path": "v1:initializeCustomer", + "request": { + "$ref": "InitializeCustomerRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud_search", + "https://www.googleapis.com/auth/cloud_search.settings", + "https://www.googleapis.com/auth/cloud_search.settings.indexing" + ] + } + } } }, - "revision": "20210316", + "revision": "20220221", "rootUrl": "https://cloudsearch.googleapis.com/", "schemas": { + "AclInfo": { + "description": "Next tag: 4", + "id": "AclInfo", + "properties": { + "groupsCount": { + "description": "Number of groups which have at least read access to the document.", + "format": "int32", + "type": "integer" + }, + "scope": { + "description": "The scope to which the content was shared.", + "enum": [ + "LIMITED", + "DASHER_DOMAIN_WITH_LINK", + "DASHER_DOMAIN", + "PUBLIC_WITH_LINK", + "PUBLIC", + "TEAM_DRIVE" + ], + "enumDescriptions": [ + "Explicit set of people and groups.", + "Anybody at the same domain with the link.", + "Now it works only for google.com. Anybody at the same domain. Now it works only", + "for google.com. Anybody with the link.", + "Anybody.", + "Special tag to indicate TeamDrive scope." + ], + "type": "string" + }, + "usersCount": { + "description": "Number of users which have at least read access to the document.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "AppId": { + "description": "Identifier of an App.", + "id": "AppId", + "properties": { + "appType": { + "description": "Enum indicating the type of App this is.", + "enum": [ + "APP_TYPE_UNSPECIFIED", + "APP", + "GSUITE_APP", + "INCOMING_WEBHOOK" + ], + "enumDescriptions": [ + "", + "3P APP eg. external Bots(Asana Bot), 1P Bots(Drive Bot).", + "1P APP eg. Tasks, Meet, Docs, Calendar..", + "Asynchronous messages via an incoming webhook." + ], + "type": "string" + }, + "gsuiteAppType": { + "description": "Enum indicating which 1P App this is when app_type is GSUITE_APP. Determined & set by the 1P API as a convenience for all users of this identifier(Eg. clients, chime, backend etc.) to map to 1P properties.", + "enum": [ + "GSUITE_APP_TYPE_UNSPECIFIED", + "TASKS_APP", + "CALENDAR_APP", + "DOCS_APP", + "SHEETS_APP", + "SLIDES_APP", + "MEET_APP", + "FILE_SUGGESTION_APP", + "CONTACTS_APP", + "ACTIVITY_FEED_APP", + "DRIVE_APP" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "Powered by Bullseye", + "", + "", + "" + ], + "type": "string" + }, + "id": { + "description": "Numeric identifier of the App. Set to Project number for 1/3P Apps. For Webhook, this is WebhookId. Determined & set by the 1P API from App credentials on the side channel.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "AuditLoggingSettings": { + "description": "Represents the settings for Cloud audit logging", + "id": "AuditLoggingSettings", + "properties": { + "logAdminReadActions": { + "description": "Indicates whether audit logging is on/off for admin activity read APIs i.e. Get/List DataSources, Get/List SearchApplications etc.", + "type": "boolean" + }, + "logDataReadActions": { + "description": "Indicates whether audit logging is on/off for data access read APIs i.e. ListItems, GetItem etc.", + "type": "boolean" + }, + "logDataWriteActions": { + "description": "Indicates whether audit logging is on/off for data access write APIs i.e. IndexItem etc.", + "type": "boolean" + }, + "project": { + "description": "The resource name of the GCP Project to store audit logs. Cloud audit logging will be enabled after project_name has been updated through CustomerService. Format: projects/{project_id}", + "type": "string" + } + }, + "type": "object" + }, + "AvatarInfo": { + "id": "AvatarInfo", + "properties": { + "emoji": { + "$ref": "Emoji" + } + }, + "type": "object" + }, "BooleanOperatorOptions": { "description": "Used to provide a search operator for boolean properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched.", "id": "BooleanOperatorOptions", @@ -1932,6 +2183,92 @@ }, "type": "object" }, + "ContextAttribute": { + "description": "A named attribute associated with an item which can be used for influencing the ranking of the item based on the context in the request.", + "id": "ContextAttribute", + "properties": { + "name": { + "description": "The name of the attribute. It should not be empty. The maximum length is 32 characters. The name must start with a letter and can only contain letters (A-Z, a-z) or numbers (0-9). The name will be normalized (lower-cased) before being matched.", + "type": "string" + }, + "values": { + "description": "Text values of the attribute. The maximum number of elements is 10. The maximum length of an element in the array is 32 characters. The value will be normalized (lower-cased) before being matched.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CustomEmoji": { + "description": "Proto representation of a custom emoji. May be used in both APIs and in Spanner, but certain fields should be restricted to one or the other. See the per-field documentation for details. NEXT_TAG: 11", + "id": "CustomEmoji", + "properties": { + "blobId": { + "description": "ID for the underlying image data in Blobstore. This field should *only* be present in Spanner or within the server, but should not be exposed in public APIs.", + "type": "string" + }, + "createTimeMicros": { + "description": "Time when the Emoji was created, in microseconds. This field may be present in Spanner, within the server, or in public APIs.", + "format": "int64", + "type": "string" + }, + "creatorUserId": { + "$ref": "UserId", + "description": "This field should *never* be persisted to Spanner." + }, + "ownerCustomerId": { + "$ref": "CustomerId", + "description": "This field should *never* be persisted to Spanner." + }, + "readToken": { + "description": "Opaque token that clients use to construct the URL for accessing the custom emoji\u2019s image data. This field is intended for API consumption, and should *never* be persisted to Spanner.", + "type": "string" + }, + "shortcode": { + "description": "User-provided, human-readable ID for the custom emoji. Users are expected to observe this field in the UI instead of the UUID. This shortcode should be unique within an organization, but has no global uniqueness guarantees, unlike the UUID. This field should *never* be persisted to Spanner.", + "type": "string" + }, + "state": { + "description": "Snapshot of the current state of the emoji, which may differ from the source-of-truth in the CustomEmojis table. This field should *never* be persisted to Spanner.", + "enum": [ + "EMOJI_STATE_UNSPECIFIED", + "EMOJI_ENABLED", + "EMOJI_SYSTEM_DISABLED", + "EMOJI_HIDDEN", + "EMOJI_DELETED" + ], + "enumDescriptions": [ + "", + "Emoji is visible and available to be used, subject to access control requirements.", + "Emoji can no longer be used (e.g. due to a shortcode conflict), but is not removed from existing embeddings.", + "Emoji is hidden from pickers, so new usages are not allowed, but is not removed from existing embeddings.", + "Emoji is removed everywhere and is not available to end-users." + ], + "type": "string" + }, + "updateTimeMicros": { + "format": "int64", + "type": "string" + }, + "uuid": { + "description": "Unique key for a custom emoji resource. Required. This field is *always* populated.", + "type": "string" + } + }, + "type": "object" + }, + "CustomerId": { + "description": "Represents a GSuite customer ID. Obfuscated with CustomerIdObfuscator.", + "id": "CustomerId", + "properties": { + "customerId": { + "type": "string" + } + }, + "type": "object" + }, "CustomerIndexStats": { "description": "Aggregation of items by status code as of the specified date.", "id": "CustomerIndexStats", @@ -1966,12 +2303,28 @@ }, "type": "object" }, + "CustomerSearchApplicationStats": { + "description": "Search application stats for a customer for the given date.", + "id": "CustomerSearchApplicationStats", + "properties": { + "count": { + "description": "The count of search applications for the date.", + "format": "int64", + "type": "string" + }, + "date": { + "$ref": "Date", + "description": "Date for which search application stats were calculated." + } + }, + "type": "object" + }, "CustomerSessionStats": { "id": "CustomerSessionStats", "properties": { "date": { "$ref": "Date", - "description": "Date for which session stats were calculated. Stats calculated on the next day close to midnight are returned." + "description": "Date for which session stats were calculated. Stats are calculated on the following day, close to midnight PST, and then returned." }, "searchSessionsCount": { "description": "The count of search sessions on the day", @@ -1981,6 +2334,21 @@ }, "type": "object" }, + "CustomerSettings": { + "description": "Represents settings at a customer level.", + "id": "CustomerSettings", + "properties": { + "auditLoggingSettings": { + "$ref": "AuditLoggingSettings", + "description": "Audit Logging settings for the customer. If update_mask is empty then this field will be updated based on UpdateCustomerSettings request." + }, + "vpcSettings": { + "$ref": "VPCSettings", + "description": "VPC SC settings for the customer. If update_mask is empty then this field will be updated based on UpdateCustomerSettings request." + } + }, + "type": "object" + }, "CustomerUserStats": { "id": "CustomerUserStats", "properties": { @@ -2047,6 +2415,10 @@ }, "type": "array" }, + "returnThumbnailUrls": { + "description": "Can a user request to get thumbnail URI for Items indexed in this data source.", + "type": "boolean" + }, "shortName": { "description": "A short name or alias for the source. This value will be used to match the 'source' operator. For example, if the short name is ** then queries like *source:* will only return results for this source. The value must be unique across all datasources. The value must only contain alphanumeric characters (a-zA-Z0-9). The value cannot start with 'google' and cannot be one of the following: mail, gmail, docs, drive, groups, sites, calendar, hangouts, gplus, keep, people, teams. Its maximum length is 32 characters.", "type": "string" @@ -2195,6 +2567,16 @@ }, "type": "object" }, + "DmId": { + "id": "DmId", + "properties": { + "dmId": { + "description": "Unique server assigned Id, per Direct Message Space.", + "type": "string" + } + }, + "type": "object" + }, "DoubleOperatorOptions": { "description": "Used to provide a search operator for double properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched.", "id": "DoubleOperatorOptions", @@ -2352,6 +2734,20 @@ }, "type": "object" }, + "Emoji": { + "id": "Emoji", + "properties": { + "customEmoji": { + "$ref": "CustomEmoji", + "description": "A custom emoji." + }, + "unicode": { + "description": "A basic emoji represented by a unicode string.", + "type": "string" + } + }, + "type": "object" + }, "EnumOperatorOptions": { "description": "Used to provide a search operator for enum properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched. For example, if you provide no operator for a *priority* enum property with possible values *p0* and *p1*, a query that contains the term *p0* returns items that have *p0* as the value of the *priority* property, as well as any items that contain the string *p0* in other fields. If you provide an operator name for the enum, such as *priority*, then search users can use that operator to refine results to only items that have *p0* as this property's value, with the query *priority:p0*.", "id": "EnumOperatorOptions", @@ -2456,7 +2852,7 @@ "id": "FacetBucket", "properties": { "count": { - "description": "Number of results that match the bucket value. Counts are only returned for searches when count accuracy is ensured. Can be empty.", + "description": "Number of results that match the bucket value. Counts are only returned for searches when count accuracy is ensured. Cloud Search does not guarantee facet counts for any query and facet counts might be present only intermittently, even for identical queries. Do not build dependencies on facet count existence; instead use facet ount percentages which are always returned.", "format": "int32", "type": "integer" }, @@ -2600,6 +2996,11 @@ "GetCustomerIndexStatsResponse": { "id": "GetCustomerIndexStatsResponse", "properties": { + "averageIndexedItemCount": { + "description": "Average item count for the given date range for which billing is done.", + "format": "int64", + "type": "string" + }, "stats": { "description": "Summary of indexed item counts, one for each day in the requested range.", "items": { @@ -2618,6 +3019,30 @@ "$ref": "CustomerQueryStats" }, "type": "array" + }, + "totalQueryCount": { + "description": "Total successful query count (status code 200) for the given date range.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GetCustomerSearchApplicationStatsResponse": { + "description": "Response format for search application stats for a customer.", + "id": "GetCustomerSearchApplicationStatsResponse", + "properties": { + "averageSearchApplicationCount": { + "description": "Average search application count for the given date range.", + "format": "int64", + "type": "string" + }, + "stats": { + "description": "Search application stats by date.", + "items": { + "$ref": "CustomerSearchApplicationStats" + }, + "type": "array" } }, "type": "object" @@ -2649,6 +3074,11 @@ "GetDataSourceIndexStatsResponse": { "id": "GetDataSourceIndexStatsResponse", "properties": { + "averageIndexedItemCount": { + "description": "Average item count for the given date range for which billing is done.", + "format": "int64", + "type": "string" + }, "stats": { "description": "Summary of indexed item counts, one for each day in the requested range.", "items": { @@ -2660,13 +3090,20 @@ "type": "object" }, "GetSearchApplicationQueryStatsResponse": { + "description": "Response format for getting query stats for a search application between given dates.", "id": "GetSearchApplicationQueryStatsResponse", "properties": { "stats": { + "description": "Query stats per date for a search application.", "items": { "$ref": "SearchApplicationQueryStats" }, "type": "array" + }, + "totalQueryCount": { + "description": "Total successful query count (status code 200) for the given date range.", + "format": "int64", + "type": "string" } }, "type": "object" @@ -2695,6 +3132,123 @@ }, "type": "object" }, + "GoogleDocsMetadata": { + "description": "The corpus specific metadata for office-type documents, from Google Docs and other sources. This message is passed to the scorer and beyond. Next tag: 7", + "id": "GoogleDocsMetadata", + "properties": { + "aclInfo": { + "$ref": "AclInfo", + "description": "Contains number of users and groups which can access the document." + }, + "documentType": { + "description": "The conceptual type (presentation, document, etc.) of this document.", + "enum": [ + "UNKNOWN", + "DOCUMENT", + "PRESENTATION", + "SPREADSHEET", + "PDF", + "IMAGE", + "BINARY_BLOB", + "FUSION_TABLE", + "FOLDER", + "DRAWING", + "VIDEO", + "FORM", + "DRAFT_SITE", + "DRAFT_SITE_PAGE", + "JAM", + "SHORTCUT", + "SCRIPT" + ], + "enumDescriptions": [ + "If the type is unknown or not represented in this enum.", + "Writely, Word, etc.", + "Presently, PowerPoint, etc.", + "Trix, Excel, etc.", + "File types for Gdrive objects are below.", + "", + "Fall-back for unknown Gdrive types.", + "", + "", + "", + "", + "", + "For Atari page and site drafts", + "", + "Jamboard Jams (go/jam)", + "Drive Shortcuts (go/shortcuts)", + "" + ], + "type": "string" + }, + "fileExtension": { + "description": "The file extension of the document. NOTE: As of October 2018 this field is not backfilled for old documents.", + "type": "string" + }, + "lastContentModifiedTimestamp": { + "description": "The last time this document was modified, in seconds since epoch. Only counts content modifications.", + "format": "int64", + "type": "string" + }, + "resultInfo": { + "$ref": "GoogleDocsResultInfo", + "description": "Additional per-result information, akin to Gmail's SingleThreadResponse. Note: GWS no longer seems to use this field, but there's still one reference to it for Scribe, so we can't remove it." + }, + "typeInfo": { + "$ref": "TypeInfo", + "description": "Contains additional information about the document depending on its type." + } + }, + "type": "object" + }, + "GoogleDocsResultInfo": { + "description": "A message containing information about a specific result. This information is passed to the scorer and beyond; in particular, GWS relies on it to format the result in the UI. Split from GoogleDocsMetadata in case we later want to reuse the message.", + "id": "GoogleDocsResultInfo", + "properties": { + "attachmentSha1": { + "description": "The SHA1 hash of the object in Drive, if any.", + "type": "string" + }, + "cosmoId": { + "$ref": "Id", + "description": "The storage identifier for the object in Cosmo. This field is intended to used by Stratus/Moonshine integration only. It should not be exposed externally (please refer to encrypted_id for that purpose)." + }, + "cosmoNameSpace": { + "description": "For Cosmo objects, the Cosmo namespace the object was in. This allows downstream clients to identify whether a document was created in Writely or Kix, Presently or Punch, or whether it was uploaded from GDrive. See storage_cosmo.Id.NAME_SPACE for a list of all Cosmo name spaces.", + "format": "int32", + "type": "integer" + }, + "encryptedId": { + "description": "The encrypted (user-visible) id of this object. Knowing the id is sufficient to create a canonical URL for this document.", + "type": "string" + }, + "mimeType": { + "description": "The mimetype of the document.", + "type": "string" + }, + "shareScope": { + "$ref": "ShareScope", + "description": "The visibility indicator in the UI will be based upon this." + } + }, + "type": "object" + }, + "GroupId": { + "description": "Id representing a group that could be a space, a chat, or a direct message space. Which ID is set here will determine which group", + "id": "GroupId", + "properties": { + "dmId": { + "$ref": "DmId", + "description": "Unique, immutable ID of the Direct Message Space" + }, + "spaceId": { + "$ref": "SpaceId", + "description": "Unique, immutable ID of the Space" + } + }, + "type": "object" + }, "HtmlOperatorOptions": { "description": "Used to provide a search operator for html properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched.", "id": "HtmlOperatorOptions", @@ -2735,6 +3289,27 @@ }, "type": "object" }, + "Id": { + "description": "Identifies a particular object, including both Users and DirEntries. This Id is unique across the entire server instance, such as the production or qa instance.", + "id": "Id", + "properties": { + "creatorUserId": { + "description": "The User account in which the DirEntry was originally created. If name_space==GAIA, then it's the gaia_id of the user this id is referring to.", + "format": "uint64", + "type": "string" + }, + "localId": { + "description": "The local identifier for the DirEntry (local to the creator's account). local_id + app_name is guaranteed to be unique within the creator account, but not across all User accounts. The string is case sensitive. Ignore if name_space==GAIA. NB For name_space==COSMO, all local_id's should be defined in google3/java/com/google/storage/cosmo/server/api/SpecialObjectIds.java as they have a special predefined meaning. See cosmo.client.CosmoIdFactory.createObjectId(long,String) for IMPORTANT recommendations when generating IDs.", + "type": "string" + }, + "nameSpace": { + "description": "The name space in which this id is unique (typically the application that created it). Values should be drawn from the above enum, but for experimentation, use values greater than 1000.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "IndexItemOptions": { "id": "IndexItemOptions", "properties": { @@ -2780,6 +3355,12 @@ }, "type": "object" }, + "InitializeCustomerRequest": { + "description": "Request message for `InitializeCustomer` method.", + "id": "InitializeCustomerRequest", + "properties": {}, + "type": "object" + }, "IntegerOperatorOptions": { "description": "Used to provide a search operator for integer properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched.", "id": "IntegerOperatorOptions", @@ -2931,7 +3512,7 @@ "description": "The structured data for the item that should conform to a registered object definition in the schema for the data source." }, "version": { - "description": "Required. The indexing system stores the version from the datasource as a byte string and compares the Item version in the index to the version of the queued Item using lexical ordering. Cloud Search Indexing won't index or delete any queued item with a version value that is less than or equal to the version of the currently indexed item. The maximum length for this field is 1024 bytes.", + "description": "Required. The indexing system stores the version from the datasource as a byte string and compares the Item version in the index to the version of the queued Item using lexical ordering. Cloud Search Indexing won't index or delete any queued item with a version value that is less than or equal to the version of the currently indexed item. The maximum length for this field is 1024 bytes. For information on how item version affects the deletion process, refer to [Handle revisions after manual deletes](https://developers.google.com/cloud-search/docs/guides/operations).", "format": "byte", "type": "string" } @@ -3029,6 +3610,11 @@ "format": "int64", "type": "string" }, + "indexedItemsCount": { + "description": "Number of items matching the status code for which billing is done. This excludes virtual container items from the total count. This count would not be applicable for items with ERROR or NEW_ITEM status code.", + "format": "int64", + "type": "string" + }, "statusCode": { "description": "Status of the items.", "enum": [ @@ -3062,6 +3648,13 @@ "description": "The BCP-47 language code for the item, such as \"en-US\" or \"sr-Latn\". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. The maximum length is 32 characters.", "type": "string" }, + "contextAttributes": { + "description": "A set of named attributes associated with the item. This can be used for influencing the ranking of the item based on the context in the request. The maximum number of elements is 10.", + "items": { + "$ref": "ContextAttribute" + }, + "type": "array" + }, "createTime": { "description": "The time when the item was created in the source repository.", "format": "google-datetime", @@ -3098,7 +3691,7 @@ "description": "Additional search quality metadata of the item" }, "sourceRepositoryUrl": { - "description": "Link to the source repository serving the data. Search results apply this link to the title. Whitespace or special characters may cause Cloud Search result links to trigger a redirect notice; to avoid this, encode the URL. The maximum length is 2048 characters.", + "description": "Link to the source repository serving the data. Seach results apply this link to the title. Whitespace or special characters may cause Cloud Seach result links to trigger a redirect notice; to avoid this, encode the URL. The maximum length is 2048 characters.", "type": "string" }, "title": { @@ -3345,6 +3938,10 @@ "$ref": "Source", "description": "The named source for the result, such as Gmail." }, + "thumbnailUrl": { + "description": "The thumbnail URL of the result.", + "type": "string" + }, "updateTime": { "description": "The last modified date for the object in the search result. If not set in the item, the value returned here is empty. When `updateTime` is used for calculating freshness and is not set, this value defaults to 2 years from the current time.", "format": "google-datetime", @@ -3741,7 +4338,7 @@ "type": "boolean" }, "isSortable": { - "description": "Indicates that the property can be used for sorting. Cannot be true for properties that are repeatable. Cannot be true for properties whose type is object or user identifier. IsReturnable must be true to set this option. Only supported for Boolean, Date, Double, Integer, and Timestamp properties.", + "description": "Indicates that the property can be used for sorting. Cannot be true for properties that are repeatable. Cannot be true for properties whose type is object. IsReturnable must be true to set this option. Only supported for Boolean, Date, Double, Integer, and Timestamp properties.", "type": "boolean" }, "isSuggestable": { @@ -3899,6 +4496,21 @@ }, "type": "object" }, + "QueryInterpretationConfig": { + "description": "Default options to interpret user query.", + "id": "QueryInterpretationConfig", + "properties": { + "forceDisableSupplementalResults": { + "description": "Set this flag to disable supplemental results retrieval, setting a flag here will not retrieve supplemental results for queries associated with a given search application. If this flag is set to True, it will take precedence over the option set at Query level. For the default value of False, query level flag will set the correct interpretation for supplemental results.", + "type": "boolean" + }, + "forceVerbatimMode": { + "description": "Enable this flag to turn off all internal optimizations like natural language (NL) interpretation of queries, supplemental results retrieval, and usage of synonyms including custom ones. If this flag is set to True, it will take precedence over the option set at Query level. For the default value of False, query level flag will set the correct interpretation for verbatim mode.", + "type": "boolean" + } + }, + "type": "object" + }, "QueryInterpretationOptions": { "description": "Options to interpret user query.", "id": "QueryInterpretationOptions", @@ -3907,6 +4519,10 @@ "description": "Flag to disable natural language (NL) interpretation of queries. Default is false, Set to true to disable natural language interpretation. NL interpretation only applies to predefined datasources.", "type": "boolean" }, + "disableSupplementalResults": { + "description": "Use this flag to disable supplemental results for a query. Supplemental results setting chosen at SearchApplication level will take precedence if set to True.", + "type": "boolean" + }, "enableVerbatimMode": { "description": "Enable this flag to turn off all internal optimizations like natural language (NL) interpretation of queries, supplemental result retrieval, and usage of synonyms including custom ones. Nl interpretation will be disabled if either one of the two flags is true.", "type": "boolean" @@ -4310,6 +4926,10 @@ "description": "Display name of the Search Application. The maximum length is 300 characters.", "type": "string" }, + "enableAuditLog": { + "description": "Indicates whether audit logging is on/off for requests made for the search application in query APIs.", + "type": "boolean" + }, "name": { "description": "Name of the Search Application. Format: searchapplications/{application_id}.", "type": "string" @@ -4322,6 +4942,14 @@ "readOnly": true, "type": "array" }, + "queryInterpretationConfig": { + "$ref": "QueryInterpretationConfig", + "description": "The default options for query interpretation" + }, + "returnResultThumbnailUrls": { + "description": "With each result we should return the URI for its thumbnail (when applicable)", + "type": "boolean" + }, "scoringConfig": { "$ref": "ScoringConfig", "description": "Configuration for ranking results." @@ -4337,6 +4965,7 @@ "type": "object" }, "SearchApplicationQueryStats": { + "description": "Search application level query stats per date", "id": "SearchApplicationQueryStats", "properties": { "date": { @@ -4357,7 +4986,7 @@ "properties": { "date": { "$ref": "Date", - "description": "Date for which session stats were calculated. Stats calculated on the next day close to midnight are returned." + "description": "Date for which session stats were calculated. Stats are calculated on the following day, close to midnight PST, and then returned." }, "searchSessionsCount": { "description": "The count of search sessions on the day", @@ -4442,6 +5071,13 @@ "description": "The search API request.", "id": "SearchRequest", "properties": { + "contextAttributes": { + "description": "Context attributes for the request which will be used to adjust ranking of search results. The maximum number of elements is 10.", + "items": { + "$ref": "ContextAttribute" + }, + "type": "array" + }, "dataSourceRestrictions": { "description": "The sources to use for querying. If not specified, all data sources from the current search application are used.", "items": { @@ -4461,7 +5097,7 @@ "type": "integer" }, "query": { - "description": "The raw query string. See supported search operators in the [Cloud search Cheat Sheet](https://support.google.com/a/users/answer/9299929)", + "description": "The raw query string. See supported search operators in the [Narrow your search with operators](https://support.google.com/cloudsearch/answer/6172299)", "type": "string" }, "queryInterpretationOptions": { @@ -4583,6 +5219,36 @@ }, "type": "object" }, + "ShareScope": { + "id": "ShareScope", + "properties": { + "domain": { + "description": "If scope is DOMAIN, this field contains the dasher domain, for example \"google.com\".", + "type": "string" + }, + "scope": { + "description": "The scope to which the content was shared.", + "enum": [ + "UNKNOWN", + "PRIVATE", + "LIMITED", + "EXTENDED", + "DASHER_DOMAIN", + "PUBLIC" + ], + "enumDescriptions": [ + "", + "Only the author can view the post.", + "Viewable only by a set of people.", + "Viewable by extended circles.", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "Snippet": { "description": "Snippet of the search result, which summarizes the content of the resulting page.", "id": "Snippet", @@ -4684,7 +5350,7 @@ "id": "SourceCrowdingConfig", "properties": { "numResults": { - "description": "Maximum number of results allowed from a source. No limits will be set on results if this value is less than or equal to 0.", + "description": "Maximum number of results allowed from a datasource in a result page as long as results from other sources are not exhausted. Value specified must not be negative. A default value is used if this value is equal to 0. To disable crowding, set the value greater than 100.", "format": "int32", "type": "integer" }, @@ -4742,6 +5408,61 @@ }, "type": "object" }, + "SpaceId": { + "description": "Primary key for Space resource.", + "id": "SpaceId", + "properties": { + "spaceId": { + "description": "Unique, immutable ID of the Space", + "type": "string" + } + }, + "type": "object" + }, + "SpaceInfo": { + "description": "Defines the representation of a single matching space.", + "id": "SpaceInfo", + "properties": { + "avatarInfo": { + "$ref": "AvatarInfo" + }, + "avatarUrl": { + "type": "string" + }, + "description": { + "type": "string" + }, + "groupId": { + "$ref": "GroupId" + }, + "name": { + "type": "string" + }, + "numMembers": { + "format": "int32", + "type": "integer" + }, + "userMembershipState": { + "description": "searching user's membership state in this space", + "enum": [ + "MEMBER_UNKNOWN", + "MEMBER_INVITED", + "MEMBER_JOINED", + "MEMBER_NOT_A_MEMBER", + "MEMBER_FAILED" + ], + "enumDescriptions": [ + "Default state, do not use", + "An invitation to the space has been sent", + "User has joined the space", + "User is not a member", + "This state should never be stored in Spanner. It is a state for responses to the clients to indicate that membership mutations have failed and the member is in its previous state." + ], + "type": "string" + } + }, + "type": "object" + }, "SpellResult": { "id": "SpellResult", "properties": { @@ -4966,6 +5687,17 @@ }, "type": "object" }, + "TypeInfo": { + "description": "Next tag: 2", + "id": "TypeInfo", + "properties": { + "videoInfo": { + "$ref": "VideoInfo", + "description": "Contains additional video information only if document_type is VIDEO." + } + }, + "type": "object" + }, "UnmappedIdentity": { "id": "UnmappedIdentity", "properties": { @@ -5046,7 +5778,7 @@ "type": "object" }, "UploadItemRef": { - "description": "Represents an upload session reference. This reference is created via upload method. Updating of item content may refer to this uploaded content via contentDataRef.", + "description": "Represents an upload session reference. This reference is created via upload method. This reference is valid for 30 days after its creation. Updating of item content may refer to this uploaded content via contentDataRef.", "id": "UploadItemRef", "properties": { "name": { @@ -5056,6 +5788,43 @@ }, "type": "object" }, + "UserId": { + "description": "Primary key for User resource.", + "id": "UserId", + "properties": { + "id": { + "description": "Opaque, server-assigned ID of the User.", + "type": "string" + }, + "originAppId": { + "$ref": "AppId", + "description": "Optional. Identifier of the App involved (directly or on behalf of a human creator) in creating this message. This is not set if the user posted a message directly, but is used in the case of, for example, a message being generated by a 1P integration based on a user action (creating an event, creating a task etc). This should only be used on the BE. For clients, please use the field in the FE message proto instead (google3/apps/dynamite/v1/frontend/api/message.proto?q=origin_app_id)." + }, + "type": { + "description": "Clients do not need to send UserType to Backend, but Backend will always send this field to clients per the following rule: 1. For HUMAN Ids, the field is empty but by default .getType() will return HUMAN. 2. For BOT Ids, the field is ALWAYS set to BOT.", + "enum": [ + "HUMAN", + "BOT" + ], + "enumDescriptions": [ + "Notes on HUMAN type: 1) Leaving UserId.UserType field empty will return HUMAN as default value. This is expected because all the existing UserIds are without explicitly setting UserType, most of which are HUMAN Ids. For Bot Ids we will always set BOT in UserType field. 2) DO NOT explicitly set HUMAN as type. This is a proto2 issue, that a UserId with explicitly set default value HUMAN as type is NOT equal to an id without setting the field. aka. UserId id1 = UserId.newBuilder() .setId(\"dummy\").setType(UserType.HUMAN).build(); UserId id2 = UserId.newBuilder().setId(\"dummy\").build(); AssertThat(id1).isNotEqual(id2); AssertThat(id2.getType()).isEqualTo(UserType.HUMAN);", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "VPCSettings": { + "id": "VPCSettings", + "properties": { + "project": { + "description": "The resource name of the GCP Project to be used for VPC SC policy check. VPC security settings on this project will be honored for Cloud Search APIs after project_name has been updated through CustomerService. Format: projects/{project_id}", + "type": "string" + } + }, + "type": "object" + }, "Value": { "description": "Definition of a single value with generic type.", "id": "Value", @@ -5097,6 +5866,18 @@ } }, "type": "object" + }, + "VideoInfo": { + "description": "Next tag: 2", + "id": "VideoInfo", + "properties": { + "duration": { + "description": "Duration of the video in milliseconds. This field can be absent for recently uploaded video or inaccurate sometimes.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/etc/api/cloudshell/v1/cloudshell-api.json b/etc/api/cloudshell/v1/cloudshell-api.json index 58829ef991..83d59bf513 100644 --- a/etc/api/cloudshell/v1/cloudshell-api.json +++ b/etc/api/cloudshell/v1/cloudshell-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -374,7 +374,7 @@ } } }, - "revision": "20210326", + "revision": "20220301", "rootUrl": "https://cloudshell.googleapis.com/", "schemas": { "AddPublicKeyMetadata": { diff --git a/etc/api/cloudsupport/v2beta/cloudsupport-api.json b/etc/api/cloudsupport/v2beta/cloudsupport-api.json new file mode 100644 index 0000000000..90020b9d37 --- /dev/null +++ b/etc/api/cloudsupport/v2beta/cloudsupport-api.json @@ -0,0 +1,1421 @@ +{ + "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://cloudsupport.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Cloud Support", + "description": "Manages Google Cloud technical support cases for Customer Care support offerings. ", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/support/docs/apis", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "cloudsupport:v2beta", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://cloudsupport.mtls.googleapis.com/", + "name": "cloudsupport", + "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": { + "attachments": { + "methods": { + "create": { + "description": "Create a file attachment on a case or Cloud resource.", + "flatPath": "v2beta/{v2betaId}/{v2betaId1}/attachments", + "httpMethod": "POST", + "id": "cloudsupport.attachments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the case to which attachment should be attached.", + "location": "path", + "pattern": "^[^/]+/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/attachments", + "request": { + "$ref": "CreateAttachmentRequest" + }, + "response": { + "$ref": "Attachment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "caseClassifications": { + "methods": { + "search": { + "description": "Retrieve valid classifications to be used when creating a support case. The classications are hierarchical, with each classification containing all levels of the hierarchy, separated by \" > \". For example \"Technical Issue > Compute > Compute Engine\".", + "flatPath": "v2beta/caseClassifications:search", + "httpMethod": "GET", + "id": "cloudsupport.caseClassifications.search", + "parameterOrder": [], + "parameters": { + "pageSize": { + "description": "The maximum number of cases fetched with each request.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying the page of results to return. If unspecified, the first page is retrieved.", + "location": "query", + "type": "string" + }, + "query": { + "description": "An expression written in the Cloud filter language. If non-empty, then only cases whose fields match the filter are returned. If empty, then no messages are filtered out.", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/caseClassifications:search", + "response": { + "$ref": "SearchCaseClassificationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "cases": { + "methods": { + "close": { + "description": "Close the specified case.", + "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}:close", + "httpMethod": "POST", + "id": "cloudsupport.cases.close", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The fully qualified name of the case resource to be closed.", + "location": "path", + "pattern": "^[^/]+/[^/]+/cases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}:close", + "request": { + "$ref": "CloseCaseRequest" + }, + "response": { + "$ref": "Case" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Create a new case and associate it with the given Cloud resource.", + "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases", + "httpMethod": "POST", + "id": "cloudsupport.cases.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the Cloud resource under which the case should be created.", + "location": "path", + "pattern": "^[^/]+/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/cases", + "request": { + "$ref": "Case" + }, + "response": { + "$ref": "Case" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "escalate": { + "description": "Escalate a case. Escalating a case will initiate the Cloud Support escalation management process. This operation is only available to certain Customer Care tiers. Go to https://cloud.google.com/support and look for 'Technical support escalations' in the feature list to find out which tiers are able to perform escalations.", + "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}:escalate", + "httpMethod": "POST", + "id": "cloudsupport.cases.escalate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The fully qualified name of the Case resource to be escalated.", + "location": "path", + "pattern": "^[^/]+/[^/]+/cases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}:escalate", + "request": { + "$ref": "EscalateCaseRequest" + }, + "response": { + "$ref": "Case" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieve the specified case.", + "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}", + "httpMethod": "GET", + "id": "cloudsupport.cases.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The fully qualified name of a case to be retrieved.", + "location": "path", + "pattern": "^[^/]+/[^/]+/cases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "Case" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Retrieve all cases under the specified parent.", + "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases", + "httpMethod": "GET", + "id": "cloudsupport.cases.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "An expression written in the Cloud filter language. If non-empty, then only cases whose fields match the filter are returned. If empty, then no messages are filtered out. Filter strings can use the following fields: - state (Accepted values: OPEN or CLOSED) - severity (Accepted values: S0, S1, S2, S3, or S4) - creator.email with the operators equals (=) and AND. Additionally, a global restriction (with no operator) can be used to search across displayName, description, and comments (e.g. \"my search\").", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of cases fetched with each request. Defaults to 10.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying the page of results to return. If unspecified, the first page is retrieved.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The fully qualified name of parent resource to list cases under.", + "location": "path", + "pattern": "^[^/]+/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/cases", + "response": { + "$ref": "ListCasesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update the specified case. Only a subset of fields (display_name, description, time_zone, subscriber_email_addresses, related_resources, severity, priority, primary_contact, and labels) can be updated.", + "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}", + "httpMethod": "PATCH", + "id": "cloudsupport.cases.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name for the case.", + "location": "path", + "pattern": "^[^/]+/[^/]+/cases/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "A field that represents attributes of a case object that should be updated as part of this request. Supported values are severity, display_name, and subscriber_email_addresses. If no fields are specified, all supported fields will be updated. WARNING: If you do not provide a field mask then you may accidentally clear some fields. For example, if you leave field mask empty and do not provide a value for subscriber_email_addresses then subscriber_email_addresses will be updated to empty.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}", + "request": { + "$ref": "Case" + }, + "response": { + "$ref": "Case" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "search": { + "description": "Search cases using the specified query.", + "flatPath": "v2beta/cases:search", + "httpMethod": "GET", + "id": "cloudsupport.cases.search", + "parameterOrder": [], + "parameters": { + "pageSize": { + "description": "The maximum number of cases fetched with each request. The default page size is 10.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying the page of results to return. If unspecified, the first page is retrieved.", + "location": "query", + "type": "string" + }, + "query": { + "description": "An expression written in the Cloud filter language. Filter strings can use the following fields: - organization (A name of the form organizations/) - project (A name of the form projects/) - customer (A name of the form customers/) - state (Accepted values: OPEN or CLOSED) - severity (Accepted values: S0, S1, S2, S3, or S4) - creator.email with the operators equals (=) and AND. Additionally, a global restriction (with no key/operator) can be used to search across display_name, description, and comments (e.g. \"my search\"). One of organization, project, or customer field must be specified.", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/cases:search", + "response": { + "$ref": "SearchCasesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "attachments": { + "methods": { + "list": { + "description": "Retrieve all attachments associated with a support case.", + "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/attachments", + "httpMethod": "GET", + "id": "cloudsupport.cases.attachments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of attachments fetched with each request. If not provided, the default is 10. The maximum page size that will be returned is 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying the page of results to return. If unspecified, the first page is retrieved.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of Case object for which attachments should be listed.", + "location": "path", + "pattern": "^[^/]+/[^/]+/cases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/attachments", + "response": { + "$ref": "ListAttachmentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "comments": { + "methods": { + "create": { + "description": "Add a new comment to the specified Case.", + "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/comments", + "httpMethod": "POST", + "id": "cloudsupport.cases.comments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of Case to which this comment should be added.", + "location": "path", + "pattern": "^[^/]+/[^/]+/cases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/comments", + "request": { + "$ref": "Comment" + }, + "response": { + "$ref": "Comment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Retrieve all Comments associated with the Case object.", + "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/comments", + "httpMethod": "GET", + "id": "cloudsupport.cases.comments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of comments fetched with each request. Defaults to 10.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying the page of results to return. If unspecified, the first page is retrieved.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of Case object for which comments should be listed.", + "location": "path", + "pattern": "^[^/]+/[^/]+/cases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/comments", + "response": { + "$ref": "ListCommentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "media": { + "methods": { + "download": { + "description": "Download a file attachment on a case. Note: HTTP requests must append \"?alt=media\" to the URL.", + "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/attachments/{attachmentsId}:download", + "httpMethod": "GET", + "id": "cloudsupport.media.download", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the attachment to be downloaded.", + "location": "path", + "pattern": "^[^/]+/[^/]+/cases/[^/]+/attachments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}:download", + "response": { + "$ref": "Media" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "supportsMediaDownload": true, + "useMediaDownloadService": true + }, + "upload": { + "description": "Create a file attachment on a case or Cloud resource.", + "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/attachments", + "httpMethod": "POST", + "id": "cloudsupport.media.upload", + "mediaUpload": { + "accept": [ + "*/*" + ], + "protocols": { + "simple": { + "multipart": true, + "path": "/upload/v2beta/{+parent}/attachments" + } + } + }, + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the case to which attachment should be attached.", + "location": "path", + "pattern": "^[^/]+/[^/]+/cases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/attachments", + "request": { + "$ref": "CreateAttachmentRequest" + }, + "response": { + "$ref": "Attachment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "supportsMediaUpload": true + } + } + } + }, + "revision": "20220305", + "rootUrl": "https://cloudsupport.googleapis.com/", + "schemas": { + "Actor": { + "description": "An object containing information about the effective user and authenticated principal responsible for an action.", + "id": "Actor", + "properties": { + "displayName": { + "description": "The name to display for the actor. If not provided, it is inferred from credentials supplied during case creation. When an email is provided, a display name must also be provided. This will be obfuscated if the user is a Google Support agent.", + "type": "string" + }, + "email": { + "description": "The email address of the actor. If not provided, it is inferred from credentials supplied during case creation. If the authenticated principal does not have an email address, one must be provided. When a name is provided, an email must also be provided. This will be obfuscated if the user is a Google Support agent.", + "type": "string" + }, + "googleSupport": { + "description": "Output only. Whether the actor is a Google support actor.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "Attachment": { + "description": "Represents a file attached to a support case.", + "id": "Attachment", + "properties": { + "createTime": { + "description": "Output only. The time at which the attachment was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creator": { + "$ref": "Actor", + "description": "Output only. The user who uploaded the attachment. Note, the name and email will be obfuscated if the attachment was uploaded by Google support.", + "readOnly": true + }, + "filename": { + "description": "The filename of the attachment (e.g. `\"graph.jpg\"`).", + "type": "string" + }, + "mimeType": { + "description": "Output only. The MIME type of the attachment (e.g. text/plain).", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the attachment.", + "readOnly": true, + "type": "string" + }, + "sizeBytes": { + "description": "Output only. The size of the attachment in bytes.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Blobstore2Info": { + "description": "# gdata.* are outside protos with mising documentation", + "id": "Blobstore2Info", + "properties": { + "blobGeneration": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "int64", + "type": "string" + }, + "blobId": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "string" + }, + "downloadReadHandle": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "byte", + "type": "string" + }, + "readToken": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "string" + }, + "uploadMetadataContainer": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "Case": { + "description": "A support case.", + "id": "Case", + "properties": { + "classification": { + "$ref": "CaseClassification", + "description": "The issue classification applicable to this case." + }, + "createTime": { + "description": "Output only. The time this case was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creator": { + "$ref": "Actor", + "description": "The user who created the case. Note: The name and email will be obfuscated if the case was created by Google Support." + }, + "description": { + "description": "A broad description of the issue.", + "type": "string" + }, + "displayName": { + "description": "The short summary of the issue reported in this case.", + "type": "string" + }, + "escalated": { + "description": "Whether the case is currently escalated.", + "type": "boolean" + }, + "name": { + "description": "The resource name for the case.", + "type": "string" + }, + "priority": { + "description": "The priority of this case. If this is set, do not set severity.", + "enum": [ + "PRIORITY_UNSPECIFIED", + "P0", + "P1", + "P2", + "P3", + "P4" + ], + "enumDescriptions": [ + "Severity is undefined or has not been set yet.", + "Extreme impact on a production service. Service is hard down.", + "Critical impact on a production service. Service is currently unusable.", + "Severe impact on a production service. Service is usable but greatly impaired.", + "Medium impact on a production service. Service is available, but moderately impaired.", + "General questions or minor issues. Production service is fully available." + ], + "type": "string" + }, + "severity": { + "description": "The severity of this case. Deprecated. Use priority instead.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "S0", + "S1", + "S2", + "S3", + "S4" + ], + "enumDescriptions": [ + "Severity is undefined or has not been set yet.", + "Extreme impact on a production service. Service is hard down.", + "Critical impact on a production service. Service is currently unusable.", + "Severe impact on a production service. Service is usable but greatly impaired.", + "Medium impact on a production service. Service is available, but moderately impaired.", + "General questions or minor issues. Production service is fully available." + ], + "type": "string" + }, + "state": { + "description": "Output only. The current status of the support case.", + "enum": [ + "STATE_UNSPECIFIED", + "NEW", + "IN_PROGRESS_GOOGLE_SUPPORT", + "ACTION_REQUIRED", + "SOLUTION_PROVIDED", + "CLOSED" + ], + "enumDescriptions": [ + "Case is in an unknown state.", + "The case has been created but no one is assigned to work on it yet.", + "The case is currently being handled by Google support.", + "Google is waiting for a response.", + "A solution has been offered for the case, but it isn't yet closed.", + "The case has been resolved." + ], + "readOnly": true, + "type": "string" + }, + "subscriberEmailAddresses": { + "description": "The email addresses to receive updates on this case.", + "items": { + "type": "string" + }, + "type": "array" + }, + "testCase": { + "description": "Whether this case was created for internal API testing and should not be acted on by the support team.", + "type": "boolean" + }, + "timeZone": { + "description": "The timezone of the user who created the support case. It should be in a format IANA recognizes: https://www.iana.org/time-zones. There is no additional validation done by the API.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The time this case was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CaseClassification": { + "description": "A classification object with a product type and value.", + "id": "CaseClassification", + "properties": { + "displayName": { + "description": "The display name of the classification.", + "type": "string" + }, + "id": { + "description": "The unique ID for a classification. Must be specified for case creation.", + "type": "string" + } + }, + "type": "object" + }, + "CloseCaseRequest": { + "description": "The request message for the CloseCase endpoint.", + "id": "CloseCaseRequest", + "properties": {}, + "type": "object" + }, + "Comment": { + "description": "A comment associated with a support case.", + "id": "Comment", + "properties": { + "body": { + "description": "The full comment body. Maximum of 120000 characters. This can contain rich text syntax.", + "type": "string" + }, + "createTime": { + "description": "Output only. The time when this comment was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creator": { + "$ref": "Actor", + "description": "Output only. The user or Google Support agent created this comment.", + "readOnly": true + }, + "name": { + "description": "Output only. The resource name for the comment.", + "readOnly": true, + "type": "string" + }, + "plainTextBody": { + "description": "Output only. An automatically generated plain text version of body with all rich text syntax stripped.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CompositeMedia": { + "description": "# gdata.* are outside protos with mising documentation", + "id": "CompositeMedia", + "properties": { + "blobRef": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "byte", + "type": "string" + }, + "blobstore2Info": { + "$ref": "Blobstore2Info", + "description": "# gdata.* are outside protos with mising documentation" + }, + "cosmoBinaryReference": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "byte", + "type": "string" + }, + "crc32cHash": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "uint32", + "type": "integer" + }, + "inline": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "byte", + "type": "string" + }, + "length": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "int64", + "type": "string" + }, + "md5Hash": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "byte", + "type": "string" + }, + "objectId": { + "$ref": "ObjectId", + "description": "# gdata.* are outside protos with mising documentation" + }, + "path": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "string" + }, + "referenceType": { + "description": "# gdata.* are outside protos with mising documentation", + "enum": [ + "PATH", + "BLOB_REF", + "INLINE", + "BIGSTORE_REF", + "COSMO_BINARY_REFERENCE" + ], + "enumDescriptions": [ + "# gdata.* are outside protos with mising documentation", + "# gdata.* are outside protos with mising documentation", + "# gdata.* are outside protos with mising documentation", + "# gdata.* are outside protos with mising documentation", + "# gdata.* are outside protos with mising documentation" + ], + "type": "string" + }, + "sha1Hash": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "ContentTypeInfo": { + "description": "# gdata.* are outside protos with mising documentation", + "id": "ContentTypeInfo", + "properties": { + "bestGuess": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "string" + }, + "fromBytes": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "string" + }, + "fromFileName": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "string" + }, + "fromHeader": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "string" + }, + "fromUrlPath": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "string" + } + }, + "type": "object" + }, + "CreateAttachmentRequest": { + "description": "The request message for the CreateAttachment endpoint.", + "id": "CreateAttachmentRequest", + "properties": { + "attachment": { + "$ref": "Attachment", + "description": "Required. The attachment to be created." + } + }, + "type": "object" + }, + "DiffChecksumsResponse": { + "description": "# gdata.* are outside protos with mising documentation", + "id": "DiffChecksumsResponse", + "properties": { + "checksumsLocation": { + "$ref": "CompositeMedia", + "description": "# gdata.* are outside protos with mising documentation" + }, + "chunkSizeBytes": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "int64", + "type": "string" + }, + "objectLocation": { + "$ref": "CompositeMedia", + "description": "# gdata.* are outside protos with mising documentation" + }, + "objectSizeBytes": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "int64", + "type": "string" + }, + "objectVersion": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "string" + } + }, + "type": "object" + }, + "DiffDownloadResponse": { + "description": "# gdata.* are outside protos with mising documentation", + "id": "DiffDownloadResponse", + "properties": { + "objectLocation": { + "$ref": "CompositeMedia", + "description": "# gdata.* are outside protos with mising documentation" + } + }, + "type": "object" + }, + "DiffUploadRequest": { + "description": "# gdata.* are outside protos with mising documentation", + "id": "DiffUploadRequest", + "properties": { + "checksumsInfo": { + "$ref": "CompositeMedia", + "description": "# gdata.* are outside protos with mising documentation" + }, + "objectInfo": { + "$ref": "CompositeMedia", + "description": "# gdata.* are outside protos with mising documentation" + }, + "objectVersion": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "string" + } + }, + "type": "object" + }, + "DiffUploadResponse": { + "description": "# gdata.* are outside protos with mising documentation", + "id": "DiffUploadResponse", + "properties": { + "objectVersion": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "string" + }, + "originalObject": { + "$ref": "CompositeMedia", + "description": "# gdata.* are outside protos with mising documentation" + } + }, + "type": "object" + }, + "DiffVersionResponse": { + "description": "# gdata.* are outside protos with mising documentation", + "id": "DiffVersionResponse", + "properties": { + "objectSizeBytes": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "int64", + "type": "string" + }, + "objectVersion": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "string" + } + }, + "type": "object" + }, + "DownloadParameters": { + "description": "# gdata.* are outside protos with mising documentation", + "id": "DownloadParameters", + "properties": { + "allowGzipCompression": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "boolean" + }, + "ignoreRange": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "boolean" + } + }, + "type": "object" + }, + "EscalateCaseRequest": { + "description": "The request message for the EscalateCase endpoint.", + "id": "EscalateCaseRequest", + "properties": { + "escalation": { + "$ref": "Escalation", + "description": "The escalation object to be sent with the escalation request." + } + }, + "type": "object" + }, + "Escalation": { + "description": "An escalation of a support case.", + "id": "Escalation", + "properties": { + "justification": { + "description": "Required. A free text description to accompany the `reason` field above. Provides additional context on why the case is being escalated.", + "type": "string" + }, + "reason": { + "description": "Required. The reason why the Case is being escalated.", + "enum": [ + "REASON_UNSPECIFIED", + "RESOLUTION_TIME", + "TECHNICAL_EXPERTISE", + "BUSINESS_IMPACT" + ], + "enumDescriptions": [ + "The escalation reason is in an unknown state or has not been specified.", + "The case is taking too long to resolve.", + "The support agent does not have the expertise required to successfully resolve the issue.", + "The issue is having a significant business impact." + ], + "type": "string" + } + }, + "type": "object" + }, + "ListAttachmentsResponse": { + "description": "The response message for the ListAttachments endpoint.", + "id": "ListAttachmentsResponse", + "properties": { + "attachments": { + "description": "The list of attachments associated with the given case.", + "items": { + "$ref": "Attachment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. This should be set in the `page_token` field of subsequent `cases.attachments.list` requests. If unspecified, there are no more results to retrieve.", + "type": "string" + } + }, + "type": "object" + }, + "ListCasesResponse": { + "description": "The response message for the ListCases endpoint.", + "id": "ListCasesResponse", + "properties": { + "cases": { + "description": "The list of cases associated with the cloud resource, after any filters have been applied.", + "items": { + "$ref": "Case" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. This should be set in the `page_token` field of subsequent `ListCasesRequest` message that is issued. If unspecified, there are no more results to retrieve.", + "type": "string" + } + }, + "type": "object" + }, + "ListCommentsResponse": { + "description": "The response message for the ListComments endpoint.", + "id": "ListCommentsResponse", + "properties": { + "comments": { + "description": "The list of Comments associated with the given Case.", + "items": { + "$ref": "Comment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. This should be set in the `page_token` field of subsequent `ListCommentsRequest` message that is issued. If unspecified, there are no more results to retrieve.", + "type": "string" + } + }, + "type": "object" + }, + "Media": { + "description": "# gdata.* are outside protos with mising documentation", + "id": "Media", + "properties": { + "algorithm": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "string" + }, + "bigstoreObjectRef": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "byte", + "type": "string" + }, + "blobRef": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "byte", + "type": "string" + }, + "blobstore2Info": { + "$ref": "Blobstore2Info", + "description": "# gdata.* are outside protos with mising documentation" + }, + "compositeMedia": { + "description": "# gdata.* are outside protos with mising documentation", + "items": { + "$ref": "CompositeMedia" + }, + "type": "array" + }, + "contentType": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "string" + }, + "contentTypeInfo": { + "$ref": "ContentTypeInfo", + "description": "# gdata.* are outside protos with mising documentation" + }, + "cosmoBinaryReference": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "byte", + "type": "string" + }, + "crc32cHash": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "uint32", + "type": "integer" + }, + "diffChecksumsResponse": { + "$ref": "DiffChecksumsResponse", + "description": "# gdata.* are outside protos with mising documentation" + }, + "diffDownloadResponse": { + "$ref": "DiffDownloadResponse", + "description": "# gdata.* are outside protos with mising documentation" + }, + "diffUploadRequest": { + "$ref": "DiffUploadRequest", + "description": "# gdata.* are outside protos with mising documentation" + }, + "diffUploadResponse": { + "$ref": "DiffUploadResponse", + "description": "# gdata.* are outside protos with mising documentation" + }, + "diffVersionResponse": { + "$ref": "DiffVersionResponse", + "description": "# gdata.* are outside protos with mising documentation" + }, + "downloadParameters": { + "$ref": "DownloadParameters", + "description": "# gdata.* are outside protos with mising documentation" + }, + "filename": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "string" + }, + "hash": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "string" + }, + "hashVerified": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "boolean" + }, + "inline": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "byte", + "type": "string" + }, + "isPotentialRetry": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "boolean" + }, + "length": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "int64", + "type": "string" + }, + "md5Hash": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "byte", + "type": "string" + }, + "mediaId": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "byte", + "type": "string" + }, + "objectId": { + "$ref": "ObjectId", + "description": "# gdata.* are outside protos with mising documentation" + }, + "path": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "string" + }, + "referenceType": { + "description": "# gdata.* are outside protos with mising documentation", + "enum": [ + "PATH", + "BLOB_REF", + "INLINE", + "GET_MEDIA", + "COMPOSITE_MEDIA", + "BIGSTORE_REF", + "DIFF_VERSION_RESPONSE", + "DIFF_CHECKSUMS_RESPONSE", + "DIFF_DOWNLOAD_RESPONSE", + "DIFF_UPLOAD_REQUEST", + "DIFF_UPLOAD_RESPONSE", + "COSMO_BINARY_REFERENCE", + "ARBITRARY_BYTES" + ], + "enumDescriptions": [ + "# gdata.* are outside protos with mising documentation", + "# gdata.* are outside protos with mising documentation", + "# gdata.* are outside protos with mising documentation", + "# gdata.* are outside protos with mising documentation", + "# gdata.* are outside protos with mising documentation", + "# gdata.* are outside protos with mising documentation", + "# gdata.* are outside protos with mising documentation", + "# gdata.* are outside protos with mising documentation", + "# gdata.* are outside protos with mising documentation", + "# gdata.* are outside protos with mising documentation", + "# gdata.* are outside protos with mising documentation", + "# gdata.* are outside protos with mising documentation", + "# gdata.* are outside protos with mising documentation" + ], + "type": "string" + }, + "sha1Hash": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "byte", + "type": "string" + }, + "sha256Hash": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "byte", + "type": "string" + }, + "timestamp": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "uint64", + "type": "string" + }, + "token": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "string" + } + }, + "type": "object" + }, + "ObjectId": { + "description": "# gdata.* are outside protos with mising documentation", + "id": "ObjectId", + "properties": { + "bucketName": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "string" + }, + "generation": { + "description": "# gdata.* are outside protos with mising documentation", + "format": "int64", + "type": "string" + }, + "objectName": { + "description": "# gdata.* are outside protos with mising documentation", + "type": "string" + } + }, + "type": "object" + }, + "SearchCaseClassificationsResponse": { + "description": "The response message for SearchCaseClassifications endpoint.", + "id": "SearchCaseClassificationsResponse", + "properties": { + "caseClassifications": { + "description": "The classifications retrieved.", + "items": { + "$ref": "CaseClassification" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. This should be set in the `page_token` field of subsequent `SearchCaseClassificationsRequest` message that is issued. If unspecified, there are no more results to retrieve.", + "type": "string" + } + }, + "type": "object" + }, + "SearchCasesResponse": { + "description": "The response message for the SearchCases endpoint.", + "id": "SearchCasesResponse", + "properties": { + "cases": { + "description": "The list of Case associated with the cloud resource, after any filters have been applied.", + "items": { + "$ref": "Case" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. This should be set in the `page_token` field of subsequent `SearchCaseRequest` message that is issued. If unspecified, there are no more results to retrieve.", + "type": "string" + } + }, + "type": "object" + }, + "WorkflowOperationMetadata": { + "description": "Metadata about the operation. Used to lookup the current status.", + "id": "WorkflowOperationMetadata", + "properties": { + "namespace": { + "description": "The namespace that the job was scheduled in. Must be included in the workflow metadata so the workflow status can be retrieved.", + "type": "string" + }, + "operationAction": { + "description": "The type of action the operation is classified as.", + "enum": [ + "OPERATION_ACTION_UNSPECIFIED", + "CREATE_SUPPORT_ACCOUNT", + "UPDATE_SUPPORT_ACCOUNT", + "PURCHASE_SUPPORT_ACCOUNT" + ], + "enumDescriptions": [ + "Operation action is not specified.", + "Operation pertains to the creation of a new support account.", + "Operation pertains to the updating of an existing support account.", + "Operation pertains to the purchasing of a support plan that may either create or update a support account." + ], + "type": "string" + }, + "workflowOperationType": { + "description": "Which version of the workflow service this operation came from.", + "enum": [ + "UNKNOWN_OPERATION_TYPE", + "WORKFLOWS_V1", + "WORKFLOWS_V2" + ], + "enumDescriptions": [ + "Unknown version.", + "Version 1.", + "Version 2." + ], + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Google Cloud Support API", + "version": "v2beta", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/cloudtasks/v2/cloudtasks-api.json b/etc/api/cloudtasks/v2/cloudtasks-api.json index a88c01c174..6cb596cc8d 100644 --- a/etc/api/cloudtasks/v2/cloudtasks-api.json +++ b/etc/api/cloudtasks/v2/cloudtasks-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -685,7 +685,7 @@ } } }, - "revision": "20210315", + "revision": "20220212", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AppEngineHttpRequest": { @@ -789,22 +789,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -880,7 +880,7 @@ "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).", + "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" } @@ -900,7 +900,7 @@ "additionalProperties": { "type": "string" }, - "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. * X-Google-*: Google use only. * X-AppEngine-*: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.", + "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.", "type": "object" }, "httpMethod": { @@ -1067,11 +1067,11 @@ "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/).", + "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` 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.", + "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" }, @@ -1126,7 +1126,7 @@ "description": "Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this field is unset, then no logs are written." }, "state": { - "description": "Output only. The state of the queue. `state` can only be changed by called PauseQueue, ResumeQueue, or uploading [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref). UpdateQueue cannot be used to change `state`.", + "description": "Output only. The state of the queue. `state` can only be changed by calling PauseQueue, ResumeQueue, or uploading [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref). UpdateQueue cannot be used to change `state`.", "enum": [ "STATE_UNSPECIFIED", "RUNNING", diff --git a/etc/api/cloudtasks/v2beta2/cloudtasks-api.json b/etc/api/cloudtasks/v2beta2/cloudtasks-api.json index 2da632b0b5..2d4f2ba172 100644 --- a/etc/api/cloudtasks/v2beta2/cloudtasks-api.json +++ b/etc/api/cloudtasks/v2beta2/cloudtasks-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -809,7 +809,7 @@ } } }, - "revision": "20210315", + "revision": "20220212", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AcknowledgeTaskRequest": { @@ -932,22 +932,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -1049,7 +1049,7 @@ "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).", + "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" } @@ -1200,11 +1200,11 @@ "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/).", + "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` 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.", + "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" }, diff --git a/etc/api/cloudtasks/v2beta3/cloudtasks-api.json b/etc/api/cloudtasks/v2beta3/cloudtasks-api.json index 287362f849..88792249a8 100644 --- a/etc/api/cloudtasks/v2beta3/cloudtasks-api.json +++ b/etc/api/cloudtasks/v2beta3/cloudtasks-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -697,7 +697,7 @@ } } }, - "revision": "20210315", + "revision": "20220212", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AppEngineHttpQueue": { @@ -812,22 +812,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -903,7 +903,7 @@ "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).", + "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" } @@ -923,7 +923,7 @@ "additionalProperties": { "type": "string" }, - "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. * X-Google-*: Google use only. * X-AppEngine-*: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.", + "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.", "type": "object" }, "httpMethod": { @@ -1090,11 +1090,11 @@ "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/).", + "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` 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.", + "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" }, diff --git a/etc/api/cloudtrace/v1/cloudtrace-api.json b/etc/api/cloudtrace/v1/cloudtrace-api.json index 5afd7191e6..da3090c72f 100644 --- a/etc/api/cloudtrace/v1/cloudtrace-api.json +++ b/etc/api/cloudtrace/v1/cloudtrace-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." }, "https://www.googleapis.com/auth/trace.append": { "description": "Write Trace data for a project or application" @@ -18,7 +18,7 @@ "baseUrl": "https://cloudtrace.googleapis.com/", "batchPath": "batch", "canonicalName": "Cloud Trace", - "description": "Sends application trace data to Cloud Trace for viewing. Trace data is collected for all App Engine applications by default. Trace data from other applications can be provided using this API. This library is used to interact with the Cloud Trace API directly. If you are looking to instrument your application for Cloud Trace, we recommend using OpenCensus. ", + "description": "Sends application trace data to Cloud Trace for viewing. Trace data is collected for all App Engine applications by default. Trace data from other applications can be provided using this API. This library is used to interact with the Cloud Trace API directly. If you are looking to instrument your application for Cloud Trace, we recommend using OpenTelemetry. ", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/trace", "fullyEncodeReservedExpansion": true, @@ -178,7 +178,7 @@ ] }, "list": { - "description": "Returns of a list of traces that match the specified filter conditions.", + "description": "Returns a list of traces that match the specified filter conditions.", "flatPath": "v1/projects/{projectId}/traces", "httpMethod": "GET", "id": "cloudtrace.projects.traces.list", @@ -257,7 +257,7 @@ } } }, - "revision": "20210319", + "revision": "20220224", "rootUrl": "https://cloudtrace.googleapis.com/", "schemas": { "Empty": { diff --git a/etc/api/cloudtrace/v2/cloudtrace-api.json b/etc/api/cloudtrace/v2/cloudtrace-api.json index 67c6f86149..4c5e315655 100644 --- a/etc/api/cloudtrace/v2/cloudtrace-api.json +++ b/etc/api/cloudtrace/v2/cloudtrace-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." }, "https://www.googleapis.com/auth/trace.append": { "description": "Write Trace data for a project or application" @@ -15,7 +15,7 @@ "baseUrl": "https://cloudtrace.googleapis.com/", "batchPath": "batch", "canonicalName": "Cloud Trace", - "description": "Sends application trace data to Cloud Trace for viewing. Trace data is collected for all App Engine applications by default. Trace data from other applications can be provided using this API. This library is used to interact with the Cloud Trace API directly. If you are looking to instrument your application for Cloud Trace, we recommend using OpenCensus. ", + "description": "Sends application trace data to Cloud Trace for viewing. Trace data is collected for all App Engine applications by default. Trace data from other applications can be provided using this API. This library is used to interact with the Cloud Trace API directly. If you are looking to instrument your application for Cloud Trace, we recommend using OpenTelemetry. ", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/trace", "fullyEncodeReservedExpansion": true, @@ -113,7 +113,7 @@ "traces": { "methods": { "batchWrite": { - "description": "Sends new spans to new or existing traces. You cannot update existing spans.", + "description": "Batch writes new spans to new or existing traces. You cannot update existing spans.", "flatPath": "v2/projects/{projectsId}/traces:batchWrite", "httpMethod": "POST", "id": "cloudtrace.projects.traces.batchWrite", @@ -155,7 +155,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the span in the following format: projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/SPAN_ID is a unique identifier for a trace within a project; it is a 32-character hexadecimal encoding of a 16-byte array. [SPAN_ID] is a unique identifier for a span within a trace; it is a 16-character hexadecimal encoding of an 8-byte array. It should not be zero.", + "description": "Required. The resource name of the span in the following format: * `projects/[PROJECT_ID]/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. It should not be zero. `[SPAN_ID]` is a unique identifier for a span within a trace; it is a 16-character hexadecimal encoding of an 8-byte array. It should not be zero. .", "location": "path", "pattern": "^projects/[^/]+/traces/[^/]+/spans/[^/]+$", "required": true, @@ -181,7 +181,7 @@ } } }, - "revision": "20210319", + "revision": "20220224", "rootUrl": "https://cloudtrace.googleapis.com/", "schemas": { "Annotation": { @@ -200,7 +200,7 @@ "type": "object" }, "AttributeValue": { - "description": "The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute.", + "description": "The allowed types for `[VALUE]` in a `[KEY]:[VALUE]` attribute.", "id": "AttributeValue", "properties": { "boolValue": { @@ -220,14 +220,14 @@ "type": "object" }, "Attributes": { - "description": "A set of attributes, each in the format `[KEY]:[VALUE]`.", + "description": "A set of attributes as key-value pairs.", "id": "Attributes", "properties": { "attributeMap": { "additionalProperties": { "$ref": "AttributeValue" }, - "description": "The set of attributes. Each attribute's key can be up to 128 bytes long. The value can be a string up to 256 bytes, a signed 64-bit integer, or the Boolean values `true` and `false`. For example: \"/instance_id\": { \"string_value\": { \"value\": \"my-instance\" } } \"/http/request_bytes\": { \"int_value\": 300 } \"abc.com/myattribute\": { \"bool_value\": false }", + "description": "A set of attributes. Each attribute's key can be up to 128 bytes long. The value can be a string up to 256 bytes, a signed 64-bit integer, or the boolean values `true` or `false`. For example: \"/instance_id\": { \"string_value\": { \"value\": \"my-instance\" } } \"/http/request_bytes\": { \"int_value\": 300 } \"abc.com/myattribute\": { \"bool_value\": false }", "type": "object" }, "droppedAttributesCount": { @@ -243,7 +243,7 @@ "id": "BatchWriteSpansRequest", "properties": { "spans": { - "description": "Required. A list of new spans. The span names must not match existing spans, or the results are undefined.", + "description": "Required. A list of new spans. The span names must not match existing spans, otherwise the results are undefined.", "items": { "$ref": "Span" }, @@ -264,14 +264,14 @@ "properties": { "attributes": { "$ref": "Attributes", - "description": "A set of attributes on the link. You have have up to 32 attributes per link." + "description": "A set of attributes on the link. Up to 32 attributes can be specified per link." }, "spanId": { - "description": "The [SPAN_ID] for a span within a trace.", + "description": "The `[SPAN_ID]` for a span within a trace.", "type": "string" }, "traceId": { - "description": "The [TRACE_ID] for a trace within a project.", + "description": "The `[TRACE_ID]` for a trace within a project.", "type": "string" }, "type": { @@ -315,12 +315,12 @@ "id": "MessageEvent", "properties": { "compressedSizeBytes": { - "description": "The number of compressed bytes sent or received. If missing assumed to be the same size as uncompressed.", + "description": "The number of compressed bytes sent or received. If missing, the compressed size is assumed to be the same size as the uncompressed size.", "format": "int64", "type": "string" }, "id": { - "description": "An identifier for the MessageEvent's message that can be used to match SENT and RECEIVED MessageEvents. It is recommended to be unique within a Span.", + "description": "An identifier for the MessageEvent's message that can be used to match `SENT` and `RECEIVED` MessageEvents.", "format": "int64", "type": "string" }, @@ -362,7 +362,7 @@ "type": "object" }, "Span": { - "description": "A span represents a single operation within a trace. Spans can be nested to form a trace tree. Often, a trace contains a root span that describes the end-to-end latency, and one or more subspans for its sub-operations. A trace can also contain multiple root spans, or none at all. Spans do not need to be contiguous\u2014there may be gaps or overlaps between spans in a trace.", + "description": "A span represents a single operation within a trace. Spans can be nested to form a trace tree. Often, a trace contains a root span that describes the end-to-end latency, and one or more subspans for its sub-operations. A trace can also contain multiple root spans, or none at all. Spans do not need to be contiguous\u2014there might be gaps or overlaps between spans in a trace.", "id": "Span", "properties": { "attributes": { @@ -376,7 +376,7 @@ }, "displayName": { "$ref": "TruncatableString", - "description": "Required. A description of the span's operation (up to 128 bytes). Trace displays the description in the Google Cloud Platform Console. For example, the display name can be a qualified method name or a file name and a line number where the operation is called. A best practice is to use the same display name within an application and at the same call point. This makes it easier to correlate spans in different traces." + "description": "Required. A description of the span's operation (up to 128 bytes). Cloud Trace displays the description in the Cloud Console. For example, the display name can be a qualified method name or a file name and a line number where the operation is called. A best practice is to use the same display name within an application and at the same call point. This makes it easier to correlate spans in different traces." }, "endTime": { "description": "Required. The end time of the span. On the client side, this is the time kept by the local machine where the span execution ends. On the server side, this is the time when the server application handler stops running.", @@ -388,11 +388,11 @@ "description": "Links associated with the span. You can have up to 128 links per Span." }, "name": { - "description": "Required. The resource name of the span in the following format: projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/SPAN_ID is a unique identifier for a trace within a project; it is a 32-character hexadecimal encoding of a 16-byte array. [SPAN_ID] is a unique identifier for a span within a trace; it is a 16-character hexadecimal encoding of an 8-byte array. It should not be zero.", + "description": "Required. The resource name of the span in the following format: * `projects/[PROJECT_ID]/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. It should not be zero. `[SPAN_ID]` is a unique identifier for a span within a trace; it is a 16-character hexadecimal encoding of an 8-byte array. It should not be zero. .", "type": "string" }, "parentSpanId": { - "description": "The [SPAN_ID] of this span's parent span. If this is a root span, then this field must be empty.", + "description": "The `[SPAN_ID]` of this span's parent span. If this is a root span, then this field must be empty.", "type": "string" }, "sameProcessAsParentSpan": { @@ -400,7 +400,7 @@ "type": "boolean" }, "spanId": { - "description": "Required. The [SPAN_ID] portion of the span's resource name.", + "description": "Required. The `[SPAN_ID]` portion of the span's resource name.", "type": "string" }, "spanKind": { diff --git a/etc/api/cloudtrace/v2beta1/cloudtrace-api.json b/etc/api/cloudtrace/v2beta1/cloudtrace-api.json index c62bff9fd5..2ec9481f5f 100644 --- a/etc/api/cloudtrace/v2beta1/cloudtrace-api.json +++ b/etc/api/cloudtrace/v2beta1/cloudtrace-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." }, "https://www.googleapis.com/auth/trace.append": { "description": "Write Trace data for a project or application" @@ -18,7 +18,7 @@ "baseUrl": "https://cloudtrace.googleapis.com/", "batchPath": "batch", "canonicalName": "Cloud Trace", - "description": "Sends application trace data to Cloud Trace for viewing. Trace data is collected for all App Engine applications by default. Trace data from other applications can be provided using this API. This library is used to interact with the Cloud Trace API directly. If you are looking to instrument your application for Cloud Trace, we recommend using OpenCensus. ", + "description": "Sends application trace data to Cloud Trace for viewing. Trace data is collected for all App Engine applications by default. Trace data from other applications can be provided using this API. This library is used to interact with the Cloud Trace API directly. If you are looking to instrument your application for Cloud Trace, we recommend using OpenTelemetry. ", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/trace", "fullyEncodeReservedExpansion": true, @@ -206,13 +206,13 @@ ], "parameters": { "pageSize": { - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `nextPageToken` in the response indicates that more results might be available.", + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `next_page_token` 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.", + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters should be identical to those in the previous call.", "location": "query", "type": "string" }, @@ -250,7 +250,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Field mask that specifies the fields in `trace_sink` that are to be updated. A sink field is overwritten if, and only if, it is in the update mask. `name` and `writer_identity` fields cannot be updated. An empty updateMask is considered an error. For a detailed `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask Example: `updateMask=output_config`.", + "description": "Required. Field mask that specifies the fields in `trace_sink` that are to be updated. A sink field is overwritten if, and only if, it is in the update mask. `name` and `writer_identity` fields cannot be updated. An empty `update_mask` is considered an error. For a detailed `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask Example: `updateMask=output_config`.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -273,7 +273,7 @@ } } }, - "revision": "20210319", + "revision": "20220224", "rootUrl": "https://cloudtrace.googleapis.com/", "schemas": { "Empty": { @@ -287,7 +287,7 @@ "id": "ListTraceSinksResponse", "properties": { "nextPageToken": { - "description": "If there might be more results than appear in this response, then `nextPageToken` is included. To get the next set of results, call the same method again using the value of `nextPageToken` as `pageToken`.", + "description": "A paginated response where more pages might be available has `next_page_token` set. To get the next set of results, call the same method again using the value of `next_page_token` as `page_token`.", "type": "string" }, "sinks": { @@ -316,7 +316,7 @@ "id": "TraceSink", "properties": { "name": { - "description": "Required. The canonical sink resource name, unique within the project. Must be of the form: project/[PROJECT_NUMBER]/traceSinks/[SINK_ID]. E.g.: `\"projects/12345/traceSinks/my-project-trace-sink\"`. Sink identifiers are limited to 256 characters and can include only the following characters: upper and lower-case alphanumeric characters, underscores, hyphens, and periods.", + "description": "Required. The canonical sink resource name, unique within the project. Must be of the form: projects/[PROJECT_NUMBER]/traceSinks/[SINK_ID]. E.g.: `\"projects/12345/traceSinks/my-project-trace-sink\"`. Sink identifiers are limited to 256 characters and can include only the following characters: upper and lower-case alphanumeric characters, underscores, hyphens, and periods.", "type": "string" }, "outputConfig": { @@ -324,7 +324,7 @@ "description": "Required. The export destination." }, "writerIdentity": { - "description": "Output only. A service account name for exporting the data. This field is set by sinks.create and sinks.update. The service account will need to be granted write access to the destination specified in the output configuration, see [Granting access for a resource](/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). To create tables and write data this account will need the dataEditor role. Read more about roles in the [BigQuery documentation](https://cloud.google.com/bigquery/docs/access-control). E.g.: \"service-00000001@00000002.iam.gserviceaccount.com\"", + "description": "Output only. A service account name for exporting the data. This field is set by sinks.create and sinks.update. The service account will need to be granted write access to the destination specified in the output configuration, see [Granting access for a resource](/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). To create tables and to write data, this account needs the `dataEditor` role. Read more about roles in the [BigQuery documentation](https://cloud.google.com/bigquery/docs/access-control). E.g.: \"service-00000001@00000002.iam.gserviceaccount.com\"", "readOnly": true, "type": "string" } diff --git a/etc/api/composer/v1/composer-api.json b/etc/api/composer/v1/composer-api.json index 015a56e02f..57ef1b3eae 100644 --- a/etc/api/composer/v1/composer-api.json +++ b/etc/api/composer/v1/composer-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -242,7 +242,7 @@ "type": "string" }, "updateMask": { - "description": "Required. A comma-separated list of paths, relative to `Environment`, of fields to update. For example, to set the version of scikit-learn to install in the environment to 0.19.0 and to remove an existing installation of numpy, the `updateMask` parameter would include the following two `paths` values: \"config.softwareConfig.pypiPackages.scikit-learn\" and \"config.softwareConfig.pypiPackages.numpy\". The included patch environment would specify the scikit-learn version as follows: { \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{ \"scikit-learn\":\"==0.19.0\" } } } } Note that in the above example, any existing PyPI packages other than scikit-learn and numpy will be unaffected. Only one update type may be included in a single request's `updateMask`. For example, one cannot update both the PyPI packages and labels in the same request. However, it is possible to update multiple members of a map field simultaneously in the same request. For example, to set the labels \"label1\" and \"label2\" while clearing \"label3\" (assuming it already exists), one can provide the paths \"labels.label1\", \"labels.label2\", and \"labels.label3\" and populate the patch environment as follows: { \"labels\":{ \"label1\":\"new-label1-value\" \"label2\":\"new-label2-value\" } } Note that in the above example, any existing labels that are not included in the `updateMask` will be unaffected. It is also possible to replace an entire map field by providing the map field's path in the `updateMask`. The new value of the field will be that which is provided in the patch environment. For example, to delete all pre-existing user-specified PyPI packages and install botocore at version 1.7.14, the `updateMask` would contain the path \"config.softwareConfig.pypiPackages\", and the patch environment would be the following: { \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{ \"botocore\":\"==1.7.14\" } } } } **Note:** Only the following fields can be updated: *Mask* *Purpose* config.softwareConfig.pypiPackages Replace all custom custom PyPI packages. If a replacement package map is not included in `environment`, all custom PyPI packages are cleared. It is an error to provide both this mask and a mask specifying an individual package. config.softwareConfig.pypiPackages.packagename Update the custom PyPI package packagename, preserving other packages. To delete the package, include it in `updateMask`, and omit the mapping for it in `environment.config.softwareConfig.pypiPackages`. It is an error to provide both a mask of this form and the \"config.softwareConfig.pypiPackages\" mask. labels Replace all environment labels. If a replacement labels map is not included in `environment`, all labels are cleared. It is an error to provide both this mask and a mask specifying one or more individual labels. labels.labelName Set the label named labelName, while preserving other labels. To delete the label, include it in `updateMask` and omit its mapping in `environment.labels`. It is an error to provide both a mask of this form and the \"labels\" mask. config.nodeCount Horizontally scale the number of nodes in the environment. An integer greater than or equal to 3 must be provided in the `config.nodeCount` field. config.webServerNetworkAccessControl Replace the environment's current WebServerNetworkAccessControl. config.databaseConfig Replace the environment's current DatabaseConfig. config.webServerConfig Replace the environment's current WebServerConfig. config.softwareConfig.airflowConfigOverrides Replace all Apache Airflow config overrides. If a replacement config overrides map is not included in `environment`, all config overrides are cleared. It is an error to provide both this mask and a mask specifying one or more individual config overrides. config.softwareConfig.airflowConfigOverrides.section-name Override the Apache Airflow config property name in the section named section, preserving other properties. To delete the property override, include it in `updateMask` and omit its mapping in `environment.config.softwareConfig.airflowConfigOverrides`. It is an error to provide both a mask of this form and the \"config.softwareConfig.airflowConfigOverrides\" mask. config.softwareConfig.envVariables Replace all environment variables. If a replacement environment variable map is not included in `environment`, all custom environment variables are cleared. It is an error to provide both this mask and a mask specifying one or more individual environment variables. ", + "description": "Required. A comma-separated list of paths, relative to `Environment`, of fields to update. For example, to set the version of scikit-learn to install in the environment to 0.19.0 and to remove an existing installation of numpy, the `updateMask` parameter would include the following two `paths` values: \"config.softwareConfig.pypiPackages.scikit-learn\" and \"config.softwareConfig.pypiPackages.numpy\". The included patch environment would specify the scikit-learn version as follows: { \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{ \"scikit-learn\":\"==0.19.0\" } } } } Note that in the above example, any existing PyPI packages other than scikit-learn and numpy will be unaffected. Only one update type may be included in a single request's `updateMask`. For example, one cannot update both the PyPI packages and labels in the same request. However, it is possible to update multiple members of a map field simultaneously in the same request. For example, to set the labels \"label1\" and \"label2\" while clearing \"label3\" (assuming it already exists), one can provide the paths \"labels.label1\", \"labels.label2\", and \"labels.label3\" and populate the patch environment as follows: { \"labels\":{ \"label1\":\"new-label1-value\" \"label2\":\"new-label2-value\" } } Note that in the above example, any existing labels that are not included in the `updateMask` will be unaffected. It is also possible to replace an entire map field by providing the map field's path in the `updateMask`. The new value of the field will be that which is provided in the patch environment. For example, to delete all pre-existing user-specified PyPI packages and install botocore at version 1.7.14, the `updateMask` would contain the path \"config.softwareConfig.pypiPackages\", and the patch environment would be the following: { \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{ \"botocore\":\"==1.7.14\" } } } } **Note:** Only the following fields can be updated: * `config.softwareConfig.pypiPackages` * Replace all custom custom PyPI packages. If a replacement package map is not included in `environment`, all custom PyPI packages are cleared. It is an error to provide both this mask and a mask specifying an individual package. * `config.softwareConfig.pypiPackages.`packagename * Update the custom PyPI package *packagename*, preserving other packages. To delete the package, include it in `updateMask`, and omit the mapping for it in `environment.config.softwareConfig.pypiPackages`. It is an error to provide both a mask of this form and the `config.softwareConfig.pypiPackages` mask. * `labels` * Replace all environment labels. If a replacement labels map is not included in `environment`, all labels are cleared. It is an error to provide both this mask and a mask specifying one or more individual labels. * `labels.`labelName * Set the label named *labelName*, while preserving other labels. To delete the label, include it in `updateMask` and omit its mapping in `environment.labels`. It is an error to provide both a mask of this form and the `labels` mask. * `config.nodeCount` * Horizontally scale the number of nodes in the environment. An integer greater than or equal to 3 must be provided in the `config.nodeCount` field. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.webServerNetworkAccessControl` * Replace the environment's current `WebServerNetworkAccessControl`. * `config.databaseConfig.machineType` * Cloud SQL machine type used by Airflow database. It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 or db-n1-standard-16. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.webServerConfig.machineType` * Machine type on which Airflow web server is running. It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or composer-n1-webserver-8. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.softwareConfig.airflowConfigOverrides` * Replace all Apache Airflow config overrides. If a replacement config overrides map is not included in `environment`, all config overrides are cleared. It is an error to provide both this mask and a mask specifying one or more individual config overrides. * `config.softwareConfig.airflowConfigOverrides.`section-name * Override the Apache Airflow config property *name* in the section named *section*, preserving other properties. To delete the property override, include it in `updateMask` and omit its mapping in `environment.config.softwareConfig.airflowConfigOverrides`. It is an error to provide both a mask of this form and the `config.softwareConfig.airflowConfigOverrides` mask. * `config.softwareConfig.envVariables` * Replace all environment variables. If a replacement environment variable map is not included in `environment`, all custom environment variables are cleared. It is an error to provide both this mask and a mask specifying one or more individual environment variables. * `config.softwareConfig.schedulerCount` * Horizontally scale the number of schedulers in Airflow. A positive integer not greater than the number of nodes must be provided in the `config.softwareConfig.schedulerCount` field. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-2.*.*. * `config.databaseConfig.machineType` * Cloud SQL machine type used by Airflow database. It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 or db-n1-standard-16. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.webServerConfig.machineType` * Machine type on which Airflow web server is running. It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or composer-n1-webserver-8. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -406,7 +406,7 @@ } } }, - "revision": "20210319", + "revision": "20220224", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AllowedIpRange": { @@ -424,8 +424,51 @@ }, "type": "object" }, + "CheckUpgradeResponse": { + "description": "Message containing information about the result of an upgrade check operation.", + "id": "CheckUpgradeResponse", + "properties": { + "buildLogUri": { + "description": "Output only. Url for a docker build log of an upgraded image.", + "readOnly": true, + "type": "string" + }, + "containsPypiModulesConflict": { + "description": "Output only. Whether build has succeeded or failed on modules conflicts.", + "enum": [ + "CONFLICT_RESULT_UNSPECIFIED", + "CONFLICT", + "NO_CONFLICT" + ], + "enumDescriptions": [ + "It is unknown whether build had conflicts or not.", + "There were python packages conflicts.", + "There were no python packages conflicts." + ], + "readOnly": true, + "type": "string" + }, + "imageVersion": { + "description": "Composer image for which the build was happening.", + "type": "string" + }, + "pypiConflictBuildLogExtract": { + "description": "Output only. Extract from a docker image build log containing information about pypi modules conflicts.", + "readOnly": true, + "type": "string" + }, + "pypiDependencies": { + "additionalProperties": { + "type": "string" + }, + "description": "Pypi dependencies specified in the environment configuration, at the time when the build was triggered.", + "type": "object" + } + }, + "type": "object" + }, "DatabaseConfig": { - "description": "The configuration of Cloud SQL instance that is used by the Apache Airflow software.", + "description": "The configuration of Cloud SQL instance that is used by the Apache Airflow software. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "id": "DatabaseConfig", "properties": { "machineType": { @@ -436,7 +479,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "Date", "properties": { "day": { @@ -464,7 +507,7 @@ "type": "object" }, "EncryptionConfig": { - "description": "The encryption options for the Cloud Composer environment and its dependencies.", + "description": "The encryption options for the Cloud Composer environment and its dependencies.Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "id": "EncryptionConfig", "properties": { "kmsKeyName": { @@ -544,22 +587,42 @@ }, "databaseConfig": { "$ref": "DatabaseConfig", - "description": "Optional. The configuration settings for Cloud SQL instance used internally by Apache Airflow software." + "description": "Optional. The configuration settings for Cloud SQL instance used internally by Apache Airflow software. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*." }, "encryptionConfig": { "$ref": "EncryptionConfig", "description": "Optional. The encryption options for the Cloud Composer environment and its dependencies. Cannot be updated." }, + "environmentSize": { + "description": "Optional. The size of the Cloud Composer environment. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.", + "enum": [ + "ENVIRONMENT_SIZE_UNSPECIFIED", + "ENVIRONMENT_SIZE_SMALL", + "ENVIRONMENT_SIZE_MEDIUM", + "ENVIRONMENT_SIZE_LARGE" + ], + "enumDescriptions": [ + "The size of the environment is unspecified.", + "The environment size is small.", + "The environment size is medium.", + "The environment size is large." + ], + "type": "string" + }, "gkeCluster": { "description": "Output only. The Kubernetes Engine cluster used to run this environment.", "type": "string" }, + "maintenanceWindow": { + "$ref": "MaintenanceWindow", + "description": "Optional. The maintenance window is the period when Cloud Composer components may undergo maintenance. It is defined so that maintenance is not executed during peak hours or critical time periods. The system will not be under maintenance for every occurrence of this window, but when maintenance is planned, it will be scheduled during the window. The maintenance window period must encompass at least 12 hours per week. This may be split into multiple chunks, each with a size of at least 4 hours. If this value is omitted, the default value for maintenance window will be applied. The default value is Saturday and Sunday 00-06 GMT." + }, "nodeConfig": { "$ref": "NodeConfig", "description": "The configuration used for the Kubernetes Engine cluster." }, "nodeCount": { - "description": "The number of nodes in the Kubernetes Engine cluster that will be used to run this environment.", + "description": "The number of nodes in the Kubernetes Engine cluster that will be used to run this environment. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "format": "int32", "type": "integer" }, @@ -578,6 +641,10 @@ "webServerNetworkAccessControl": { "$ref": "WebServerNetworkAccessControl", "description": "Optional. The network-level access control policy for the Airflow web server. If unspecified, no network-level access restrictions will be applied." + }, + "workloadsConfig": { + "$ref": "WorkloadsConfig", + "description": "Optional. The workloads configuration settings for the GKE cluster associated with the Cloud Composer environment. The GKE cluster runs Airflow scheduler, web server and workers workloads. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer." } }, "type": "object" @@ -587,23 +654,23 @@ "id": "IPAllocationPolicy", "properties": { "clusterIpv4CidrBlock": { - "description": "Optional. The IP address range used to allocate IP addresses to pods in the GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.", + "description": "Optional. The IP address range used to allocate IP addresses to pods in the GKE cluster. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.", "type": "string" }, "clusterSecondaryRangeName": { - "description": "Optional. The name of the GKE cluster's secondary range used to allocate IP addresses to pods. This field is applicable only when `use_ip_aliases` is true.", + "description": "Optional. The name of the GKE cluster's secondary range used to allocate IP addresses to pods. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true.", "type": "string" }, "servicesIpv4CidrBlock": { - "description": "Optional. The IP address range of the services IP addresses in this GKE cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.", + "description": "Optional. The IP address range of the services IP addresses in this GKE cluster. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.", "type": "string" }, "servicesSecondaryRangeName": { - "description": "Optional. The name of the services' secondary range used to allocate IP addresses to the GKE cluster. This field is applicable only when `use_ip_aliases` is true.", + "description": "Optional. The name of the services' secondary range used to allocate IP addresses to the GKE cluster. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true.", "type": "string" }, "useIpAliases": { - "description": "Optional. Whether or not to enable Alias IPs in the GKE cluster. If `true`, a VPC-native cluster is created.", + "description": "Optional. Whether or not to enable Alias IPs in the GKE cluster. If `true`, a VPC-native cluster is created. This field is only supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. Environments in newer versions always use VPC-native GKE clusters.", "type": "boolean" } }, @@ -697,12 +764,33 @@ }, "type": "object" }, + "MaintenanceWindow": { + "description": "The configuration settings for Cloud Composer maintenance window. The following example: ``` { \"startTime\":\"2019-08-01T01:00:00Z\" \"endTime\":\"2019-08-01T07:00:00Z\" \"recurrence\":\"FREQ=WEEKLY;BYDAY=TU,WE\" } ``` would define a maintenance window between 01 and 07 hours UTC during each Tuesday and Wednesday.", + "id": "MaintenanceWindow", + "properties": { + "endTime": { + "description": "Required. Maintenance window end time. It is used only to calculate the duration of the maintenance window. The value for end-time must be in the future, relative to `start_time`.", + "format": "google-datetime", + "type": "string" + }, + "recurrence": { + "description": "Required. Maintenance window recurrence. Format is a subset of [RFC-5545](https://tools.ietf.org/html/rfc5545) `RRULE`. The only allowed values for `FREQ` field are `FREQ=DAILY` and `FREQ=WEEKLY;BYDAY=...` Example values: `FREQ=WEEKLY;BYDAY=TU,WE`, `FREQ=DAILY`.", + "type": "string" + }, + "startTime": { + "description": "Required. Start time of the first recurrence of the maintenance window.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "NodeConfig": { "description": "The configuration information for the Kubernetes Engine nodes running the Apache Airflow software.", "id": "NodeConfig", "properties": { "diskSizeGb": { - "description": "Optional. The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated.", + "description": "Optional. The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "format": "int32", "type": "integer" }, @@ -711,11 +799,11 @@ "description": "Optional. The configuration for controlling how IPs are allocated in the GKE cluster." }, "location": { - "description": "Optional. The Compute Engine [zone](/compute/docs/regions-zones) in which to deploy the VMs used to run the Apache Airflow software, specified as a [relative resource name](/apis/design/resource_names#relative_resource_name). For example: \"projects/{projectId}/zones/{zoneId}\". This `location` must belong to the enclosing environment's project and location. If both this field and `nodeConfig.machineType` are specified, `nodeConfig.machineType` must belong to this `location`; if both are unspecified, the service will pick a zone in the Compute Engine region corresponding to the Cloud Composer location, and propagate that choice to both fields. If only one field (`location` or `nodeConfig.machineType`) is specified, the location information from the specified field will be propagated to the unspecified field.", + "description": "Optional. The Compute Engine [zone](/compute/docs/regions-zones) in which to deploy the VMs used to run the Apache Airflow software, specified as a [relative resource name](/apis/design/resource_names#relative_resource_name). For example: \"projects/{projectId}/zones/{zoneId}\". This `location` must belong to the enclosing environment's project and location. If both this field and `nodeConfig.machineType` are specified, `nodeConfig.machineType` must belong to this `location`; if both are unspecified, the service will pick a zone in the Compute Engine region corresponding to the Cloud Composer location, and propagate that choice to both fields. If only one field (`location` or `nodeConfig.machineType`) is specified, the location information from the specified field will be propagated to the unspecified field. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "type": "string" }, "machineType": { - "description": "Optional. The Compute Engine [machine type](/compute/docs/machine-types) used for cluster instances, specified as a [relative resource name](/apis/design/resource_names#relative_resource_name). For example: \"projects/{projectId}/zones/{zoneId}/machineTypes/{machineTypeId}\". The `machineType` must belong to the enclosing environment's project and location. If both this field and `nodeConfig.location` are specified, this `machineType` must belong to the `nodeConfig.location`; if both are unspecified, the service will pick a zone in the Compute Engine region corresponding to the Cloud Composer location, and propagate that choice to both fields. If exactly one of this field and `nodeConfig.location` is specified, the location information from the specified field will be propagated to the unspecified field. The `machineTypeId` must not be a [shared-core machine type](/compute/docs/machine-types#sharedcore). If this field is unspecified, the `machineTypeId` defaults to \"n1-standard-1\".", + "description": "Optional. The Compute Engine [machine type](/compute/docs/machine-types) used for cluster instances, specified as a [relative resource name](/apis/design/resource_names#relative_resource_name). For example: \"projects/{projectId}/zones/{zoneId}/machineTypes/{machineTypeId}\". The `machineType` must belong to the enclosing environment's project and location. If both this field and `nodeConfig.location` are specified, this `machineType` must belong to the `nodeConfig.location`; if both are unspecified, the service will pick a zone in the Compute Engine region corresponding to the Cloud Composer location, and propagate that choice to both fields. If exactly one of this field and `nodeConfig.location` is specified, the location information from the specified field will be propagated to the unspecified field. The `machineTypeId` must not be a [shared-core machine type](/compute/docs/machine-types#sharedcore). If this field is unspecified, the `machineTypeId` defaults to \"n1-standard-1\". This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "type": "string" }, "network": { @@ -723,7 +811,7 @@ "type": "string" }, "oauthScopes": { - "description": "Optional. The set of Google API scopes to be made available on all node VMs. If `oauth_scopes` is empty, defaults to [\"https://www.googleapis.com/auth/cloud-platform\"]. Cannot be updated.", + "description": "Optional. The set of Google API scopes to be made available on all node VMs. If `oauth_scopes` is empty, defaults to [\"https://www.googleapis.com/auth/cloud-platform\"]. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "items": { "type": "string" }, @@ -738,7 +826,7 @@ "type": "string" }, "tags": { - "description": "Optional. The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Cannot be updated.", + "description": "Optional. The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "items": { "type": "string" }, @@ -803,14 +891,18 @@ "CREATE", "DELETE", "UPDATE", - "CHECK" + "CHECK", + "SAVE_SNAPSHOT", + "LOAD_SNAPSHOT" ], "enumDescriptions": [ "Unused.", "A resource creation operation.", "A resource deletion operation.", "A resource update operation.", - "A resource check operation." + "A resource check operation.", + "Saves snapshot of the resource operation.", + "Loads snapshot of the resource operation." ], "type": "string" }, @@ -869,12 +961,25 @@ "description": "The configuration information for configuring a Private IP Cloud Composer environment.", "id": "PrivateEnvironmentConfig", "properties": { + "cloudComposerConnectionSubnetwork": { + "description": "Optional. When specified, the environment will use Private Service Connect instead of VPC peerings to connect to Cloud SQL in the Tenant Project, and the PSC endpoint in the Customer Project will use an IP address from this subnetwork.", + "type": "string" + }, + "cloudComposerNetworkIpv4CidrBlock": { + "description": "Optional. The CIDR block from which IP range for Cloud Composer Network in tenant project will be reserved. Needs to be disjoint from private_cluster_config.master_ipv4_cidr_block and cloud_sql_ipv4_cidr_block. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.", + "type": "string" + }, + "cloudComposerNetworkIpv4ReservedRange": { + "description": "Output only. The IP range reserved for the tenant project's Cloud Composer network. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.", + "readOnly": true, + "type": "string" + }, "cloudSqlIpv4CidrBlock": { "description": "Optional. The CIDR block from which IP range in tenant project will be reserved for Cloud SQL. Needs to be disjoint from `web_server_ipv4_cidr_block`.", "type": "string" }, "enablePrivateEnvironment": { - "description": "Optional. If `true`, a Private IP Cloud Composer environment is created. If this field is set to true, `IPAllocationPolicy.use_ip_aliases` must be set to true.", + "description": "Optional. If `true`, a Private IP Cloud Composer environment is created. If this field is set to true, `IPAllocationPolicy.use_ip_aliases` must be set to true for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "type": "boolean" }, "privateClusterConfig": { @@ -882,17 +987,44 @@ "description": "Optional. Configuration for the private GKE cluster for a Private IP Cloud Composer environment." }, "webServerIpv4CidrBlock": { - "description": "Optional. The CIDR block from which IP range for web server will be reserved. Needs to be disjoint from `private_cluster_config.master_ipv4_cidr_block` and `cloud_sql_ipv4_cidr_block`.", + "description": "Optional. The CIDR block from which IP range for web server will be reserved. Needs to be disjoint from `private_cluster_config.master_ipv4_cidr_block` and `cloud_sql_ipv4_cidr_block`. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "type": "string" }, "webServerIpv4ReservedRange": { - "description": "Output only. The IP range reserved for the tenant project's App Engine VMs.", + "description": "Output only. The IP range reserved for the tenant project's App Engine VMs. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "readOnly": true, "type": "string" } }, "type": "object" }, + "SchedulerResource": { + "description": "Configuration for resources used by Airflow schedulers.", + "id": "SchedulerResource", + "properties": { + "count": { + "description": "Optional. The number of schedulers.", + "format": "int32", + "type": "integer" + }, + "cpu": { + "description": "Optional. CPU request and limit for a single Airflow scheduler replica.", + "format": "float", + "type": "number" + }, + "memoryGb": { + "description": "Optional. Memory (GB) request and limit for a single Airflow scheduler replica.", + "format": "float", + "type": "number" + }, + "storageGb": { + "description": "Optional. Storage (GB) request and limit for a single Airflow scheduler replica.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, "SoftwareConfig": { "description": "Specifies the selection and configuration of software inside the environment.", "id": "SoftwareConfig", @@ -923,8 +1055,13 @@ "type": "object" }, "pythonVersion": { - "description": "Optional. The major version of Python used to run the Apache Airflow scheduler, worker, and webserver processes. Can be set to '2' or '3'. If not specified, the default is '2'. Cannot be updated.", + "description": "Optional. The major version of Python used to run the Apache Airflow scheduler, worker, and webserver processes. Can be set to '2' or '3'. If not specified, the default is '3'. Cannot be updated. This field is only supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. Environments in newer versions always use Python major version 3.", "type": "string" + }, + "schedulerCount": { + "description": "Optional. The number of schedulers for Airflow. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-2.*.*.", + "format": "int32", + "type": "integer" } }, "type": "object" @@ -957,7 +1094,7 @@ "type": "object" }, "WebServerConfig": { - "description": "The configuration settings for the Airflow web server App Engine instance.", + "description": "The configuration settings for the Airflow web server App Engine instance. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*", "id": "WebServerConfig", "properties": { "machineType": { @@ -980,6 +1117,79 @@ } }, "type": "object" + }, + "WebServerResource": { + "description": "Configuration for resources used by Airflow web server.", + "id": "WebServerResource", + "properties": { + "cpu": { + "description": "Optional. CPU request and limit for Airflow web server.", + "format": "float", + "type": "number" + }, + "memoryGb": { + "description": "Optional. Memory (GB) request and limit for Airflow web server.", + "format": "float", + "type": "number" + }, + "storageGb": { + "description": "Optional. Storage (GB) request and limit for Airflow web server.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "WorkerResource": { + "description": "Configuration for resources used by Airflow workers.", + "id": "WorkerResource", + "properties": { + "cpu": { + "description": "Optional. CPU request and limit for a single Airflow worker replica.", + "format": "float", + "type": "number" + }, + "maxCount": { + "description": "Optional. Maximum number of workers for autoscaling.", + "format": "int32", + "type": "integer" + }, + "memoryGb": { + "description": "Optional. Memory (GB) request and limit for a single Airflow worker replica.", + "format": "float", + "type": "number" + }, + "minCount": { + "description": "Optional. Minimum number of workers for autoscaling.", + "format": "int32", + "type": "integer" + }, + "storageGb": { + "description": "Optional. Storage (GB) request and limit for a single Airflow worker replica.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "WorkloadsConfig": { + "description": "The Kubernetes workloads configuration for GKE cluster associated with the Cloud Composer environment. Supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.", + "id": "WorkloadsConfig", + "properties": { + "scheduler": { + "$ref": "SchedulerResource", + "description": "Optional. Resources used by Airflow schedulers." + }, + "webServer": { + "$ref": "WebServerResource", + "description": "Optional. Resources used by Airflow web server." + }, + "worker": { + "$ref": "WorkerResource", + "description": "Optional. Resources used by Airflow workers." + } + }, + "type": "object" } }, "servicePath": "", diff --git a/etc/api/composer/v1beta1/composer-api.json b/etc/api/composer/v1beta1/composer-api.json index 7bc08b16dc..b8c35b1748 100644 --- a/etc/api/composer/v1beta1/composer-api.json +++ b/etc/api/composer/v1beta1/composer-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -111,6 +111,34 @@ "resources": { "environments": { "methods": { + "checkUpgrade": { + "description": "Check if an upgrade operation on the environment will succeed. In case of problems detailed info can be found in the returned Operation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}:checkUpgrade", + "httpMethod": "POST", + "id": "composer.projects.locations.environments.checkUpgrade", + "parameterOrder": [ + "environment" + ], + "parameters": { + "environment": { + "description": "The resource name of the environment to check upgrade for, in the form: \"projects/{projectId}/locations/{locationId}/environments/{environmentId}\"", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+environment}:checkUpgrade", + "request": { + "$ref": "CheckUpgradeRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "create": { "description": "Create a new environment.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/environments", @@ -242,7 +270,7 @@ "type": "string" }, "updateMask": { - "description": "Required. A comma-separated list of paths, relative to `Environment`, of fields to update. For example, to set the version of scikit-learn to install in the environment to 0.19.0 and to remove an existing installation of argparse, the `updateMask` parameter would include the following two `paths` values: \"config.softwareConfig.pypiPackages.scikit-learn\" and \"config.softwareConfig.pypiPackages.argparse\". The included patch environment would specify the scikit-learn version as follows: { \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{ \"scikit-learn\":\"==0.19.0\" } } } } Note that in the above example, any existing PyPI packages other than scikit-learn and argparse will be unaffected. Only one update type may be included in a single request's `updateMask`. For example, one cannot update both the PyPI packages and labels in the same request. However, it is possible to update multiple members of a map field simultaneously in the same request. For example, to set the labels \"label1\" and \"label2\" while clearing \"label3\" (assuming it already exists), one can provide the paths \"labels.label1\", \"labels.label2\", and \"labels.label3\" and populate the patch environment as follows: { \"labels\":{ \"label1\":\"new-label1-value\" \"label2\":\"new-label2-value\" } } Note that in the above example, any existing labels that are not included in the `updateMask` will be unaffected. It is also possible to replace an entire map field by providing the map field's path in the `updateMask`. The new value of the field will be that which is provided in the patch environment. For example, to delete all pre-existing user-specified PyPI packages and install botocore at version 1.7.14, the `updateMask` would contain the path \"config.softwareConfig.pypiPackages\", and the patch environment would be the following: { \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{ \"botocore\":\"==1.7.14\" } } } } *Note:* Only the following fields can be updated: * config.softwareConfig.pypiPackages * Replace all custom custom PyPI packages. If a replacement package map is not included in `environment`, all custom PyPI packages are cleared. It is an error to provide both this mask and a mask specifying an individual package. * config.softwareConfig.pypiPackages.packagename * Update the custom PyPI package packagename, preserving other packages. To delete the package, include it in `updateMask`, and omit the mapping for it in `environment.config.softwareConfig.pypiPackages`. It is an error to provide both a mask of this form and the \"config.softwareConfig.pypiPackages\" mask. * labels * Replace all environment labels. If a replacement labels map is not included in `environment`, all labels are cleared. It is an error to provide both this mask and a mask specifying one or more individual labels. * labels.labelName * Set the label named labelName, while preserving other labels. To delete the label, include it in `updateMask` and omit its mapping in `environment.labels`. It is an error to provide both a mask of this form and the \"labels\" mask. * config.nodeCount * Horizontally scale the number of nodes in the environment. An integer greater than or equal to 3 must be provided in the `config.nodeCount` field. * config.webServerNetworkAccessControl * Replace the environment's current WebServerNetworkAccessControl. * config.softwareConfig.airflowConfigOverrides * Replace all Apache Airflow config overrides. If a replacement config overrides map is not included in `environment`, all config overrides are cleared. It is an error to provide both this mask and a mask specifying one or more individual config overrides. * config.softwareConfig.airflowConfigOverrides.section- name * Override the Apache Airflow config property name in the section named section, preserving other properties. To delete the property override, include it in `updateMask` and omit its mapping in `environment.config.softwareConfig.airflowConfigOverrides`. It is an error to provide both a mask of this form and the \"config.softwareConfig.airflowConfigOverrides\" mask. * config.softwareConfig.envVariables * Replace all environment variables. If a replacement environment variable map is not included in `environment`, all custom environment variables are cleared. It is an error to provide both this mask and a mask specifying one or more individual environment variables. * config.softwareConfig.imageVersion * Upgrade the version of the environment in-place. Refer to `SoftwareConfig.image_version` for information on how to format the new image version. Additionally, the new image version cannot effect a version downgrade and must match the current image version's Composer major version and Airflow major and minor versions. Consult the Cloud Composer Version List for valid values. * config.databaseConfig.machineType * Cloud SQL machine type used by Airflow database. It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 or db-n1-standard-16. * config.webServerConfig.machineType * Machine type on which Airflow web server is running. It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or composer-n1-webserver-8. * config.maintenanceWindow * Maintenance window during which Cloud Composer components may be under maintenance.", + "description": "Required. A comma-separated list of paths, relative to `Environment`, of fields to update. For example, to set the version of scikit-learn to install in the environment to 0.19.0 and to remove an existing installation of argparse, the `updateMask` parameter would include the following two `paths` values: \"config.softwareConfig.pypiPackages.scikit-learn\" and \"config.softwareConfig.pypiPackages.argparse\". The included patch environment would specify the scikit-learn version as follows: { \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{ \"scikit-learn\":\"==0.19.0\" } } } } Note that in the above example, any existing PyPI packages other than scikit-learn and argparse will be unaffected. Only one update type may be included in a single request's `updateMask`. For example, one cannot update both the PyPI packages and labels in the same request. However, it is possible to update multiple members of a map field simultaneously in the same request. For example, to set the labels \"label1\" and \"label2\" while clearing \"label3\" (assuming it already exists), one can provide the paths \"labels.label1\", \"labels.label2\", and \"labels.label3\" and populate the patch environment as follows: { \"labels\":{ \"label1\":\"new-label1-value\" \"label2\":\"new-label2-value\" } } Note that in the above example, any existing labels that are not included in the `updateMask` will be unaffected. It is also possible to replace an entire map field by providing the map field's path in the `updateMask`. The new value of the field will be that which is provided in the patch environment. For example, to delete all pre-existing user-specified PyPI packages and install botocore at version 1.7.14, the `updateMask` would contain the path \"config.softwareConfig.pypiPackages\", and the patch environment would be the following: { \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{ \"botocore\":\"==1.7.14\" } } } } **Note:** Only the following fields can be updated: * `config.softwareConfig.pypiPackages` * Replace all custom custom PyPI packages. If a replacement package map is not included in `environment`, all custom PyPI packages are cleared. It is an error to provide both this mask and a mask specifying an individual package. * `config.softwareConfig.pypiPackages.`packagename * Update the custom PyPI package *packagename*, preserving other packages. To delete the package, include it in `updateMask`, and omit the mapping for it in `environment.config.softwareConfig.pypiPackages`. It is an error to provide both a mask of this form and the `config.softwareConfig.pypiPackages` mask. * `labels` * Replace all environment labels. If a replacement labels map is not included in `environment`, all labels are cleared. It is an error to provide both this mask and a mask specifying one or more individual labels. * `labels.`labelName * Set the label named *labelName*, while preserving other labels. To delete the label, include it in `updateMask` and omit its mapping in `environment.labels`. It is an error to provide both a mask of this form and the `labels` mask. * `config.nodeCount` * Horizontally scale the number of nodes in the environment. An integer greater than or equal to 3 must be provided in the `config.nodeCount` field. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.webServerNetworkAccessControl` * Replace the environment's current WebServerNetworkAccessControl. * `config.softwareConfig.airflowConfigOverrides` * Replace all Apache Airflow config overrides. If a replacement config overrides map is not included in `environment`, all config overrides are cleared. It is an error to provide both this mask and a mask specifying one or more individual config overrides. * `config.softwareConfig.airflowConfigOverrides.`section-name * Override the Apache Airflow config property *name* in the section named *section*, preserving other properties. To delete the property override, include it in `updateMask` and omit its mapping in `environment.config.softwareConfig.airflowConfigOverrides`. It is an error to provide both a mask of this form and the `config.softwareConfig.airflowConfigOverrides` mask. * `config.softwareConfig.envVariables` * Replace all environment variables. If a replacement environment variable map is not included in `environment`, all custom environment variables are cleared. It is an error to provide both this mask and a mask specifying one or more individual environment variables. * `config.softwareConfig.imageVersion` * Upgrade the version of the environment in-place. Refer to `SoftwareConfig.image_version` for information on how to format the new image version. Additionally, the new image version cannot effect a version downgrade and must match the current image version's Composer major version and Airflow major and minor versions. Consult the [Cloud Composer Version List](https://cloud.google.com/composer/docs/concepts/versioning/composer-versions) for valid values. * `config.softwareConfig.schedulerCount` * Horizontally scale the number of schedulers in Airflow. A positive integer not greater than the number of nodes must be provided in the `config.softwareConfig.schedulerCount` field. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-2.*.*. * `config.databaseConfig.machineType` * Cloud SQL machine type used by Airflow database. It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 or db-n1-standard-16. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.webServerConfig.machineType` * Machine type on which Airflow web server is running. It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or composer-n1-webserver-8. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.maintenanceWindow` * Maintenance window during which Cloud Composer components may be under maintenance. * `config.workloadsConfig` * The workloads configuration settings for the GKE cluster associated with the Cloud Composer environment. Supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. * `config.environmentSize` * The size of the Cloud Composer environment. Supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -434,7 +462,7 @@ } } }, - "revision": "20210319", + "revision": "20220224", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AllowedIpRange": { @@ -452,8 +480,77 @@ }, "type": "object" }, + "CheckUpgradeRequest": { + "description": "Request to check whether image upgrade will succeed.", + "id": "CheckUpgradeRequest", + "properties": { + "imageVersion": { + "description": "The version of the software running in the environment. This encapsulates both the version of Cloud Composer functionality and the version of Apache Airflow. It must match the regular expression `composer-([0-9]+\\.[0-9]+\\.[0-9]+|latest)-airflow-[0-9]+\\.[0-9]+(\\.[0-9]+.*)?`. When used as input, the server also checks if the provided version is supported and denies the request for an unsupported version. The Cloud Composer portion of the version is a [semantic version](https://semver.org) or `latest`. When the patch version is omitted, the current Cloud Composer patch version is selected. When `latest` is provided instead of an explicit version number, the server replaces `latest` with the current Cloud Composer version and stores that version number in the same field. The portion of the image version that follows `airflow-` is an official Apache Airflow repository [release name](https://github.com/apache/incubator-airflow/releases). See also [Version List] (/composer/docs/concepts/versioning/composer-versions).", + "type": "string" + } + }, + "type": "object" + }, + "CheckUpgradeResponse": { + "description": "Message containing information about the result of an upgrade check operation.", + "id": "CheckUpgradeResponse", + "properties": { + "buildLogUri": { + "description": "Output only. Url for a docker build log of an upgraded image.", + "readOnly": true, + "type": "string" + }, + "containsPypiModulesConflict": { + "description": "Output only. Whether build has succeeded or failed on modules conflicts.", + "enum": [ + "CONFLICT_RESULT_UNSPECIFIED", + "CONFLICT", + "NO_CONFLICT" + ], + "enumDescriptions": [ + "It is unknown whether build had conflicts or not.", + "There were python packages conflicts.", + "There were no python packages conflicts." + ], + "readOnly": true, + "type": "string" + }, + "imageVersion": { + "description": "Composer image for which the build was happening.", + "type": "string" + }, + "pypiConflictBuildLogExtract": { + "description": "Output only. Extract from a docker image build log containing information about pypi modules conflicts.", + "readOnly": true, + "type": "string" + }, + "pypiDependencies": { + "additionalProperties": { + "type": "string" + }, + "description": "Pypi dependencies specified in the environment configuration, at the time when the build was triggered.", + "type": "object" + } + }, + "type": "object" + }, + "CidrBlock": { + "description": "CidrBlock contains an optional name and one CIDR block.", + "id": "CidrBlock", + "properties": { + "cidrBlock": { + "description": "cidr_block must be specified in CIDR notation.", + "type": "string" + }, + "displayName": { + "description": "display_name is a field for users to identify CIDR blocks.", + "type": "string" + } + }, + "type": "object" + }, "DatabaseConfig": { - "description": "The configuration of Cloud SQL instance that is used by the Apache Airflow software.", + "description": "The configuration of Cloud SQL instance that is used by the Apache Airflow software. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "id": "DatabaseConfig", "properties": { "machineType": { @@ -464,7 +561,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "Date", "properties": { "day": { @@ -492,7 +589,7 @@ "type": "object" }, "EncryptionConfig": { - "description": "The encryption options for the Composer environment and its dependencies.", + "description": "The encryption options for the Cloud Composer environment and its dependencies. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "id": "EncryptionConfig", "properties": { "kmsKeyName": { @@ -577,11 +674,27 @@ }, "databaseConfig": { "$ref": "DatabaseConfig", - "description": "Optional. The configuration settings for Cloud SQL instance used internally by Apache Airflow software." + "description": "Optional. The configuration settings for Cloud SQL instance used internally by Apache Airflow software. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*." }, "encryptionConfig": { "$ref": "EncryptionConfig", - "description": "Optional. The encryption options for the Composer environment and its dependencies. Cannot be updated." + "description": "Optional. The encryption options for the Cloud Composer environment and its dependencies. Cannot be updated." + }, + "environmentSize": { + "description": "Optional. The size of the Cloud Composer environment. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.", + "enum": [ + "ENVIRONMENT_SIZE_UNSPECIFIED", + "ENVIRONMENT_SIZE_SMALL", + "ENVIRONMENT_SIZE_MEDIUM", + "ENVIRONMENT_SIZE_LARGE" + ], + "enumDescriptions": [ + "The size of the environment is unspecified.", + "The environment size is small.", + "The environment size is medium.", + "The environment size is large." + ], + "type": "string" }, "gkeCluster": { "description": "Output only. The Kubernetes Engine cluster used to run this environment.", @@ -592,12 +705,16 @@ "$ref": "MaintenanceWindow", "description": "Optional. The maintenance window is the period when Cloud Composer components may undergo maintenance. It is defined so that maintenance is not executed during peak hours or critical time periods. The system will not be under maintenance for every occurrence of this window, but when maintenance is planned, it will be scheduled during the window. The maintenance window period must encompass at least 12 hours per week. This may be split into multiple chunks, each with a size of at least 4 hours. If this value is omitted, Cloud Composer components may be subject to maintenance at any time." }, + "masterAuthorizedNetworksConfig": { + "$ref": "MasterAuthorizedNetworksConfig", + "description": "Optional. The configuration options for GKE clusters master authorized networks. By default master authorized networks feature is: - in case of private environment: enabled with no external networks allowlisted. - in case of public environment: disabled." + }, "nodeConfig": { "$ref": "NodeConfig", "description": "The configuration used for the Kubernetes Engine cluster." }, "nodeCount": { - "description": "The number of nodes in the Kubernetes Engine cluster that will be used to run this environment.", + "description": "The number of nodes in the Kubernetes Engine cluster that will be used to run this environment. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "format": "int32", "type": "integer" }, @@ -611,11 +728,15 @@ }, "webServerConfig": { "$ref": "WebServerConfig", - "description": "Optional. The configuration settings for the Airflow web server App Engine instance." + "description": "Optional. The configuration settings for the Airflow web server App Engine instance. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*." }, "webServerNetworkAccessControl": { "$ref": "WebServerNetworkAccessControl", "description": "Optional. The network-level access control policy for the Airflow web server. If unspecified, no network-level access restrictions will be applied." + }, + "workloadsConfig": { + "$ref": "WorkloadsConfig", + "description": "Optional. The workloads configuration settings for the GKE cluster associated with the Cloud Composer environment. The GKE cluster runs Airflow scheduler, web server and workers workloads. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer." } }, "type": "object" @@ -625,23 +746,23 @@ "id": "IPAllocationPolicy", "properties": { "clusterIpv4CidrBlock": { - "description": "Optional. The IP address range used to allocate IP addresses to pods in the cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `cluster_secondary_range_name` or `cluster_ipv4_cidr_block` but not both.", + "description": "Optional. The IP address range used to allocate IP addresses to pods in the cluster. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `cluster_secondary_range_name` or `cluster_ipv4_cidr_block` but not both.", "type": "string" }, "clusterSecondaryRangeName": { - "description": "Optional. The name of the cluster's secondary range used to allocate IP addresses to pods. Specify either `cluster_secondary_range_name` or `cluster_ipv4_cidr_block` but not both. This field is applicable only when `use_ip_aliases` is true.", + "description": "Optional. The name of the cluster's secondary range used to allocate IP addresses to pods. Specify either `cluster_secondary_range_name` or `cluster_ipv4_cidr_block` but not both. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true.", "type": "string" }, "servicesIpv4CidrBlock": { - "description": "Optional. The IP address range of the services IP addresses in this cluster. This field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `services_secondary_range_name` or `services_ipv4_cidr_block` but not both.", + "description": "Optional. The IP address range of the services IP addresses in this cluster. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true. Set to blank to have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. Specify `services_secondary_range_name` or `services_ipv4_cidr_block` but not both.", "type": "string" }, "servicesSecondaryRangeName": { - "description": "Optional. The name of the services' secondary range used to allocate IP addresses to the cluster. Specify either `services_secondary_range_name` or `services_ipv4_cidr_block` but not both. This field is applicable only when `use_ip_aliases` is true.", + "description": "Optional. The name of the services' secondary range used to allocate IP addresses to the cluster. Specify either `services_secondary_range_name` or `services_ipv4_cidr_block` but not both. For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*, this field is applicable only when `use_ip_aliases` is true.", "type": "string" }, "useIpAliases": { - "description": "Optional. Whether or not to enable Alias IPs in the GKE cluster. If `true`, a VPC-native cluster is created.", + "description": "Optional. Whether or not to enable Alias IPs in the GKE cluster. If `true`, a VPC-native cluster is created. This field is only supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. Environments in newer versions always use VPC-native GKE clusters.", "type": "boolean" } }, @@ -735,8 +856,14 @@ }, "type": "object" }, + "LoadSnapshotResponse": { + "description": "Response to LoadSnapshotRequest.", + "id": "LoadSnapshotResponse", + "properties": {}, + "type": "object" + }, "MaintenanceWindow": { - "description": "The configuration settings for Cloud Composer maintenance window. The following example: { \"startTime\":\"2019-08-01T01:00:00Z\" \"endTime\":\"2019-08-01T07:00:00Z\" \"recurrence\":\"FREQ=WEEKLY;BYDAY=TU,WE\" } would define a maintenance window between 01 and 07 hours UTC during each Tuesday and Wednesday.", + "description": "The configuration settings for Cloud Composer maintenance window. The following example: ``` { \"startTime\":\"2019-08-01T01:00:00Z\" \"endTime\":\"2019-08-01T07:00:00Z\" \"recurrence\":\"FREQ=WEEKLY;BYDAY=TU,WE\" } ``` would define a maintenance window between 01 and 07 hours UTC during each Tuesday and Wednesday.", "id": "MaintenanceWindow", "properties": { "endTime": { @@ -756,29 +883,51 @@ }, "type": "object" }, + "MasterAuthorizedNetworksConfig": { + "description": "Configuration options for the master authorized networks feature. Enabled master authorized networks will disallow all external traffic to access Kubernetes master through HTTPS except traffic from the given CIDR blocks, Google Compute Engine Public IPs and Google Prod IPs.", + "id": "MasterAuthorizedNetworksConfig", + "properties": { + "cidrBlocks": { + "description": "cidr_blocks define up to 50 external networks that could access Kubernetes master through HTTPS.", + "items": { + "$ref": "CidrBlock" + }, + "type": "array" + }, + "enabled": { + "description": "Whether or not master authorized networks is enabled.", + "type": "boolean" + } + }, + "type": "object" + }, "NodeConfig": { "description": "The configuration information for the Kubernetes Engine nodes running the Apache Airflow software.", "id": "NodeConfig", "properties": { "diskSizeGb": { - "description": "Optional. The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated.", + "description": "Optional. The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "format": "int32", "type": "integer" }, + "enableIpMasqAgent": { + "description": "Optional. Deploys 'ip-masq-agent' daemon set in the GKE cluster and defines nonMasqueradeCIDRs equals to pod IP range so IP masquerading is used for all destination addresses, except between pods traffic. See: https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent", + "type": "boolean" + }, "ipAllocationPolicy": { "$ref": "IPAllocationPolicy", "description": "Optional. The IPAllocationPolicy fields for the GKE cluster." }, "location": { - "description": "Optional. The Compute Engine [zone](/compute/docs/regions-zones) in which to deploy the VMs used to run the Apache Airflow software, specified as a [relative resource name](/apis/design/resource_names#relative_resource_name). For example: \"projects/{projectId}/zones/{zoneId}\". This `location` must belong to the enclosing environment's project and location. If both this field and `nodeConfig.machineType` are specified, `nodeConfig.machineType` must belong to this `location`; if both are unspecified, the service will pick a zone in the Compute Engine region corresponding to the Cloud Composer location, and propagate that choice to both fields. If only one field (`location` or `nodeConfig.machineType`) is specified, the location information from the specified field will be propagated to the unspecified field.", + "description": "Optional. The Compute Engine [zone](/compute/docs/regions-zones) in which to deploy the VMs used to run the Apache Airflow software, specified as a [relative resource name](/apis/design/resource_names#relative_resource_name). For example: \"projects/{projectId}/zones/{zoneId}\". This `location` must belong to the enclosing environment's project and location. If both this field and `nodeConfig.machineType` are specified, `nodeConfig.machineType` must belong to this `location`; if both are unspecified, the service will pick a zone in the Compute Engine region corresponding to the Cloud Composer location, and propagate that choice to both fields. If only one field (`location` or `nodeConfig.machineType`) is specified, the location information from the specified field will be propagated to the unspecified field. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "type": "string" }, "machineType": { - "description": "Optional. The Compute Engine [machine type](/compute/docs/machine-types) used for cluster instances, specified as a [relative resource name](/apis/design/resource_names#relative_resource_name). For example: \"projects/{projectId}/zones/{zoneId}/machineTypes/{machineTypeId}\". The `machineType` must belong to the enclosing environment's project and location. If both this field and `nodeConfig.location` are specified, this `machineType` must belong to the `nodeConfig.location`; if both are unspecified, the service will pick a zone in the Compute Engine region corresponding to the Cloud Composer location, and propagate that choice to both fields. If exactly one of this field and `nodeConfig.location` is specified, the location information from the specified field will be propagated to the unspecified field. The `machineTypeId` must not be a [shared-core machine type](/compute/docs/machine-types#sharedcore). If this field is unspecified, the `machineTypeId` defaults to \"n1-standard-1\".", + "description": "Optional. The Compute Engine [machine type](/compute/docs/machine-types) used for cluster instances, specified as a [relative resource name](/apis/design/resource_names#relative_resource_name). For example: \"projects/{projectId}/zones/{zoneId}/machineTypes/{machineTypeId}\". The `machineType` must belong to the enclosing environment's project and location. If both this field and `nodeConfig.location` are specified, this `machineType` must belong to the `nodeConfig.location`; if both are unspecified, the service will pick a zone in the Compute Engine region corresponding to the Cloud Composer location, and propagate that choice to both fields. If exactly one of this field and `nodeConfig.location` is specified, the location information from the specified field will be propagated to the unspecified field. The `machineTypeId` must not be a [shared-core machine type](/compute/docs/machine-types#sharedcore). If this field is unspecified, the `machineTypeId` defaults to \"n1-standard-1\". This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "type": "string" }, "maxPodsPerNode": { - "description": "Optional. The maximum number of pods per node in the Cloud Composer GKE cluster. The value must be between 8 and 110 and it can be set only if the environment is VPC-native. The default value is 32. Values of this field will be propagated both to the `default-pool` node pool of the newly created GKE cluster, and to the default \"Maximum Pods per Node\" value which is used for newly created node pools if their value is not explicitly set during node pool creation. For more information, see [Optimizing IP address allocation] (https://cloud.google.com/kubernetes-engine/docs/how-to/flexible-pod-cidr). Cannot be updated.", + "description": "Optional. The maximum number of pods per node in the Cloud Composer GKE cluster. The value must be between 8 and 110 and it can be set only if the environment is VPC-native. The default value is 32. Values of this field will be propagated both to the `default-pool` node pool of the newly created GKE cluster, and to the default \"Maximum Pods per Node\" value which is used for newly created node pools if their value is not explicitly set during node pool creation. For more information, see [Optimizing IP address allocation] (https://cloud.google.com/kubernetes-engine/docs/how-to/flexible-pod-cidr). Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "format": "int32", "type": "integer" }, @@ -787,14 +936,14 @@ "type": "string" }, "oauthScopes": { - "description": "Optional. The set of Google API scopes to be made available on all node VMs. If `oauth_scopes` is empty, defaults to [\"https://www.googleapis.com/auth/cloud-platform\"]. Cannot be updated.", + "description": "Optional. The set of Google API scopes to be made available on all node VMs. If `oauth_scopes` is empty, defaults to [\"https://www.googleapis.com/auth/cloud-platform\"]. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "items": { "type": "string" }, "type": "array" }, "serviceAccount": { - "description": "Optional. The Google Cloud Platform Service Account to be used by the node VMs. If a service account is not specified, the \"default\" Compute Engine service account is used. Cannot be updated.", + "description": "Optional. The Google Cloud Platform Service Account to be used by the workloads. If a service account is not specified, the \"default\" Compute Engine service account is used. Cannot be updated.", "type": "string" }, "subnetwork": { @@ -802,7 +951,7 @@ "type": "string" }, "tags": { - "description": "Optional. The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Cannot be updated.", + "description": "Optional. The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "items": { "type": "string" }, @@ -867,14 +1016,18 @@ "CREATE", "DELETE", "UPDATE", - "CHECK" + "CHECK", + "SAVE_SNAPSHOT", + "LOAD_SNAPSHOT" ], "enumDescriptions": [ "Unused.", "A resource creation operation.", "A resource deletion operation.", "A resource update operation.", - "A resource check operation." + "A resource check operation.", + "Saves snapshot of the resource operation.", + "Loads snapshot of the resource operation." ], "type": "string" }, @@ -931,12 +1084,29 @@ "description": "The configuration information for configuring a Private IP Cloud Composer environment.", "id": "PrivateEnvironmentConfig", "properties": { + "cloudComposerConnectionSubnetwork": { + "description": "Optional. When specified, the environment will use Private Service Connect instead of VPC peerings to connect to Cloud SQL in the Tenant Project, and the PSC endpoint in the Customer Project will use an IP address from this subnetwork.", + "type": "string" + }, + "cloudComposerNetworkIpv4CidrBlock": { + "description": "Optional. The CIDR block from which IP range for Cloud Composer Network in tenant project will be reserved. Needs to be disjoint from private_cluster_config.master_ipv4_cidr_block and cloud_sql_ipv4_cidr_block. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.", + "type": "string" + }, + "cloudComposerNetworkIpv4ReservedRange": { + "description": "Output only. The IP range reserved for the tenant project's Cloud Composer network. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.", + "readOnly": true, + "type": "string" + }, "cloudSqlIpv4CidrBlock": { "description": "Optional. The CIDR block from which IP range in tenant project will be reserved for Cloud SQL. Needs to be disjoint from web_server_ipv4_cidr_block", "type": "string" }, "enablePrivateEnvironment": { - "description": "Optional. If `true`, a Private IP Cloud Composer environment is created. If this field is set to true, `IPAllocationPolicy.use_ip_aliases` must be set to true.", + "description": "Optional. If `true`, a Private IP Cloud Composer environment is created. If this field is set to true, `IPAllocationPolicy.use_ip_aliases` must be set to true for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", + "type": "boolean" + }, + "enablePrivatelyUsedPublicIps": { + "description": "Optional. When enabled, IPs from public (non-RFC1918) ranges can be used for `IPAllocationPolicy.cluster_ipv4_cidr_block` and `IPAllocationPolicy.service_ipv4_cidr_block`.", "type": "boolean" }, "privateClusterConfig": { @@ -944,11 +1114,11 @@ "description": "Optional. Configuration for the private GKE cluster for a Private IP Cloud Composer environment." }, "webServerIpv4CidrBlock": { - "description": "Optional. The CIDR block from which IP range for web server will be reserved. Needs to be disjoint from private_cluster_config.master_ipv4_cidr_block and cloud_sql_ipv4_cidr_block.", + "description": "Optional. The CIDR block from which IP range for web server will be reserved. Needs to be disjoint from private_cluster_config.master_ipv4_cidr_block and cloud_sql_ipv4_cidr_block. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "type": "string" }, "webServerIpv4ReservedRange": { - "description": "Output only. The IP range reserved for the tenant project's App Engine VMs.", + "description": "Output only. The IP range reserved for the tenant project's App Engine VMs. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "readOnly": true, "type": "string" } @@ -961,6 +1131,44 @@ "properties": {}, "type": "object" }, + "SaveSnapshotResponse": { + "description": "Response to SaveSnapshotRequest.", + "id": "SaveSnapshotResponse", + "properties": { + "snapshotPath": { + "description": "The fully-resolved Cloud Storage path of the created snapshot, e.g.: \"gs://my-bucket/snapshots/project_location_environment_timestamp\". This field is populated only if the snapshot creation was successful.", + "type": "string" + } + }, + "type": "object" + }, + "SchedulerResource": { + "description": "Configuration for resources used by Airflow schedulers.", + "id": "SchedulerResource", + "properties": { + "count": { + "description": "Optional. The number of schedulers.", + "format": "int32", + "type": "integer" + }, + "cpu": { + "description": "Optional. CPU request and limit for a single Airflow scheduler replica.", + "format": "float", + "type": "number" + }, + "memoryGb": { + "description": "Optional. Memory (GB) request and limit for a single Airflow scheduler replica.", + "format": "float", + "type": "number" + }, + "storageGb": { + "description": "Optional. Storage (GB) request and limit for a single Airflow scheduler replica.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, "SoftwareConfig": { "description": "Specifies the selection and configuration of software inside the environment.", "id": "SoftwareConfig", @@ -991,8 +1199,13 @@ "type": "object" }, "pythonVersion": { - "description": "Optional. The major version of Python used to run the Apache Airflow scheduler, worker, and webserver processes. Can be set to '2' or '3'. If not specified, the default is '2'. Cannot be updated.", + "description": "Optional. The major version of Python used to run the Apache Airflow scheduler, worker, and webserver processes. Can be set to '2' or '3'. If not specified, the default is '3'. Cannot be updated. This field is only supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. Environments in newer versions always use Python major version 3.", "type": "string" + }, + "schedulerCount": { + "description": "Optional. The number of schedulers for Airflow. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-2.*.*.", + "format": "int32", + "type": "integer" } }, "type": "object" @@ -1025,7 +1238,7 @@ "type": "object" }, "WebServerConfig": { - "description": "The configuration settings for the Airflow web server App Engine instance.", + "description": "The configuration settings for the Airflow web server App Engine instance. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "id": "WebServerConfig", "properties": { "machineType": { @@ -1048,6 +1261,79 @@ } }, "type": "object" + }, + "WebServerResource": { + "description": "Configuration for resources used by Airflow web server.", + "id": "WebServerResource", + "properties": { + "cpu": { + "description": "Optional. CPU request and limit for Airflow web server.", + "format": "float", + "type": "number" + }, + "memoryGb": { + "description": "Optional. Memory (GB) request and limit for Airflow web server.", + "format": "float", + "type": "number" + }, + "storageGb": { + "description": "Optional. Storage (GB) request and limit for Airflow web server.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "WorkerResource": { + "description": "Configuration for resources used by Airflow workers.", + "id": "WorkerResource", + "properties": { + "cpu": { + "description": "Optional. CPU request and limit for a single Airflow worker replica.", + "format": "float", + "type": "number" + }, + "maxCount": { + "description": "Optional. Maximum number of workers for autoscaling.", + "format": "int32", + "type": "integer" + }, + "memoryGb": { + "description": "Optional. Memory (GB) request and limit for a single Airflow worker replica.", + "format": "float", + "type": "number" + }, + "minCount": { + "description": "Optional. Minimum number of workers for autoscaling.", + "format": "int32", + "type": "integer" + }, + "storageGb": { + "description": "Optional. Storage (GB) request and limit for a single Airflow worker replica.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "WorkloadsConfig": { + "description": "The Kubernetes workloads configuration for GKE cluster associated with the Cloud Composer environment. Supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.", + "id": "WorkloadsConfig", + "properties": { + "scheduler": { + "$ref": "SchedulerResource", + "description": "Optional. Resources used by Airflow schedulers." + }, + "webServer": { + "$ref": "WebServerResource", + "description": "Optional. Resources used by Airflow web server." + }, + "worker": { + "$ref": "WorkerResource", + "description": "Optional. Resources used by Airflow workers." + } + }, + "type": "object" } }, "servicePath": "", diff --git a/etc/api/compute/alpha/compute-api.json b/etc/api/compute/alpha/compute-api.json index f50055bc6e..72ad35bd92 100644 --- a/etc/api/compute/alpha/compute-api.json +++ b/etc/api/compute/alpha/compute-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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" @@ -12,13 +12,13 @@ "description": "View your Google Compute Engine resources" }, "https://www.googleapis.com/auth/devstorage.full_control": { - "description": "Manage your data and permissions in Google Cloud Storage" + "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 Google Cloud Storage" + "description": "Manage your data in Cloud Storage and see the email address of your Google Account" } } } @@ -26,32 +26,59 @@ "basePath": "/compute/alpha/", "baseUrl": "https://compute.googleapis.com/compute/alpha/", "batchPath": "batch/compute/alpha", - "description": "Creates and runs virtual machines on Google Cloud Platform.", + "description": "Creates and runs virtual machines on Google Cloud Platform. ", "discoveryVersion": "v1", - "documentationLink": "https://developers.google.com/compute/docs/reference/latest/", - "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/hiqisWl0t7KcM6BliB4xmOOmOxg\"", + "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": { - "alt": { - "default": "json", - "description": "Data format for the response.", + "$.xgafv": { + "description": "V1 error format.", "enum": [ - "json" + "1", + "2" ], "enumDescriptions": [ - "Responses with Content-Type of application/json" + "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", @@ -74,12 +101,22 @@ "type": "boolean" }, "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", + "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": "Deprecated. Please use quotaUser instead.", + "description": "Legacy name for parameter that has been superseded by `quotaUser`.", "location": "query", "type": "string" } @@ -90,6 +127,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of accelerator types.", + "flatPath": "projects/{project}/aggregated/acceleratorTypes", "httpMethod": "GET", "id": "compute.acceleratorTypes.aggregatedList", "parameterOrder": [ @@ -97,7 +135,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -115,7 +153,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -149,6 +187,7 @@ }, "get": { "description": "Returns the specified accelerator type.", + "flatPath": "projects/{project}/zones/{zone}/acceleratorTypes/{acceleratorType}", "httpMethod": "GET", "id": "compute.acceleratorTypes.get", "parameterOrder": [ @@ -191,6 +230,7 @@ }, "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": [ @@ -199,7 +239,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -212,7 +252,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -257,6 +297,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of addresses.", + "flatPath": "projects/{project}/aggregated/addresses", "httpMethod": "GET", "id": "compute.addresses.aggregatedList", "parameterOrder": [ @@ -264,7 +305,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -282,7 +323,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -316,6 +357,7 @@ }, "delete": { "description": "Deletes the specified address resource.", + "flatPath": "projects/{project}/regions/{region}/addresses/{address}", "httpMethod": "DELETE", "id": "compute.addresses.delete", "parameterOrder": [ @@ -346,7 +388,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -362,6 +404,7 @@ }, "get": { "description": "Returns the specified address resource.", + "flatPath": "projects/{project}/regions/{region}/addresses/{address}", "httpMethod": "GET", "id": "compute.addresses.get", "parameterOrder": [ @@ -404,6 +447,7 @@ }, "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": [ @@ -426,7 +470,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -445,6 +489,7 @@ }, "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": [ @@ -453,7 +498,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -466,7 +511,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -507,6 +552,7 @@ }, "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": [ @@ -530,7 +576,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -556,6 +602,7 @@ }, "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": [ @@ -605,6 +652,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of autoscalers.", + "flatPath": "projects/{project}/aggregated/autoscalers", "httpMethod": "GET", "id": "compute.autoscalers.aggregatedList", "parameterOrder": [ @@ -612,7 +660,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -630,7 +678,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -664,6 +712,7 @@ }, "delete": { "description": "Deletes the specified autoscaler.", + "flatPath": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}", "httpMethod": "DELETE", "id": "compute.autoscalers.delete", "parameterOrder": [ @@ -687,7 +736,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -710,6 +759,7 @@ }, "get": { "description": "Returns the specified autoscaler resource. Gets a list of available autoscalers by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}", "httpMethod": "GET", "id": "compute.autoscalers.get", "parameterOrder": [ @@ -752,6 +802,7 @@ }, "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": [ @@ -767,7 +818,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -793,6 +844,7 @@ }, "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": [ @@ -801,7 +853,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -814,7 +866,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -855,6 +907,7 @@ }, "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": [ @@ -876,7 +929,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -902,6 +955,7 @@ }, "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": [ @@ -947,6 +1001,7 @@ }, "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": [ @@ -968,7 +1023,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -998,6 +1053,7 @@ "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": [ @@ -1019,7 +1075,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1038,6 +1094,7 @@ }, "delete": { "description": "Deletes the specified BackendBucket resource.", + "flatPath": "projects/{project}/global/backendBuckets/{backendBucket}", "httpMethod": "DELETE", "id": "compute.backendBuckets.delete", "parameterOrder": [ @@ -1060,7 +1117,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1076,6 +1133,7 @@ }, "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": [ @@ -1104,7 +1162,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1120,6 +1178,7 @@ }, "get": { "description": "Returns the specified BackendBucket resource. Gets a list of available backend buckets by making a list() request.", + "flatPath": "projects/{project}/global/backendBuckets/{backendBucket}", "httpMethod": "GET", "id": "compute.backendBuckets.get", "parameterOrder": [ @@ -1154,6 +1213,7 @@ }, "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": [ @@ -1194,6 +1254,7 @@ }, "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": [ @@ -1208,7 +1269,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1227,6 +1288,7 @@ }, "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": [ @@ -1234,7 +1296,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1247,7 +1309,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -1281,6 +1343,7 @@ }, "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": [ @@ -1303,7 +1366,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1322,6 +1385,7 @@ }, "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": [ @@ -1343,7 +1407,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1362,6 +1426,7 @@ }, "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": [ @@ -1398,6 +1463,7 @@ }, "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": [ @@ -1435,6 +1501,7 @@ }, "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": [ @@ -1457,7 +1524,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1480,6 +1547,7 @@ "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": [ @@ -1501,7 +1569,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1520,6 +1588,7 @@ }, "aggregatedList": { "description": "Retrieves the list of all BackendService resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/backendServices", "httpMethod": "GET", "id": "compute.backendServices.aggregatedList", "parameterOrder": [ @@ -1527,7 +1596,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1545,7 +1614,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -1579,6 +1648,7 @@ }, "delete": { "description": "Deletes the specified BackendService resource.", + "flatPath": "projects/{project}/global/backendServices/{backendService}", "httpMethod": "DELETE", "id": "compute.backendServices.delete", "parameterOrder": [ @@ -1601,7 +1671,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1617,6 +1687,7 @@ }, "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": [ @@ -1645,7 +1716,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1661,6 +1732,7 @@ }, "get": { "description": "Returns the specified BackendService resource. Gets a list of available backend services.", + "flatPath": "projects/{project}/global/backendServices/{backendService}", "httpMethod": "GET", "id": "compute.backendServices.get", "parameterOrder": [ @@ -1694,7 +1766,8 @@ ] }, "getHealth": { - "description": "Gets the most recent health check results for this BackendService.\n\nExample request body:\n\n{ \"group\": \"/zones/us-east1-b/instanceGroups/lb-backend-example\" }", + "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": [ @@ -1729,8 +1802,50 @@ "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.", + "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": [ @@ -1745,7 +1860,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1764,6 +1879,7 @@ }, "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": [ @@ -1771,7 +1887,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1784,7 +1900,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -1817,7 +1933,8 @@ ] }, "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.", + "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": [ @@ -1840,7 +1957,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1859,6 +1976,7 @@ }, "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": [ @@ -1880,7 +1998,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1897,8 +2015,46 @@ "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": [ @@ -1920,7 +2076,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1939,6 +2095,7 @@ }, "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": [ @@ -1976,6 +2133,7 @@ }, "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": [ @@ -1998,7 +2156,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -2021,6 +2179,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of disk types.", + "flatPath": "projects/{project}/aggregated/diskTypes", "httpMethod": "GET", "id": "compute.diskTypes.aggregatedList", "parameterOrder": [ @@ -2028,7 +2187,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -2046,7 +2205,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -2080,6 +2239,7 @@ }, "get": { "description": "Returns the specified disk type. Gets a list of available disk types by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/diskTypes/{diskType}", "httpMethod": "GET", "id": "compute.diskTypes.get", "parameterOrder": [ @@ -2122,6 +2282,7 @@ }, "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": [ @@ -2130,7 +2291,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -2143,7 +2304,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -2188,6 +2349,7 @@ "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": [ @@ -2211,7 +2373,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -2237,6 +2399,7 @@ }, "aggregatedList": { "description": "Retrieves an aggregated list of persistent disks.", + "flatPath": "projects/{project}/aggregated/disks", "httpMethod": "GET", "id": "compute.disks.aggregatedList", "parameterOrder": [ @@ -2244,7 +2407,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -2262,7 +2425,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -2295,7 +2458,8 @@ ] }, "createSnapshot": { - "description": "Creates a snapshot of a specified persistent disk.", + "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": [ @@ -2312,7 +2476,7 @@ "type": "string" }, "guestFlush": { - "description": "[Input Only] Whether to attempt an application consistent snapshot by informing the OS to prepare for the snapshot process. Currently only supported on Windows instances using the Volume Shadow Copy Service (VSS).", + "description": "[Input Only] Whether to attempt an application consistent snapshot by informing the OS to prepare for the snapshot process.", "location": "query", "type": "boolean" }, @@ -2324,7 +2488,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -2350,6 +2514,7 @@ }, "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": [ @@ -2372,7 +2537,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -2395,6 +2560,7 @@ }, "get": { "description": "Returns a specified persistent disk. Gets a list of available persistent disks by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/disks/{disk}", "httpMethod": "GET", "id": "compute.disks.get", "parameterOrder": [ @@ -2437,6 +2603,7 @@ }, "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": [ @@ -2485,6 +2652,7 @@ }, "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": [ @@ -2500,7 +2668,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -2531,6 +2699,7 @@ }, "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": [ @@ -2539,7 +2708,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -2552,7 +2721,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -2593,6 +2762,7 @@ }, "removeResourcePolicies": { "description": "Removes resource policies from a disk.", + "flatPath": "projects/{project}/zones/{zone}/disks/{disk}/removeResourcePolicies", "httpMethod": "POST", "id": "compute.disks.removeResourcePolicies", "parameterOrder": [ @@ -2616,7 +2786,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -2642,6 +2812,7 @@ }, "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": [ @@ -2665,7 +2836,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -2691,6 +2862,7 @@ }, "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": [ @@ -2735,6 +2907,7 @@ }, "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": [ @@ -2751,7 +2924,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -2782,8 +2955,151 @@ "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", + "request": { + "$ref": "DisksStopAsyncReplicationRequest" + }, + "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": "DisksStopGroupAsyncReplicationRequest" + }, + "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": [ @@ -2828,7 +3144,8 @@ ] }, "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.", + "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": [ @@ -2845,7 +3162,6 @@ "type": "string" }, "paths": { - "description": "The set of field mask paths.", "location": "query", "repeated": true, "type": "string" @@ -2858,7 +3174,13 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request 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" }, @@ -2888,6 +3210,7 @@ "methods": { "delete": { "description": "Deletes the specified externalVpnGateway.", + "flatPath": "projects/{project}/global/externalVpnGateways/{externalVpnGateway}", "httpMethod": "DELETE", "id": "compute.externalVpnGateways.delete", "parameterOrder": [ @@ -2910,7 +3233,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -2926,6 +3249,7 @@ }, "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": [ @@ -2960,6 +3284,7 @@ }, "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": [ @@ -2974,7 +3299,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -2993,6 +3318,7 @@ }, "list": { "description": "Retrieves the list of ExternalVpnGateway available to the specified project.", + "flatPath": "projects/{project}/global/externalVpnGateways", "httpMethod": "GET", "id": "compute.externalVpnGateways.list", "parameterOrder": [ @@ -3000,7 +3326,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -3013,7 +3339,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -3047,6 +3373,7 @@ }, "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": [ @@ -3083,6 +3410,7 @@ }, "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": [ @@ -3124,6 +3452,7 @@ "methods": { "addAssociation": { "description": "Inserts an association for the specified firewall policy.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/addAssociation", "httpMethod": "POST", "id": "compute.firewallPolicies.addAssociation", "parameterOrder": [ @@ -3143,7 +3472,7 @@ "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3162,6 +3491,7 @@ }, "addRule": { "description": "Inserts a rule into a firewall policy.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/addRule", "httpMethod": "POST", "id": "compute.firewallPolicies.addRule", "parameterOrder": [ @@ -3176,7 +3506,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3195,6 +3525,7 @@ }, "cloneRules": { "description": "Copies rules to the specified firewall policy.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/cloneRules", "httpMethod": "POST", "id": "compute.firewallPolicies.cloneRules", "parameterOrder": [ @@ -3209,7 +3540,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -3230,6 +3561,7 @@ }, "delete": { "description": "Deletes the specified policy.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}", "httpMethod": "DELETE", "id": "compute.firewallPolicies.delete", "parameterOrder": [ @@ -3244,7 +3576,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3260,6 +3592,7 @@ }, "get": { "description": "Returns the specified firewall policy.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}", "httpMethod": "GET", "id": "compute.firewallPolicies.get", "parameterOrder": [ @@ -3286,6 +3619,7 @@ }, "getAssociation": { "description": "Gets an association with the specified name.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/getAssociation", "httpMethod": "GET", "id": "compute.firewallPolicies.getAssociation", "parameterOrder": [ @@ -3317,6 +3651,7 @@ }, "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": [ @@ -3349,6 +3684,7 @@ }, "getRule": { "description": "Gets a rule of the specified priority.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/getRule", "httpMethod": "GET", "id": "compute.firewallPolicies.getRule", "parameterOrder": [ @@ -3381,6 +3717,7 @@ }, "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": { @@ -3390,7 +3727,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3408,12 +3745,13 @@ ] }, "list": { - "description": "Lists all the policies that have been configured for the specified project.", + "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. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -3426,7 +3764,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -3458,6 +3796,7 @@ }, "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": { @@ -3473,11 +3812,13 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "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": [ @@ -3497,7 +3838,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3513,6 +3854,7 @@ }, "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": [ @@ -3527,7 +3869,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3546,6 +3888,7 @@ }, "patchRule": { "description": "Patches a rule of the specified priority.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/patchRule", "httpMethod": "POST", "id": "compute.firewallPolicies.patchRule", "parameterOrder": [ @@ -3566,7 +3909,7 @@ "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3585,6 +3928,7 @@ }, "removeAssociation": { "description": "Removes an association for the specified firewall policy.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/removeAssociation", "httpMethod": "POST", "id": "compute.firewallPolicies.removeAssociation", "parameterOrder": [ @@ -3604,7 +3948,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3620,6 +3964,7 @@ }, "removeRule": { "description": "Deletes a rule of the specified priority.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/removeRule", "httpMethod": "POST", "id": "compute.firewallPolicies.removeRule", "parameterOrder": [ @@ -3640,7 +3985,7 @@ "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3656,6 +4001,7 @@ }, "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": [ @@ -3684,6 +4030,7 @@ }, "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": [ @@ -3717,6 +4064,7 @@ "methods": { "delete": { "description": "Deletes the specified firewall.", + "flatPath": "projects/{project}/global/firewalls/{firewall}", "httpMethod": "DELETE", "id": "compute.firewalls.delete", "parameterOrder": [ @@ -3739,7 +4087,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3755,6 +4103,7 @@ }, "get": { "description": "Returns the specified firewall.", + "flatPath": "projects/{project}/global/firewalls/{firewall}", "httpMethod": "GET", "id": "compute.firewalls.get", "parameterOrder": [ @@ -3789,6 +4138,7 @@ }, "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": [ @@ -3803,7 +4153,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3822,6 +4172,7 @@ }, "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": [ @@ -3829,7 +4180,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -3842,7 +4193,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -3876,6 +4227,7 @@ }, "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": [ @@ -3898,7 +4250,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3917,6 +4269,7 @@ }, "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": [ @@ -3954,6 +4307,7 @@ }, "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": [ @@ -3976,7 +4330,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3999,6 +4353,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of forwarding rules.", + "flatPath": "projects/{project}/aggregated/forwardingRules", "httpMethod": "GET", "id": "compute.forwardingRules.aggregatedList", "parameterOrder": [ @@ -4006,7 +4361,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -4024,7 +4379,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -4058,6 +4413,7 @@ }, "delete": { "description": "Deletes the specified ForwardingRule resource.", + "flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", "httpMethod": "DELETE", "id": "compute.forwardingRules.delete", "parameterOrder": [ @@ -4088,7 +4444,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4104,6 +4460,7 @@ }, "get": { "description": "Returns the specified ForwardingRule resource.", + "flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", "httpMethod": "GET", "id": "compute.forwardingRules.get", "parameterOrder": [ @@ -4146,6 +4503,7 @@ }, "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": [ @@ -4168,7 +4526,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4187,6 +4545,7 @@ }, "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": [ @@ -4195,7 +4554,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -4208,7 +4567,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -4249,6 +4608,7 @@ }, "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": [ @@ -4279,7 +4639,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4298,6 +4658,7 @@ }, "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": [ @@ -4321,7 +4682,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -4347,6 +4708,7 @@ }, "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": [ @@ -4377,7 +4739,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4396,6 +4758,7 @@ }, "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": [ @@ -4441,10 +4804,368 @@ } } }, + "futureReservations": { + "methods": { + "aggregatedList": { + "description": "Retrieves an aggregated list of future reservations.", + "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. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", + "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.", + "location": "query", + "type": "boolean" + } + }, + "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. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", + "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.", + "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": [ @@ -4467,7 +5188,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4483,6 +5204,7 @@ }, "get": { "description": "Returns the specified address resource. Gets a list of available addresses by making a list() request.", + "flatPath": "projects/{project}/global/addresses/{address}", "httpMethod": "GET", "id": "compute.globalAddresses.get", "parameterOrder": [ @@ -4517,6 +5239,7 @@ }, "getOwnerInstance": { "description": "Find owner instance from given ip address", + "flatPath": "projects/{project}/global/addresses/getOwnerInstance", "httpMethod": "GET", "id": "compute.globalAddresses.getOwnerInstance", "parameterOrder": [ @@ -4542,11 +5265,13 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "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": [ @@ -4561,7 +5286,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4580,6 +5305,7 @@ }, "list": { "description": "Retrieves a list of global addresses.", + "flatPath": "projects/{project}/global/addresses", "httpMethod": "GET", "id": "compute.globalAddresses.list", "parameterOrder": [ @@ -4587,7 +5313,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -4600,7 +5326,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -4634,6 +5360,7 @@ }, "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": [ @@ -4670,6 +5397,7 @@ }, "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": [ @@ -4711,6 +5439,7 @@ "methods": { "delete": { "description": "Deletes the specified GlobalForwardingRule resource.", + "flatPath": "projects/{project}/global/forwardingRules/{forwardingRule}", "httpMethod": "DELETE", "id": "compute.globalForwardingRules.delete", "parameterOrder": [ @@ -4733,7 +5462,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4749,6 +5478,7 @@ }, "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": [ @@ -4783,6 +5513,7 @@ }, "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": [ @@ -4797,7 +5528,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4816,6 +5547,7 @@ }, "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": [ @@ -4823,7 +5555,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -4836,7 +5568,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -4870,6 +5602,7 @@ }, "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": [ @@ -4892,7 +5625,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4910,7 +5643,8 @@ ] }, "setLabels": { - "description": "Sets the labels on the specified resource. To learn more about labels, read the Labeling Resources documentation.", + "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": [ @@ -4947,6 +5681,7 @@ }, "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": [ @@ -4969,7 +5704,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4988,6 +5723,7 @@ }, "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": [ @@ -5029,6 +5765,7 @@ "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": [ @@ -5050,7 +5787,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5069,6 +5806,7 @@ }, "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": [ @@ -5090,7 +5828,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5106,6 +5844,7 @@ }, "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": [ @@ -5127,7 +5866,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5146,6 +5885,7 @@ }, "get": { "description": "Returns the specified network endpoint group. Gets a list of available network endpoint groups by making a list() request.", + "flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}", "httpMethod": "GET", "id": "compute.globalNetworkEndpointGroups.get", "parameterOrder": [ @@ -5179,6 +5919,7 @@ }, "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": [ @@ -5193,7 +5934,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5212,6 +5953,7 @@ }, "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": [ @@ -5219,7 +5961,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -5232,7 +5974,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -5266,6 +6008,7 @@ }, "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": [ @@ -5274,7 +6017,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -5293,7 +6036,7 @@ "type": "string" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -5331,6 +6074,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of all operations.", + "flatPath": "projects/{project}/aggregated/operations", "httpMethod": "GET", "id": "compute.globalOperations.aggregatedList", "parameterOrder": [ @@ -5338,7 +6082,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -5356,7 +6100,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -5390,6 +6134,7 @@ }, "delete": { "description": "Deletes the specified Operations resource.", + "flatPath": "projects/{project}/global/operations/{operation}", "httpMethod": "DELETE", "id": "compute.globalOperations.delete", "parameterOrder": [ @@ -5419,7 +6164,8 @@ ] }, "get": { - "description": "Retrieves the specified Operations resource. Gets a list of operations by making a `list()` request.", + "description": "Retrieves the specified Operations resource.", + "flatPath": "projects/{project}/global/operations/{operation}", "httpMethod": "GET", "id": "compute.globalOperations.get", "parameterOrder": [ @@ -5454,6 +6200,7 @@ }, "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": [ @@ -5461,7 +6208,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -5474,7 +6221,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -5507,7 +6254,8 @@ ] }, "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.\n\nThis method is called on a best-effort basis. Specifically: \n- In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. \n- 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`.", + "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": [ @@ -5546,6 +6294,7 @@ "methods": { "delete": { "description": "Deletes the specified Operations resource.", + "flatPath": "locations/global/operations/{operation}", "httpMethod": "DELETE", "id": "compute.globalOrganizationOperations.delete", "parameterOrder": [ @@ -5573,6 +6322,7 @@ }, "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": [ @@ -5604,11 +6354,12 @@ }, "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. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -5621,7 +6372,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -5657,6 +6408,7 @@ "methods": { "delete": { "description": "Deletes the specified global PublicDelegatedPrefix.", + "flatPath": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", "httpMethod": "DELETE", "id": "compute.globalPublicDelegatedPrefixes.delete", "parameterOrder": [ @@ -5679,7 +6431,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5695,6 +6447,7 @@ }, "get": { "description": "Returns the specified global PublicDelegatedPrefix resource.", + "flatPath": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", "httpMethod": "GET", "id": "compute.globalPublicDelegatedPrefixes.get", "parameterOrder": [ @@ -5729,6 +6482,7 @@ }, "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": [ @@ -5743,7 +6497,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5762,6 +6516,7 @@ }, "list": { "description": "Lists the global PublicDelegatedPrefixes for a project.", + "flatPath": "projects/{project}/global/publicDelegatedPrefixes", "httpMethod": "GET", "id": "compute.globalPublicDelegatedPrefixes.list", "parameterOrder": [ @@ -5769,7 +6524,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -5782,7 +6537,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -5816,6 +6571,7 @@ }, "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": [ @@ -5838,7 +6594,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5861,6 +6617,7 @@ "methods": { "aggregatedList": { "description": "Retrieves the list of all HealthCheck resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/healthChecks", "httpMethod": "GET", "id": "compute.healthChecks.aggregatedList", "parameterOrder": [ @@ -5868,7 +6625,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -5886,7 +6643,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -5920,6 +6677,7 @@ }, "delete": { "description": "Deletes the specified HealthCheck resource.", + "flatPath": "projects/{project}/global/healthChecks/{healthCheck}", "httpMethod": "DELETE", "id": "compute.healthChecks.delete", "parameterOrder": [ @@ -5942,7 +6700,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5958,6 +6716,7 @@ }, "get": { "description": "Returns the specified HealthCheck resource. Gets a list of available health checks by making a list() request.", + "flatPath": "projects/{project}/global/healthChecks/{healthCheck}", "httpMethod": "GET", "id": "compute.healthChecks.get", "parameterOrder": [ @@ -5992,6 +6751,7 @@ }, "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": [ @@ -6006,7 +6766,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6025,6 +6785,7 @@ }, "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": [ @@ -6032,7 +6793,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -6045,7 +6806,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -6079,6 +6840,7 @@ }, "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": [ @@ -6101,7 +6863,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6120,6 +6882,7 @@ }, "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": [ @@ -6157,6 +6920,7 @@ }, "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": [ @@ -6179,7 +6943,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6202,6 +6966,7 @@ "methods": { "delete": { "description": "Deletes the specified HttpHealthCheck resource.", + "flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", "httpMethod": "DELETE", "id": "compute.httpHealthChecks.delete", "parameterOrder": [ @@ -6224,7 +6989,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6240,6 +7005,7 @@ }, "get": { "description": "Returns the specified HttpHealthCheck resource. Gets a list of available HTTP health checks by making a list() request.", + "flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", "httpMethod": "GET", "id": "compute.httpHealthChecks.get", "parameterOrder": [ @@ -6274,6 +7040,7 @@ }, "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": [ @@ -6288,7 +7055,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6307,6 +7074,7 @@ }, "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": [ @@ -6314,7 +7082,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -6327,7 +7095,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -6361,6 +7129,7 @@ }, "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": [ @@ -6383,7 +7152,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6402,6 +7171,7 @@ }, "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": [ @@ -6439,6 +7209,7 @@ }, "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": [ @@ -6461,7 +7232,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6484,6 +7255,7 @@ "methods": { "delete": { "description": "Deletes the specified HttpsHealthCheck resource.", + "flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", "httpMethod": "DELETE", "id": "compute.httpsHealthChecks.delete", "parameterOrder": [ @@ -6506,7 +7278,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6522,6 +7294,7 @@ }, "get": { "description": "Returns the specified HttpsHealthCheck resource. Gets a list of available HTTPS health checks by making a list() request.", + "flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", "httpMethod": "GET", "id": "compute.httpsHealthChecks.get", "parameterOrder": [ @@ -6556,6 +7329,7 @@ }, "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": [ @@ -6570,7 +7344,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6589,6 +7363,7 @@ }, "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": [ @@ -6596,7 +7371,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -6609,7 +7384,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -6643,6 +7418,7 @@ }, "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": [ @@ -6665,7 +7441,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6684,6 +7460,7 @@ }, "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": [ @@ -6721,6 +7498,7 @@ }, "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": [ @@ -6743,7 +7521,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6766,6 +7544,7 @@ "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": [ @@ -6812,6 +7591,7 @@ "methods": { "delete": { "description": "Deletes the specified image.", + "flatPath": "projects/{project}/global/images/{image}", "httpMethod": "DELETE", "id": "compute.images.delete", "parameterOrder": [ @@ -6834,7 +7614,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6849,7 +7629,8 @@ ] }, "deprecate": { - "description": "Sets the deprecation status of an image.\n\nIf an empty request body is given, clears the deprecation status instead.", + "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": [ @@ -6872,7 +7653,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6891,6 +7672,7 @@ }, "get": { "description": "Returns the specified image. Gets a list of available images by making a list() request.", + "flatPath": "projects/{project}/global/images/{image}", "httpMethod": "GET", "id": "compute.images.get", "parameterOrder": [ @@ -6925,6 +7707,7 @@ }, "getFromFamily": { "description": "Returns the latest image that is part of an image family and is not deprecated.", + "flatPath": "projects/{project}/global/images/family/{family}", "httpMethod": "GET", "id": "compute.images.getFromFamily", "parameterOrder": [ @@ -6959,6 +7742,7 @@ }, "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": [ @@ -6999,6 +7783,7 @@ }, "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": [ @@ -7018,7 +7803,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -7040,6 +7825,7 @@ }, "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": [ @@ -7047,7 +7833,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -7060,7 +7846,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -7100,6 +7886,7 @@ }, "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": [ @@ -7122,7 +7909,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -7141,6 +7928,7 @@ }, "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": [ @@ -7177,6 +7965,7 @@ }, "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": [ @@ -7213,6 +8002,7 @@ }, "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": [ @@ -7253,7 +8043,8 @@ "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.\n\nIf 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.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -7276,7 +8067,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7301,6 +8092,7 @@ }, "aggregatedList": { "description": "Retrieves the list of managed instance groups and groups them by zone.", + "flatPath": "projects/{project}/aggregated/instanceGroupManagers", "httpMethod": "GET", "id": "compute.instanceGroupManagers.aggregatedList", "parameterOrder": [ @@ -7308,7 +8100,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -7326,7 +8118,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -7360,6 +8152,7 @@ }, "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": [ @@ -7402,6 +8195,7 @@ }, "createInstances": { "description": "Creates instances with per-instance configs 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": [ @@ -7424,7 +8218,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same 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" }, @@ -7448,7 +8242,8 @@ ] }, "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.", + "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": [ @@ -7471,7 +8266,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7492,7 +8287,8 @@ ] }, "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.\n\nIf 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.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -7515,7 +8311,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7540,6 +8336,7 @@ }, "deletePerInstanceConfigs": { "description": "Deletes selected per-instance configs for the managed instance group.", + "flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", "httpMethod": "POST", "id": "compute.instanceGroupManagers.deletePerInstanceConfigs", "parameterOrder": [ @@ -7582,6 +8379,7 @@ }, "get": { "description": "Returns all of the details about the specified managed instance group. Gets a list of available managed instance groups by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", "httpMethod": "GET", "id": "compute.instanceGroupManagers.get", "parameterOrder": [ @@ -7621,7 +8419,8 @@ ] }, "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.\n\nA managed instance group can have up to 1000 VM instances per group. Please contact Cloud Support if you need an increase in this limit.", + "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": [ @@ -7637,7 +8436,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7662,6 +8461,7 @@ }, "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": [ @@ -7670,7 +8470,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -7683,7 +8483,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -7723,6 +8523,7 @@ }, "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": [ @@ -7732,12 +8533,12 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "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-9]{0,19}.", + "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" @@ -7751,7 +8552,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -7791,6 +8592,7 @@ }, "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.", + "flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", "httpMethod": "POST", "id": "compute.instanceGroupManagers.listManagedInstances", "parameterOrder": [ @@ -7800,7 +8602,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -7819,7 +8621,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -7859,6 +8661,7 @@ }, "listPerInstanceConfigs": { "description": "Lists all of the per-instance configs 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": [ @@ -7868,7 +8671,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -7887,7 +8690,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -7926,7 +8729,8 @@ ] }, "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.", + "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": [ @@ -7949,7 +8753,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7974,6 +8778,7 @@ }, "patchPerInstanceConfigs": { "description": "Inserts or patches per-instance configs 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": [ @@ -7996,7 +8801,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8020,7 +8825,8 @@ ] }, "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.\n\nIf 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.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -8043,7 +8849,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8067,7 +8873,8 @@ ] }, "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.\n\nWhen 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:\n\n+ 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.\n\nThis list is subject to change.\n\nIf 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.", + "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": [ @@ -8091,7 +8898,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8119,7 +8926,8 @@ ] }, "resizeAdvanced": { - "description": "Resizes the managed instance group with advanced configuration options like disabling creation retries. This is an extended version of the resize method.\n\nIf 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.\n\nIf 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.", + "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": [ @@ -8142,7 +8950,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8166,7 +8974,8 @@ ] }, "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.\n\nIn 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.\n\nIf a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are resumed.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -8189,7 +8998,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8214,6 +9023,7 @@ }, "setAutoHealingPolicies": { "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": [ @@ -8236,7 +9046,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8261,6 +9071,7 @@ }, "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": [ @@ -8283,7 +9094,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8308,6 +9119,7 @@ }, "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": [ @@ -8330,7 +9142,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8354,7 +9166,8 @@ ] }, "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.\n\nIn 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.\n\nIf a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are started.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -8377,7 +9190,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8401,7 +9214,8 @@ ] }, "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.\n\nIf the instanceLifecyclePolicy.metadataBasedReadinessSignal field is set on the Instance Group Manager, each instance will be initialized before it is stopped, to give user programs time to perform necessary tasks. To initialize an instance, the Instance Group Manager sets the metadata key google-compute-initialization-intent to value INITIALIZE_AND_STOP on the instance, and waits for the user program to signal it is ready. This is done by setting the guest attribute path google-compute/initialization-state to value INITIALIZED. If the instance does not signal successful initialization (does not set the guest attribute to INITIALIZED) before timeout, the initialization is considered failed and the instance is not stopped.\n\nIf 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.\n\nStopped instances can be started using the startInstances method.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -8424,7 +9238,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8448,7 +9262,8 @@ ] }, "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.\n\nIf the instanceLifecyclePolicy.metadataBasedReadinessSignal field is set on the Instance Group Manager, each instance will be initialized before it is suspended, to give user programs time to perform necessary tasks. To initialize an instance, the Instance Group Manager sets the metadata key google-compute-initialization-intent to value INITIALIZE_AND_SUSPEND on the instance, and waits for the user program to signal it is ready. This is done by setting the guest attribute path google-compute/initialization-state to value INITIALIZED. If the instance does not signal successful initialization (does not set the guest attribute to INITIALIZED) before timeout, the initialization is considered failed and the instance is not suspended.\n\nIf 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.\n\nSuspended instances can be resumed using the resumeInstances method.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -8471,7 +9286,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8496,6 +9311,7 @@ }, "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": [ @@ -8540,7 +9356,8 @@ ] }, "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.", + "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": [ @@ -8563,7 +9380,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8588,6 +9405,7 @@ }, "updatePerInstanceConfigs": { "description": "Inserts or updates per-instance configs 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": [ @@ -8610,7 +9428,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8638,7 +9456,8 @@ "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.", + "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": [ @@ -8661,7 +9480,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8686,6 +9505,7 @@ }, "aggregatedList": { "description": "Retrieves the list of instance groups and sorts them by zone.", + "flatPath": "projects/{project}/aggregated/instanceGroups", "httpMethod": "GET", "id": "compute.instanceGroups.aggregatedList", "parameterOrder": [ @@ -8693,7 +9513,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -8711,7 +9531,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -8744,7 +9564,8 @@ ] }, "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.", + "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": [ @@ -8767,7 +9588,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8788,7 +9609,8 @@ ] }, "get": { - "description": "Returns the specified zonal instance group. Get a list of available zonal instance groups by making a list() request.\n\nFor managed instance groups, use the instanceGroupManagers or regionInstanceGroupManagers methods instead.", + "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": [ @@ -8829,6 +9651,7 @@ }, "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": [ @@ -8844,7 +9667,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8868,7 +9691,8 @@ ] }, "list": { - "description": "Retrieves the list of zonal instance group resources contained within the specified zone.\n\nFor managed instance groups, use the instanceGroupManagers or regionInstanceGroupManagers methods instead.", + "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": [ @@ -8877,7 +9701,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -8890,7 +9714,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -8930,6 +9754,7 @@ }, "listInstances": { "description": "Lists the instances in the specified instance group. The orderBy query parameter is not supported.", + "flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances", "httpMethod": "POST", "id": "compute.instanceGroups.listInstances", "parameterOrder": [ @@ -8939,7 +9764,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -8958,7 +9783,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -9000,7 +9825,8 @@ ] }, "removeInstances": { - "description": "Removes one or more instances from the specified instance group, but does not delete those instances.\n\nIf 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.", + "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": [ @@ -9023,7 +9849,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9048,6 +9874,7 @@ }, "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": [ @@ -9070,7 +9897,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9095,6 +9922,7 @@ }, "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": [ @@ -9144,6 +9972,7 @@ "methods": { "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": [ @@ -9166,7 +9995,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -9182,6 +10011,7 @@ }, "get": { "description": "Returns the specified instance template. Gets a list of available instance templates by making a list() request.", + "flatPath": "projects/{project}/global/instanceTemplates/{instanceTemplate}", "httpMethod": "GET", "id": "compute.instanceTemplates.get", "parameterOrder": [ @@ -9216,6 +10046,7 @@ }, "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": [ @@ -9256,6 +10087,7 @@ }, "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": [ @@ -9270,7 +10102,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -9289,6 +10121,7 @@ }, "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": [ @@ -9296,7 +10129,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -9309,7 +10142,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -9343,6 +10176,7 @@ }, "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": [ @@ -9379,6 +10213,7 @@ }, "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": [ @@ -9420,6 +10255,7 @@ "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": [ @@ -9450,7 +10286,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9476,6 +10312,7 @@ }, "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": [ @@ -9499,7 +10336,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9524,7 +10361,8 @@ ] }, "aggregatedList": { - "description": "Retrieves aggregated list of all of the instances in your project across all regions and zones.", + "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.", + "flatPath": "projects/{project}/aggregated/instances", "httpMethod": "GET", "id": "compute.instances.aggregatedList", "parameterOrder": [ @@ -9532,7 +10370,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -9550,7 +10388,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -9584,6 +10422,7 @@ }, "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": [ @@ -9612,7 +10451,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9638,6 +10477,7 @@ }, "bulkInsert": { "description": "Creates multiple instances. Count specifies the number of instances to create.", + "flatPath": "projects/{project}/zones/{zone}/instances/bulkInsert", "httpMethod": "POST", "id": "compute.instances.bulkInsert", "parameterOrder": [ @@ -9653,7 +10493,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9679,6 +10519,7 @@ }, "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": [ @@ -9702,7 +10543,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9725,6 +10566,7 @@ }, "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": [ @@ -9762,7 +10604,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9785,6 +10627,7 @@ }, "detachDisk": { "description": "Detaches a disk from an instance.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/detachDisk", "httpMethod": "POST", "id": "compute.instances.detachDisk", "parameterOrder": [ @@ -9815,7 +10658,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9838,6 +10681,7 @@ }, "get": { "description": "Returns the specified Instance resource. Gets a list of available instances by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}", "httpMethod": "GET", "id": "compute.instances.get", "parameterOrder": [ @@ -9880,6 +10724,7 @@ }, "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": [ @@ -9929,6 +10774,7 @@ }, "getGuestAttributes": { "description": "Returns the specified guest attributes entry.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/getGuestAttributes", "httpMethod": "GET", "id": "compute.instances.getGuestAttributes", "parameterOrder": [ @@ -9981,6 +10827,7 @@ }, "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": [ @@ -10029,6 +10876,7 @@ }, "getScreenshot": { "description": "Returns the screenshot from the specified instance.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/screenshot", "httpMethod": "GET", "id": "compute.instances.getScreenshot", "parameterOrder": [ @@ -10071,6 +10919,7 @@ }, "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": [ @@ -10103,7 +10952,7 @@ "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`.\n\nIf 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.\n\nYou 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.", + "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.", "format": "int64", "location": "query", "type": "string" @@ -10128,6 +10977,7 @@ }, "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": [ @@ -10170,6 +11020,7 @@ }, "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": [ @@ -10212,6 +11063,7 @@ }, "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": [ @@ -10227,17 +11079,17 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request 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.\n\nThis field is optional. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: \n- https://www.googleapis.com/compute/v1/projects/project/global/instanceTemplates/instanceTemplate \n- projects/project/global/instanceTemplates/instanceTemplate \n- global/instanceTemplates/instanceTemplate", + "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.\n\nThis field is optional. It can be a full or partial URL. For example, the following are all valid URLs to a machine image: \n- https://www.googleapis.com/compute/v1/projects/project/global/global/machineImages/machineImage \n- projects/project/global/global/machineImages/machineImage \n- global/machineImages/machineImage", + "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" }, @@ -10263,6 +11115,7 @@ }, "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": [ @@ -10271,7 +11124,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -10284,7 +11137,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -10325,6 +11178,7 @@ }, "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": [ @@ -10334,7 +11188,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -10354,7 +11208,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -10393,8 +11247,56 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "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": [ @@ -10418,7 +11320,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10444,6 +11346,7 @@ }, "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": [ @@ -10467,7 +11370,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10490,6 +11393,7 @@ }, "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": [ @@ -10513,7 +11417,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10538,7 +11442,8 @@ ] }, "sendDiagnosticInterrupt": { - "description": "TODO(b/180520210): Add IAM permission for this API. Sends diagnostic interrupt to the instance.", + "description": "Sends diagnostic interrupt to the instance.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/sendDiagnosticInterrupt", "httpMethod": "POST", "id": "compute.instances.sendDiagnosticInterrupt", "parameterOrder": [ @@ -10577,6 +11482,7 @@ }, "setDeletionProtection": { "description": "Sets deletion protection on the instance.", + "flatPath": "projects/{project}/zones/{zone}/instances/{resource}/setDeletionProtection", "httpMethod": "POST", "id": "compute.instances.setDeletionProtection", "parameterOrder": [ @@ -10599,7 +11505,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10629,6 +11535,7 @@ }, "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": [ @@ -10667,7 +11574,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10690,6 +11597,7 @@ }, "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": [ @@ -10734,6 +11642,7 @@ }, "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": [ @@ -10757,7 +11666,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10783,6 +11692,7 @@ }, "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": [ @@ -10806,7 +11716,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10832,6 +11742,7 @@ }, "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": [ @@ -10855,7 +11766,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10881,6 +11792,7 @@ }, "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": [ @@ -10904,7 +11816,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10930,6 +11842,7 @@ }, "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": [ @@ -10953,7 +11866,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10979,6 +11892,7 @@ }, "setName": { "description": "Sets name of an instance.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setName", "httpMethod": "POST", "id": "compute.instances.setName", "parameterOrder": [ @@ -11002,7 +11916,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11027,7 +11941,8 @@ ] }, "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.", + "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 availability policies.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setScheduling", "httpMethod": "POST", "id": "compute.instances.setScheduling", "parameterOrder": [ @@ -11051,7 +11966,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11077,6 +11992,7 @@ }, "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": [ @@ -11100,7 +12016,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11126,6 +12042,7 @@ }, "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": [ @@ -11149,7 +12066,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11175,6 +12092,7 @@ }, "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": [ @@ -11198,7 +12116,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11224,6 +12142,7 @@ }, "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": [ @@ -11247,7 +12166,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11272,7 +12191,8 @@ ] }, "simulateMaintenanceEvent": { - "description": "Simulates a maintenance event on the instance.", + "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": [ @@ -11295,6 +12215,11 @@ "required": true, "type": "string" }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request 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", @@ -11314,6 +12239,7 @@ }, "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": [ @@ -11337,7 +12263,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11360,6 +12286,7 @@ }, "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": [ @@ -11383,7 +12310,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11409,6 +12336,7 @@ }, "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": [ @@ -11437,7 +12365,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11459,7 +12387,8 @@ ] }, "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 incur reduced per-minute, virtual machine usage charges while they are suspended. Any resources the virtual machine is using, such as persistent disks and static IP addresses, will continue to be charged until they are deleted.", + "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": [ @@ -11488,7 +12417,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11511,6 +12440,7 @@ }, "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": [ @@ -11555,7 +12485,8 @@ ] }, "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.", + "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": [ @@ -11564,6 +12495,11 @@ "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", @@ -11581,9 +12517,9 @@ ], "enumDescriptions": [ "", - "", - "", - "" + "No changes can be made to the instance.", + "The instance will not restart.", + "The instance will restart." ], "location": "query", "type": "string" @@ -11598,9 +12534,9 @@ ], "enumDescriptions": [ "", - "", - "", - "" + "No changes can be made to the instance.", + "The instance will not restart.", + "The instance will restart." ], "location": "query", "type": "string" @@ -11613,7 +12549,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11639,6 +12575,7 @@ }, "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": [ @@ -11669,7 +12606,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11695,6 +12632,7 @@ }, "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": [ @@ -11718,7 +12656,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11744,6 +12682,7 @@ }, "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": [ @@ -11774,7 +12713,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11800,6 +12739,7 @@ }, "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": [ @@ -11823,7 +12763,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11849,6 +12789,7 @@ }, "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": [ @@ -11872,7 +12813,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11898,18 +12839,19 @@ } } }, - "interconnectAttachments": { + "instantSnapshots": { "methods": { "aggregatedList": { - "description": "Retrieves an aggregated list of interconnect attachments.", + "description": "Retrieves an aggregated list of instantSnapshots.", + "flatPath": "projects/{project}/aggregated/instantSnapshots", "httpMethod": "GET", - "id": "compute.interconnectAttachments.aggregatedList", + "id": "compute.instantSnapshots.aggregatedList", "parameterOrder": [ "project" ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -11927,7 +12869,506 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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.", + "location": "query", + "type": "boolean" + } + }, + "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" + ] + }, + "export": { + "description": "Export the changed blocks between two instant snapshots to a customer's bucket in the user specified format.", + "flatPath": "projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}/export", + "httpMethod": "POST", + "id": "compute.instantSnapshots.export", + "parameterOrder": [ + "project", + "zone", + "instantSnapshot" + ], + "parameters": { + "instantSnapshot": { + "description": "Name of the instant snapshot to export.", + "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}/export", + "request": { + "$ref": "InstantSnapshotsExportRequest" + }, + "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. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", + "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.", + "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" + ] + } + } + }, + "interconnectAttachments": { + "methods": { + "aggregatedList": { + "description": "Retrieves an aggregated list of interconnect attachments.", + "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. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", + "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" }, @@ -11961,6 +13402,7 @@ }, "delete": { "description": "Deletes the specified interconnect attachment.", + "flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", "httpMethod": "DELETE", "id": "compute.interconnectAttachments.delete", "parameterOrder": [ @@ -11991,7 +13433,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -12007,6 +13449,7 @@ }, "get": { "description": "Returns the specified interconnect attachment.", + "flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", "httpMethod": "GET", "id": "compute.interconnectAttachments.get", "parameterOrder": [ @@ -12049,6 +13492,7 @@ }, "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": [ @@ -12097,6 +13541,7 @@ }, "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": [ @@ -12119,7 +13564,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -12143,6 +13588,7 @@ }, "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": [ @@ -12151,7 +13597,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -12164,7 +13610,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -12205,6 +13651,7 @@ }, "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": [ @@ -12235,7 +13682,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -12254,6 +13701,7 @@ }, "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": [ @@ -12298,6 +13746,7 @@ }, "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": [ @@ -12321,7 +13770,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -12347,6 +13796,7 @@ }, "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": [ @@ -12396,6 +13846,7 @@ "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": [ @@ -12430,6 +13881,7 @@ }, "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": [ @@ -12437,7 +13889,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -12450,7 +13902,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -12484,6 +13936,7 @@ }, "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": [ @@ -12525,6 +13978,7 @@ "methods": { "delete": { "description": "Deletes the specified interconnect.", + "flatPath": "projects/{project}/global/interconnects/{interconnect}", "httpMethod": "DELETE", "id": "compute.interconnects.delete", "parameterOrder": [ @@ -12547,7 +14001,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -12563,6 +14017,7 @@ }, "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": [ @@ -12597,6 +14052,7 @@ }, "getDiagnostics": { "description": "Returns the interconnectDiagnostics for the specified interconnect.", + "flatPath": "projects/{project}/global/interconnects/{interconnect}/getDiagnostics", "httpMethod": "GET", "id": "compute.interconnects.getDiagnostics", "parameterOrder": [ @@ -12631,6 +14087,7 @@ }, "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": [ @@ -12669,8 +14126,44 @@ "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 a Interconnect in the specified project using the data included in the request.", + "flatPath": "projects/{project}/global/interconnects", "httpMethod": "POST", "id": "compute.interconnects.insert", "parameterOrder": [ @@ -12685,7 +14178,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -12704,6 +14197,7 @@ }, "list": { "description": "Retrieves the list of interconnect available to the specified project.", + "flatPath": "projects/{project}/global/interconnects", "httpMethod": "GET", "id": "compute.interconnects.list", "parameterOrder": [ @@ -12711,7 +14205,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -12724,7 +14218,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -12758,6 +14252,7 @@ }, "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": [ @@ -12780,7 +14275,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -12799,6 +14294,7 @@ }, "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": [ @@ -12835,6 +14331,7 @@ }, "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": [ @@ -12871,6 +14368,7 @@ }, "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": [ @@ -12911,7 +14409,8 @@ "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.", + "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": [ @@ -12945,7 +14444,8 @@ ] }, "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.", + "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": [ @@ -12985,7 +14485,8 @@ ] }, "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.", + "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": [ @@ -13021,7 +14522,8 @@ ] }, "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.", + "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": [ @@ -13062,7 +14564,8 @@ "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.", + "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": [ @@ -13085,7 +14588,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -13100,7 +14603,8 @@ ] }, "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.", + "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": [ @@ -13134,7 +14638,8 @@ ] }, "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.", + "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": [ @@ -13174,7 +14679,8 @@ ] }, "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.", + "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": [ @@ -13189,7 +14695,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -13210,7 +14716,8 @@ ] }, "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.", + "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": [ @@ -13218,7 +14725,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -13231,7 +14738,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -13264,7 +14771,8 @@ ] }, "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.", + "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": [ @@ -13300,7 +14808,8 @@ ] }, "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.", + "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": [ @@ -13342,6 +14851,7 @@ "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": [ @@ -13364,7 +14874,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -13380,6 +14890,7 @@ }, "get": { "description": "Returns the specified machine image. Gets a list of available machine images by making a list() request.", + "flatPath": "projects/{project}/global/machineImages/{machineImage}", "httpMethod": "GET", "id": "compute.machineImages.get", "parameterOrder": [ @@ -13414,6 +14925,7 @@ }, "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": [ @@ -13454,6 +14966,7 @@ }, "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": [ @@ -13468,7 +14981,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -13492,6 +15005,7 @@ }, "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": [ @@ -13499,7 +15013,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -13512,7 +15026,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -13546,6 +15060,7 @@ }, "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": [ @@ -13582,6 +15097,7 @@ }, "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": [ @@ -13623,6 +15139,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of machine types.", + "flatPath": "projects/{project}/aggregated/machineTypes", "httpMethod": "GET", "id": "compute.machineTypes.aggregatedList", "parameterOrder": [ @@ -13630,7 +15147,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -13648,7 +15165,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -13682,6 +15199,7 @@ }, "get": { "description": "Returns the specified machine type. Gets a list of available machine types by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/machineTypes/{machineType}", "httpMethod": "GET", "id": "compute.machineTypes.get", "parameterOrder": [ @@ -13724,6 +15242,7 @@ }, "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": [ @@ -13732,7 +15251,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -13745,7 +15264,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -13786,18 +15305,19 @@ } } }, - "networkEndpointGroups": { + "networkEdgeSecurityServices": { "methods": { "aggregatedList": { - "description": "Retrieves the list of network endpoint groups and sorts them by zone.", + "description": "Retrieves the list of all NetworkEdgeSecurityService resources available to the specified project.", + "flatPath": "projects/{project}/aggregated/networkEdgeSecurityServices", "httpMethod": "GET", - "id": "compute.networkEndpointGroups.aggregatedList", + "id": "compute.networkEdgeSecurityServices.aggregatedList", "parameterOrder": [ "project" ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -13815,7 +15335,269 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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.", + "location": "query", + "type": "boolean" + } + }, + "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.", + "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. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", + "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" }, @@ -13849,6 +15631,7 @@ }, "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": [ @@ -13871,7 +15654,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -13896,6 +15679,7 @@ }, "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": [ @@ -13918,7 +15702,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -13940,6 +15724,7 @@ }, "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": [ @@ -13962,7 +15747,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -13987,6 +15772,7 @@ }, "get": { "description": "Returns the specified network endpoint group. Gets a list of available network endpoint groups by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", "httpMethod": "GET", "id": "compute.networkEndpointGroups.get", "parameterOrder": [ @@ -14027,6 +15813,7 @@ }, "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": [ @@ -14042,7 +15829,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -14067,6 +15854,7 @@ }, "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": [ @@ -14075,7 +15863,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -14088,7 +15876,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -14128,6 +15916,7 @@ }, "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": [ @@ -14137,7 +15926,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -14156,7 +15945,7 @@ "type": "string" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -14199,6 +15988,7 @@ }, "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": [ @@ -14248,6 +16038,7 @@ "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": [ @@ -14275,7 +16066,7 @@ "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14294,6 +16085,7 @@ }, "addRule": { "description": "Inserts a rule into a firewall policy.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addRule", "httpMethod": "POST", "id": "compute.networkFirewallPolicies.addRule", "parameterOrder": [ @@ -14308,6 +16100,18 @@ "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", @@ -14316,7 +16120,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14335,6 +16139,7 @@ }, "cloneRules": { "description": "Copies rules to the specified firewall policy.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/cloneRules", "httpMethod": "POST", "id": "compute.networkFirewallPolicies.cloneRules", "parameterOrder": [ @@ -14357,7 +16162,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -14378,6 +16183,7 @@ }, "delete": { "description": "Deletes the specified policy.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}", "httpMethod": "DELETE", "id": "compute.networkFirewallPolicies.delete", "parameterOrder": [ @@ -14400,7 +16206,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14416,6 +16222,7 @@ }, "get": { "description": "Returns the specified network firewall policy.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}", "httpMethod": "GET", "id": "compute.networkFirewallPolicies.get", "parameterOrder": [ @@ -14450,6 +16257,7 @@ }, "getAssociation": { "description": "Gets an association with the specified name.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getAssociation", "httpMethod": "GET", "id": "compute.networkFirewallPolicies.getAssociation", "parameterOrder": [ @@ -14489,6 +16297,7 @@ }, "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": [ @@ -14529,6 +16338,7 @@ }, "getRule": { "description": "Gets a rule of the specified priority.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getRule", "httpMethod": "GET", "id": "compute.networkFirewallPolicies.getRule", "parameterOrder": [ @@ -14569,6 +16379,7 @@ }, "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": [ @@ -14583,7 +16394,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14602,6 +16413,7 @@ }, "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": [ @@ -14609,7 +16421,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -14622,7 +16434,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -14656,6 +16468,7 @@ }, "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": [ @@ -14678,7 +16491,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14697,6 +16510,7 @@ }, "patchRule": { "description": "Patches a rule of the specified priority.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchRule", "httpMethod": "POST", "id": "compute.networkFirewallPolicies.patchRule", "parameterOrder": [ @@ -14725,7 +16539,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14744,6 +16558,7 @@ }, "removeAssociation": { "description": "Removes an association for the specified firewall policy.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeAssociation", "httpMethod": "POST", "id": "compute.networkFirewallPolicies.removeAssociation", "parameterOrder": [ @@ -14771,7 +16586,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14787,6 +16602,7 @@ }, "removeRule": { "description": "Deletes a rule of the specified priority.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeRule", "httpMethod": "POST", "id": "compute.networkFirewallPolicies.removeRule", "parameterOrder": [ @@ -14815,7 +16631,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14831,6 +16647,7 @@ }, "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": [ @@ -14867,6 +16684,7 @@ }, "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": [ @@ -14908,6 +16726,7 @@ "methods": { "addPeering": { "description": "Adds a peering to the specified network.", + "flatPath": "projects/{project}/global/networks/{network}/addPeering", "httpMethod": "POST", "id": "compute.networks.addPeering", "parameterOrder": [ @@ -14930,7 +16749,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14949,6 +16768,7 @@ }, "delete": { "description": "Deletes the specified network.", + "flatPath": "projects/{project}/global/networks/{network}", "httpMethod": "DELETE", "id": "compute.networks.delete", "parameterOrder": [ @@ -14971,7 +16791,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14987,6 +16807,7 @@ }, "get": { "description": "Returns the specified network. Gets a list of available networks by making a list() request.", + "flatPath": "projects/{project}/global/networks/{network}", "httpMethod": "GET", "id": "compute.networks.get", "parameterOrder": [ @@ -15021,6 +16842,7 @@ }, "getEffectiveFirewalls": { "description": "Returns the effective firewalls on a given network.", + "flatPath": "projects/{project}/global/networks/{network}/getEffectiveFirewalls", "httpMethod": "GET", "id": "compute.networks.getEffectiveFirewalls", "parameterOrder": [ @@ -15055,6 +16877,7 @@ }, "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": [ @@ -15069,7 +16892,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -15088,6 +16911,7 @@ }, "list": { "description": "Retrieves the list of networks available to the specified project.", + "flatPath": "projects/{project}/global/networks", "httpMethod": "GET", "id": "compute.networks.list", "parameterOrder": [ @@ -15095,7 +16919,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -15108,7 +16932,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -15142,6 +16966,7 @@ }, "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": [ @@ -15150,7 +16975,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -15170,7 +16995,7 @@ "type": "string" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -15209,6 +17034,7 @@ }, "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": [ @@ -15217,7 +17043,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -15242,7 +17068,7 @@ "type": "string" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -15298,6 +17124,7 @@ }, "listPeeringRoutes": { "description": "Lists the peering routes exchanged over peering connection.", + "flatPath": "projects/{project}/global/networks/{network}/listPeeringRoutes", "httpMethod": "GET", "id": "compute.networks.listPeeringRoutes", "parameterOrder": [ @@ -15312,14 +17139,14 @@ "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. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -15339,7 +17166,7 @@ "type": "string" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -15383,6 +17210,7 @@ }, "patch": { "description": "Patches the specified network with the data included in the request. Only the following fields can be modified: routingConfig.routingMode.", + "flatPath": "projects/{project}/global/networks/{network}", "httpMethod": "PATCH", "id": "compute.networks.patch", "parameterOrder": [ @@ -15405,7 +17233,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -15424,6 +17252,7 @@ }, "removePeering": { "description": "Removes a peering from the specified network.", + "flatPath": "projects/{project}/global/networks/{network}/removePeering", "httpMethod": "POST", "id": "compute.networks.removePeering", "parameterOrder": [ @@ -15446,7 +17275,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -15465,6 +17294,7 @@ }, "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": [ @@ -15487,7 +17317,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -15503,6 +17333,7 @@ }, "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": [ @@ -15539,7 +17370,8 @@ ] }, "updatePeering": { - "description": "Updates the specified network peering with the data included in the request Only the following fields can be modified: NetworkPeering.export_custom_routes, and NetworkPeering.import_custom_routes", + "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": [ @@ -15562,7 +17394,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -15585,6 +17417,7 @@ "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": [ @@ -15608,7 +17441,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -15634,6 +17467,7 @@ }, "aggregatedList": { "description": "Retrieves an aggregated list of node groups. Note: use nodeGroups.listNodes for more details about each group.", + "flatPath": "projects/{project}/aggregated/nodeGroups", "httpMethod": "GET", "id": "compute.nodeGroups.aggregatedList", "parameterOrder": [ @@ -15641,7 +17475,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -15659,7 +17493,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -15693,6 +17527,7 @@ }, "delete": { "description": "Deletes the specified NodeGroup resource.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", "httpMethod": "DELETE", "id": "compute.nodeGroups.delete", "parameterOrder": [ @@ -15716,7 +17551,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -15739,6 +17574,7 @@ }, "deleteNodes": { "description": "Deletes specified nodes from the node group.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes", "httpMethod": "POST", "id": "compute.nodeGroups.deleteNodes", "parameterOrder": [ @@ -15762,7 +17598,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -15788,6 +17624,7 @@ }, "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": [ @@ -15830,6 +17667,7 @@ }, "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": [ @@ -15878,6 +17716,7 @@ }, "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": [ @@ -15901,7 +17740,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -15927,6 +17766,7 @@ }, "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": [ @@ -15935,7 +17775,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -15948,7 +17788,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -15989,6 +17829,7 @@ }, "listNodes": { "description": "Lists nodes in the node group.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes", "httpMethod": "POST", "id": "compute.nodeGroups.listNodes", "parameterOrder": [ @@ -15998,7 +17839,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -16018,7 +17859,7 @@ "type": "string" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -16059,6 +17900,7 @@ }, "patch": { "description": "Updates the specified node group.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", "httpMethod": "PATCH", "id": "compute.nodeGroups.patch", "parameterOrder": [ @@ -16082,7 +17924,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -16108,6 +17950,7 @@ }, "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": [ @@ -16152,6 +17995,7 @@ }, "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": [ @@ -16175,7 +18019,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -16201,6 +18045,7 @@ }, "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": [ @@ -16250,6 +18095,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of node templates.", + "flatPath": "projects/{project}/aggregated/nodeTemplates", "httpMethod": "GET", "id": "compute.nodeTemplates.aggregatedList", "parameterOrder": [ @@ -16257,7 +18103,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -16275,7 +18121,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -16309,6 +18155,7 @@ }, "delete": { "description": "Deletes the specified NodeTemplate resource.", + "flatPath": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", "httpMethod": "DELETE", "id": "compute.nodeTemplates.delete", "parameterOrder": [ @@ -16339,7 +18186,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16355,6 +18202,7 @@ }, "get": { "description": "Returns the specified node template. Gets a list of available node templates by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", "httpMethod": "GET", "id": "compute.nodeTemplates.get", "parameterOrder": [ @@ -16397,6 +18245,7 @@ }, "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": [ @@ -16445,6 +18294,7 @@ }, "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": [ @@ -16467,7 +18317,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16486,6 +18336,7 @@ }, "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": [ @@ -16494,7 +18345,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -16507,7 +18358,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -16548,6 +18399,7 @@ }, "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": [ @@ -16592,6 +18444,7 @@ }, "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": [ @@ -16641,6 +18494,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of node types.", + "flatPath": "projects/{project}/aggregated/nodeTypes", "httpMethod": "GET", "id": "compute.nodeTypes.aggregatedList", "parameterOrder": [ @@ -16648,7 +18502,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -16666,7 +18520,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -16700,6 +18554,7 @@ }, "get": { "description": "Returns the specified node type. Gets a list of available node types by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/nodeTypes/{nodeType}", "httpMethod": "GET", "id": "compute.nodeTypes.get", "parameterOrder": [ @@ -16742,6 +18597,7 @@ }, "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": [ @@ -16750,7 +18606,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -16763,7 +18619,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -16808,6 +18664,7 @@ "methods": { "addAssociation": { "description": "Inserts an association for the specified security policy.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/addAssociation", "httpMethod": "POST", "id": "compute.organizationSecurityPolicies.addAssociation", "parameterOrder": [ @@ -16820,7 +18677,7 @@ "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -16846,6 +18703,7 @@ }, "addRule": { "description": "Inserts a rule into a security policy.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/addRule", "httpMethod": "POST", "id": "compute.organizationSecurityPolicies.addRule", "parameterOrder": [ @@ -16853,7 +18711,7 @@ ], "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -16879,6 +18737,7 @@ }, "copyRules": { "description": "Copies rules to the specified security policy.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/copyRules", "httpMethod": "POST", "id": "compute.organizationSecurityPolicies.copyRules", "parameterOrder": [ @@ -16886,7 +18745,7 @@ ], "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -16914,6 +18773,7 @@ }, "delete": { "description": "Deletes the specified policy.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}", "httpMethod": "DELETE", "id": "compute.organizationSecurityPolicies.delete", "parameterOrder": [ @@ -16921,7 +18781,7 @@ ], "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -16944,6 +18804,7 @@ }, "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": [ @@ -16970,6 +18831,7 @@ }, "getAssociation": { "description": "Gets an association with the specified name.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/getAssociation", "httpMethod": "GET", "id": "compute.organizationSecurityPolicies.getAssociation", "parameterOrder": [ @@ -17001,6 +18863,7 @@ }, "getRule": { "description": "Gets a rule at the specified priority.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/getRule", "httpMethod": "GET", "id": "compute.organizationSecurityPolicies.getRule", "parameterOrder": [ @@ -17033,6 +18896,7 @@ }, "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": { @@ -17042,7 +18906,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17061,11 +18925,12 @@ }, "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. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -17078,7 +18943,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -17110,6 +18975,7 @@ }, "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": { @@ -17125,11 +18991,13 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "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": [ @@ -17142,7 +19010,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -17165,6 +19033,7 @@ }, "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": [ @@ -17172,7 +19041,7 @@ ], "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -17198,6 +19067,7 @@ }, "patchRule": { "description": "Patches a rule at the specified priority.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/patchRule", "httpMethod": "POST", "id": "compute.organizationSecurityPolicies.patchRule", "parameterOrder": [ @@ -17211,7 +19081,7 @@ "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -17237,6 +19107,7 @@ }, "removeAssociation": { "description": "Removes an association for the specified security policy.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/removeAssociation", "httpMethod": "POST", "id": "compute.organizationSecurityPolicies.removeAssociation", "parameterOrder": [ @@ -17249,7 +19120,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -17272,6 +19143,7 @@ }, "removeRule": { "description": "Deletes a rule at the specified priority.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/removeRule", "httpMethod": "POST", "id": "compute.organizationSecurityPolicies.removeRule", "parameterOrder": [ @@ -17285,7 +19157,7 @@ "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -17312,6 +19184,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of packetMirrorings.", + "flatPath": "projects/{project}/aggregated/packetMirrorings", "httpMethod": "GET", "id": "compute.packetMirrorings.aggregatedList", "parameterOrder": [ @@ -17319,7 +19192,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -17337,7 +19210,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -17371,6 +19244,7 @@ }, "delete": { "description": "Deletes the specified PacketMirroring resource.", + "flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", "httpMethod": "DELETE", "id": "compute.packetMirrorings.delete", "parameterOrder": [ @@ -17401,7 +19275,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17417,6 +19291,7 @@ }, "get": { "description": "Returns the specified PacketMirroring resource.", + "flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", "httpMethod": "GET", "id": "compute.packetMirrorings.get", "parameterOrder": [ @@ -17459,6 +19334,7 @@ }, "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": [ @@ -17481,7 +19357,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17500,6 +19376,7 @@ }, "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": [ @@ -17508,7 +19385,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -17521,7 +19398,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -17562,6 +19439,7 @@ }, "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": [ @@ -17592,7 +19470,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17611,6 +19489,7 @@ }, "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": [ @@ -17660,6 +19539,7 @@ "methods": { "disableXpnHost": { "description": "Disable this project as a shared VPC host project.", + "flatPath": "projects/{project}/disableXpnHost", "httpMethod": "POST", "id": "compute.projects.disableXpnHost", "parameterOrder": [ @@ -17674,7 +19554,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17690,6 +19570,7 @@ }, "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": [ @@ -17704,7 +19585,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17723,6 +19604,7 @@ }, "enableXpnHost": { "description": "Enable this project as a shared VPC host project.", + "flatPath": "projects/{project}/enableXpnHost", "httpMethod": "POST", "id": "compute.projects.enableXpnHost", "parameterOrder": [ @@ -17737,7 +19619,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17753,6 +19635,7 @@ }, "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": [ @@ -17767,7 +19650,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17785,7 +19668,8 @@ ] }, "get": { - "description": "Returns the specified Project resource.", + "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": [ @@ -17812,6 +19696,7 @@ }, "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": [ @@ -17837,6 +19722,7 @@ }, "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": [ @@ -17844,7 +19730,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -17857,7 +19743,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -17890,6 +19776,7 @@ }, "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": [ @@ -17897,7 +19784,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -17910,7 +19797,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -17946,6 +19833,7 @@ }, "moveDisk": { "description": "Moves a persistent disk from one zone to another.", + "flatPath": "projects/{project}/moveDisk", "httpMethod": "POST", "id": "compute.projects.moveDisk", "parameterOrder": [ @@ -17960,7 +19848,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17978,7 +19866,8 @@ ] }, "moveInstance": { - "description": "Moves an instance and its attached persistent disks from one zone to another.", + "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).", + "flatPath": "projects/{project}/moveInstance", "httpMethod": "POST", "id": "compute.projects.moveInstance", "parameterOrder": [ @@ -17993,7 +19882,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18012,6 +19901,7 @@ }, "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": [ @@ -18026,7 +19916,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18045,6 +19935,7 @@ }, "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": [ @@ -18059,7 +19950,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18078,6 +19969,7 @@ }, "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": [ @@ -18092,7 +19984,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18111,6 +20003,7 @@ }, "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": [ @@ -18125,7 +20018,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18151,6 +20044,7 @@ "methods": { "delete": { "description": "Deletes the specified PublicAdvertisedPrefix", + "flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", "httpMethod": "DELETE", "id": "compute.publicAdvertisedPrefixes.delete", "parameterOrder": [ @@ -18173,7 +20067,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18189,6 +20083,7 @@ }, "get": { "description": "Returns the specified PublicAdvertisedPrefix resource.", + "flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", "httpMethod": "GET", "id": "compute.publicAdvertisedPrefixes.get", "parameterOrder": [ @@ -18223,6 +20118,7 @@ }, "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": [ @@ -18237,7 +20133,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18256,6 +20152,7 @@ }, "list": { "description": "Lists the PublicAdvertisedPrefixes for a project.", + "flatPath": "projects/{project}/global/publicAdvertisedPrefixes", "httpMethod": "GET", "id": "compute.publicAdvertisedPrefixes.list", "parameterOrder": [ @@ -18263,7 +20160,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -18276,7 +20173,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -18310,6 +20207,7 @@ }, "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": [ @@ -18332,7 +20230,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18355,6 +20253,7 @@ "methods": { "aggregatedList": { "description": "Lists all PublicDelegatedPrefix resources owned by the specific project across all scopes.", + "flatPath": "projects/{project}/aggregated/publicDelegatedPrefixes", "httpMethod": "GET", "id": "compute.publicDelegatedPrefixes.aggregatedList", "parameterOrder": [ @@ -18362,7 +20261,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -18380,7 +20279,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -18414,6 +20313,7 @@ }, "delete": { "description": "Deletes the specified PublicDelegatedPrefix in the given region.", + "flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", "httpMethod": "DELETE", "id": "compute.publicDelegatedPrefixes.delete", "parameterOrder": [ @@ -18444,7 +20344,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18460,6 +20360,7 @@ }, "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": [ @@ -18502,6 +20403,7 @@ }, "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": [ @@ -18524,7 +20426,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18543,6 +20445,7 @@ }, "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": [ @@ -18551,7 +20454,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -18564,7 +20467,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -18605,6 +20508,7 @@ }, "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": [ @@ -18635,7 +20539,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18658,6 +20562,7 @@ "methods": { "delete": { "description": "Deletes the specified autoscaler.", + "flatPath": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", "httpMethod": "DELETE", "id": "compute.regionAutoscalers.delete", "parameterOrder": [ @@ -18688,7 +20593,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18704,6 +20609,7 @@ }, "get": { "description": "Returns the specified autoscaler.", + "flatPath": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", "httpMethod": "GET", "id": "compute.regionAutoscalers.get", "parameterOrder": [ @@ -18746,6 +20652,7 @@ }, "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": [ @@ -18768,7 +20675,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18787,6 +20694,7 @@ }, "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": [ @@ -18795,7 +20703,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -18808,7 +20716,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -18849,6 +20757,7 @@ }, "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": [ @@ -18877,7 +20786,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18896,6 +20805,7 @@ }, "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": [ @@ -18941,6 +20851,7 @@ }, "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": [ @@ -18969,7 +20880,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18992,6 +20903,7 @@ "methods": { "delete": { "description": "Deletes the specified regional BackendService resource.", + "flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", "httpMethod": "DELETE", "id": "compute.regionBackendServices.delete", "parameterOrder": [ @@ -19022,7 +20934,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -19038,6 +20950,7 @@ }, "get": { "description": "Returns the specified regional BackendService resource.", + "flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", "httpMethod": "GET", "id": "compute.regionBackendServices.get", "parameterOrder": [ @@ -19080,6 +20993,7 @@ }, "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": [ @@ -19122,8 +21036,58 @@ "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.", + "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": [ @@ -19146,7 +21110,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -19165,6 +21129,7 @@ }, "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": [ @@ -19173,7 +21138,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -19186,7 +21151,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -19226,7 +21191,8 @@ ] }, "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.", + "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": [ @@ -19257,7 +21223,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -19274,8 +21240,54 @@ "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" + ] + }, "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": [ @@ -19320,7 +21332,8 @@ ] }, "update": { - "description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Backend services overview.", + "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": [ @@ -19351,7 +21364,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -19373,7 +21386,8 @@ "regionCommitments": { "methods": { "aggregatedList": { - "description": "Retrieves an aggregated list of commitments.", + "description": "Retrieves an aggregated list of commitments by region.", + "flatPath": "projects/{project}/aggregated/commitments", "httpMethod": "GET", "id": "compute.regionCommitments.aggregatedList", "parameterOrder": [ @@ -19381,7 +21395,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -19399,7 +21413,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -19433,6 +21447,7 @@ }, "get": { "description": "Returns the specified commitment resource. Gets a list of available commitments by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/commitments/{commitment}", "httpMethod": "GET", "id": "compute.regionCommitments.get", "parameterOrder": [ @@ -19475,6 +21490,7 @@ }, "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": [ @@ -19497,7 +21513,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -19516,6 +21532,7 @@ }, "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": [ @@ -19524,7 +21541,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -19537,7 +21554,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -19578,6 +21595,7 @@ }, "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": [ @@ -19621,8 +21639,70 @@ "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": [ @@ -19653,7 +21733,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -19676,6 +21756,7 @@ "methods": { "get": { "description": "Returns the specified regional disk type. Gets a list of available disk types by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/diskTypes/{diskType}", "httpMethod": "GET", "id": "compute.regionDiskTypes.get", "parameterOrder": [ @@ -19718,6 +21799,7 @@ }, "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": [ @@ -19726,7 +21808,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -19739,7 +21821,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -19784,6 +21866,7 @@ "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": [ @@ -19814,7 +21897,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -19832,7 +21915,8 @@ ] }, "createSnapshot": { - "description": "Creates a snapshot of this regional disk.", + "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": [ @@ -19868,7 +21952,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -19887,6 +21971,7 @@ }, "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": [ @@ -19916,7 +22001,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -19932,6 +22017,7 @@ }, "get": { "description": "Returns a specified regional persistent disk.", + "flatPath": "projects/{project}/regions/{region}/disks/{disk}", "httpMethod": "GET", "id": "compute.regionDisks.get", "parameterOrder": [ @@ -19974,6 +22060,7 @@ }, "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": [ @@ -20022,6 +22109,7 @@ }, "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": [ @@ -20044,7 +22132,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -20068,6 +22156,7 @@ }, "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": [ @@ -20076,7 +22165,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -20089,7 +22178,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -20130,6 +22219,7 @@ }, "removeResourcePolicies": { "description": "Removes resource policies from a regional disk.", + "flatPath": "projects/{project}/regions/{region}/disks/{disk}/removeResourcePolicies", "httpMethod": "POST", "id": "compute.regionDisks.removeResourcePolicies", "parameterOrder": [ @@ -20160,7 +22250,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -20179,6 +22269,7 @@ }, "resize": { "description": "Resizes the specified regional persistent disk.", + "flatPath": "projects/{project}/regions/{region}/disks/{disk}/resize", "httpMethod": "POST", "id": "compute.regionDisks.resize", "parameterOrder": [ @@ -20209,7 +22300,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -20228,6 +22319,7 @@ }, "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": [ @@ -20272,6 +22364,7 @@ }, "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": [ @@ -20295,7 +22388,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -20319,8 +22412,151 @@ "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", + "request": { + "$ref": "RegionDisksStopAsyncReplicationRequest" + }, + "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": "RegionDisksStopGroupAsyncReplicationRequest" + }, + "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": [ @@ -20363,6 +22599,67 @@ "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" + ] } } }, @@ -20370,6 +22667,7 @@ "methods": { "aggregatedList": { "description": "Retrieves the list of all HealthCheckService resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/healthCheckServices", "httpMethod": "GET", "id": "compute.regionHealthCheckServices.aggregatedList", "parameterOrder": [ @@ -20377,7 +22675,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -20395,7 +22693,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -20429,6 +22727,7 @@ }, "delete": { "description": "Deletes the specified regional HealthCheckService.", + "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", "httpMethod": "DELETE", "id": "compute.regionHealthCheckServices.delete", "parameterOrder": [ @@ -20458,7 +22757,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -20474,6 +22773,7 @@ }, "get": { "description": "Returns the specified regional HealthCheckService resource.", + "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", "httpMethod": "GET", "id": "compute.regionHealthCheckServices.get", "parameterOrder": [ @@ -20515,6 +22815,7 @@ }, "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": [ @@ -20537,7 +22838,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -20556,6 +22857,7 @@ }, "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": [ @@ -20564,7 +22866,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -20577,7 +22879,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -20618,6 +22920,7 @@ }, "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": [ @@ -20647,7 +22950,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -20666,6 +22969,7 @@ }, "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": [ @@ -20715,6 +23019,7 @@ "methods": { "delete": { "description": "Deletes the specified HealthCheck resource.", + "flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", "httpMethod": "DELETE", "id": "compute.regionHealthChecks.delete", "parameterOrder": [ @@ -20745,7 +23050,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -20761,6 +23066,7 @@ }, "get": { "description": "Returns the specified HealthCheck resource. Gets a list of available health checks by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", "httpMethod": "GET", "id": "compute.regionHealthChecks.get", "parameterOrder": [ @@ -20803,6 +23109,7 @@ }, "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": [ @@ -20825,7 +23132,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -20844,6 +23151,7 @@ }, "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": [ @@ -20852,7 +23160,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -20865,7 +23173,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -20906,6 +23214,7 @@ }, "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": [ @@ -20936,7 +23245,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -20955,6 +23264,7 @@ }, "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": [ @@ -21000,6 +23310,7 @@ }, "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": [ @@ -21030,7 +23341,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -21049,391 +23360,11 @@ } } }, - "regionInPlaceSnapshots": { - "methods": { - "delete": { - "description": "Deletes the specified InPlaceSnapshot resource. Keep in mind that deleting a single inPlaceSnapshot might not necessarily delete all the data on that inPlaceSnapshot. If any data on the inPlaceSnapshot that is marked for deletion is needed for subsequent inPlaceSnapshots, the data will be moved to the next corresponding inPlaceSnapshot.\n\nFor more information, see Deleting inPlaceSnapshots.", - "httpMethod": "DELETE", - "id": "compute.regionInPlaceSnapshots.delete", - "parameterOrder": [ - "project", - "region", - "inPlaceSnapshot" - ], - "parameters": { - "inPlaceSnapshot": { - "description": "Name of the InPlaceSnapshot 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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID 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}/inPlaceSnapshots/{inPlaceSnapshot}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "get": { - "description": "Returns the specified InPlaceSnapshot resource in the specified region.", - "httpMethod": "GET", - "id": "compute.regionInPlaceSnapshots.get", - "parameterOrder": [ - "project", - "region", - "inPlaceSnapshot" - ], - "parameters": { - "inPlaceSnapshot": { - "description": "Name of the InPlaceSnapshot 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}/inPlaceSnapshots/{inPlaceSnapshot}", - "response": { - "$ref": "InPlaceSnapshot" - }, - "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.", - "httpMethod": "GET", - "id": "compute.regionInPlaceSnapshots.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}/inPlaceSnapshots/{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 in-place snapshot in the specified region.", - "httpMethod": "POST", - "id": "compute.regionInPlaceSnapshots.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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID 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}/inPlaceSnapshots", - "request": { - "$ref": "InPlaceSnapshot" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "list": { - "description": "Retrieves the list of InPlaceSnapshot resources contained within the specified region.", - "httpMethod": "GET", - "id": "compute.regionInPlaceSnapshots.list", - "parameterOrder": [ - "project", - "region" - ], - "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", - "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.\n\nYou 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.\n\nCurrently, 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.", - "location": "query", - "type": "boolean" - } - }, - "path": "projects/{project}/regions/{region}/inPlaceSnapshots", - "response": { - "$ref": "InPlaceSnapshotList" - }, - "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.", - "httpMethod": "POST", - "id": "compute.regionInPlaceSnapshots.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}/inPlaceSnapshots/{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 inPlaceSnapshot in the given region. To learn more about labels, read the Labeling Resources documentation.", - "httpMethod": "POST", - "id": "compute.regionInPlaceSnapshots.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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request 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}/inPlaceSnapshots/{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.", - "httpMethod": "POST", - "id": "compute.regionInPlaceSnapshots.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}/inPlaceSnapshots/{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" - ] - } - } - }, "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.\n\nIf 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.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -21462,7 +23393,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -21481,6 +23412,7 @@ }, "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": [ @@ -21523,6 +23455,7 @@ }, "createInstances": { "description": "Creates instances with per-instance configs 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": [ @@ -21551,7 +23484,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same 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" } @@ -21570,6 +23503,7 @@ }, "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": [ @@ -21598,7 +23532,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -21613,7 +23547,8 @@ ] }, "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.\n\nIf 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.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -21642,7 +23577,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -21661,6 +23596,7 @@ }, "deletePerInstanceConfigs": { "description": "Deletes selected per-instance configs for the managed instance group.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", "httpMethod": "POST", "id": "compute.regionInstanceGroupManagers.deletePerInstanceConfigs", "parameterOrder": [ @@ -21703,6 +23639,7 @@ }, "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": [ @@ -21742,7 +23679,8 @@ ] }, "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.\n\nA regional managed instance group can contain up to 2000 instances.", + "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": [ @@ -21764,7 +23702,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -21783,6 +23721,7 @@ }, "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": [ @@ -21791,7 +23730,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -21804,7 +23743,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -21844,6 +23783,7 @@ }, "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": [ @@ -21853,12 +23793,12 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "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-9]{0,19}.", + "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" @@ -21872,7 +23812,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -21912,6 +23852,7 @@ }, "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.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", "httpMethod": "POST", "id": "compute.regionInstanceGroupManagers.listManagedInstances", "parameterOrder": [ @@ -21921,7 +23862,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -21940,7 +23881,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -21980,6 +23921,7 @@ }, "listPerInstanceConfigs": { "description": "Lists all of the per-instance configs 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": [ @@ -21989,7 +23931,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -22008,7 +23950,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -22047,7 +23989,8 @@ ] }, "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.", + "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": [ @@ -22076,7 +24019,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -22095,6 +24038,7 @@ }, "patchPerInstanceConfigs": { "description": "Inserts or patches per-instance configs 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": [ @@ -22123,7 +24067,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -22141,7 +24085,8 @@ ] }, "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.\n\nIf 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.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -22170,7 +24115,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -22188,7 +24133,8 @@ ] }, "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.\n\nThe 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.\n\nIf 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.", + "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": [ @@ -22218,7 +24164,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -22241,7 +24187,8 @@ ] }, "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.\n\nIf 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.\n\nThe 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.\n\nIf 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.", + "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": [ @@ -22270,7 +24217,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -22288,7 +24235,8 @@ ] }, "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.\n\nIn 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.\n\nIf a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are resumed.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -22317,7 +24265,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -22336,6 +24284,7 @@ }, "setAutoHealingPolicies": { "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": [ @@ -22364,7 +24313,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -22383,6 +24332,7 @@ }, "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": [ @@ -22411,7 +24361,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -22430,6 +24380,7 @@ }, "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": [ @@ -22458,7 +24409,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -22476,7 +24427,8 @@ ] }, "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.\n\nIn 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.\n\nIf a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are started.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -22505,7 +24457,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -22523,7 +24475,8 @@ ] }, "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.\n\nIf the instanceLifecyclePolicy.metadataBasedReadinessSignal field is set on the Instance Group Manager, each instance will be initialized before it is stopped, to give user programs time to perform necessary tasks. To initialize an instance, the Instance Group Manager sets the metadata key google-compute-initialization-intent to value INITIALIZE_AND_STOP on the instance, and waits for the user program to signal it is ready. This is done by setting the guest attribute path google-compute/initialization-state to value INITIALIZED. If the instance does not signal successful initialization (does not set the guest attribute to INITIALIZED) before timeout, the initialization is considered failed and the instance is not stopped.\n\nIf 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.\n\nStopped instances can be started using the startInstances method.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -22552,7 +24505,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -22570,7 +24523,8 @@ ] }, "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.\n\nIf the instanceLifecyclePolicy.metadataBasedReadinessSignal field is set on the Instance Group Manager, each instance will be initialized before it is suspended, to give user programs time to perform necessary tasks. To initialize an instance, the Instance Group Manager sets the metadata key google-compute-initialization-intent to value INITIALIZE_AND_SUSPEND on the instance, and waits for the user program to signal it is ready. This is done by setting the guest attribute path google-compute/initialization-state to value INITIALIZED. If the instance does not signal successful initialization (does not set the guest attribute to INITIALIZED) before timeout, the initialization is considered failed and the instance is not suspended.\n\nIf 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.\n\nSuspended instances can be resumed using the resumeInstances method.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -22599,7 +24553,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -22618,6 +24572,7 @@ }, "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": [ @@ -22662,7 +24617,8 @@ ] }, "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.", + "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": [ @@ -22691,7 +24647,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -22710,6 +24666,7 @@ }, "updatePerInstanceConfigs": { "description": "Inserts or updates per-instance configs 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": [ @@ -22738,7 +24695,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -22761,6 +24718,7 @@ "methods": { "get": { "description": "Returns the specified instance group resource.", + "flatPath": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}", "httpMethod": "GET", "id": "compute.regionInstanceGroups.get", "parameterOrder": [ @@ -22801,6 +24759,7 @@ }, "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": [ @@ -22809,7 +24768,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -22822,7 +24781,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -22862,6 +24821,7 @@ }, "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": [ @@ -22871,7 +24831,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -22890,7 +24850,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -22933,6 +24893,7 @@ }, "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": [ @@ -22961,7 +24922,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -22980,6 +24941,7 @@ }, "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": [ @@ -23029,6 +24991,7 @@ "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": [ @@ -23051,7 +25014,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -23073,7 +25036,8 @@ "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.\n\nFor more information, see Deleting instantSnapshots.", + "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": [ @@ -23104,7 +25068,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -23119,7 +25083,8 @@ ] }, "export": { - "description": "Export the changed blocks between two instant snapshots to a customer?s bucket in the user specified format.", + "description": "Export the changed blocks between two instant snapshots to a customer's bucket in the user specified format.", + "flatPath": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}/export", "httpMethod": "POST", "id": "compute.regionInstantSnapshots.export", "parameterOrder": [ @@ -23150,7 +25115,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -23169,6 +25134,7 @@ }, "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": [ @@ -23211,6 +25177,7 @@ }, "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": [ @@ -23259,6 +25226,7 @@ }, "insert": { "description": "Creates an instant snapshot in the specified region.", + "flatPath": "projects/{project}/regions/{region}/instantSnapshots", "httpMethod": "POST", "id": "compute.regionInstantSnapshots.insert", "parameterOrder": [ @@ -23281,7 +25249,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -23300,6 +25268,7 @@ }, "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": [ @@ -23308,7 +25277,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -23321,7 +25290,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -23362,6 +25331,7 @@ }, "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": [ @@ -23406,6 +25376,7 @@ }, "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": [ @@ -23429,7 +25400,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -23455,6 +25426,7 @@ }, "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": [ @@ -23504,6 +25476,7 @@ "methods": { "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": [ @@ -23532,7 +25505,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -23548,6 +25521,7 @@ }, "get": { "description": "Returns the specified network endpoint group. Gets a list of available network endpoint groups by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", "httpMethod": "GET", "id": "compute.regionNetworkEndpointGroups.get", "parameterOrder": [ @@ -23588,6 +25562,7 @@ }, "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": [ @@ -23609,7 +25584,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -23628,6 +25603,7 @@ }, "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": [ @@ -23636,7 +25612,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -23649,7 +25625,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -23693,6 +25669,7 @@ "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": [ @@ -23728,7 +25705,7 @@ "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -23747,6 +25724,7 @@ }, "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": [ @@ -23762,6 +25740,18 @@ "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", @@ -23777,7 +25767,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -23796,6 +25786,7 @@ }, "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": [ @@ -23826,7 +25817,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -23847,6 +25838,7 @@ }, "delete": { "description": "Deletes the specified network firewall policy.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", "httpMethod": "DELETE", "id": "compute.regionNetworkFirewallPolicies.delete", "parameterOrder": [ @@ -23877,7 +25869,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -23893,6 +25885,7 @@ }, "get": { "description": "Returns the specified network firewall policy.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", "httpMethod": "GET", "id": "compute.regionNetworkFirewallPolicies.get", "parameterOrder": [ @@ -23935,6 +25928,7 @@ }, "getAssociation": { "description": "Gets an association with the specified name.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getAssociation", "httpMethod": "GET", "id": "compute.regionNetworkFirewallPolicies.getAssociation", "parameterOrder": [ @@ -23980,8 +25974,51 @@ "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": [ @@ -24030,6 +26067,7 @@ }, "getRule": { "description": "Gets a rule of the specified priority.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getRule", "httpMethod": "GET", "id": "compute.regionNetworkFirewallPolicies.getRule", "parameterOrder": [ @@ -24078,6 +26116,7 @@ }, "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": [ @@ -24100,7 +26139,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -24119,6 +26158,7 @@ }, "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": [ @@ -24127,7 +26167,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -24140,7 +26180,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -24181,6 +26221,7 @@ }, "patch": { "description": "Patches the specified network firewall policy.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", "httpMethod": "PATCH", "id": "compute.regionNetworkFirewallPolicies.patch", "parameterOrder": [ @@ -24211,7 +26252,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -24230,6 +26271,7 @@ }, "patchRule": { "description": "Patches a rule of the specified priority.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchRule", "httpMethod": "POST", "id": "compute.regionNetworkFirewallPolicies.patchRule", "parameterOrder": [ @@ -24266,7 +26308,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -24285,6 +26327,7 @@ }, "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": [ @@ -24320,7 +26363,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -24336,6 +26379,7 @@ }, "removeRule": { "description": "Deletes a rule of the specified priority.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeRule", "httpMethod": "POST", "id": "compute.regionNetworkFirewallPolicies.removeRule", "parameterOrder": [ @@ -24372,7 +26416,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -24388,6 +26432,7 @@ }, "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": [ @@ -24432,6 +26477,7 @@ }, "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": [ @@ -24477,10 +26523,350 @@ } } }, + "regionNetworks": { + "methods": { + "delete": { + "description": "Deletes the specified network.", + "flatPath": "projects/{project}/regions/{region}/networks/{network}", + "httpMethod": "DELETE", + "id": "compute.regionNetworks.delete", + "parameterOrder": [ + "project", + "region", + "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" + }, + "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}/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}/regions/{region}/networks/{network}", + "httpMethod": "GET", + "id": "compute.regionNetworks.get", + "parameterOrder": [ + "project", + "region", + "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" + }, + "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}/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" + ] + }, + "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}/networks/{resource}/getIamPolicy", + "httpMethod": "GET", + "id": "compute.regionNetworks.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}/networks/{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 network in the specified project and region using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/networks", + "httpMethod": "POST", + "id": "compute.regionNetworks.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}/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 in the given region.", + "flatPath": "projects/{project}/regions/{region}/networks", + "httpMethod": "GET", + "id": "compute.regionNetworks.list", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", + "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.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/regions/{region}/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" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/regions/{region}/networks/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.regionNetworks.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}/networks/{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}/networks/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.regionNetworks.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}/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" + ] + } + } + }, "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": [ @@ -24488,7 +26874,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -24506,7 +26892,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -24540,6 +26926,7 @@ }, "delete": { "description": "Deletes the specified NotificationEndpoint in the given region", + "flatPath": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", "httpMethod": "DELETE", "id": "compute.regionNotificationEndpoints.delete", "parameterOrder": [ @@ -24570,7 +26957,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -24586,6 +26973,7 @@ }, "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": [ @@ -24628,6 +27016,7 @@ }, "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": [ @@ -24650,7 +27039,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -24669,6 +27058,7 @@ }, "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": [ @@ -24677,7 +27067,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -24690,7 +27080,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -24731,6 +27121,7 @@ }, "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": [ @@ -24780,6 +27171,7 @@ "methods": { "delete": { "description": "Deletes the specified region-specific Operations resource.", + "flatPath": "projects/{project}/regions/{region}/operations/{operation}", "httpMethod": "DELETE", "id": "compute.regionOperations.delete", "parameterOrder": [ @@ -24818,6 +27210,7 @@ }, "get": { "description": "Retrieves the specified region-specific Operations resource.", + "flatPath": "projects/{project}/regions/{region}/operations/{operation}", "httpMethod": "GET", "id": "compute.regionOperations.get", "parameterOrder": [ @@ -24860,6 +27253,7 @@ }, "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": [ @@ -24868,7 +27262,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -24881,7 +27275,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -24921,7 +27315,8 @@ ] }, "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.\n\nThis method is called on a best-effort basis. Specifically: \n- In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. \n- 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`.", + "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": [ @@ -24964,10 +27359,265 @@ } } }, + "regionSecurityPolicies": { + "methods": { + "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" + ] + }, + "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. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", + "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.", + "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.", + "flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", + "httpMethod": "PATCH", + "id": "compute.regionSecurityPolicies.patch", + "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 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}", + "request": { + "$ref": "SecurityPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, "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": [ @@ -24991,7 +27641,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -25014,6 +27664,7 @@ }, "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": [ @@ -25056,6 +27707,7 @@ }, "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": [ @@ -25078,7 +27730,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -25097,6 +27749,7 @@ }, "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": [ @@ -25105,7 +27758,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -25118,7 +27771,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -25159,6 +27812,7 @@ }, "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": [ @@ -25204,10 +27858,366 @@ } } }, + "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. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", + "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.", + "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. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", + "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.", + "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": [ @@ -25231,7 +28241,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -25254,6 +28264,7 @@ }, "get": { "description": "Returns the specified TargetHttpProxy resource in the specified region. Gets a list of available target HTTP proxies by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", "httpMethod": "GET", "id": "compute.regionTargetHttpProxies.get", "parameterOrder": [ @@ -25296,6 +28307,7 @@ }, "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": [ @@ -25318,7 +28330,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -25337,6 +28349,7 @@ }, "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": [ @@ -25345,7 +28358,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -25358,7 +28371,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -25399,6 +28412,7 @@ }, "setUrlMap": { "description": "Changes the URL map for TargetHttpProxy.", + "flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}/setUrlMap", "httpMethod": "POST", "id": "compute.regionTargetHttpProxies.setUrlMap", "parameterOrder": [ @@ -25422,7 +28436,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -25448,6 +28462,7 @@ }, "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": [ @@ -25497,6 +28512,7 @@ "methods": { "delete": { "description": "Deletes the specified TargetHttpsProxy resource.", + "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", "httpMethod": "DELETE", "id": "compute.regionTargetHttpsProxies.delete", "parameterOrder": [ @@ -25520,7 +28536,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -25543,6 +28559,7 @@ }, "get": { "description": "Returns the specified TargetHttpsProxy resource in the specified region. Gets a list of available target HTTP proxies by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", "httpMethod": "GET", "id": "compute.regionTargetHttpsProxies.get", "parameterOrder": [ @@ -25585,6 +28602,7 @@ }, "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": [ @@ -25607,7 +28625,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -25626,6 +28644,7 @@ }, "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": [ @@ -25634,7 +28653,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -25647,7 +28666,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -25686,8 +28705,59 @@ "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": [ @@ -25711,7 +28781,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -25737,6 +28807,7 @@ }, "setUrlMap": { "description": "Changes the URL map for TargetHttpsProxy.", + "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", "httpMethod": "POST", "id": "compute.regionTargetHttpsProxies.setUrlMap", "parameterOrder": [ @@ -25760,7 +28831,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -25786,6 +28857,7 @@ }, "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": [ @@ -25831,10 +28903,256 @@ } } }, + "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. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", + "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.", + "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": [ @@ -25881,6 +29199,7 @@ }, "get": { "description": "Returns the specified UrlMap resource. Gets a list of available URL maps by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", "httpMethod": "GET", "id": "compute.regionUrlMaps.get", "parameterOrder": [ @@ -25923,6 +29242,7 @@ }, "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": [ @@ -25963,7 +29283,8 @@ ] }, "invalidateCache": { - "description": "Initiates a cache invalidation operation, invalidating the specified path, scoped to the specified UrlMap.\n\nFor more information, see [Invalidating cached content](/cdn/docs/invalidating-cached-content).", + "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": [ @@ -26013,6 +29334,7 @@ }, "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": [ @@ -26021,7 +29343,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -26034,7 +29356,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -26075,6 +29397,7 @@ }, "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": [ @@ -26124,6 +29447,7 @@ }, "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": [ @@ -26169,6 +29493,7 @@ }, "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": [ @@ -26218,6 +29543,7 @@ }, "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": [ @@ -26265,7 +29591,8 @@ "regions": { "methods": { "get": { - "description": "Returns the specified Region resource. Gets a list of available regions by making a list() request.", + "description": "Returns the specified Region resource. Gets a list of available regions by making a list() request. 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}/regions/{region}", "httpMethod": "GET", "id": "compute.regions.get", "parameterOrder": [ @@ -26299,7 +29626,8 @@ ] }, "list": { - "description": "Retrieves the list of region resources available to the specified project.", + "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.", + "flatPath": "projects/{project}/regions", "httpMethod": "GET", "id": "compute.regions.list", "parameterOrder": [ @@ -26307,7 +29635,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -26320,7 +29648,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -26358,6 +29686,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of reservations.", + "flatPath": "projects/{project}/aggregated/reservations", "httpMethod": "GET", "id": "compute.reservations.aggregatedList", "parameterOrder": [ @@ -26365,7 +29694,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -26383,7 +29712,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -26417,6 +29746,7 @@ }, "delete": { "description": "Deletes the specified reservation.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}", "httpMethod": "DELETE", "id": "compute.reservations.delete", "parameterOrder": [ @@ -26433,7 +29763,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -26463,6 +29793,7 @@ }, "get": { "description": "Retrieves information about the specified reservation.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}", "httpMethod": "GET", "id": "compute.reservations.get", "parameterOrder": [ @@ -26505,6 +29836,7 @@ }, "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": [ @@ -26553,6 +29885,7 @@ }, "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": [ @@ -26568,7 +29901,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -26594,6 +29927,7 @@ }, "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": [ @@ -26602,7 +29936,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -26615,7 +29949,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -26656,6 +29990,7 @@ }, "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": [ @@ -26672,7 +30007,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -26705,6 +30040,7 @@ }, "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": [ @@ -26749,6 +30085,7 @@ }, "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": [ @@ -26791,6 +30128,67 @@ "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" + ] } } }, @@ -26798,6 +30196,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of resource policies.", + "flatPath": "projects/{project}/aggregated/resourcePolicies", "httpMethod": "GET", "id": "compute.resourcePolicies.aggregatedList", "parameterOrder": [ @@ -26805,7 +30204,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -26823,7 +30222,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -26857,6 +30256,7 @@ }, "delete": { "description": "Deletes the specified resource policy.", + "flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", "httpMethod": "DELETE", "id": "compute.resourcePolicies.delete", "parameterOrder": [ @@ -26880,7 +30280,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -26903,6 +30303,7 @@ }, "get": { "description": "Retrieves all information of the specified resource policy.", + "flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", "httpMethod": "GET", "id": "compute.resourcePolicies.get", "parameterOrder": [ @@ -26945,6 +30346,7 @@ }, "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": [ @@ -26993,6 +30395,7 @@ }, "insert": { "description": "Creates a new resource policy.", + "flatPath": "projects/{project}/regions/{region}/resourcePolicies", "httpMethod": "POST", "id": "compute.resourcePolicies.insert", "parameterOrder": [ @@ -27015,7 +30418,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -27034,6 +30437,7 @@ }, "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": [ @@ -27042,7 +30446,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -27055,7 +30459,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -27096,6 +30500,7 @@ }, "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": [ @@ -27140,6 +30545,7 @@ }, "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": [ @@ -27189,6 +30595,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of routers.", + "flatPath": "projects/{project}/aggregated/routers", "httpMethod": "GET", "id": "compute.routers.aggregatedList", "parameterOrder": [ @@ -27196,7 +30603,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -27214,7 +30621,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -27248,6 +30655,7 @@ }, "delete": { "description": "Deletes the specified Router resource.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}", "httpMethod": "DELETE", "id": "compute.routers.delete", "parameterOrder": [ @@ -27271,7 +30679,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -27294,6 +30702,7 @@ }, "get": { "description": "Returns the specified Router resource. Gets a list of available routers by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}", "httpMethod": "GET", "id": "compute.routers.get", "parameterOrder": [ @@ -27336,6 +30745,7 @@ }, "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": [ @@ -27345,7 +30755,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -27363,7 +30773,7 @@ "type": "string" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -27411,6 +30821,7 @@ }, "getRouterStatus": { "description": "Retrieves runtime information of the specified router.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/getRouterStatus", "httpMethod": "GET", "id": "compute.routers.getRouterStatus", "parameterOrder": [ @@ -27453,6 +30864,7 @@ }, "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": [ @@ -27475,7 +30887,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -27494,6 +30906,7 @@ }, "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": [ @@ -27502,7 +30915,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -27515,7 +30928,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -27556,6 +30969,7 @@ }, "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": [ @@ -27579,7 +30993,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -27605,6 +31019,7 @@ }, "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": [ @@ -27650,6 +31065,7 @@ }, "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": [ @@ -27695,6 +31111,7 @@ }, "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": [ @@ -27718,7 +31135,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -27748,6 +31165,7 @@ "methods": { "delete": { "description": "Deletes the specified Route resource.", + "flatPath": "projects/{project}/global/routes/{route}", "httpMethod": "DELETE", "id": "compute.routes.delete", "parameterOrder": [ @@ -27763,7 +31181,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -27786,6 +31204,7 @@ }, "get": { "description": "Returns the specified Route resource. Gets a list of available routes by making a list() request.", + "flatPath": "projects/{project}/global/routes/{route}", "httpMethod": "GET", "id": "compute.routes.get", "parameterOrder": [ @@ -27820,6 +31239,7 @@ }, "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": [ @@ -27834,7 +31254,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -27853,6 +31273,7 @@ }, "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": [ @@ -27860,7 +31281,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -27873,7 +31294,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -27907,6 +31328,7 @@ }, "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": [ @@ -27948,6 +31370,7 @@ "methods": { "addRule": { "description": "Inserts a rule into a security policy.", + "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/addRule", "httpMethod": "POST", "id": "compute.securityPolicies.addRule", "parameterOrder": [ @@ -27987,8 +31410,69 @@ "https://www.googleapis.com/auth/compute" ] }, + "aggregatedList": { + "description": "Retrieves the list of all SecurityPolicy resources, regional and global, available to the specified project.", + "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. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", + "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.", + "location": "query", + "type": "boolean" + } + }, + "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": [ @@ -28004,7 +31488,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -28027,6 +31511,7 @@ }, "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": [ @@ -28061,6 +31546,7 @@ }, "getRule": { "description": "Gets a rule at the specified priority.", + "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/getRule", "httpMethod": "GET", "id": "compute.securityPolicies.getRule", "parameterOrder": [ @@ -28101,6 +31587,7 @@ }, "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": [ @@ -28115,7 +31602,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -28139,6 +31626,7 @@ }, "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": [ @@ -28146,7 +31634,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -28159,7 +31647,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -28193,6 +31681,7 @@ }, "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": [ @@ -28200,7 +31689,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -28213,7 +31702,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -28241,11 +31730,13 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "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. 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": [ @@ -28261,7 +31752,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -28287,6 +31778,7 @@ }, "patchRule": { "description": "Patches a rule at the specified priority.", + "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/patchRule", "httpMethod": "POST", "id": "compute.securityPolicies.patchRule", "parameterOrder": [ @@ -28334,6 +31826,7 @@ }, "removeRule": { "description": "Deletes a rule at the specified priority.", + "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/removeRule", "httpMethod": "POST", "id": "compute.securityPolicies.removeRule", "parameterOrder": [ @@ -28373,6 +31866,7 @@ }, "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": [ @@ -28409,6 +31903,7 @@ }, "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": [ @@ -28450,6 +31945,7 @@ "methods": { "aggregatedList": { "description": "Retrieves the list of all ServiceAttachment resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/serviceAttachments", "httpMethod": "GET", "id": "compute.serviceAttachments.aggregatedList", "parameterOrder": [ @@ -28457,7 +31953,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -28475,7 +31971,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -28509,6 +32005,7 @@ }, "delete": { "description": "Deletes the specified ServiceAttachment in the given scope", + "flatPath": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", "httpMethod": "DELETE", "id": "compute.serviceAttachments.delete", "parameterOrder": [ @@ -28532,7 +32029,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -28555,6 +32052,7 @@ }, "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": [ @@ -28597,6 +32095,7 @@ }, "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": [ @@ -28645,6 +32144,7 @@ }, "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": [ @@ -28667,7 +32167,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -28686,6 +32186,7 @@ }, "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": [ @@ -28694,7 +32195,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -28707,7 +32208,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -28746,8 +32247,57 @@ "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": [ @@ -28792,6 +32342,7 @@ }, "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": [ @@ -28840,7 +32391,8 @@ "snapshots": { "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.\n\nFor more information, see Deleting snapshots.", + "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": [ @@ -28856,7 +32408,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -28879,6 +32431,7 @@ }, "get": { "description": "Returns the specified Snapshot resource. Gets a list of available snapshots by making a list() request.", + "flatPath": "projects/{project}/global/snapshots/{snapshot}", "httpMethod": "GET", "id": "compute.snapshots.get", "parameterOrder": [ @@ -28913,6 +32466,7 @@ }, "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": [ @@ -28952,7 +32506,8 @@ ] }, "insert": { - "description": "Creates a snapshot in the specified project using the data included in the request.", + "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": [ @@ -28967,7 +32522,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -28986,6 +32541,7 @@ }, "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": [ @@ -28993,7 +32549,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -29006,7 +32562,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -29040,6 +32596,7 @@ }, "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": [ @@ -29076,6 +32633,7 @@ }, "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": [ @@ -29112,6 +32670,7 @@ }, "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": [ @@ -29153,6 +32712,7 @@ "methods": { "aggregatedList": { "description": "Retrieves the list of all SslCertificate resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/sslCertificates", "httpMethod": "GET", "id": "compute.sslCertificates.aggregatedList", "parameterOrder": [ @@ -29160,7 +32720,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -29178,7 +32738,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -29212,6 +32772,7 @@ }, "delete": { "description": "Deletes the specified SslCertificate resource.", + "flatPath": "projects/{project}/global/sslCertificates/{sslCertificate}", "httpMethod": "DELETE", "id": "compute.sslCertificates.delete", "parameterOrder": [ @@ -29227,7 +32788,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -29250,6 +32811,7 @@ }, "get": { "description": "Returns the specified SslCertificate resource. Gets a list of available SSL certificates by making a list() request.", + "flatPath": "projects/{project}/global/sslCertificates/{sslCertificate}", "httpMethod": "GET", "id": "compute.sslCertificates.get", "parameterOrder": [ @@ -29284,6 +32846,7 @@ }, "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": [ @@ -29298,7 +32861,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -29317,6 +32880,7 @@ }, "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": [ @@ -29324,7 +32888,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -29337,7 +32901,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -29371,6 +32935,7 @@ }, "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": [ @@ -29410,8 +32975,69 @@ }, "sslPolicies": { "methods": { + "aggregatedList": { + "description": "Retrieves the list of all SslPolicy resources, regional and global, available to the specified project.", + "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. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", + "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.", + "location": "query", + "type": "boolean" + } + }, + "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": [ @@ -29427,7 +33053,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -29449,6 +33075,7 @@ }, "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": [ @@ -29482,6 +33109,7 @@ }, "insert": { "description": "Returns the specified SSL policy resource. Gets a list of available SSL policies by making a list() request.", + "flatPath": "projects/{project}/global/sslPolicies", "httpMethod": "POST", "id": "compute.sslPolicies.insert", "parameterOrder": [ @@ -29496,7 +33124,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -29515,6 +33143,7 @@ }, "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": [ @@ -29522,7 +33151,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -29535,7 +33164,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -29569,6 +33198,7 @@ }, "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": [ @@ -29576,7 +33206,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -29589,7 +33219,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -29623,6 +33253,7 @@ }, "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": [ @@ -29638,7 +33269,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -29663,6 +33294,7 @@ }, "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": [ @@ -29704,6 +33336,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of subnetworks.", + "flatPath": "projects/{project}/aggregated/subnetworks", "httpMethod": "GET", "id": "compute.subnetworks.aggregatedList", "parameterOrder": [ @@ -29711,7 +33344,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -29729,7 +33362,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -29763,6 +33396,7 @@ }, "delete": { "description": "Deletes the specified subnetwork.", + "flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", "httpMethod": "DELETE", "id": "compute.subnetworks.delete", "parameterOrder": [ @@ -29786,7 +33420,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -29809,6 +33443,7 @@ }, "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": [ @@ -29832,7 +33467,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -29858,6 +33493,7 @@ }, "get": { "description": "Returns the specified subnetwork. Gets a list of available subnetworks list() request.", + "flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", "httpMethod": "GET", "id": "compute.subnetworks.get", "parameterOrder": [ @@ -29900,6 +33536,7 @@ }, "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": [ @@ -29948,6 +33585,7 @@ }, "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": [ @@ -29970,7 +33608,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -29989,6 +33627,7 @@ }, "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": [ @@ -29997,7 +33636,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -30010,7 +33649,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -30051,6 +33690,7 @@ }, "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": [ @@ -30058,7 +33698,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -30071,7 +33711,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -30091,6 +33731,11 @@ "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", "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", @@ -30105,6 +33750,7 @@ }, "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": [ @@ -30134,7 +33780,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -30160,6 +33806,7 @@ }, "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": [ @@ -30204,6 +33851,7 @@ }, "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": [ @@ -30227,7 +33875,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -30253,6 +33901,7 @@ }, "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": [ @@ -30302,6 +33951,7 @@ "methods": { "delete": { "description": "Deletes the specified TargetGrpcProxy in the given scope", + "flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", "httpMethod": "DELETE", "id": "compute.targetGrpcProxies.delete", "parameterOrder": [ @@ -30317,7 +33967,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -30340,6 +33990,7 @@ }, "get": { "description": "Returns the specified TargetGrpcProxy resource in the given scope.", + "flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", "httpMethod": "GET", "id": "compute.targetGrpcProxies.get", "parameterOrder": [ @@ -30374,6 +34025,7 @@ }, "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": [ @@ -30388,7 +34040,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -30407,6 +34059,7 @@ }, "list": { "description": "Lists the TargetGrpcProxies for a project in the given scope.", + "flatPath": "projects/{project}/global/targetGrpcProxies", "httpMethod": "GET", "id": "compute.targetGrpcProxies.list", "parameterOrder": [ @@ -30414,7 +34067,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -30427,7 +34080,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -30461,6 +34114,7 @@ }, "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": [ @@ -30476,7 +34130,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -30502,6 +34156,7 @@ }, "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": [ @@ -30543,6 +34198,7 @@ "methods": { "aggregatedList": { "description": "Retrieves the list of all TargetHttpProxy resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/targetHttpProxies", "httpMethod": "GET", "id": "compute.targetHttpProxies.aggregatedList", "parameterOrder": [ @@ -30550,7 +34206,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -30568,7 +34224,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -30602,6 +34258,7 @@ }, "delete": { "description": "Deletes the specified TargetHttpProxy resource.", + "flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", "httpMethod": "DELETE", "id": "compute.targetHttpProxies.delete", "parameterOrder": [ @@ -30617,7 +34274,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -30640,6 +34297,7 @@ }, "get": { "description": "Returns the specified TargetHttpProxy resource. Gets a list of available target HTTP proxies by making a list() request.", + "flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", "httpMethod": "GET", "id": "compute.targetHttpProxies.get", "parameterOrder": [ @@ -30674,6 +34332,7 @@ }, "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": [ @@ -30688,7 +34347,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -30707,6 +34366,7 @@ }, "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": [ @@ -30714,7 +34374,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -30727,7 +34387,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -30760,7 +34420,8 @@ ] }, "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. (== suppress_warning http-rest-shadowed ==)", + "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": [ @@ -30776,7 +34437,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -30802,6 +34463,7 @@ }, "setUrlMap": { "description": "Changes the URL map for TargetHttpProxy.", + "flatPath": "projects/{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap", "httpMethod": "POST", "id": "compute.targetHttpProxies.setUrlMap", "parameterOrder": [ @@ -30817,7 +34479,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -30843,6 +34505,7 @@ }, "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": [ @@ -30884,6 +34547,7 @@ "methods": { "aggregatedList": { "description": "Retrieves the list of all TargetHttpsProxy resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/targetHttpsProxies", "httpMethod": "GET", "id": "compute.targetHttpsProxies.aggregatedList", "parameterOrder": [ @@ -30891,7 +34555,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -30909,7 +34573,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -30943,6 +34607,7 @@ }, "delete": { "description": "Deletes the specified TargetHttpsProxy resource.", + "flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", "httpMethod": "DELETE", "id": "compute.targetHttpsProxies.delete", "parameterOrder": [ @@ -30958,7 +34623,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -30981,6 +34646,7 @@ }, "get": { "description": "Returns the specified TargetHttpsProxy resource. Gets a list of available target HTTPS proxies by making a list() request.", + "flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", "httpMethod": "GET", "id": "compute.targetHttpsProxies.get", "parameterOrder": [ @@ -31015,6 +34681,7 @@ }, "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": [ @@ -31029,7 +34696,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -31048,6 +34715,7 @@ }, "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": [ @@ -31055,7 +34723,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -31068,7 +34736,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -31101,7 +34769,8 @@ ] }, "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. (== suppress_warning http-rest-shadowed ==)", + "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": [ @@ -31117,7 +34786,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -31143,6 +34812,7 @@ }, "setCertificateMap": { "description": "Changes the Certificate Map for TargetHttpsProxy.", + "flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setCertificateMap", "httpMethod": "POST", "id": "compute.targetHttpsProxies.setCertificateMap", "parameterOrder": [ @@ -31158,7 +34828,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -31183,6 +34853,7 @@ }, "setQuicOverride": { "description": "Sets the QUIC override policy for TargetHttpsProxy.", + "flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setQuicOverride", "httpMethod": "POST", "id": "compute.targetHttpsProxies.setQuicOverride", "parameterOrder": [ @@ -31198,7 +34869,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -31223,6 +34894,7 @@ }, "setSslCertificates": { "description": "Replaces SslCertificates for TargetHttpsProxy.", + "flatPath": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", "httpMethod": "POST", "id": "compute.targetHttpsProxies.setSslCertificates", "parameterOrder": [ @@ -31238,7 +34910,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -31264,6 +34936,7 @@ }, "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": [ @@ -31279,7 +34952,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -31304,6 +34977,7 @@ }, "setUrlMap": { "description": "Changes the URL map for TargetHttpsProxy.", + "flatPath": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", "httpMethod": "POST", "id": "compute.targetHttpsProxies.setUrlMap", "parameterOrder": [ @@ -31319,7 +34993,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -31345,6 +35019,7 @@ }, "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": [ @@ -31386,6 +35061,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of target instances.", + "flatPath": "projects/{project}/aggregated/targetInstances", "httpMethod": "GET", "id": "compute.targetInstances.aggregatedList", "parameterOrder": [ @@ -31393,7 +35069,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -31411,7 +35087,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -31445,6 +35121,7 @@ }, "delete": { "description": "Deletes the specified TargetInstance resource.", + "flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", "httpMethod": "DELETE", "id": "compute.targetInstances.delete", "parameterOrder": [ @@ -31461,7 +35138,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -31491,6 +35168,7 @@ }, "get": { "description": "Returns the specified TargetInstance resource. Gets a list of available target instances by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", "httpMethod": "GET", "id": "compute.targetInstances.get", "parameterOrder": [ @@ -31533,6 +35211,7 @@ }, "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": [ @@ -31548,7 +35227,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -31574,6 +35253,7 @@ }, "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": [ @@ -31582,7 +35262,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -31595,7 +35275,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -31636,6 +35316,7 @@ }, "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": [ @@ -31685,6 +35366,7 @@ "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": [ @@ -31708,7 +35390,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -31734,6 +35416,7 @@ }, "addInstance": { "description": "Adds an instance to a target pool.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/addInstance", "httpMethod": "POST", "id": "compute.targetPools.addInstance", "parameterOrder": [ @@ -31757,7 +35440,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -31783,6 +35466,7 @@ }, "aggregatedList": { "description": "Retrieves an aggregated list of target pools.", + "flatPath": "projects/{project}/aggregated/targetPools", "httpMethod": "GET", "id": "compute.targetPools.aggregatedList", "parameterOrder": [ @@ -31790,7 +35474,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -31808,7 +35492,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -31842,6 +35526,7 @@ }, "delete": { "description": "Deletes the specified target pool.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}", "httpMethod": "DELETE", "id": "compute.targetPools.delete", "parameterOrder": [ @@ -31865,7 +35550,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -31888,6 +35573,7 @@ }, "get": { "description": "Returns the specified target pool. Gets a list of available target pools by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}", "httpMethod": "GET", "id": "compute.targetPools.get", "parameterOrder": [ @@ -31930,6 +35616,7 @@ }, "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": [ @@ -31975,6 +35662,7 @@ }, "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": [ @@ -31997,7 +35685,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -32016,6 +35704,7 @@ }, "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": [ @@ -32024,7 +35713,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -32037,7 +35726,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -32078,6 +35767,7 @@ }, "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": [ @@ -32101,7 +35791,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -32127,6 +35817,7 @@ }, "removeInstance": { "description": "Removes instance URL from a target pool.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeInstance", "httpMethod": "POST", "id": "compute.targetPools.removeInstance", "parameterOrder": [ @@ -32150,7 +35841,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -32176,6 +35867,7 @@ }, "setBackup": { "description": "Changes a backup target pool's configurations.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/setBackup", "httpMethod": "POST", "id": "compute.targetPools.setBackup", "parameterOrder": [ @@ -32205,7 +35897,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -32231,6 +35923,7 @@ }, "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": [ @@ -32280,6 +35973,7 @@ "methods": { "delete": { "description": "Deletes the specified TargetSslProxy resource.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}", "httpMethod": "DELETE", "id": "compute.targetSslProxies.delete", "parameterOrder": [ @@ -32295,7 +35989,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -32318,6 +36012,7 @@ }, "get": { "description": "Returns the specified TargetSslProxy resource. Gets a list of available target SSL proxies by making a list() request.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}", "httpMethod": "GET", "id": "compute.targetSslProxies.get", "parameterOrder": [ @@ -32352,6 +36047,7 @@ }, "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": [ @@ -32366,7 +36062,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -32385,6 +36081,7 @@ }, "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": [ @@ -32392,7 +36089,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -32405,7 +36102,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -32439,6 +36136,7 @@ }, "setBackendService": { "description": "Changes the BackendService for TargetSslProxy.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setBackendService", "httpMethod": "POST", "id": "compute.targetSslProxies.setBackendService", "parameterOrder": [ @@ -32454,7 +36152,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -32480,6 +36178,7 @@ }, "setCertificateMap": { "description": "Changes the Certificate Map for TargetSslProxy.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setCertificateMap", "httpMethod": "POST", "id": "compute.targetSslProxies.setCertificateMap", "parameterOrder": [ @@ -32495,7 +36194,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -32520,6 +36219,7 @@ }, "setProxyHeader": { "description": "Changes the ProxyHeaderType for TargetSslProxy.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader", "httpMethod": "POST", "id": "compute.targetSslProxies.setProxyHeader", "parameterOrder": [ @@ -32535,7 +36235,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -32561,6 +36261,7 @@ }, "setSslCertificates": { "description": "Changes SslCertificates for TargetSslProxy.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates", "httpMethod": "POST", "id": "compute.targetSslProxies.setSslCertificates", "parameterOrder": [ @@ -32576,7 +36277,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -32602,6 +36303,7 @@ }, "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 SSL proxy 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": [ @@ -32617,7 +36319,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -32642,6 +36344,7 @@ }, "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": [ @@ -32683,6 +36386,7 @@ "methods": { "delete": { "description": "Deletes the specified TargetTcpProxy resource.", + "flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", "httpMethod": "DELETE", "id": "compute.targetTcpProxies.delete", "parameterOrder": [ @@ -32698,7 +36402,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -32721,6 +36425,7 @@ }, "get": { "description": "Returns the specified TargetTcpProxy resource. Gets a list of available target TCP proxies by making a list() request.", + "flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", "httpMethod": "GET", "id": "compute.targetTcpProxies.get", "parameterOrder": [ @@ -32755,6 +36460,7 @@ }, "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": [ @@ -32769,7 +36475,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -32788,6 +36494,7 @@ }, "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": [ @@ -32795,7 +36502,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -32808,7 +36515,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -32842,6 +36549,7 @@ }, "setBackendService": { "description": "Changes the BackendService for TargetTcpProxy.", + "flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService", "httpMethod": "POST", "id": "compute.targetTcpProxies.setBackendService", "parameterOrder": [ @@ -32857,7 +36565,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -32883,6 +36591,7 @@ }, "setProxyHeader": { "description": "Changes the ProxyHeaderType for TargetTcpProxy.", + "flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader", "httpMethod": "POST", "id": "compute.targetTcpProxies.setProxyHeader", "parameterOrder": [ @@ -32898,7 +36607,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -32924,6 +36633,7 @@ }, "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": [ @@ -32965,6 +36675,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of target VPN gateways.", + "flatPath": "projects/{project}/aggregated/targetVpnGateways", "httpMethod": "GET", "id": "compute.targetVpnGateways.aggregatedList", "parameterOrder": [ @@ -32972,7 +36683,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -32990,7 +36701,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -33024,6 +36735,7 @@ }, "delete": { "description": "Deletes the specified target VPN gateway.", + "flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", "httpMethod": "DELETE", "id": "compute.targetVpnGateways.delete", "parameterOrder": [ @@ -33047,7 +36759,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -33070,6 +36782,7 @@ }, "get": { "description": "Returns the specified target VPN gateway. Gets a list of available target VPN gateways by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", "httpMethod": "GET", "id": "compute.targetVpnGateways.get", "parameterOrder": [ @@ -33112,6 +36825,7 @@ }, "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": [ @@ -33134,7 +36848,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -33153,6 +36867,7 @@ }, "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": [ @@ -33161,7 +36876,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -33174,7 +36889,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -33215,6 +36930,7 @@ }, "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": [ @@ -33238,7 +36954,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -33264,6 +36980,7 @@ }, "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": [ @@ -33313,6 +37030,7 @@ "methods": { "aggregatedList": { "description": "Retrieves the list of all UrlMap resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/urlMaps", "httpMethod": "GET", "id": "compute.urlMaps.aggregatedList", "parameterOrder": [ @@ -33320,7 +37038,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -33338,7 +37056,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -33372,6 +37090,7 @@ }, "delete": { "description": "Deletes the specified UrlMap resource.", + "flatPath": "projects/{project}/global/urlMaps/{urlMap}", "httpMethod": "DELETE", "id": "compute.urlMaps.delete", "parameterOrder": [ @@ -33387,7 +37106,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -33410,6 +37129,7 @@ }, "get": { "description": "Returns the specified UrlMap resource. Gets a list of available URL maps by making a list() request.", + "flatPath": "projects/{project}/global/urlMaps/{urlMap}", "httpMethod": "GET", "id": "compute.urlMaps.get", "parameterOrder": [ @@ -33444,6 +37164,7 @@ }, "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": [ @@ -33458,7 +37179,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -33476,7 +37197,8 @@ ] }, "invalidateCache": { - "description": "Initiates a cache invalidation operation, invalidating the specified path, scoped to the specified UrlMap.\n\nFor more information, see [Invalidating cached content](/cdn/docs/invalidating-cached-content).", + "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": [ @@ -33492,7 +37214,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -33518,6 +37240,7 @@ }, "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": [ @@ -33525,7 +37248,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -33538,7 +37261,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -33572,6 +37295,7 @@ }, "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": [ @@ -33587,7 +37311,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -33613,6 +37337,7 @@ }, "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": [ @@ -33650,6 +37375,7 @@ }, "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": [ @@ -33665,7 +37391,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -33691,6 +37417,7 @@ }, "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": [ @@ -33731,6 +37458,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of VPN gateways.", + "flatPath": "projects/{project}/aggregated/vpnGateways", "httpMethod": "GET", "id": "compute.vpnGateways.aggregatedList", "parameterOrder": [ @@ -33738,7 +37466,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -33756,7 +37484,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -33790,6 +37518,7 @@ }, "delete": { "description": "Deletes the specified VPN gateway.", + "flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", "httpMethod": "DELETE", "id": "compute.vpnGateways.delete", "parameterOrder": [ @@ -33813,7 +37542,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -33836,6 +37565,7 @@ }, "get": { "description": "Returns the specified VPN gateway. Gets a list of available VPN gateways by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", "httpMethod": "GET", "id": "compute.vpnGateways.get", "parameterOrder": [ @@ -33878,6 +37608,7 @@ }, "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": [ @@ -33920,6 +37651,7 @@ }, "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": [ @@ -33942,7 +37674,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -33961,6 +37693,7 @@ }, "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": [ @@ -33969,7 +37702,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -33982,7 +37715,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -34023,6 +37756,7 @@ }, "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": [ @@ -34046,7 +37780,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -34072,6 +37806,7 @@ }, "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": [ @@ -34121,6 +37856,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of VPN tunnels.", + "flatPath": "projects/{project}/aggregated/vpnTunnels", "httpMethod": "GET", "id": "compute.vpnTunnels.aggregatedList", "parameterOrder": [ @@ -34128,7 +37864,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -34146,7 +37882,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -34180,6 +37916,7 @@ }, "delete": { "description": "Deletes the specified VpnTunnel resource.", + "flatPath": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", "httpMethod": "DELETE", "id": "compute.vpnTunnels.delete", "parameterOrder": [ @@ -34203,7 +37940,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -34226,6 +37963,7 @@ }, "get": { "description": "Returns the specified VpnTunnel resource. Gets a list of available VPN tunnels by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", "httpMethod": "GET", "id": "compute.vpnTunnels.get", "parameterOrder": [ @@ -34268,6 +38006,7 @@ }, "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": [ @@ -34290,7 +38029,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -34309,6 +38048,7 @@ }, "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": [ @@ -34317,7 +38057,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -34330,7 +38070,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -34371,6 +38111,7 @@ }, "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": [ @@ -34394,7 +38135,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -34420,6 +38161,7 @@ }, "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": [ @@ -34465,821 +38207,11 @@ } } }, - "zoneInPlaceSnapshots": { - "methods": { - "delete": { - "description": "Deletes the specified InPlaceSnapshot resource. Keep in mind that deleting a single inPlaceSnapshot might not necessarily delete all the data on that inPlaceSnapshot. If any data on the inPlaceSnapshot that is marked for deletion is needed for subsequent inPlaceSnapshots, the data will be moved to the next corresponding inPlaceSnapshot.\n\nFor more information, see Deleting inPlaceSnapshots.", - "httpMethod": "DELETE", - "id": "compute.zoneInPlaceSnapshots.delete", - "parameterOrder": [ - "project", - "zone", - "inPlaceSnapshot" - ], - "parameters": { - "inPlaceSnapshot": { - "description": "Name of the InPlaceSnapshot 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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request 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}/inPlaceSnapshots/{inPlaceSnapshot}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "get": { - "description": "Returns the specified InPlaceSnapshot resource in the specified zone.", - "httpMethod": "GET", - "id": "compute.zoneInPlaceSnapshots.get", - "parameterOrder": [ - "project", - "zone", - "inPlaceSnapshot" - ], - "parameters": { - "inPlaceSnapshot": { - "description": "Name of the InPlaceSnapshot 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}/inPlaceSnapshots/{inPlaceSnapshot}", - "response": { - "$ref": "InPlaceSnapshot" - }, - "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.", - "httpMethod": "GET", - "id": "compute.zoneInPlaceSnapshots.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}/inPlaceSnapshots/{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 in-place snapshot in the specified zone.", - "httpMethod": "POST", - "id": "compute.zoneInPlaceSnapshots.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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request 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}/inPlaceSnapshots", - "request": { - "$ref": "InPlaceSnapshot" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "list": { - "description": "Retrieves the list of InPlaceSnapshot resources contained within the specified zone.", - "httpMethod": "GET", - "id": "compute.zoneInPlaceSnapshots.list", - "parameterOrder": [ - "project", - "zone" - ], - "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", - "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.\n\nYou 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.\n\nCurrently, 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.", - "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}/inPlaceSnapshots", - "response": { - "$ref": "InPlaceSnapshotList" - }, - "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.", - "httpMethod": "POST", - "id": "compute.zoneInPlaceSnapshots.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}/inPlaceSnapshots/{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 inPlaceSnapshot in the given zone. To learn more about labels, read the Labeling Resources documentation.", - "httpMethod": "POST", - "id": "compute.zoneInPlaceSnapshots.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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request 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}/inPlaceSnapshots/{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.", - "httpMethod": "POST", - "id": "compute.zoneInPlaceSnapshots.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}/inPlaceSnapshots/{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" - ] - } - } - }, - "zoneInstantSnapshots": { - "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.\n\nFor more information, see Deleting instantSnapshots.", - "httpMethod": "DELETE", - "id": "compute.zoneInstantSnapshots.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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request 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" - ] - }, - "export": { - "description": "Export the changed blocks between two instant snapshots to a customer?s bucket in the user specified format.", - "httpMethod": "POST", - "id": "compute.zoneInstantSnapshots.export", - "parameterOrder": [ - "project", - "zone", - "instantSnapshot" - ], - "parameters": { - "instantSnapshot": { - "description": "Name of the instant snapshot to export.", - "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request 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}/export", - "request": { - "$ref": "ZoneInstantSnapshotsExportRequest" - }, - "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.", - "httpMethod": "GET", - "id": "compute.zoneInstantSnapshots.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.", - "httpMethod": "GET", - "id": "compute.zoneInstantSnapshots.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.", - "httpMethod": "POST", - "id": "compute.zoneInstantSnapshots.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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request 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.", - "httpMethod": "GET", - "id": "compute.zoneInstantSnapshots.list", - "parameterOrder": [ - "project", - "zone" - ], - "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", - "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.\n\nYou 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.\n\nCurrently, 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.", - "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.", - "httpMethod": "POST", - "id": "compute.zoneInstantSnapshots.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.", - "httpMethod": "POST", - "id": "compute.zoneInstantSnapshots.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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request 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.", - "httpMethod": "POST", - "id": "compute.zoneInstantSnapshots.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" - ] - } - } - }, "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": [ @@ -35318,6 +38250,7 @@ }, "get": { "description": "Retrieves the specified zone-specific Operations resource.", + "flatPath": "projects/{project}/zones/{zone}/operations/{operation}", "httpMethod": "GET", "id": "compute.zoneOperations.get", "parameterOrder": [ @@ -35360,6 +38293,7 @@ }, "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": [ @@ -35368,7 +38302,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -35381,7 +38315,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -35421,7 +38355,8 @@ ] }, "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.\n\nThis method is called on a best-effort basis. Specifically: \n- In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. \n- 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`.", + "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": [ @@ -35468,6 +38403,7 @@ "methods": { "get": { "description": "Returns the specified Zone resource. Gets a list of available zones by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}", "httpMethod": "GET", "id": "compute.zones.get", "parameterOrder": [ @@ -35502,6 +38438,7 @@ }, "list": { "description": "Retrieves the list of Zone resources available to the specified project.", + "flatPath": "projects/{project}/zones", "httpMethod": "GET", "id": "compute.zones.list", "parameterOrder": [ @@ -35509,7 +38446,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -35522,7 +38459,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -35557,7 +38494,7 @@ } } }, - "revision": "20210316", + "revision": "20220224", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -35577,7 +38514,7 @@ "type": "object" }, "AcceleratorType": { - "description": "Represents an Accelerator Type resource.\n\nGoogle 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. (== resource_for {$api_version}.acceleratorTypes ==)", + "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": { @@ -35695,36 +38632,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -35811,36 +38748,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -35909,36 +38846,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -35969,11 +38906,11 @@ "id": "AccessConfig", "properties": { "externalIpv6": { - "description": "[Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.", + "description": "The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.", "type": "string" }, "externalIpv6PrefixLength": { - "description": "[Output Only] The prefix length of the external IPv6 range.", + "description": "The prefix length of the external IPv6 range.", "format": "int32", "type": "integer" }, @@ -35991,7 +38928,7 @@ "type": "string" }, "networkTier": { - "description": "This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.\n\nIf an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.\n\nIf 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.", + "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", @@ -36000,11 +38937,11 @@ "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" }, @@ -36013,7 +38950,7 @@ "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.", + "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 createc for first IP in associated external IPv6 range.", "type": "string" }, "setPublicDns": { @@ -36021,7 +38958,7 @@ "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.", + "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": { @@ -36041,7 +38978,7 @@ "type": "object" }, "Address": { - "description": "Use global external addresses for GFE-based external HTTP(S) load balancers in Premium Tier.\n\nUse global internal addresses for reserved peering network range.\n\nUse regional external addresses for the following resources:\n\n- External IP addresses for VM instances - Regional external forwarding rules - Cloud NAT external IP addresses - GFE based LBs in Standard Tier - Network LBs in Premium or Standard Tier - Cloud VPN gateways (both Classic and HA)\n\nUse regional internal IP addresses for subnet IP ranges (primary and secondary). This includes:\n\n- Internal IP addresses for VM instances - Alias IP ranges of VM instances (/32 only) - Regional internal forwarding rules - Internal TCP/UDP load balancer addresses - Internal HTTP(S) load balancer addresses - Cloud DNS inbound forwarding IP addresses\n\nFor more information, read reserved IP address.\n\n(== resource_for {$api_version}.addresses ==) (== resource_for {$api_version}.globalAddresses ==)", + "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": { @@ -36057,9 +38994,9 @@ "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" @@ -36091,13 +39028,23 @@ ], "type": "string" }, + "ipv6EndpointType": { + "description": "The endpoint type of this address, which should be VM. This is used for deciding which endpoint this address will be assigned to during the IPv6 external IP address reservation.", + "enum": [ + "VM" + ], + "enumDescriptions": [ + "Reserved IPv6 address will be assigned to 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.\n\nTo see the latest fingerprint, make a get() request to retrieve an Address.", + "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" }, @@ -36123,7 +39070,7 @@ "type": "string" }, "networkTier": { - "description": "This signifies the networking tier used for configuring this address and can only take the following values: PREMIUM or STANDARD. Global forwarding rules can only be Premium Tier. Regional forwarding rules can be either Premium or Standard Tier. Standard Tier addresses applied to regional forwarding rules can be used with any external load balancer. Regional forwarding rules in Premium Tier can only be used with a network load balancer.\n\nIf this field is not specified, it is assumed to be PREMIUM.", + "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", @@ -36132,11 +39079,11 @@ "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" }, @@ -36146,31 +39093,29 @@ "type": "integer" }, "purpose": { - "description": "The purpose of this resource, which can be one of the following values: \n- `GCE_ENDPOINT` for addresses that are used by VM instances, alias IP ranges, internal load balancers, and similar resources. \n- `DNS_RESOLVER` for a DNS resolver address in a subnetwork \n- `VPC_PEERING` for addresses that are reserved for VPC peer networks. \n- `NAT_AUTO` for addresses that are external IP addresses automatically reserved for Cloud NAT. \n- `IPSEC_INTERCONNECT` for addresses created from a private IP range that are reserved for a VLAN attachment in an IPsec-encrypted Cloud Interconnect configuration. These addresses are regional resources.", + "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 *IPsec-encrypted Cloud Interconnect* configuration. These addresses are regional resources. Not currently available publicly. - `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", - "PSC_PRODUCER_NAT_RANGE", "SHARED_LOADBALANCER_VIP", "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 IPsec-encrypted 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 private network IP address that can be shared by multiple Internal Load Balancer forwarding rules.", + "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.", + "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": { @@ -36189,9 +39134,9 @@ "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" }, @@ -36277,36 +39222,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -36393,36 +39338,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -36491,36 +39436,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -36554,6 +39499,15 @@ "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" + }, + "numaNodeCount": { + "description": "The number of vNUMA nodes.", + "format": "int32", + "type": "integer" + }, "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", @@ -36582,33 +39536,6 @@ }, "type": "object" }, - "AllocationShareSettings": { - "id": "AllocationShareSettings", - "properties": { - "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": [ - "ORGANIZATION", - "SHARE_TYPE_UNSPECIFIED", - "SPECIFIC_PROJECTS" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, "AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk": { "id": "AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk", "properties": { @@ -36666,12 +39593,12 @@ "type": "integer" }, "maintenanceInterval": { - "description": "Specifies whether this VM may be a stable fleet VM. Setting this to \"Periodic\" designates this VM as a Stable Fleet VM.\n\nSee go/stable-fleet-ug for more details.", + "description": "For more information about maintenance intervals, see Setting maintenance intervals.", "enum": [ "PERIODIC" ], "enumDescriptions": [ - "" + "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." ], "type": "string" }, @@ -36683,9 +39610,14 @@ "type": "object" }, "AllocationSpecificSKUReservation": { - "description": "This reservation type allows to pre allocate specific instance configuration.", + "description": "This reservation type allows to pre allocate specific instance configuration. Next ID: 5", "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", @@ -36703,22 +39635,6 @@ }, "type": "object" }, - "Any": { - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\nFoo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }\n\nExample 2: Pack and unpack a message in Java.\n\nFoo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }\n\nExample 3: Pack and unpack a message in Python.\n\nfoo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...\n\nExample 4: Pack and unpack a message in Go\n\nfoo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... }\n\nThe pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example \"foo.bar.com/x/y.z\" will yield type name \"y.z\".\n\n\n\nJSON ==== The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:\n\npackage google.profile; message Person { string first_name = 1; string last_name = 2; }\n\n{ \"@type\": \"type.googleapis.com/google.profile.Person\", \"firstName\": , \"lastName\": }\n\nIf the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):\n\n{ \"@type\": \"type.googleapis.com/google.protobuf.Duration\", \"value\": \"1.212s\" }", - "id": "Any", - "properties": { - "typeUrl": { - "description": "A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one \"/\" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)\n\nNote: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.", - "type": "string" - }, - "value": { - "description": "Must be a valid serialized protocol buffer of the above specified type.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, "AttachedDisk": { "description": "An instance-attached disk resource.", "id": "AttachedDisk", @@ -36732,12 +39648,12 @@ "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.\n\nIf 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.", + "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.\n\nIf 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.\n\nIf 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.\n\nIf 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.\n\nInstance templates do not store customer-supplied encryption keys, so you cannot use your own keys to encrypt disks in a managed instance group." + "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. Instance templates do not store customer-supplied encryption keys, so you cannot use your own keys to encrypt disks in a managed instance group." }, "diskSizeGb": { "description": "The size of the disk in GB.", @@ -36749,7 +39665,7 @@ "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.", + "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" }, @@ -36762,7 +39678,7 @@ }, "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.\n\nThis property is mutually exclusive with the source property; you can only define one or the other, but not both." + "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. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance.", @@ -36790,6 +39706,10 @@ }, "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": [ @@ -36797,8 +39717,8 @@ "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" }, @@ -36809,8 +39729,8 @@ "PRESERVED" ], "enumDescriptions": [ - "", - "" + "*[Default]* Disk state has not been preserved.", + "Disk state has been preserved." ], "type": "string" }, @@ -36819,7 +39739,7 @@ "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, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required except for local SSD.\n\nIf desired, you can also attach existing non-root persistent disks using this property. This field is only applicable for persistent disks.\n\nNote that for InstanceTemplate, specify the disk name, not the URL for the disk.", + "description": "Specifies a valid partial or full URL to an existing Persistent Disk resource. When creating a new instance, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required except for local SSD. 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": { @@ -36845,9 +39765,23 @@ "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.\n\nThis property is mutually exclusive with the source property; you can only define one or the other, but not both.", + "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.", "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" @@ -36862,16 +39796,30 @@ "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:\nhttps://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard\n\n\nOther values include pd-ssd and local-ssd. If you define this field, you can provide either the full or partial URL. For example, the following are valid values: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType \n- projects/project/zones/zone/diskTypes/diskType \n- zones/zone/diskTypes/diskType Note that for InstanceTemplate, this is the name of the disk type, not URL.", + "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 define this field, you can provide either the full or partial URL. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/diskType - projects/project/zones/zone/diskTypes/diskType - zones/zone/diskTypes/diskType Note that for InstanceTemplate, this is the name of the disk type, not URL.", "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.\n\nGuest OS features are applied by merging initializeParams.guestOsFeatures and disks.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": { + "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" @@ -36879,6 +39827,21 @@ "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" @@ -36891,14 +39854,14 @@ "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 must be provisioned for the disk.", + "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" }, @@ -36917,15 +39880,19 @@ "type": "array" }, "sourceImage": { - "description": "The source image to create this disk. When creating a new instance, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required except for local SSD.\n\nTo 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:\nprojects/debian-cloud/global/images/family/debian-9\n\n\nAlternatively, use a specific version of a public operating system image:\nprojects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD\n\n\nTo create a disk with a custom image that you created, specify the image name in the following format:\nglobal/images/my-custom-image\n\n\nYou 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:\nglobal/images/family/my-image-family\n\n\nIf the source image is deleted later, this field will not be set.", + "description": "The source image to create this disk. When creating a new instance, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required except for local SSD. 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.\n\nInstance templates 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." + "description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key. Instance templates 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, one of initializeParams.sourceSnapshot or initializeParams.sourceInstantSnapshot initializeParams.sourceImage or disks.source is required except for local SSD. 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, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required except for local SSD.\n\nTo create a disk with a snapshot that you created, specify the snapshot name in the following format:\nglobal/snapshots/my-backup\n\n\nIf the source snapshot is deleted later, this field will not be set.", + "description": "The source snapshot to create this disk. When creating a new instance, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required except for local SSD. 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.", "type": "string" }, "sourceSnapshotEncryptionKey": { @@ -36936,7 +39903,7 @@ "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.\n\nIf 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.\n\nExample Policy with multiple AuditConfigs:\n\n{ \"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\" ] } ] } ] }\n\nFor 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.", + "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": { @@ -36947,7 +39914,7 @@ "type": "array" }, "exemptedMembers": { - "description": "", + "description": "This is deprecated and has no effect. Do not use.", "items": { "type": "string" }, @@ -36961,18 +39928,18 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions. Example:\n\n{ \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "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][].", + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", "items": { "type": "string" }, "type": "array" }, "ignoreChildExemptions": { - "description": "", + "description": "This is deprecated and has no effect. Do not use.", "type": "boolean" }, "logType": { @@ -36984,10 +39951,10 @@ "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" } @@ -37021,8 +39988,8 @@ ], "enumDescriptions": [ "", - "", - "" + "Principal will be set to the identity from origin authentication.", + "Principal will be set to the identity from peer authentication." ], "type": "string" }, @@ -37048,11 +40015,11 @@ "type": "object" }, "AuthorizationLoggingOptions": { - "description": "Authorization-related information used by Cloud Audit Logging.", + "description": "This is deprecated and has no effect. Do not use.", "id": "AuthorizationLoggingOptions", "properties": { "permissionType": { - "description": "The type of the permission that was checked.", + "description": "This is deprecated and has no effect. Do not use.", "enum": [ "ADMIN_READ", "ADMIN_WRITE", @@ -37061,11 +40028,11 @@ "PERMISSION_TYPE_UNSPECIFIED" ], "enumDescriptions": [ - "", - "", - "", - "", - "" + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use." ], "type": "string" } @@ -37073,12 +40040,12 @@ "type": "object" }, "Autoscaler": { - "description": "Represents an Autoscaler resource.\n\nGoogle Compute Engine has two Autoscaler resources:\n\n* [Zonal](/compute/docs/reference/rest/{$api_version}/autoscalers) * [Regional](/compute/docs/reference/rest/{$api_version}/regionAutoscalers)\n\nUse 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.\n\nFor zonal managed instance groups resource, use the autoscaler resource.\n\nFor regional managed instance groups, use the regionAutoscalers resource. (== resource_for {$api_version}.autoscalers ==) (== resource_for {$api_version}.regionAutoscalers ==)", + "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 of the policies for an autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization.\n\nIf none of these are specified, the default will be to autoscale based on cpuUtilization to 0.6 or 60%." + "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.", @@ -37133,7 +40100,7 @@ "type": "string" }, "status": { - "description": "[Output Only] The status of the autoscaler configuration. Current set of possible values: \n- PENDING: Autoscaler backend hasn't read new/updated configuration. \n- DELETING: Configuration is being deleted. \n- ACTIVE: Configuration is acknowledged to be effective. Some warnings might be present in the statusDetails field. \n- ERROR: Configuration has errors. Actionable for users. Details are present in the statusDetails field. New values might be added in the future.", + "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", @@ -37141,10 +40108,10 @@ "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" }, @@ -37195,7 +40162,7 @@ "type": "string" }, "unreachables": { - "description": "[Output Only] Unreachable resources.", + "description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", "items": { "type": "string" }, @@ -37234,36 +40201,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -37350,36 +40317,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -37413,7 +40380,7 @@ "type": "string" }, "type": { - "description": "The type of error, warning, or notice returned. Current set of possible values: \n- ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are unhealthy (not in RUNNING state). \n- BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): There is no backend service attached to the instance group. \n- CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends a size greater than maxNumReplicas. \n- CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom metric samples are not exported often enough to be a credible base for autoscaling. \n- CUSTOM_METRIC_INVALID (ERROR): The custom metric that was specified does not exist or does not have the necessary labels. \n- MIN_EQUALS_MAX (WARNING): The minNumReplicas is equal to maxNumReplicas. This means the autoscaler cannot add or remove instances from the instance group. \n- MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive any data from the custom metric configured for autoscaling. \n- 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. \n- MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in the group won't change automatically. The autoscaling configuration is preserved. \n- MODE_ONLY_UP (WARNING): Autoscaling is in the \"Autoscale only out\" mode. The autoscaler can add instances but not remove any. \n- MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be autoscaled because it has more than one backend service attached to it. \n- NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): There is insufficient quota for the necessary resources, such as CPU or number of instances. \n- REGION_RESOURCE_STOCKOUT (ERROR): Shown only for regional autoscalers: there is a resource stockout in the chosen region. \n- SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled does not exist. \n- UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR): Autoscaling does not work with an HTTP/S load balancer that has been configured for maxRate. \n- 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.", + "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", @@ -37437,26 +40404,26 @@ "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" } @@ -37506,36 +40473,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -37566,7 +40533,7 @@ "id": "AutoscalingPolicy", "properties": { "coolDownPeriodSec": { - "description": "The number of seconds that the autoscaler waits before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. The default time autoscaler waits is 60 seconds.\n\nVirtual machine initialization times might vary because of numerous factors. We recommend that you test how long an instance may take to initialize. To do this, create an instance and time the startup process.", + "description": "The number of seconds that the autoscaler waits before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. The default time autoscaler waits is 60 seconds. Virtual machine initialization times might vary because of numerous factors. We recommend that you test how long an instance may take to initialize. To do this, create an instance and time the startup process.", "format": "int32", "type": "integer" }, @@ -37604,10 +40571,10 @@ "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" }, @@ -37632,7 +40599,7 @@ "id": "AutoscalingPolicyCpuUtilization", "properties": { "predictiveMethod": { - "description": "Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are:\n\n* 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.", + "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", @@ -37640,15 +40607,15 @@ "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.\n\nIf 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.\n\nIf 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.", + "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" } @@ -37660,20 +40627,20 @@ "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.\n\nFor the filter to be valid for autoscaling purposes, the following rules apply: \n- You can only use the AND operator for joining selectors. \n- You can only use direct equality comparison operator (=) without any functions for each selector. \n- 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. \n- 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.\nIf 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.\n\nIf not specified, the type defaults to gce_instance. \n\nTry 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.", + "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.\n\nThe metric must have a value type of INT64 or DOUBLE.", + "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.\n\nA 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.\n\nA 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.", + "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.\n\nFor 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.", + "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" }, @@ -37685,9 +40652,9 @@ "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" } @@ -37765,7 +40732,7 @@ "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: http://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of ?UTC? if left empty.", + "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: http://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of \u201cUTC\u201d if left empty.", "type": "string" } }, @@ -37776,21 +40743,21 @@ "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.", + "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", "RATE", "UTILIZATION" ], "enumDescriptions": [ - "", - "", - "" + "Balance based on the number of simultaneous connections.", + "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.\n\nNot supported by:\n\n- Internal TCP/UDP Load Balancing - Network Load Balancing", + "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.", "format": "float", "type": "number" }, @@ -37803,40 +40770,41 @@ "type": "boolean" }, "group": { - "description": "The fully-qualified URL of an instance group or network endpoint group (NEG) resource. The type of backend that a backend service supports depends on the backend service's loadBalancingScheme.\n\n \n- When the loadBalancingScheme for the backend service is EXTERNAL (except Network Load Balancing), INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED , the backend can be either an instance group or a NEG. The backends on the backend service must be either all instance groups or all NEGs. You cannot mix instance group and NEG backends on the same backend service. \n\n\n- When the loadBalancingScheme for the backend service is EXTERNAL for Network Load Balancing or INTERNAL for Internal TCP/UDP Load Balancing, the backend must be an instance group. NEGs are not supported. \n\nFor regional services, the backend must be in the same region as the backend service.\n\nYou must use the fully-qualified URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported.", + "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. Not supported by:\n\n- Internal TCP/UDP Load Balancing - Network Load Balancing", + "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.\n\nNot available if the backend's balancingMode is RATE. Not supported by:\n\n- Internal TCP/UDP Load Balancing - Network Load Balancing.", + "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.\n\nNot available if the backend's balancingMode is RATE. Not supported by:\n\n- Internal TCP/UDP Load Balancing - Network Load Balancing.", + "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.\n\nNot available if the backend's balancingMode is CONNECTION.", + "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.\n\nNot available if the backend's balancingMode is CONNECTION.", + "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.\n\nNot available if the backend's balancingMode is CONNECTION.", + "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 UTILIZATIONbalancing mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization balancing mode.", "format": "float", "type": "number" } @@ -37844,7 +40812,7 @@ "type": "object" }, "BackendBucket": { - "description": "Represents a Cloud Storage Bucket resource.\n\nThis Cloud Storage bucket resource is referenced by a URL map of a load balancer. For more information, read Backend Buckets.", + "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": { @@ -37855,6 +40823,18 @@ "$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" @@ -37915,8 +40895,12 @@ }, "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:\n\nUSE_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.\n\nFORCE_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.\n\nCACHE_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.", + "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.", "enum": [ "CACHE_ALL_STATIC", "FORCE_CACHE_ALL", @@ -37924,15 +40908,15 @@ "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 86400s (1 day).", + "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" }, @@ -37992,6 +40976,27 @@ }, "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. All other parameters will be excluded. '&' 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", @@ -38070,36 +41075,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -38126,11 +41131,11 @@ "type": "object" }, "BackendService": { - "description": "Represents a Backend Service resource.\n\nA 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.\n\nBackend services in Google Compute Engine can be either regionally or globally scoped.\n\n* [Global](/compute/docs/reference/rest/{$api_version}/backendServices) * [Regional](/compute/docs/reference/rest/{$api_version}/regionBackendServices)\n\nFor more information, see Backend Services.\n\n(== resource_for {$api_version}.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. Only applicable if the loadBalancingScheme is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, the protocol is HTTP or HTTPS, and the sessionAffinity is GENERATED_COOKIE, or HTTP_COOKIE.\n\nIf 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 one day (86,400).\n\nNot 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.", + "description": "Lifetime of cookies in seconds. This setting is applicable to external and internal HTTP(S) 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 one day (86,400). 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" }, @@ -38143,35 +41148,47 @@ }, "cdnPolicy": { "$ref": "BackendServiceCdnPolicy", - "description": "Cloud CDN configuration for this BackendService. Only available for external HTTP(S) Load Balancing." + "description": "Cloud CDN configuration for this BackendService. Only available for specified load balancer types." }, "circuitBreakers": { - "$ref": "CircuitBreakers", - "description": "Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.\n\nThis field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. \n\nNot 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." + "$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" + "$ref": "BackendServiceConnectionTrackingPolicy", + "description": "Connection Tracking configuration for this BackendService. Connection tracking policy settings are only available for Network Load Balancing and Internal TCP/UDP Load Balancing." }, "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.\n\nThis field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. \n\nNot 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." + "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" }, "customRequestHeaders": { - "description": "Headers that the HTTP/S load balancer should add to proxied requests.", + "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 HTTP/S load balancer should add to proxied responses.", + "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" }, @@ -38186,20 +41203,20 @@ "type": "string" }, "enableCDN": { - "description": "If true, enables Cloud CDN for the backend service. Only applicable if the loadBalancingScheme is EXTERNAL and the protocol is HTTP or HTTPS.", + "description": "If true, enables Cloud CDN for the backend service of an external HTTP(S) load balancer.", "type": "boolean" }, "failoverPolicy": { "$ref": "BackendServiceFailoverPolicy", - "description": "Applicable only to Failover for Internal TCP/UDP Load Balancing and Network Load Balancing. Requires at least one backend instance group to be defined as a backup (failover) backend." + "description": "Requires at least one backend instance group to be defined as a backup (failover) backend. 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)." }, "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a BackendService.", + "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" }, "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.", + "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" }, @@ -38220,7 +41237,7 @@ "type": "string" }, "loadBalancingScheme": { - "description": "Specifies the load balancer type. Choose EXTERNAL for external HTTP(S), SSL Proxy, TCP Proxy and Network Load Balancing. Choose INTERNAL for Internal TCP/UDP Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load Balancing. INTERNAL_SELF_MANAGED for Traffic Director. A backend service created for one type of load balancer cannot be used with another. For more information, refer to Choosing a load balancer.", + "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", @@ -38230,17 +41247,17 @@ "INVALID_LOAD_BALANCING_SCHEME" ], "enumDescriptions": [ - "", - "", - "", - "", - "", + "Signifies that this will be used for external HTTP(S), SSL Proxy, TCP Proxy, or Network Load Balancing", + "Signifies that this will be used for External Managed HTTP(S) Load Balancing.", + "Signifies that this will be used for Internal TCP/UDP Load Balancing.", + "Signifies that this will be used for Internal HTTP(S) Load Balancing.", + "Signifies that this will be used by Traffic Director.", "" ], "type": "string" }, "localityLbPolicy": { - "description": "The load balancing algorithm used within the scope of the locality. The possible values are: \n- ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. \n- LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. \n- 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. \n- RANDOM: The load balancer selects a random healthy host. \n- 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. \n- 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 \n\nThis field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. \n\nIf sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH, session affinity settings will not take effect.\n\nOnly the default ROUND_ROBIN policy is 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.", + "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. If sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH, session affinity settings will not take effect. 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", @@ -38248,16 +41265,18 @@ "ORIGINAL_DESTINATION", "RANDOM", "RING_HASH", - "ROUND_ROBIN" + "ROUND_ROBIN", + "WEIGHTED_MAGLEV" ], "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." ], "type": "string" }, @@ -38267,7 +41286,7 @@ }, "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.\nIf not specified, there will be no timeout limit, i.e. the maximum duration is infinite.\nThis field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED." + "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." }, "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.", @@ -38280,19 +41299,19 @@ }, "outlierDetection": { "$ref": "OutlierDetection", - "description": "Settings controlling the eviction of unhealthy hosts from the load balancing pool for the backend service. If not set, this feature is considered disabled.\n\nThis field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. \n\nNot 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." + "description": "Settings controlling the eviction of unhealthy hosts from the load balancing pool for the backend service. If not set, this feature is considered disabled. 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. 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": { - "description": "Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80.\n\nBackend services for Internal TCP/UDP Load Balancing and Network Load Balancing require you omit port.", + "description": "Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. For Internal TCP/UDP Load Balancing and Network Load Balancing, 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. Required when the loadBalancingScheme is EXTERNAL (except Network Load Balancing), INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED and the backends are instance groups. The named port must be defined on each backend instance group. This parameter has no meaning if the backends are NEGs.\n\n\n\nBackend services for Internal TCP/UDP Load Balancing and Network Load Balancing require you omit port_name.", + "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 TCP/UDP Load Balancing and Network Load Balancing, omit port_name.", "type": "string" }, "protocol": { - "description": "The protocol this BackendService uses to communicate with backends.\n\nPossible 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 balancer or for Traffic Director for more information.\n\nMust be set to GRPC when the backend service is referenced by a URL map that is bound to target gRPC proxy.", + "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", @@ -38301,17 +41320,19 @@ "HTTPS", "SSL", "TCP", - "UDP" + "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).", "", + "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" }, @@ -38325,7 +41346,7 @@ }, "securitySettings": { "$ref": "SecuritySettings", - "description": "This field specifies the security policy that applies to this backend service. This field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED." + "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.", @@ -38335,8 +41356,19 @@ "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, INTERNAL_MANAGED or INTERNAL_SELF_MANAGED. If used with a backend service, must reference a global policy. If used with a regional backend service, must reference a regional policy.", + "type": "string" + }, "sessionAffinity": { - "description": "Type of session affinity to use. The default is NONE.\n\nWhen the loadBalancingScheme is EXTERNAL: * For Network Load Balancing, the possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. * For all other load balancers that use loadBalancingScheme=EXTERNAL, the possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS.\n\nWhen the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.\n\nWhen the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE.\n\nNot 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.", + "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", @@ -38348,14 +41380,14 @@ "NONE" ], "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." ], "type": "string" }, @@ -38363,7 +41395,7 @@ "$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 is 1 - 2,147,483,647 seconds.", + "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 is 1 - 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" } @@ -38439,36 +41471,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -38510,7 +41542,7 @@ "description": "The CacheKeyPolicy for this CdnPolicy." }, "cacheMode": { - "description": "Specifies the cache setting for all responses from this backend. The possible values are:\n\nUSE_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.\n\nFORCE_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.\n\nCACHE_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.", + "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.", "enum": [ "CACHE_ALL_STATIC", "FORCE_CACHE_ALL", @@ -38518,15 +41550,15 @@ "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 86400s (1 day).", + "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" }, @@ -38608,7 +41640,7 @@ "id": "BackendServiceConnectionTrackingPolicy", "properties": { "connectionPersistenceOnUnhealthyBackends": { - "description": "Specifies connection persistence when backends are unhealthy. The default value is DEFAULT_FOR_PROTOCOL.\n\nIf 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.\n\nIf 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).\n\nIf 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.", + "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", @@ -38621,13 +41653,17 @@ ], "type": "string" }, + "enableStrongAffinity": { + "description": "Enable Strong Session Affinity for Network Load Balancing. 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).\n\nFor L4 ILB the minimum(default) is 10 minutes and maximum is 16 hours.\n\nFor NLB the minimum(default) is 60 seconds and the maximum is 16 hours.\n\nThis field will be supported only if the Connection Tracking key is less than 5-tuple.", + "description": "Specifies how long to keep a Connection Tracking entry while there is no matching traffic (in seconds). For Internal TCP/UDP Load Balancing: - 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 Network Load Balancer 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:\n\nPER_CONNECTION: This is the default mode. The Connection Tracking is performed as per the Connection Key (default Hash Method) for the specific protocol.\n\nPER_SESSION: The Connection Tracking is performed as per the configured Session Affinity. It matches the configured Session Affinity.", + "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", @@ -38644,19 +41680,19 @@ "type": "object" }, "BackendServiceFailoverPolicy": { - "description": "Applicable only to Failover for Internal TCP/UDP Load Balancing and Network Load Balancing. On failover or failback, this field indicates whether connection draining will be honored. GCP 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).", + "description": "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). 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.\n\nThe default is false.", + "description": "This can be set to true only if the protocol is TCP. The default is false.", "type": "boolean" }, "dropTrafficIfUnhealthy": { - "description": "Applicable only to Failover for Internal TCP/UDP Load Balancing and Network Load Balancing, 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. The default is false.", + "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 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). The default is false.", "type": "boolean" }, "failoverRatio": { - "description": "Applicable only to Failover for Internal TCP/UDP Load Balancing and Network Load Balancing. 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.", + "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" } @@ -38705,7 +41741,7 @@ "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.", + "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": { @@ -38794,36 +41830,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -38917,36 +41953,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -38973,7 +42009,6 @@ "type": "object" }, "BfdPacket": { - "description": "", "id": "BfdPacket", "properties": { "authenticationPresent": { @@ -39237,32 +42272,33 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "description": "Associates `members`, or principals, with a `role`.", "id": "Binding", "properties": { "bindingId": { - "description": "", + "description": "This is deprecated and has no effect. Do not use.", "type": "string" }, "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the current request.\n\nIf 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.\n\nTo learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + "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 identities requesting access for a Cloud Platform resource. `members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` .\n\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`.\n\n* `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.\n\n* `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.\n\n* `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.\n\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.", + "description": "Specifies the principals 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`.", + "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" }, "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": { @@ -39272,22 +42308,23 @@ }, "instance": { "$ref": "Instance", - "description": "The instance defining the VM instances to be created." + "description": "DEPRECATED: Please use instance_properties instead." }, "instanceProperties": { "$ref": "InstanceProperties", "description": "The instance properties defining the VM instances to be created. Required if sourceInstanceTemplate is not provided." }, "locationPolicy": { - "$ref": "LocationPolicy" + "$ref": "LocationPolicy", + "description": "Policy for chosing target zone." }, "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.", + "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 predefined_names must be set. The pattern should contain one consecutive sequence of placeholder hash characters (#) with each character corresponding to one digit of the generated instance name. Example: name_pattern of inst-#### will generate instance names like inst-0001, inst-0002, ... . If there already exist instance(s) whose names match the name pattern in the same project and zone, then the generated instance numbers will 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-#### will be inst-0051, inst-0052, etc. The name pattern placeholder #...# can contain up to 18 characters.", + "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": { @@ -39297,15 +42334,8 @@ "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" }, - "predefinedNames": { - "description": "List of predefined names. The number of names provided must be equal to count.", - "items": { - "type": "string" - }, - "type": "array" - }, "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.\n\nIt can be a full or partial URL. For example, the following are all valid URLs to an instance template: \n- https://www.googleapis.com/compute/v1/projects/project/global/instanceTemplates/instanceTemplate \n- projects/project/global/instanceTemplates/instanceTemplate \n- global/instanceTemplates/instanceTemplate \n\nThis field is optional.", + "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" } }, @@ -39343,6 +42373,20 @@ "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" @@ -39373,15 +42417,15 @@ "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: \n- GCE_VM: The local GCE VM service account credentials are used to access the SDS server.\n- FROM_PLUGIN: Custom authenticator credentials are used to access the SDS server.", + "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" @@ -39409,8 +42453,8 @@ "INVALID" ], "enumDescriptions": [ - "", - "", + "Use TLS certificates to access the SDS server.", + "Use local GCE VM credentials to access the SDS server.", "" ], "type": "string" @@ -39419,7 +42463,7 @@ "type": "object" }, "CircuitBreakers": { - "description": "Settings controlling the volume of connections to a backend service.", + "description": "Settings controlling the volume of requests, connections and retries to this backend service.", "id": "CircuitBreakers", "properties": { "connectTimeout": { @@ -39427,12 +42471,12 @@ "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.", + "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.", + "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" }, @@ -39442,12 +42486,12 @@ "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.", + "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.", + "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" } @@ -39471,10 +42515,10 @@ "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" }, @@ -39493,9 +42537,13 @@ "type": "object" }, "Commitment": { - "description": "Represents a regional Commitment resource.\n\nCreating 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. (== resource_for {$api_version}.regionCommitments ==)", + "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": [ @@ -39536,6 +42584,13 @@ "$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])?", @@ -39581,6 +42636,10 @@ "description": "[Output Only] Server-defined URL for this resource with the resource id.", "type": "string" }, + "splitSourceCommitment": { + "description": "Source commitment to be splitted into a new commitment.", + "type": "string" + }, "startTimestamp": { "description": "[Output Only] Commitment start time in RFC3339 text format.", "type": "string" @@ -39615,8 +42674,8 @@ "GENERAL_PURPOSE_E2", "GENERAL_PURPOSE_N2", "GENERAL_PURPOSE_N2D", + "GENERAL_PURPOSE_T2D", "MEMORY_OPTIMIZED", - "MEMORY_OPTIMIZED_REGIONAL_EXTENSION", "TYPE_UNSPECIFIED" ], "enumDescriptions": [ @@ -39704,36 +42763,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -39820,36 +42879,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -39918,36 +42977,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -39974,11 +43033,11 @@ "type": "object" }, "Condition": { - "description": "A condition to be met.", + "description": "This is deprecated and has no effect. Do not use.", "id": "Condition", "properties": { "iam": { - "description": "Trusted attributes supplied by the IAM system.", + "description": "This is deprecated and has no effect. Do not use.", "enum": [ "APPROVER", "ATTRIBUTION", @@ -39990,19 +43049,19 @@ "SECURITY_REALM" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "" + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use." ], "type": "string" }, "op": { - "description": "An operator to apply the subject with.", + "description": "This is deprecated and has no effect. Do not use.", "enum": [ "DISCHARGED", "EQUALS", @@ -40012,21 +43071,21 @@ "NO_OP" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "" + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use." ], "type": "string" }, "svc": { - "description": "Trusted attributes discharged by the service.", + "description": "This is deprecated and has no effect. Do not use.", "type": "string" }, "sys": { - "description": "Trusted attributes supplied by any service that owns resources and uses the IAM system for access control.", + "description": "This is deprecated and has no effect. Do not use.", "enum": [ "IP", "NAME", @@ -40035,16 +43094,16 @@ "SERVICE" ], "enumDescriptions": [ - "", - "", - "", - "", - "" + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use." ], "type": "string" }, "values": { - "description": "The objects of the condition.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "type": "string" }, @@ -40082,7 +43141,7 @@ "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." + "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.", @@ -40116,11 +43175,11 @@ "type": "object" }, "CorsPolicy": { - "description": "The specification for allowing client side cross-origin requests. Please see W3C Recommendation for Cross Origin Resource Sharing", + "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 translates to the Access-Control-Allow-Credentials header.\nDefault is false.", + "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": { @@ -40138,21 +43197,21 @@ "type": "array" }, "allowOriginRegexes": { - "description": "Specifies the regualar expression patterns that match allowed origins. For regular expression grammar please see github.com/google/re2/wiki/Syntax \nAn origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.", + "description": "Specifies a regular expression that matches allowed origins. For more information about the regular expression syntax, see Syntax. An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.", "items": { "type": "string" }, "type": "array" }, "allowOrigins": { - "description": "Specifies the list of origins that will be allowed to do CORS requests.\nAn origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.", + "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, specifies the CORS policy is disabled. The default value of false, which indicates that the CORS policy is in effect.", + "description": "If true, the setting specifies the CORS policy is disabled. The default value of false, which indicates that the CORS policy is in effect.", "type": "boolean" }, "exposeHeaders": { @@ -40163,7 +43222,7 @@ "type": "array" }, "maxAge": { - "description": "Specifies how long results of a preflight request can be cached in seconds. This translates to the Access-Control-Max-Age header.", + "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" } @@ -40174,19 +43233,19 @@ "id": "CustomerEncryptionKey", "properties": { "kmsKeyName": { - "description": "The name of the encryption key that is stored in Google Cloud KMS.", + "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 ", "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.", + "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.", + "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.\n\nThe key must meet the following requirements before you can provide it to Compute Engine: \n- The key is wrapped using a RSA public key certificate provided by Google. \n- After being wrapped, the key must be encoded in RFC 4648 base64 encoding. Gets the RSA public key certificate provided by Google at:\nhttps://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem", + "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": { @@ -40204,7 +43263,7 @@ "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.", + "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" } }, @@ -40248,15 +43307,40 @@ }, "stateOverride": { "$ref": "RolloutPolicy", - "description": "The rollout policy of 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." + "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.\n\nGoogle Compute Engine has two Disk resources:\n\n* [Zonal](/compute/docs/reference/rest/{$api_version}/disks) * [Regional](/compute/docs/reference/rest/{$api_version}/regionDisks)\n\nPersistent 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.\n\nThe disks resource represents a zonal persistent disk. For more information, read Zonal persistent disks.\n\nThe regionDisks resource represents a regional persistent disk. For more information, read Regional resources. (== resource_for {$api_version}.disks ==) (== resource_for {$api_version}.regionDisks ==)", + "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": { + "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" @@ -40267,14 +43351,14 @@ }, "diskEncryptionKey": { "$ref": "CustomerEncryptionKey", - "description": "Encrypts the disk using a customer-supplied encryption key.\n\nAfter you encrypt a disk with a customer-supplied key, you must provide the same key if you use the disk later (e.g. to create a disk snapshot, to create a disk image, to create a machine image, or to attach the disk to a virtual machine).\n\nCustomer-supplied encryption keys do not protect access to metadata of the disk.\n\nIf you do not provide an encryption key when creating the disk, 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." + "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." }, "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.", + "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" }, @@ -40286,7 +43370,7 @@ "type": "string" }, "interface": { - "description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI.", + "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", @@ -40305,7 +43389,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a disk.", + "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" }, @@ -40343,6 +43427,10 @@ "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" @@ -40367,7 +43455,7 @@ "type": "string" }, "provisionedIops": { - "description": "Indicates how many IOPS must be provisioned for the disk.", + "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" }, @@ -40389,6 +43477,10 @@ }, "type": "array" }, + "resourceStatus": { + "$ref": "DiskResourceStatus", + "description": "[Output Only] Status information for the disk resource." + }, "satisfiesPzs": { "description": "[Output Only] Reserved for future use.", "type": "boolean" @@ -40402,12 +43494,20 @@ "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.\n\nIf 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 1 to 65536, inclusive.", + "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 1 to 65536, inclusive.", "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: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk \n- https://www.googleapis.com/compute/v1/projects/project/regions/region/disks/disk \n- projects/project/zones/zone/disks/disk \n- projects/project/regions/region/disks/disk \n- zones/zone/disks/disk \n- regions/region/disks/disk", + "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": { @@ -40415,7 +43515,7 @@ "type": "string" }, "sourceImage": { - "description": "The source image used to create this disk. If the source image is deleted, this field will not be set.\n\nTo 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:\nprojects/debian-cloud/global/images/family/debian-9\n\n\nAlternatively, use a specific version of a public operating system image:\nprojects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD\n\n\nTo create a disk with a custom image that you created, specify the image name in the following format:\nglobal/images/my-custom-image\n\n\nYou 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:\nglobal/images/family/my-image-family", + "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": { @@ -40426,16 +43526,8 @@ "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" }, - "sourceInPlaceSnapshot": { - "description": "[Deprecated] The source in-place 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: \n- https://www.googleapis.com/compute/v1/projects/project/global/inPlaceSnapshots/inPlaceSnapshots \n- projects/project/global/inPlaceSnapshots/inPlaceSnapshots \n- global/inPlaceSnapshots/inPlaceSnapshots", - "type": "string" - }, - "sourceInPlaceSnapshotId": { - "description": "[Deprecated] [Output Only] The unique ID of the in-place snapshot used to create this disk. This value identifies the exact in-place snapshot that was used to create this persistent disk. For example, if you created the persistent disk from an in-place snapshot that was later deleted and recreated under the same name, the source in-place snapshot ID would identify the exact version of the in-place snapshot 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: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/instantSnapshots/instantSnapshot \n- projects/project/zones/zone/instantSnapshots/instantSnapshot \n- zones/zone/instantSnapshots/instantSnapshot", + "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": { @@ -40443,7 +43535,7 @@ "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: \n- https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot \n- projects/project/global/snapshots/snapshot \n- global/snapshots/snapshot", + "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": { @@ -40459,7 +43551,7 @@ "type": "string" }, "status": { - "description": "[Output Only] The status of disk creation. \n- CREATING: Disk is provisioning. \n- RESTORING: Source data is being copied into the disk. \n- FAILED: Disk creation failed. \n- READY: Disk is ready for use. \n- DELETING: Disk is deleting.", + "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", @@ -40468,11 +43560,11 @@ "RESTORING" ], "enumDescriptions": [ - "", - "", - "", - "", - "" + "Disk is provisioning", + "Disk is deleting.", + "Disk creation failed.", + "Disk is ready for use.", + "Source data is being copied into the disk." ], "type": "string" }, @@ -40489,11 +43581,11 @@ "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-standard or pd-ssd", + "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:\nhttps://www.googleapis.com/compute/v1/projects/debian-cloud/global/licenses/debian-9-stretch", + "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" }, @@ -40581,36 +43673,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -40636,6 +43728,29 @@ }, "type": "object" }, + "DiskAsyncReplication": { + "id": "DiskAsyncReplication", + "properties": { + "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", @@ -40653,7 +43768,7 @@ "type": "string" }, "instantiateFrom": { - "description": "Specifies whether to include the disk and what image to use. Possible values are: \n- 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. \n- 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. \n- custom-image: to use a user-provided image url for disk creation. Applicable to the boot disk and additional read-write disks. \n- attach-read-only: to attach a read-only disk. Applicable to read-only disks. \n- do-not-include: to exclude a disk from the template. Applicable to additional read-write disks, local SSDs, and read-only disks.", + "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", @@ -40664,13 +43779,13 @@ "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" } @@ -40738,36 +43853,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -40797,18 +43912,57 @@ "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: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone \n- projects/project/zones/zone \n- zones/zone", + "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: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk \n- projects/project/zones/zone/disks/disk \n- zones/zone/disks/disk", + "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" + }, + "DiskResourceStatus": { + "id": "DiskResourceStatus", + "properties": { + "asyncPrimaryDisk": { + "$ref": "DiskResourceStatusAsyncReplicationStatus" + }, + "asyncSecondaryDisks": { + "additionalProperties": { + "$ref": "DiskResourceStatusAsyncReplicationStatus" + }, + "description": "Key: disk, value: AsyncReplicationStatus message", + "type": "object" + } + }, + "type": "object" + }, + "DiskResourceStatusAsyncReplicationStatus": { + "id": "DiskResourceStatusAsyncReplicationStatus", + "properties": { + "state": { + "enum": [ + "ACTIVE", + "STARTING", + "STATE_UNSPECIFIED", + "STOPPED", + "STOPPING" + ], + "enumDescriptions": [ + "Replication is active.", + "Replication is starting.", + "", + "Replication is stopped.", + "Replication is stopping." + ], "type": "string" } }, "type": "object" }, "DiskType": { - "description": "Represents a Disk Type resource.\n\nGoogle Compute Engine has two Disk Type resources:\n\n* [Regional](/compute/docs/reference/rest/{$api_version}/regionDiskTypes) * [Zonal](/compute/docs/reference/rest/{$api_version}/diskTypes)\n\nYou can choose from a variety of disk types based on your needs. For more information, read Storage options.\n\nThe diskTypes resource represents disk types for a zonal persistent disk. For more information, read Zonal persistent disks.\n\nThe regionDiskTypes resource represents disk types for a regional persistent disk. For more information, read Regional persistent disks. (== resource_for {$api_version}.diskTypes ==) (== resource_for {$api_version}.regionDiskTypes ==)", + "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": { @@ -40934,36 +44088,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -41050,36 +44204,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -41148,36 +44302,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -41207,7 +44361,7 @@ "id": "DisksAddResourcePoliciesRequest", "properties": { "resourcePolicies": { - "description": "Resource policies to be added to this disk. Currently you can only specify one policy here.", + "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" }, @@ -41283,36 +44437,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -41338,6 +44492,36 @@ }, "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" + }, + "DisksStopAsyncReplicationRequest": { + "id": "DisksStopAsyncReplicationRequest", + "properties": { + "asyncSecondaryDisk": { + "description": "The secondary disk to stop asynchronous replication to. Supplied if and only if the target disk is a primary disk in an asynchronously replicated pair. 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" + }, + "DisksStopGroupAsyncReplicationRequest": { + "id": "DisksStopGroupAsyncReplicationRequest", + "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", @@ -41360,9 +44544,9 @@ "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 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" }, @@ -41437,9 +44621,9 @@ "SUBNET_PEERING_ROUTE" ], "enumDescriptions": [ - "", - "", - "" + "For routes exported from local network.", + "The peering route.", + "The peering route corresponding to subnetwork range." ], "type": "string" } @@ -41506,36 +44690,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -41562,7 +44746,7 @@ "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.\n\nExample (Comparison):\n\ntitle: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\ntitle: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\ntitle: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\ntitle: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\"\n\nThe 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.", + "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": { @@ -41585,7 +44769,7 @@ "type": "object" }, "ExternalVpnGateway": { - "description": "Represents an external VPN gateway.\n\nExternal VPN gateway is the on-premises VPN gateway(s) or another cloud provider's VPN gateway that connects to your Google Cloud VPN gateway.\n\nTo 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.\n\nFor more information about using external VPN gateways, see Creating an HA VPN gateway and tunnel pair to a peer VPN. (== resource_for {$api_version}.externalVpnGateways ==)", + "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": { @@ -41602,7 +44786,7 @@ "type": "string" }, "interfaces": { - "description": "List of interfaces for this external VPN gateway.", + "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" }, @@ -41614,7 +44798,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve an ExternalVpnGateway.", + "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" }, @@ -41643,9 +44827,9 @@ "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" }, @@ -41661,7 +44845,7 @@ "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", + "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" }, @@ -41692,7 +44876,7 @@ }, "kind": { "default": "compute#externalVpnGatewayList", - "description": "[Output Only] Type of resource. Always compute#externalVpnGatewayList for lists of externalVpnGateways.", + "description": "[Output Only] Type of resource. Always compute#externalVpnGatewayList for lists of externalVpnGateways.", "type": "string" }, "nextPageToken": { @@ -41736,36 +44920,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -41817,7 +45001,7 @@ "type": "object" }, "Firewall": { - "description": "Represents a Firewall Rule resource.\n\nFirewall rules allow or deny ingress traffic to, and egress traffic from your instances. For more information, read Firewall rules.", + "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": { @@ -41829,7 +45013,7 @@ "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.\n\nExample inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", + "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" }, @@ -41853,7 +45037,7 @@ "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.\n\nExample inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", + "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" }, @@ -41869,7 +45053,7 @@ "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. Only IPv4 is supported.", + "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" }, @@ -41882,8 +45066,8 @@ "INGRESS" ], "enumDescriptions": [ - "", - "" + "Indicates that firewall should apply to outgoing traffic.", + "Indicates that firewall should apply to incoming traffic." ], "type": "string" }, @@ -41916,12 +45100,12 @@ "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.", + "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:\nglobal/networks/default\nIf 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: \n- https://www.googleapis.com/compute/v1/projects/myproject/global/networks/my-network \n- projects/myproject/global/networks/my-network \n- global/networks/default", + "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": { @@ -41938,7 +45122,7 @@ "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. Only IPv4 is supported.", + "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" }, @@ -42036,36 +45220,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -42133,7 +45317,7 @@ "type": "object" }, "FirewallPolicy": { - "description": "Represents a Firewall Policy resource. (== resource_for {$api_version}.firewallPolicies ==)", + "description": "Represents a Firewall Policy resource.", "id": "FirewallPolicy", "properties": { "associations": { @@ -42152,12 +45336,12 @@ "type": "string" }, "displayName": { - "description": "Depreacted, please use short name instead. User-provided name of the Organization firewall plicy. The name should be unique in the organization in which the firewall policy 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.", + "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 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.\n\nTo see the latest fingerprint, make get() request to the firewall policy.", + "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" }, @@ -42204,9 +45388,21 @@ "type": "string" }, "shortName": { - "description": "User-provided name of the Organization firewall plicy. The name should be unique in the organization in which the firewall policy 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.", + "description": "User-provided name of the Organization firewall plicy. The name should be unique in the organization in which the firewall policy is created. 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" @@ -42293,36 +45489,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -42394,6 +45590,10 @@ "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", @@ -42406,13 +45606,6 @@ }, "type": "array" }, - "targetSecureLabels": { - "description": "A list of secure labels that controls which instances the firewall rule applies to. If targetSecureLabel are specified, then the firewall rule applies only to instances in the VPC network that have one of those secure labels. targetSecureLabel may not be set at the same time as targetServiceAccounts. If neither targetServiceAccounts nor targetSecureLabel are specified, the firewall rule applies to all instances on the specified network. Maximum number of target label values allowed is 256.", - "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": { @@ -42434,8 +45627,36 @@ "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 1000.", + "items": { + "type": "string" + }, + "type": "array" + }, "destIpRanges": { - "description": "CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 256.", + "description": "CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" }, @@ -42448,15 +45669,29 @@ }, "type": "array" }, - "srcIpRanges": { - "description": "CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 256.", + "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" }, - "srcSecureLabels": { - "description": "List of firewall label values, which should be matched at the source of the traffic. Maximum number of source label values allowed is 256.", + "srcFqdns": { + "description": "Fully Qualified Domain Name (FQDN) which should be matched against traffic source. Maximum number of source fqdn allowed is 1000.", + "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" + }, + "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" }, @@ -42468,6 +45703,13 @@ "$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" @@ -42480,7 +45722,7 @@ "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.\n\nExample inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", + "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" }, @@ -42517,7 +45759,7 @@ "id": "FixedOrPercent", "properties": { "calculated": { - "description": "[Output Only] Absolute value of VM instances calculated based on the specific mode.\n\n \n- If the value is fixed, then the calculated value is equal to the fixed value. \n- 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 up.", + "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" }, @@ -42535,20 +45777,21 @@ "type": "object" }, "ForwardingRule": { - "description": "Represents a Forwarding Rule resource.\n\nForwarding rule resources in GCP can be either regional or global in scope:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/globalForwardingRules) * [Regional](/compute/docs/reference/rest/{$api_version}/forwardingRules)\n\nA forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud Platform load balancer. Forwarding rules can also reference target instances and Cloud VPN Classic gateways (targetVpnGateway).\n\nFor more information, read Forwarding rule concepts and Using protocol forwarding.\n\n(== resource_for {$api_version}.forwardingRules ==) (== resource_for {$api_version}.globalForwardingRules ==) (== resource_for {$api_version}.regionForwardingRules ==)", + "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 Platform 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 that this forwarding rule serves. When a client sends traffic to this IP address, the forwarding rule directs the traffic to the target that you specify in the forwarding rule.\n\nIf you don't specify a reserved IP address, an ephemeral IP address is assigned. Methods for specifying an IP address:\n\n* IPv4 dotted decimal, as in `100.1.2.3` * Full URL, as in https://www.googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-name * Partial URL or by name, as in: \n- projects/project_id/regions/region/addresses/address-name \n- regions/region/addresses/address-name \n- global/addresses/address-name \n- address-name \n\nThe loadBalancingScheme and the forwarding rule's target determine the type of IP address that you can use. For detailed information, refer to [IP address specifications](/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).\n\nMust be set to `0.0.0.0` when the target is targetGrpcProxy that has validateForProxyless field set to true.\n\nFor Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.", + "description": "IP address that this forwarding rule serves. When a client sends traffic to this IP address, the forwarding rule directs the traffic to the target that you specify in the forwarding rule. If you don't specify a reserved IP address, an ephemeral IP address is assigned. Methods for specifying an IP address: * IPv4 dotted decimal, as in `100.1.2.3` * Full 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 loadBalancingScheme and the forwarding rule's target 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). Must be set to `0.0.0.0` when the target is targetGrpcProxy that has validateForProxyless field set to true. For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.", "type": "string" }, "IPProtocol": { - "description": "The IP protocol to which this rule applies.\n\nFor protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.\n\nThe valid IP protocols are different for different load balancing products: \n- Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid. \n- Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid. \n- Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid. \n- HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid. \n- Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.", + "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" @@ -42560,18 +45803,23 @@ "", "", "", + "", "" ], "type": "string" }, "allPorts": { - "description": "This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.\n\nWhen the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.", + "description": "This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance. You can only use one of ports and port_range, or allPorts. The three are mutually exclusive. For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.", "type": "boolean" }, "allowGlobalAccess": { "description": "This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.", "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" + }, "backendService": { "description": "Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.", "type": "string" @@ -42585,7 +45833,7 @@ "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 ForwardingRule. Include the fingerprint in patch request to ensure that you do not overwrite changes that were applied from another concurrent request.\n\nTo see the latest fingerprint, make a get() request to retrieve a ForwardingRule.", + "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" }, @@ -42618,7 +45866,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a ForwardingRule.", + "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" }, @@ -42630,7 +45878,7 @@ "type": "object" }, "loadBalancingScheme": { - "description": "Specifies the forwarding rule type.\n\n \n- EXTERNAL is used for: \n- Classic Cloud VPN gateways \n- Protocol forwarding to VMs from an external IP address \n- HTTP(S), SSL Proxy, TCP Proxy, and Network Load Balancing \n- INTERNAL is used for: \n- Protocol forwarding to VMs from an internal IP address \n- Internal TCP/UDP Load Balancing \n- INTERNAL_MANAGED is used for: \n- Internal HTTP(S) Load Balancing \n- INTERNAL_SELF_MANAGED is used for: \n- Traffic Director \n\nFor more information about forwarding rules, refer to Forwarding rule concepts.", + "description": "Specifies the forwarding rule type. For more information about forwarding rules, refer to Forwarding rule concepts.", "enum": [ "EXTERNAL", "EXTERNAL_MANAGED", @@ -42650,23 +45898,23 @@ "type": "string" }, "metadataFilters": { - "description": "Opaque filter criteria used by Loadbalancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to Loadbalancer, 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 will not be visible to those proxies.\nFor 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.\nmetadataFilters specified here will be applifed before those specified in the UrlMap that this ForwardingRule references.\nmetadataFilters only applies to Loadbalancers that have their loadBalancingScheme set to INTERNAL_SELF_MANAGED.", + "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.", + "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 external load balancing.\n\nFor Internal TCP/UDP Load Balancing, this field identifies the network that the load balanced IP should belong to for this Forwarding Rule. If this field is not specified, the default network will be used.\n\nFor Private Service Connect forwarding rules that forward traffic to Google APIs, a network must be provided.", + "description": "This field is not used for external load balancing. For Internal TCP/UDP Load Balancing, this field identifies the network that the load balanced IP should belong to for this Forwarding Rule. If this field is not 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.\n\nFor regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.\n\nIf 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.", + "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", @@ -42675,20 +45923,20 @@ "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" }, "portRange": { - "description": "This field can be used only if: * Load balancing scheme is one of EXTERNAL, INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.\n\nPackets addressed to ports in the specified range will be forwarded to target or backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.\n\nSome types of forwarding target have constraints on the acceptable ports: \n- TargetHttpProxy: 80, 8080 \n- TargetHttpsProxy: 443 \n- TargetGrpcProxy: no constraints \n- TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetVpnGateway: 500, 4500", + "description": "This field can be used only if: - Load balancing scheme is one of EXTERNAL, INTERNAL_SELF_MANAGED or INTERNAL_MANAGED - IPProtocol is one of TCP, UDP, or SCTP. Packets addressed to ports in the specified range will be forwarded to target or backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports. Some types of forwarding target have constraints on the acceptable ports. For more information, see [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#port_specifications). @pattern: \\\\d+(?:-\\\\d+)?", "type": "string" }, "ports": { - "description": "The ports field is only supported when the forwarding rule references a backend_service directly. Supported load balancing products are Internal TCP/UDP Load Balancing and Network Load Balancing. Only packets addressed to the specified list of ports are forwarded to backends.\n\nYou can only use one of ports and port_range, or allPorts. The three are mutually exclusive.\n\nYou can specify a list of up to five ports, which can be non-contiguous.\n\nFor Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.\n\nFor more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).", + "description": "The ports field is only supported when the forwarding rule references a backend_service directly. Only packets addressed to the [specified list of ports]((https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#port_specifications)) are forwarded to backends. You can only use one of ports and port_range, or allPorts. The three are mutually exclusive. You can specify a list of up to five ports, which can be non-contiguous. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports. @pattern: \\\\d+(?:-\\\\d+)?", "items": { "type": "string" }, @@ -42699,6 +45947,23 @@ "format": "uint64", "type": "string" }, + "pscConnectionStatus": { + "enum": [ + "ACCEPTED", + "CLOSED", + "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 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" @@ -42712,23 +45977,30 @@ "type": "string" }, "serviceDirectoryRegistrations": { - "description": "Service Directory resources to register this forwarding rule with. Currently, only supports a single Service Directory resource.\n\nIt is only supported for Internal TCP/UDP Load Balancing and Internal HTTP(S) Load Balancing.", + "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.\n\nThe 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.\n\nThis field is only used for internal load balancing.", + "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.\n\nThis field is only used for internal load balancing.", + "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 is only used for internal load balancing.\n\nFor internal load balancing, this field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule.\n\nIf the network specified is in auto subnet mode, this field is optional. However, if the network is in custom subnet mode, a subnetwork must be specified.", + "description": "This field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule, used in internal load balancing and network load balancing 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": { @@ -42805,36 +46077,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -42921,36 +46193,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -43047,36 +46319,533 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "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": { + "creationTimestamp": { + "description": "[Output Only] The creation timestamp for this future reservation in RFC3339 text format.", + "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", + "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" + }, + "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." + }, + "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" + }, + "FutureReservationSpecificSKUProperties": { + "id": "FutureReservationSpecificSKUProperties", + "properties": { + "instanceProperties": { + "$ref": "AllocationSpecificSKUAllocationReservedInstanceProperties", + "description": "Properties of the SKU instances being reserved." + }, + "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": { + "autoCreatedReservations": { + "description": "Fully qualified urls of the automatically created reservations at start_time.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "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", + "FAILED", + "FAILED_PARTIALLY_FULFILLED", + "FULFILLED", + "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.", + "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.", + "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" + }, + "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", + "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", + "LARGE_DEPLOYMENT_WARNING", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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", + "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", + "LARGE_DEPLOYMENT_WARNING", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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", + "LARGE_DEPLOYMENT_WARNING", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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": { @@ -43106,7 +46875,7 @@ "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:\n- Empty service_name means the overall status of all services at the backend.\n- Non-empty service_name means the health of that gRPC service, as defined by the owner of the service.\nThe grpc_service_name can only be ASCII.", + "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": { @@ -43119,16 +46888,16 @@ "type": "string" }, "portSpecification": { - "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in port is used for health checking.\nUSE_NAMED_PORT: The portName is used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, gRPC health check follows behavior specified in port and portName fields.", + "description": "Specifies how port is selected for health checking, can be one of following values: USE_FIXED_PORT: The port number in port is used for health checking. USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking. If not specified, gRPC health check follows behavior specified in port and portName fields.", "enum": [ "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT" ], "enumDescriptions": [ - "", - "", - "" + "The port number in port is used for health checking.", + "The portName is used for health checking.", + "For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking." ], "type": "string" } @@ -43262,7 +47031,7 @@ "type": "string" }, "queryPath": { - "description": "The path to be queried. This can be the default namespace ('/') or a nested namespace ('/\\/') or a specified key ('/\\/\\')", + "description": "The path to be queried. This can be the default namespace ('') or a nested namespace ('\\/') or a specified key ('\\/\\').", "type": "string" }, "queryValue": { @@ -43321,7 +47090,7 @@ "id": "GuestOsFeature", "properties": { "type": { - "description": "The ID of a supported feature. Read Enabling guest operating system features to see a list of available options.", + "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 - SECURE_BOOT - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_SNP_CAPABLE For more information, see Enabling guest operating system features.", "enum": [ "BARE_METAL_LINUX_COMPATIBLE", "FEATURE_TYPE_UNSPECIFIED", @@ -43366,16 +47135,16 @@ "type": "string" }, "portSpecification": { - "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in port is used for health checking.\nUSE_NAMED_PORT: The portName is used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, HTTP2 health check follows behavior specified in port and portName fields.", + "description": "Specifies how port is selected for health checking, can be one of following values: USE_FIXED_PORT: The port number in port is used for health checking. USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking. If not specified, HTTP2 health check follows behavior specified in port and portName fields.", "enum": [ "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT" ], "enumDescriptions": [ - "", - "", - "" + "The port number in port is used for health checking.", + "The portName is used for health checking.", + "For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking." ], "type": "string" }, @@ -43407,9 +47176,9 @@ "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" } @@ -43433,16 +47202,16 @@ "type": "string" }, "portSpecification": { - "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in port is used for health checking.\nUSE_NAMED_PORT: The portName is used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, HTTP health check follows behavior specified in port and portName fields.", + "description": "Specifies how port is selected for health checking, can be one of following values: USE_FIXED_PORT: The port number in port is used for health checking. USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking. If not specified, HTTP health check follows behavior specified in port and portName fields.", "enum": [ "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT" ], "enumDescriptions": [ - "", - "", - "" + "The port number in port is used for health checking.", + "The portName is used for health checking.", + "For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking." ], "type": "string" }, @@ -43474,9 +47243,9 @@ "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" } @@ -43500,16 +47269,16 @@ "type": "string" }, "portSpecification": { - "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in port is used for health checking.\nUSE_NAMED_PORT: The portName is used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, HTTPS health check follows behavior specified in port and portName fields.", + "description": "Specifies how port is selected for health checking, can be one of following values: USE_FIXED_PORT: The port number in port is used for health checking. USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking. If not specified, HTTPS health check follows behavior specified in port and portName fields.", "enum": [ "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT" ], "enumDescriptions": [ - "", - "", - "" + "The port number in port is used for health checking.", + "The portName is used for health checking.", + "For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking." ], "type": "string" }, @@ -43541,9 +47310,9 @@ "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" } @@ -43551,7 +47320,7 @@ "type": "object" }, "HealthCheck": { - "description": "Represents a Health Check resource.\n\nGoogle Compute Engine has two Health Check resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/healthChecks) * [Regional](/compute/docs/reference/rest/{$api_version}/regionHealthChecks)\n\nInternal HTTP(S) load balancers must use regional health checks (`compute.v1.regionHealthChecks`).\n\nTraffic Director must use global health checks (`compute.v1.HealthChecks`).\n\nInternal TCP/UDP load balancers can use either regional or global health checks (`compute.v1.regionHealthChecks` or `compute.v1.HealthChecks`).\n\nExternal HTTP(S), TCP proxy, and SSL proxy load balancers as well as managed instance group auto-healing must use global health checks (`compute.v1.HealthChecks`).\n\nNetwork load balancers must use legacy HTTP health checks (httpHealthChecks).\n\nFor more information, see Health checks overview.", + "description": "Represents a Health Check resource. Google Compute Engine has two Health Check resources: * [Global](/compute/docs/reference/rest/alpha/healthChecks) * [Regional](/compute/docs/reference/rest/alpha/regionHealthChecks) Internal HTTP(S) load balancers must use regional health checks (`compute.v1.regionHealthChecks`). Traffic Director must use global health checks (`compute.v1.HealthChecks`). Internal TCP/UDP load balancers can use either regional or global health checks (`compute.v1.regionHealthChecks` or `compute.v1.HealthChecks`). External HTTP(S), TCP proxy, and SSL proxy load balancers as well as managed instance group auto-healing must use global health checks (`compute.v1.HealthChecks`). Backend service-based network load balancers must use regional health checks (`compute.v1.regionHealthChecks`). Target pool-based network load balancers must use legacy HTTP health checks (`compute.v1.httpHealthChecks`). For more information, see Health checks overview.", "id": "HealthCheck", "properties": { "checkIntervalSec": { @@ -43627,7 +47396,7 @@ "type": "integer" }, "type": { - "description": "Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS or HTTP2. If not specified, the default is TCP. Exactly one of the protocol-specific health check field must be specified, which must match type field.", + "description": "Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS or HTTP2. Exactly one of the protocol-specific health check field must be specified, which must match type field.", "enum": [ "GRPC", "HTTP", @@ -43722,36 +47491,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -43789,7 +47558,7 @@ "type": "object" }, "HealthCheckReference": { - "description": "A full or valid partial URL to a health check. For example, the following are valid URLs: \n- https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealthChecks/health-check \n- projects/project-id/global/httpHealthChecks/health-check \n- global/httpHealthChecks/health-check", + "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": { @@ -43799,7 +47568,7 @@ "type": "object" }, "HealthCheckService": { - "description": "Represents a Health-Check as a Service resource.\n\n(== resource_for {$api_version}.regionHealthCheckServices ==)", + "description": "Represents a Health-Check as a Service resource.", "id": "HealthCheckService", "properties": { "creationTimestamp": { @@ -43816,33 +47585,33 @@ "type": "string" }, "healthChecks": { - "description": "List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_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 increment counter /iam/policy/debug_access_count {iam_principal=[value of IAMContext.principal]}", + "description": "This is deprecated and has no effect. Do not use.", "id": "LogConfigCounterOptions", "properties": { "customFields": { - "description": "Custom fields.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "$ref": "LogConfigCounterOptionsCustomField" }, "type": "array" }, "field": { - "description": "The field value to attribute.", + "description": "This is deprecated and has no effect. Do not use.", "type": "string" }, "metric": { - "description": "The metric to update.", + "description": "This is deprecated and has no effect. Do not use.", "type": "string" } }, "type": "object" }, "LogConfigCounterOptionsCustomField": { - "description": "Custom fields. These can be used to create a counter with arbitrary field/value pairs. See: go/rpcsp-custom-fields.", + "description": "This is deprecated and has no effect. Do not use.", "id": "LogConfigCounterOptionsCustomField", "properties": { "name": { - "description": "Name is the field name.", + "description": "This is deprecated and has no effect. Do not use.", "type": "string" }, "value": { - "description": "Value is the field value. It is important that in contrast to the CounterOptions.field, the value here is a constant that is not derived from the IAMContext.", + "description": "This is deprecated and has no effect. Do not use.", "type": "string" } }, "type": "object" }, "LogConfigDataAccessOptions": { - "description": "Write a Data Access (Gin) log", + "description": "This is deprecated and has no effect. Do not use.", "id": "LogConfigDataAccessOptions", "properties": { "logMode": { - "description": "", + "description": "This is deprecated and has no effect. Do not use.", "enum": [ "LOG_FAIL_CLOSED", "LOG_MODE_UNSPECIFIED" ], "enumDescriptions": [ - "", - "" + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use." ], "type": "string" } @@ -51555,7 +55797,7 @@ "type": "object" }, "MachineImage": { - "description": "Represents a machine image resource.\n\nA 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. (== resource_for {$api_version}.machineImages ==)", + "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": { @@ -51567,7 +55809,7 @@ "type": "string" }, "guestFlush": { - "description": "[Input Only] Whether to attempt an application consistent machine image by informing the OS to prepare for the snapshot process. Currently only supported on Windows instances using the Volume Shadow Copy Service (VSS).", + "description": "[Input Only] Whether to attempt an application consistent machine image by informing the OS to prepare for the snapshot process.", "type": "boolean" }, "id": { @@ -51575,6 +55817,10 @@ "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.", @@ -51582,7 +55828,7 @@ }, "machineImageEncryptionKey": { "$ref": "CustomerEncryptionKey", - "description": "Encrypts the machine image using a customer-supplied encryption key.\n\nAfter 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.\n\nCustomer-supplied encryption keys do not protect access to metadata of the machine image.\n\nIf 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." + "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": { @@ -51598,6 +55844,13 @@ "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" @@ -51614,12 +55867,12 @@ "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: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance \n- projects/project/zones/zone/instances/instance", + "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] Properties of source instance." + "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.", @@ -51715,36 +55968,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -51771,7 +56024,7 @@ "type": "object" }, "MachineType": { - "description": "Represents a Machine Type resource.\n\nYou can use specific machine types for your VM instances based on performance and pricing requirements. For more information, read Machine Types. (== resource_for {$api_version}.machineTypes ==)", + "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": { @@ -51926,36 +56179,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -52042,36 +56295,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -52140,36 +56393,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -52199,8 +56452,12 @@ "description": "A Managed Instance resource.", "id": "ManagedInstance", "properties": { + "allInstancesConfig": { + "$ref": "ManagedInstanceAllInstancesConfig", + "description": "[Output Only] Instances config revision applied to this instance." + }, "currentAction": { - "description": "[Output Only] The current action that the managed instance group has scheduled for the instance. Possible values: \n- NONE The instance is running, and the managed instance group does not have any scheduled actions for this instance. \n- 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. \n- 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. \n- RECREATING The managed instance group is recreating this instance. \n- DELETING The managed instance group is permanently deleting this instance. \n- 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. \n- RESTARTING The managed instance group is restarting the instance. \n- 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. \n- VERIFYING The managed instance group has created the instance and it is in the process of being verified.", + "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", @@ -52217,19 +56474,19 @@ "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 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 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" }, @@ -52264,16 +56521,16 @@ "TERMINATED" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + "The Nanny is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", + "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" }, @@ -52297,6 +56554,24 @@ "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." @@ -52304,6 +56579,16 @@ }, "type": "object" }, + "ManagedInstanceAllInstancesConfig": { + "id": "ManagedInstanceAllInstancesConfig", + "properties": { + "revision": { + "description": "[Output Only] Instances config revision. This value is in RFC3339 text format.", + "type": "string" + } + }, + "type": "object" + }, "ManagedInstanceInstanceHealth": { "id": "ManagedInstanceInstanceHealth", "properties": { @@ -52317,11 +56602,11 @@ "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" }, @@ -52336,8 +56621,8 @@ "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" } @@ -52396,13 +56681,14 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve the resource.", + "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": { @@ -52454,27 +56740,27 @@ "type": "object" }, "MetadataFilter": { - "description": "Opaque filter criteria used by loadbalancers to restrict routing configuration to a limited set of loadbalancing proxies. Proxies and sidecars involved in loadbalancing would typically present metadata to the loadbalancers which need to match criteria specified here. If a match takes place, the relevant configuration is made available to those proxies.\nFor 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.\nAn example for using metadataFilters would be: if loadbalancing involves Envoys, they will only receive routing configuration when values in metadataFilters match values supplied in .", "id": "NamedPort", "properties": { "name": { @@ -52534,7 +56820,7 @@ "type": "object" }, "Network": { - "description": "Represents a VPC Network resource.\n\nNetworks connect resources to each other and to the internet. For more information, read Virtual Private Cloud (VPC) Network. (== resource_for {$api_version}.networks ==)", + "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": { @@ -52543,7 +56829,7 @@ "type": "string" }, "autoCreateSubnetworks": { - "description": "Must be set to create a VPC network. If not set, a legacy network is created.\n\nWhen set to true, the VPC network is created in auto mode. When set to false, the VPC network is created in custom mode.\n\nAn 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.\n\nFor custom mode VPC networks, you can add subnets using the subnetworks insert method.", + "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": { @@ -52554,6 +56840,10 @@ "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" @@ -52568,13 +56858,17 @@ "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 1460 and the maximum value is 1500 bytes.", + "description": "Maximum Transmission Unit in bytes. The minimum value for this field is 1460 and the maximum value is 1500 bytes. If unspecified, defaults to 1460.", "format": "int32", "type": "integer" }, @@ -52588,6 +56882,18 @@ "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" + }, "peerings": { "description": "[Output Only] A list of network peerings for the resource.", "items": { @@ -52595,6 +56901,10 @@ }, "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." @@ -52617,6 +56927,279 @@ }, "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", + "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", + "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", + "LARGE_DEPLOYMENT_WARNING", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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", + "LARGE_DEPLOYMENT_WARNING", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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", @@ -52633,7 +57216,7 @@ "type": "string" }, "instance": { - "description": "The name for a specific VM instance that the IP address belongs to. This is required for network endpoints of type GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint group.\n\nThe name must be 1-63 characters long, and comply with RFC1035.", + "description": "The name for a specific VM instance that the IP address belongs to. This is required for network endpoints of type GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint group. The name must be 1-63 characters long, and comply with RFC1035.", "type": "string" }, "ipAddress": { @@ -52649,7 +57232,7 @@ "type": "object" }, "NetworkEndpointGroup": { - "description": "Represents a collection of network endpoints.\n\nA 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, see Setting up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs, or Setting up external HTTP(S) Load Balancing with serverless NEGs. (== resource_for {$api_version}.networkEndpointGroups ==) (== resource_for {$api_version}.globalNetworkEndpointGroups ==) (== resource_for {$api_version}.regionNetworkEndpointGroups ==)", + "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, see Setting up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs, or Setting up external HTTP(S) Load Balancing with serverless NEGs.", "id": "NetworkEndpointGroup", "properties": { "annotations": { @@ -52707,7 +57290,7 @@ "type": "string" }, "networkEndpointType": { - "description": "Type of network endpoints in this network endpoint group. Can be one of GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT, INTERNET_IP_PORT, or SERVERLESS.", + "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.", "enum": [ "GCE_VM_IP", "GCE_VM_IP_PORT", @@ -52719,14 +57302,14 @@ "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 the primary IP address on any network interface of a VM in Compute Engine.", + "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" }, @@ -52748,7 +57331,7 @@ }, "serverlessDeployment": { "$ref": "NetworkEndpointGroupServerlessDeployment", - "description": "Only valid when networkEndpointType is \"SERVERLESS\". Only one of cloudRun, appEngine cloudFunction or serverlessDeployment may be set." + "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.", @@ -52765,7 +57348,7 @@ "LOAD_BALANCING" ], "enumDescriptions": [ - "" + "The network endpoint group is a backend of a load balancer." ], "type": "string" }, @@ -52844,36 +57427,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -52900,53 +57483,53 @@ "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.\n\nNote: App Engine service must be in the same project and located in the same region as the Serverless NEG.", + "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.\n\nThe service name is case-sensitive and must be 1-63 characters long.\n\nExample value: \"default\", \"my-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": "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.\n\nFor 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.", + "description": "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.\n\nThe version name is case-sensitive and must be 1-100 characters long.\n\nExample value: \"v1\", \"v2\".", + "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.\n\nNote: Cloud Function must be in the same project and located in the same region as the Serverless NEG.", + "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.\n\nThe function name is case-sensitive and must be 1-63 characters long.\n\nExample value: \"func1\".", + "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": "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.\n\nFor 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.", + "description": "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.\n\nNote: Cloud Run service must be in the same project and located in the same region as the Serverless NEG.", + "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.\n\nThe service must be 1-63 characters long, and comply with RFC1035.\n\nExample value: \"run-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.\n\nThe tag must be 1-63 characters long, and comply with RFC1035.\n\nExample value: \"revision-0010\".", + "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": "A template to parse service and tag 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.\n\nFor 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.", + "description": "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" } }, @@ -53036,36 +57619,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -53092,23 +57675,23 @@ "type": "object" }, "NetworkEndpointGroupServerlessDeployment": { - "description": "Configuration for a Serverless Deployment network endpoint group (NEG). The platform must be provided.\n\nNote: The target backend service must be in the same project and located in the same region as the Serverless NEG.", + "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. Possible values include:\n\n \n- apigateway.googleapis.com \n- appengine.googleapies.com \n- cloudfunctions.googleapis.com \n- run.googleapis.com", + "description": "The platform of the backend target(s) of this NEG. Possible values include: 1. API Gateway: apigateway.googleapis.com 2. App Engine: appengine.googleapis.com 3. Cloud Functions: cloudfunctions.googleapis.com 4. Cloud Run: run.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:\n\n \n- API Gateway: The gateway id \n- AppEngine: The service name \n- Cloud Functions: The function name \n- Cloud Run: The service name", + "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": "A template to parse platform-specific fields from a request URL. URL mask allows for routing to multiple services on the same serverless platform without having to create multiple Network Endpoint Groups and backend services. The fields parsed by this template is platform-specific and are as follows:\n\n \n- API Gateway: The gateway id \n- AppEngine: The service and version \n- Cloud Functions: The function \n- Cloud Run: The service and tag", + "description": "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 as platform-specific and is follows:\n\n \n- API Gateway: Unused \n- AppEngine: The service version \n- Cloud Functions: Unused \n- Cloud Run: The service tag", + "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" } }, @@ -53157,8 +57740,8 @@ "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" } @@ -53230,36 +57813,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -53328,36 +57911,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -53424,7 +58007,7 @@ "type": "string" }, "internalIpv6PrefixLength": { - "description": "[Output Only] The prefix length of the primary internal IPv6 range.", + "description": "The prefix length of the primary internal IPv6 range.", "format": "int32", "type": "integer" }, @@ -53436,21 +58019,19 @@ "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.\n\nValid only if stackType is IPV4_IPV6.", + "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", - "UNSPECIFIED_IPV6_ACCESS_TYPE" + "INTERNAL" ], "enumDescriptions": [ - "", - "", - "" + "This network interface can have external IPv6.", + "This network interface can have internal IPv6." ], "type": "string" }, "ipv6Address": { - "description": "[Output Only] An IPv6 internal network address for this network interface.", + "description": "An IPv6 internal network address for this network interface.", "type": "string" }, "kind": { @@ -53463,7 +58044,7 @@ "type": "string" }, "network": { - "description": "URL of the 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 network is not specified but the subnetwork is specified, the network is inferred.\n\nIf you specify this property, you can specify the network as a full or partial URL. For example, the following are all valid URLs: \n- https://www.googleapis.com/compute/v1/projects/project/global/networks/network \n- projects/project/global/networks/network \n- global/networks/default", + "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" }, "networkIP": { @@ -53478,9 +58059,9 @@ "VIRTIO_NET" ], "enumDescriptions": [ - "", - "", - "" + "GVNIC", + "No type specified.", + "VIRTIO" ], "type": "string" }, @@ -53490,16 +58071,14 @@ "type": "integer" }, "stackType": { - "description": "The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.\n\nThis field can be both set at instance creation and update network interface operations.", + "description": "The stack type for this network interface 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 instance creation and update network interface operations.", "enum": [ "IPV4_IPV6", - "IPV4_ONLY", - "UNSPECIFIED_STACK_TYPE" + "IPV4_ONLY" ], "enumDescriptions": [ - "", - "", - "" + "The network interface can have both IPv4 and IPv6 addresses.", + "The network interface will be assigned IPv4 address." ], "type": "string" }, @@ -53511,7 +58090,7 @@ "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: \n- https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork \n- regions/region/subnetworks/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" } }, @@ -53521,11 +58100,24 @@ "id": "NetworkInterfaceSubInterface", "properties": { "ipAddress": { - "description": "An IPv4 internal IP address to assign to the instance for this subinterface.", + "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: \n- https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork \n- regions/region/subnetworks/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": { @@ -53597,36 +58189,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -53669,19 +58261,19 @@ "type": "boolean" }, "exportCustomRoutes": { - "description": "Whether to export the custom routes to peer network.", + "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. The IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses) are always exported to peers and are not controlled by this field.", + "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.", + "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. The IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses) are always imported from peers and are not controlled by this field.", + "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": { @@ -53704,8 +58296,8 @@ "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" }, @@ -53903,7 +58495,7 @@ "type": "object" }, "NodeGroup": { - "description": "Represent a sole-tenant Node Group resource.\n\nA 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. (== resource_for {$api_version}.nodeGroups ==)", + "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": { @@ -53937,7 +58529,7 @@ "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.", + "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", @@ -53945,10 +58537,10 @@ "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" }, @@ -53971,6 +58563,10 @@ "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", @@ -54066,36 +58662,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -54135,7 +58731,7 @@ "type": "integer" }, "mode": { - "description": "The autoscaling mode. Set to one of: ON, OFF, or ONLY_SCALE_OUT. For more information, see Autoscaler modes.", + "description": "The autoscaling mode. Set to one of: ON, OFF, or ONLY_SCALE_OUT. For more information, see Autoscaler modes.", "enum": [ "MODE_UNSPECIFIED", "OFF", @@ -54144,9 +58740,9 @@ ], "enumDescriptions": [ "", - "", - "", - "" + "Autoscaling is disabled.", + "Autocaling is fully enabled.", + "Autoscaling will only scale out and will not remove nodes." ], "type": "string" } @@ -54214,36 +58810,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -54298,6 +58894,10 @@ }, "type": "array" }, + "consumedResources": { + "$ref": "InstanceConsumptionInfo", + "description": "Node resources that are reserved by all instances." + }, "cpuOvercommitType": { "description": "CPU overcommit.", "enum": [ @@ -54319,6 +58919,13 @@ }, "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": { @@ -54362,6 +58969,10 @@ "" ], "type": "string" + }, + "totalResources": { + "$ref": "InstanceConsumptionInfo", + "description": "Total amount of available resources on the node." } }, "type": "object" @@ -54450,36 +59061,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -54548,36 +59159,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -54614,7 +59225,7 @@ "type": "object" }, "NodeTemplate": { - "description": "Represent a sole-tenant Node Template resource.\n\nYou can use a template to define properties for nodes in a node group. For more information, read Creating node groups and instances. (== resource_for {$api_version}.nodeTemplates ==)", + "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": { @@ -54678,7 +59289,7 @@ }, "nodeTypeFlexibility": { "$ref": "NodeTemplateNodeTypeFlexibility", - "description": "The flexible properties of the desired node type. Node groups that use this node template will create nodes of a type that matches these properties.\n\nThis field is mutually exclusive with the node_type property; you can only define one or the other, but not both." + "description": "The flexible properties of the desired node type. Node groups that use this node template will create nodes of a type that matches these properties. This field is mutually exclusive with the node_type property; you can only define one or the other, but not both." }, "region": { "description": "[Output Only] The name of the region where the node template resides, such as us-central1.", @@ -54694,7 +59305,7 @@ }, "serverBinding": { "$ref": "ServerBinding", - "description": "Sets the binding properties for the physical server. Valid values include: \n- [Default] RESTART_NODE_ON_ANY_SERVER: Restarts VMs on any available physical server \n- RESTART_NODE_ON_MINIMAL_SERVER: Restarts VMs on the same physical server whenever possible \n\nSee Sole-tenant node options for more information." + "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.", @@ -54705,10 +59316,10 @@ "READY" ], "enumDescriptions": [ - "", - "", - "", - "" + "Resources are being allocated.", + "The node template is currently being deleted.", + "Invalid status.", + "The node template is ready." ], "type": "string" }, @@ -54787,36 +59398,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -54903,36 +59514,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -55016,36 +59627,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -55072,7 +59683,7 @@ "type": "object" }, "NodeType": { - "description": "Represent a sole-tenant Node Type resource.\n\nEach 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. (== resource_for {$api_version}.nodeTypes ==)", + "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": { @@ -55204,36 +59815,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -55320,36 +59931,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -55418,36 +60029,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -55474,7 +60085,7 @@ "type": "object" }, "NotificationEndpoint": { - "description": "Represents a notification endpoint.\n\nA notification endpoint resource defines an endpoint to receive notifications when there are status changes detected by the associated health check service.\n\nFor more information, see Health checks overview. (== resource_for {$api_version}.notificationEndpoint ==) (== resource_for {$api_version}.regionNotificationEndpoints ==)", + "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": { @@ -55584,36 +60195,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -55727,36 +60338,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -55825,36 +60436,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -55881,7 +60492,7 @@ "type": "object" }, "Operation": { - "description": "Represents an Operation resource.\n\nGoogle Compute Engine has three Operation resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations)\n\nYou can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses.\n\nOperations can be global, regional or zonal. \n- For global operations, use the `globalOperations` resource. \n- For regional operations, use the `regionOperations` resource. \n- For zonal operations, use the `zonalOperations` resource. \n\nFor more information, read Global, Regional, and Zonal Resources. (== resource_for {$api_version}.globalOperations ==) (== resource_for {$api_version}.regionOperations ==) (== resource_for {$api_version}.zoneOperations ==)", + "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 `zonalOperations` resource. For more information, read Global, Regional, and Zonal Resources.", "id": "Operation", "properties": { "clientOperationId": { @@ -55951,8 +60562,12 @@ "type": "string" }, "metadata": { - "$ref": "Any", - "description": "[Output Only] Service-specific metadata attached to this operation." + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "[Output Only] Service-specific metadata attached to this operation.", + "type": "object" }, "name": { "description": "[Output Only] Name of the operation.", @@ -56052,36 +60667,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -56181,36 +60796,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -56297,36 +60912,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -56395,36 +61010,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -56558,7 +61173,7 @@ "enumDescriptions": [ "", "", - "", + "From BfdSession object creation time.", "" ], "type": "string" @@ -56587,9 +61202,9 @@ "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" @@ -56598,7 +61213,7 @@ "type": "object" }, "PacketMirroring": { - "description": "Represents a Packet Mirroring resource.\n\nPacket 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. (== resource_for {$api_version}.packetMirrorings ==)", + "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": { @@ -56614,7 +61229,7 @@ "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.\n\nThe default is TRUE.", + "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" @@ -56663,7 +61278,7 @@ "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.\n\nDefault value is 1000. Valid range is 0 through 65535.", + "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" }, @@ -56751,36 +61366,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -56831,9 +61446,9 @@ "INGRESS" ], "enumDescriptions": [ - "", - "", - "" + "Default, both directions are mirrored.", + "Only egress traffic is mirrored.", + "Only ingress traffic is mirrored." ], "type": "string" } @@ -56915,36 +61530,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -56974,14 +61589,14 @@ "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.\n\nNote that this config will apply only to those network interfaces of the Instances that belong to the network specified in this packetMirroring.\n\nYou may specify a maximum of 50 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.\n\nYou may specify a maximum of 5 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" }, @@ -57082,36 +61697,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -57138,20 +61753,20 @@ "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 will be used.", + "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": { "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.\nOnly one of defaultRouteAction or defaultUrlRedirect must be set.\nUrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a pathMatcher's defaultRouteAction." + "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. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a path matcher's defaultRouteAction." }, "defaultService": { - "description": "The full or partial URL to the BackendService resource. This will be 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: \n- https://www.googleapis.com/compute/v1/projects/project/global/backendServices/backendService \n- compute/v1/projects/project/global/backendServices/backendService \n- global/backendServices/backendService If defaultRouteAction is additionally specified, advanced routing actions like URL Rewrites, etc. take effect prior to sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if defaultRouteAction specifies any weightedBackendServices, defaultService must not be specified.\nOnly one of defaultService, defaultUrlRedirect or defaultRouteAction.weightedBackendService must be set.\nAuthorization requires one or more of the following Google IAM permissions on the specified resource default_service: \n- compute.backendBuckets.use \n- compute.backendServices.use", + "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. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if defaultRouteAction specifies any weightedBackendServices, defaultService must not be specified. Only one of defaultService, defaultUrlRedirect , or defaultRouteAction.weightedBackendService must 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.\nIf defaultUrlRedirect is specified, defaultService or defaultRouteAction must not be set.\nNot supported when the URL map is bound to target gRPC proxy." + "description": "When none of the specified pathRules or routeRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or defaultRouteAction must not 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.", @@ -57159,21 +61774,21 @@ }, "headerAction": { "$ref": "HttpHeaderAction", - "description": "Specifies changes to request and response headers that need to take effect for the selected backendService.\nHeaderAction specified here are applied after the matching HttpRouteRule HeaderAction and before the HeaderAction in the UrlMap \nNote that headerAction is not supported for Loadbalancers that have their loadBalancingScheme set to EXTERNAL.\nNot supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true." + "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.\nFor 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.\nWithin a given pathMatcher, only one of pathRules or routeRules must be set.", + "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.\nWithin a given pathMatcher, you can set only one of pathRules or 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" }, @@ -57195,15 +61810,15 @@ }, "routeAction": { "$ref": "HttpRouteAction", - "description": "In response to a matching path, the load balancer performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices.\nOnly one of routeAction or urlRedirect must be set.\nUrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a pathRule's routeAction." + "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. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for external HTTP(S) load balancers support only 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 additionally specified, advanced routing actions like URL Rewrites, etc. take effect prior to sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendService s. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified.\nOnly one of urlRedirect, service or routeAction.weightedBackendService must be set.", + "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. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.", "type": "string" }, "urlRedirect": { "$ref": "HttpRedirectAction", - "description": "When a path pattern is matched, the request is redirected to a URL specified by urlRedirect.\nIf urlRedirect is specified, service or routeAction must not be set.\nNot supported when the URL map is bound to target gRPC proxy." + "description": "When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. If urlRedirect is specified, service or routeAction must not be set. Not supported when the URL map is bound to a target gRPC proxy." } }, "type": "object" @@ -57246,12 +61861,12 @@ "UNAPPLIED_DELETION" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "" + "The per-instance config is being applied to the instance, but is not yet effective, possibly waiting for the instance to, for example, REFRESH.", + "The per-instance config deletion is being applied on the instance, possibly waiting for the instance to, for example, REFRESH.", + "The per-instance config is effective on the instance, meaning that all disks, ips and metadata specified in this config are attached or set on the instance.", + "*[Default]* The default status, when no per-instance config exists.", + "The per-instance config is set on an instance but not been applied yet.", + "The per-instance config has been deleted, but the deletion is not yet applied." ], "type": "string" } @@ -57347,7 +61962,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.\n\n\n\nA `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.\n\nFor 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).\n\n**JSON example:**\n\n{ \"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 }\n\n**YAML example:**\n\nbindings: - 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\n\nFor a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "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": { @@ -57358,30 +61973,26 @@ "type": "array" }, "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.", + "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.\n\n**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.", + "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" }, - "iamOwned": { - "description": "", - "type": "boolean" - }, "rules": { - "description": "If more than one rule is specified, the rules are applied in the following manner: - All matching LOG rules are always applied. - If any DENY/DENY_WITH_LOG rule matches, permission is denied. Logging will be applied if one or more matching rule requires logging. - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is granted. Logging will be applied if one or more matching rule requires logging. - Otherwise, if no rule applies, permission is denied.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "$ref": "Rule" }, "type": "array" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected.\n\nAny operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations:\n\n* 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\n\n**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.\n\nIf a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "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" } @@ -57458,8 +62069,8 @@ "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" }, @@ -57581,7 +62192,7 @@ "type": "object" }, "Project": { - "description": "Represents a Project resource.\n\nA project is used to organize resources in a Google Cloud Platform environment. For more information, read about the Resource Hierarchy. (== resource_for {$api_version}.projects ==)", + "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": { "commonInstanceMetadata": { @@ -57602,11 +62213,11 @@ "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" }, @@ -57626,7 +62237,7 @@ "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.", + "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" }, @@ -57717,6 +62328,10 @@ "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" @@ -57734,11 +62349,11 @@ "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" } @@ -57772,7 +62387,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a PublicAdvertisedPrefix.", + "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" }, @@ -57800,6 +62415,20 @@ "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": { @@ -57820,24 +62449,28 @@ "type": "string" }, "status": { - "description": "The status of the public advertised prefix.", + "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" } @@ -57904,36 +62537,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -57999,7 +62632,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a PublicDelegatedPrefix.", + "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" }, @@ -58055,16 +62688,22 @@ "type": "string" }, "status": { - "description": "[Output Only] The status of the public delegated prefix.", + "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" + "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" } @@ -58139,36 +62778,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -58254,36 +62893,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -58395,36 +63034,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -58471,15 +63110,19 @@ "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_GPUS", @@ -58488,15 +63131,19 @@ "COMMITTED_NVIDIA_P4_GPUS", "COMMITTED_NVIDIA_T4_GPUS", "COMMITTED_NVIDIA_V100_GPUS", + "COMMITTED_T2A_CPUS", + "COMMITTED_T2D_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_FORWARDING_RULES", "GLOBAL_INTERNAL_ADDRESSES", "GPUS_ALL_REGIONS", "HEALTH_CHECKS", @@ -58512,9 +63159,7 @@ "INTERCONNECT_TOTAL_GBPS", "INTERNAL_ADDRESSES", "INTERNAL_FORWARDING_RULES_PER_NETWORK", - "INTERNAL_FORWARDING_RULES_WITH_GLOBAL_ACCESS_PER_NETWORK", "INTERNAL_FORWARDING_RULES_WITH_TARGET_INSTANCE_PER_NETWORK", - "INTERNAL_TARGET_INSTANCE_WITH_GLOBAL_ACCESS_PER_NETWORK", "INTERNAL_TRAFFIC_DIRECTOR_FORWARDING_RULES", "IN_PLACE_SNAPSHOTS", "IN_USE_ADDRESSES", @@ -58524,7 +63169,9 @@ "LOCAL_SSD_TOTAL_GB", "M1_CPUS", "M2_CPUS", + "M3_CPUS", "MACHINE_IMAGES", + "N2A_CPUS", "N2D_CPUS", "N2_CPUS", "NETWORKS", @@ -58557,6 +63204,7 @@ "PRIVATE_V6_ACCESS_SUBNETWORKS", "PSC_GOOGLE_APIS_FORWARDING_RULES_PER_NETWORK", "PSC_ILB_CONSUMER_FORWARDING_RULES_PER_PRODUCER_NETWORK", + "PSC_INTERNAL_LB_FORWARDING_RULES", "PUBLIC_ADVERTISED_PREFIXES", "PUBLIC_DELEGATED_PREFIXES", "REGIONAL_AUTOSCALERS", @@ -58566,8 +63214,11 @@ "ROUTERS", "ROUTES", "SECURITY_POLICIES", + "SECURITY_POLICIES_PER_REGION", "SECURITY_POLICY_CEVAL_RULES", "SECURITY_POLICY_RULES", + "SECURITY_POLICY_RULES_PER_REGION", + "SERVICE_ATTACHMENTS", "SNAPSHOTS", "SSD_TOTAL_GB", "SSL_CERTIFICATES", @@ -58575,6 +63226,8 @@ "STATIC_BYOIP_ADDRESSES", "SUBNETWORKS", "SUBNET_RANGES_PER_NETWORK", + "T2A_CPUS", + "T2D_CPUS", "TARGET_HTTPS_PROXIES", "TARGET_HTTP_PROXIES", "TARGET_INSTANCES", @@ -58620,6 +63273,7 @@ "", "", "", + "Guest CPUs", "", "", "", @@ -58705,6 +63359,19 @@ "", "", "", + "The total number of snapshots allowed for a single project.", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "", "", "", @@ -58761,7 +63428,7 @@ "type": "string" }, "referenceType": { - "description": "A description of the reference type with no implied semantics. Possible values include: \n- MEMBER_OF", + "description": "A description of the reference type with no implied semantics. Possible values include: 1. MEMBER_OF ", "type": "string" }, "referrer": { @@ -58776,7 +63443,7 @@ "type": "object" }, "Region": { - "description": "Represents a Region resource.\n\nA region is a geographical area where a resource is located. For more information, read Regions and Zones. (== resource_for {$api_version}.regions ==)", + "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": { @@ -58907,36 +63574,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -59035,36 +63702,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -59127,6 +63794,36 @@ }, "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" + }, + "RegionDisksStopAsyncReplicationRequest": { + "id": "RegionDisksStopAsyncReplicationRequest", + "properties": { + "asyncSecondaryDisk": { + "description": "The secondary disk to stop asynchronous replication to. Supplied if and only if the target disk is a primary disk in an asynchronously replicated pair. 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" + }, + "RegionDisksStopGroupAsyncReplicationRequest": { + "id": "RegionDisksStopGroupAsyncReplicationRequest", + "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" + }, "RegionInstanceGroupList": { "description": "Contains a list of InstanceGroup resources.", "id": "RegionInstanceGroupList", @@ -59188,36 +63885,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -59318,36 +64015,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -59419,7 +64116,7 @@ "id": "RegionInstanceGroupManagersApplyUpdatesRequest", "properties": { "allInstances": { - "description": "Flag to update all instances instead of specified list of ?instances?. If the flag is set to true then the instances may not be specified in the request.", + "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": { @@ -59438,15 +64135,15 @@ "RESTART" ], "enumDescriptions": [ - "", - "", - "", - "" + "Do not perform any action.", + "Updates applied in runtime, instances will not be disrupted.", + "Old instances will be deleted. New instances will be created from the target template.", + "Every instance will be restarted." ], "type": "string" }, "minimalAction": { - "description": "The minimal action that you want to perform on each instance during the update: \n- REPLACE: At minimum, delete the instance and create it again. \n- RESTART: Stop the instance and start it again. \n- REFRESH: Do not stop the instance. \n- 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.", + "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. - 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", @@ -59454,15 +64151,15 @@ "RESTART" ], "enumDescriptions": [ - "", - "", - "", - "" + "Do not perform any action.", + "Updates applied in runtime, instances will not be disrupted.", + "Old instances will be deleted. New instances will be created from the target template.", + "Every instance will be restarted." ], "type": "string" }, "mostDisruptiveAllowedAction": { - "description": "The most disruptive action that you want to perform on each instance during the update: \n- REPLACE: Delete the instance and create it again. \n- RESTART: Stop the instance and start it again. \n- REFRESH: Do not stop the instance. \n- 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.", + "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. - 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", @@ -59470,10 +64167,10 @@ "RESTART" ], "enumDescriptions": [ - "", - "", - "", - "" + "Do not perform any action.", + "Updates applied in runtime, instances will not be disrupted.", + "Old instances will be deleted. New instances will be created from the target template.", + "Every instance will be restarted." ], "type": "string" } @@ -59507,6 +64204,10 @@ "skipInapplicableInstances": { "description": "Skip instances which cannot be deleted (instances not belonging to this managed group, already being deleted or being abandoned). If `false`, fail whole flow, if such instance is passed. DEPRECATED: Use skip_instances_on_validation_error instead.", "type": "boolean" + }, + "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" @@ -59575,36 +64276,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -59664,7 +64365,7 @@ "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.\n\nThis 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.\n\nThis flag is applicable only to the current resize request. It does not influence other resize requests in any way.\n\nYou can see which instances ar being created in which mode by calling the get or listManagedInstances API.", + "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": { @@ -59835,36 +64536,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -59900,8 +64601,8 @@ "RUNNING" ], "enumDescriptions": [ - "", - "" + "Matches any status of the instances, running, non-running and others.", + "Instance is in RUNNING state if it is running." ], "type": "string" }, @@ -60002,36 +64703,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -60057,6 +64758,63 @@ }, "type": "object" }, + "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse": { + "id": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse", + "properties": { + "firewallPolicys": { + "description": "Effective firewalls from firewall policy.", + "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" + }, + "rules": { + "description": "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.", + "enum": [ + "HIERARCHY", + "NETWORK", + "NETWORK_REGIONAL", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "RegionSetLabelsRequest": { "id": "RegionSetLabelsRequest", "properties": { @@ -60121,7 +64879,7 @@ "type": "object" }, "RequestMirrorPolicy": { - "description": "A policy that specifies how requests intended for the route's backends are shadowed to a separate mirrored backend service. Loadbalancer does not wait for responses from the shadow service. Prior to sending traffic to the shadow service, the host / authority header is suffixed with -shadow.", + "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": { @@ -60132,7 +64890,7 @@ "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. (== resource_for {$api_version}.reservations ==)", + "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": { "commitment": { @@ -60180,7 +64938,7 @@ "type": "string" }, "shareSettings": { - "$ref": "AllocationShareSettings", + "$ref": "ShareSettings", "description": "Share-settings for shared-reservation" }, "specificReservation": { @@ -60201,11 +64959,11 @@ "UPDATING" ], "enumDescriptions": [ + "Resources are being allocated for the reservation.", + "Reservation is currently being deleted.", "", - "", - "", - "", - "" + "Reservation has allocated all its resources.", + "Reservation is currently being resized." ], "type": "string" }, @@ -60221,7 +64979,7 @@ "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.", + "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", @@ -60230,10 +64988,10 @@ "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.", "" ], "type": "string" @@ -60243,7 +65001,7 @@ "type": "string" }, "values": { - "description": "Corresponds to the label values of a reservation resource.", + "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" }, @@ -60321,36 +65079,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -60436,36 +65194,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -60545,36 +65303,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -60687,36 +65445,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -60743,7 +65501,7 @@ "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.\n\n(== resource_for {$api_version}.resourcePolicies ==)", + "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": { @@ -60810,11 +65568,11 @@ "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" }, @@ -60897,36 +65655,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -60957,7 +65715,7 @@ "id": "ResourcePolicyDailyCycle", "properties": { "daysInCycle": { - "description": "Defines a schedule with units measured in months. The value determines how many months pass between the start of each cycle.", + "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" }, @@ -60989,7 +65747,7 @@ "UNSPECIFIED_COLLOCATION" ], "enumDescriptions": [ - "", + "Specifies collocation option that provides tight collocation with minimum network latency.", "", "" ], @@ -61016,8 +65774,8 @@ "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" }, @@ -61029,8 +65787,8 @@ "UNSPECIFIED_PLACEMENT_TYPE" ], "enumDescriptions": [ - "", - "", + "VMs are placed without regard for shared hosts", + "VMs do not share the same hosts", "" ], "type": "string" @@ -61164,36 +65922,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -61273,7 +66031,6 @@ "type": "integer" }, "onPolicySwitch": { - "description": "TODO(b/165626794): Remove this field Specifies the behavior to apply to existing, scheduled snapshots snapshots if the policy is changed.", "enum": [ "DO_NOT_RETROACTIVELY_APPLY", "RETROACTIVELY_APPLY", @@ -61440,6 +66197,9 @@ "properties": { "scheduling": { "$ref": "ResourceStatusScheduling" + }, + "upcomingMaintenance": { + "$ref": "ResourceStatusUpcomingMaintenance" } }, "type": "object" @@ -61455,6 +66215,16 @@ }, "type": "object" }, + "ResourceStatusUpcomingMaintenance": { + "id": "ResourceStatusUpcomingMaintenance", + "properties": { + "canReschedule": { + "description": "Indicates if the maintenance can be customer triggered. See go/sf-ctm-design for more details", + "type": "boolean" + } + }, + "type": "object" + }, "RolloutPolicy": { "description": "A rollout policy configuration.", "id": "RolloutPolicy", @@ -61467,20 +66237,27 @@ "additionalProperties": { "type": "string" }, - "description": "Location based rollout policies to apply to the resource.\n\nCurrently only zone names are supported and must be represented as valid URLs, like: zones/us-central1-a.\n\nThe value expects an RFC3339 timestamp on or after which the update is considered rolled out to the specified location.", + "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.\n\nA 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. (== resource_for {$api_version}.routes ==)", + "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" @@ -61503,6 +66280,18 @@ "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.", @@ -61528,15 +66317,15 @@ "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", + "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" }, "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: \n- 10.128.0.56 \n- https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule \n- regions/region/forwardingRules/forwardingRule", + "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: - 10.128.0.56 - https://www.googleapis.com/compute/v1/projects/project/regions/region /forwardingRules/forwardingRule - regions/region/forwardingRules/forwardingRule ", "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:\nhttps://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/", + "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" }, "nextHopInterconnectAttachment": { @@ -61569,6 +66358,40 @@ "format": "uint32", "type": "integer" }, + "routeStatus": { + "description": "[Output only] The status of the route.", + "enum": [ + "ACTIVE", + "DROPPED", + "INACTIVE", + "PENDING", + "UNKNOWN_ROUTE_STATUS" + ], + "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" @@ -61623,36 +66446,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -61680,6 +66503,36 @@ }, "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", @@ -61741,36 +66594,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -61797,7 +66650,7 @@ "type": "object" }, "Router": { - "description": "Represents a Cloud Router resource.\n\nFor more information about Cloud Router, read the Cloud Router overview.", + "description": "Represents a Cloud Router resource. For more information about Cloud Router, read the Cloud Router overview.", "id": "Router", "properties": { "bgp": { @@ -61820,7 +66673,7 @@ "type": "string" }, "encryptedInterconnectRouter": { - "description": "Field to indicate if a router is dedicated to use with encrypted Interconnect Attachment (IPsec-encrypted Cloud Interconnect feature).\nNot currently available in all Interconnect locations.", + "description": "Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments). Not currently available publicly. ", "type": "boolean" }, "id": { @@ -61840,6 +66693,13 @@ "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": [ @@ -61966,36 +66826,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -62045,9 +66905,9 @@ "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" }, @@ -62066,7 +66926,7 @@ "type": "integer" }, "keepaliveInterval": { - "description": "The interval in seconds between BGP keepalive messages that are sent to the peer.\nNot currently available publicly.\nHold 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.\nBGP 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.\nIf set, this value must be between 20 and 60. The default is 20.", + "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" } @@ -62089,7 +66949,7 @@ "type": "string" }, "advertisedGroups": { - "description": "User-specified list of prefix groups to advertise in custom mode, which can take one of the following options: \n- ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets. \n- ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. 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.", + "description": "User-specified list of prefix groups to advertise in custom mode, which can take one of the following options: - ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets. - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. 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", @@ -62097,9 +66957,9 @@ "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" }, @@ -62119,10 +66979,10 @@ }, "bfd": { "$ref": "RouterBgpPeerBfd", - "description": "BFD configuration for the BGP peering.\nNot currently available publicly." + "description": "BFD configuration for the BGP peering." }, "enable": { - "description": "The status of the BGP peer connection.\nNot currently available publicly.\nIf 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.", + "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" @@ -62133,6 +66993,10 @@ ], "type": "string" }, + "enableIpv6": { + "description": "Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.", + "type": "boolean" + }, "interfaceName": { "description": "Name of the interface the BGP peer is associated with.", "type": "string" @@ -62141,18 +67005,26 @@ "description": "IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.", "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. \n- MANAGED_BY_USER is the default value and can be managed by you or other users \n- 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.", + "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": [ @@ -62177,6 +67049,10 @@ "description": "IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.", "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" @@ -62188,12 +67064,12 @@ "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.\nNot currently available publicly.\nIf set, this value must be between 100 and 30000.\nThe default is 300.", + "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.\nNot currently available publicly.\nIf set, this value must be between 100 and 30000.\nThe default is 300.", + "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" }, @@ -62212,7 +67088,7 @@ "type": "string" }, "multiplier": { - "description": "The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable.\nNot currently available publicly.\nIf set, the value must be a value between 2 and 16.\nThe default is 3.", + "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" }, @@ -62229,7 +67105,7 @@ "type": "string" }, "sessionInitializationMode": { - "description": "The BFD session initialization mode for this BGP peer.\nNot currently available publicly.\nIf 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.", + "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", @@ -62266,14 +67142,14 @@ "type": "string" }, "managementType": { - "description": "[Output Only] The resource that configures and manages this interface. \n- MANAGED_BY_USER is the default value and can be managed directly by users. \n- 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.", + "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" }, @@ -62297,7 +67173,7 @@ "type": "string" }, "subnetwork": { - "description": "The URL 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.", + "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" } }, @@ -62364,36 +67240,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -62419,6 +67295,31 @@ }, "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 at least 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", @@ -62430,9 +67331,28 @@ }, "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 Natted 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_SWG", + "ENDPOINT_TYPE_VM" + ], + "enumDescriptions": [ + "This is used for Secure Web Gateway (go/securewebgateway) 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", @@ -62442,6 +67362,11 @@ "$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", @@ -62453,14 +67378,14 @@ "type": "string" }, "natIpAllocateOption": { - "description": "Specify the NatIpAllocateOption, which can take one of the following values: \n- 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. \n- 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.", + "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" }, @@ -62479,16 +67404,16 @@ "type": "array" }, "sourceSubnetworkIpRangesToNat": { - "description": "Specify the Nat option, which can take one of the following values: \n- ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. \n- ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. \n- 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 or ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any other Router.Nat section in any Router for this network in this region.", + "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 or ALL_SUBNETWORKS_ALL_PRIMARY_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" }, @@ -62514,6 +67439,18 @@ "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", @@ -62531,16 +67468,16 @@ "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: \n- ERRORS_ONLY: Export logs only for connection failures. \n- TRANSLATIONS_ONLY: Export logs only for successful connections. \n- ALL: Export logs for all connections, successful and unsuccessful.", + "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" } @@ -62559,7 +67496,7 @@ "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.\n\nThe following examples are valid match expressions:\n\n\"inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')\"\n\n\"destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'\"", + "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 == 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/global/hub/hub-1'\"", "type": "string" }, "ruleNumber": { @@ -62574,14 +67511,28 @@ "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.", + "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.", + "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" }, @@ -62614,9 +67565,9 @@ "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" }, @@ -62674,14 +67625,26 @@ "bfdStatus": { "$ref": "BfdStatus" }, + "enableIpv6": { + "description": "Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.", + "type": "boolean" + }, "ipAddress": { "description": "IP 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" @@ -62695,12 +67658,16 @@ "description": "IP 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": "BGP state as specified in RFC1771.", + "description": "The state of the BGP session. For a list of possible values for this field, see BGP session states.", "type": "string" }, "status": { @@ -62717,6 +67684,18 @@ ], "type": "string" }, + "statusReason": { + "description": "Indicates why particular status was returned.", + "enum": [ + "MD5_AUTH_INTERNAL_PROBLEM", + "STATUS_REASON_UNSPECIFIED" + ], + "enumDescriptions": [ + "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" @@ -62894,36 +67873,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -62950,11 +67929,11 @@ "type": "object" }, "Rule": { - "description": "A rule to be applied in a Policy.", + "description": "This is deprecated and has no effect. Do not use.", "id": "Rule", "properties": { "action": { - "description": "Required", + "description": "This is deprecated and has no effect. Do not use.", "enum": [ "ALLOW", "ALLOW_WITH_LOG", @@ -62964,49 +67943,49 @@ "NO_ACTION" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "" + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use." ], "type": "string" }, "conditions": { - "description": "Additional restrictions that must be met. All conditions must pass for the rule to match.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "$ref": "Condition" }, "type": "array" }, "description": { - "description": "Human-readable description of the rule.", + "description": "This is deprecated and has no effect. Do not use.", "type": "string" }, "ins": { - "description": "If one or more 'in' clauses are specified, the rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "type": "string" }, "type": "array" }, "logConfigs": { - "description": "The config returned to callers of tech.iam.IAM.CheckPolicy for any entries that match the LOG action.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "$ref": "LogConfig" }, "type": "array" }, "notIns": { - "description": "If one or more 'not_in' clauses are specified, the rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "type": "string" }, "type": "array" }, "permissions": { - "description": "A permission is a string of form '..' (e.g., 'storage.buckets.list'). A value of '*' matches all permissions, and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "type": "string" }, @@ -63028,16 +68007,16 @@ "type": "string" }, "portSpecification": { - "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in port is used for health checking.\nUSE_NAMED_PORT: The portName is used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, SSL health check follows behavior specified in port and portName fields.", + "description": "Specifies how port is selected for health checking, can be one of following values: USE_FIXED_PORT: The port number in port is used for health checking. USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking. If not specified, SSL health check follows behavior specified in port and portName fields.", "enum": [ "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT" ], "enumDescriptions": [ - "", - "", - "" + "The port number in port is used for health checking.", + "The portName is used for health checking.", + "For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking." ], "type": "string" }, @@ -63065,7 +68044,7 @@ "type": "object" }, "SavedAttachedDisk": { - "description": "An instance-attached disk resource.", + "description": "DEPRECATED: Please use compute#savedDisk instead. An instance-attached disk resource.", "id": "SavedAttachedDisk", "properties": { "autoDelete": { @@ -63090,11 +68069,11 @@ "type": "string" }, "diskType": { - "description": "[Output Only] URL of the disk type resource. For example: projects/project/zones/zone/diskTypes/pd-standard or pd-ssd", + "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.", + "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" }, @@ -63138,8 +68117,8 @@ "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" }, @@ -63179,6 +68158,39 @@ }, "type": "object" }, + "SavedDisk": { + "description": "An instance-attached disk resource.", + "id": "SavedDisk", + "properties": { + "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": { @@ -63199,10 +68211,10 @@ "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" } @@ -63210,11 +68222,11 @@ "type": "object" }, "Scheduling": { - "description": "Sets the scheduling options for an Instance. NextID: 20", + "description": "Sets the scheduling options for an Instance. NextID: 21", "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.\n\nBy default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.", + "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": { @@ -63222,6 +68234,35 @@ "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" + }, + "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" @@ -63231,20 +68272,24 @@ "type": "string" }, "maintenanceFreezeDurationHours": { - "description": "Specifies the number of hours after instance creation where the instance won't be scheduled for maintenance.", + "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 whether this VM may be a stable fleet VM. Setting this to \"Periodic\" designates this VM as a Stable Fleet VM.\n\nSee go/stable-fleet-ug for more details.", + "description": "For more information about maintenance intervals, see Setting maintenance intervals.", "enum": [ "PERIODIC" ], "enumDescriptions": [ - "" + "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." ], "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", @@ -63258,20 +68303,36 @@ "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 Setting Instance Scheduling Options.", + "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 availability policies.", "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" }, "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": [ + "SPOT", + "STANDARD" + ], + "enumDescriptions": [ + "Heavily discounted, no guaranteed runtime.", + "Standard provisioning with user controlled runtime, no discounts." + ], + "type": "string" + }, + "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" } }, "type": "object" @@ -63292,8 +68353,8 @@ "OPERATOR_UNSPECIFIED" ], "enumDescriptions": [ - "", - "", + "Requires Compute Engine to seek for matched nodes.", + "Requires Compute Engine to avoid certain nodes.", "" ], "type": "string" @@ -63335,6 +68396,132 @@ }, "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", + "LARGE_DEPLOYMENT_WARNING", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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": { @@ -63344,6 +68531,104 @@ }, "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", + "LARGE_DEPLOYMENT_WARNING", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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": { @@ -63354,12 +68639,15 @@ "type": "object" }, "SecurityPolicy": { - "description": "Represents a Google Cloud Armor security policy resource.\n\nOnly external backend services that use load balancers can reference a security policy. For more information, see Google Cloud Armor security policy overview. (== resource_for {$api_version}.securityPolicies ==)", + "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": { @@ -63374,6 +68662,9 @@ "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" @@ -63384,7 +68675,7 @@ "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.\n\nTo see the latest fingerprint, make get() request to the security policy.", + "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" }, @@ -63399,7 +68690,7 @@ "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.\n\nTo see the latest fingerprint, make get() request to the security policy.", + "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" }, @@ -63419,6 +68710,13 @@ "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": { "description": "[Output Only] Total count of all security policy rule tuples. A security policy can not exceed a set number of tuples.", "format": "int32", @@ -63440,13 +68738,15 @@ "type": "string" }, "type": { - "description": "The type indicates the intended use of the security policy. CLOUD_ARMOR policies apply to backend services. FIREWALL policies apply to organizations.", + "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. This field can be set only at resource creation time.", "enum": [ "CLOUD_ARMOR", "CLOUD_ARMOR_EDGE", + "CLOUD_ARMOR_NETWORK", "FIREWALL" ], "enumDescriptions": [ + "", "", "", "" @@ -63490,6 +68790,34 @@ }, "type": "object" }, + "SecurityPolicyAdvancedOptionsConfig": { + "id": "SecurityPolicyAdvancedOptionsConfig", + "properties": { + "jsonParsing": { + "enum": [ + "DISABLED", + "STANDARD" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "logLevel": { + "enum": [ + "NORMAL", + "VERBOSE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "SecurityPolicyAssociation": { "id": "SecurityPolicyAssociation", "properties": { @@ -63523,9 +68851,29 @@ }, "type": "object" }, + "SecurityPolicyDdosProtectionConfig": { + "id": "SecurityPolicyDdosProtectionConfig", + "properties": { + "ddosProtection": { + "enum": [ + "ADVANCED", + "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" @@ -63546,6 +68894,13 @@ "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": { @@ -63579,36 +68934,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -63634,6 +68989,16 @@ }, "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.", + "type": "string" + } + }, + "type": "object" + }, "SecurityPolicyReference": { "id": "SecurityPolicyReference", "properties": { @@ -63648,7 +69013,7 @@ "id": "SecurityPolicyRule", "properties": { "action": { - "description": "The Action to perform when the client connection triggers the rule. Can currently be either \"allow\" or \"deny()\" where valid values for status are 403, 404, and 502.", + "description": "The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(): deny access to target, returns the HTTP response code specified (valid values 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. - 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": { @@ -63668,7 +69033,7 @@ "type": "string" }, "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.\n\nThis field may only be specified when the versioned_expr is set to FIREWALL.", + "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": { @@ -63697,10 +69062,28 @@ "$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." + }, "redirectTarget": { "description": "This must be specified for redirect actions. Cannot be specified for any other actions.", "type": "string" }, + "ruleManagedProtectionTier": { + "description": "[Output Only] The minimum managed protection tier required for this rule.", + "enum": [ + "CAMP_PLUS", + "CAMP_PREMIUM", + "CAMP_STANDARD" + ], + "enumDescriptions": [ + "Plus tier protection.", + "Premium tier protection.", + "Standard tier 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", @@ -63712,7 +69095,7 @@ "type": "integer" }, "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.\n\nThis field may only be specified when versioned_expr is set to FIREWALL.", + "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" }, @@ -63732,7 +69115,7 @@ "id": "SecurityPolicyRuleHttpHeaderAction", "properties": { "requestHeadersToAdds": { - "description": "The list of request headers to add or overwrite if they?re already present.", + "description": "The list of request headers to add or overwrite if they're already present.", "items": { "$ref": "SecurityPolicyRuleHttpHeaderActionHttpHeaderOption" }, @@ -63775,7 +69158,7 @@ ], "enumDescriptions": [ "", - "" + "Matches the source IP address of a request to the IP ranges supplied in config." ], "type": "string" } @@ -63786,21 +69169,21 @@ "id": "SecurityPolicyRuleMatcherConfig", "properties": { "destIpRanges": { - "description": "CIDR IP address range.\n\nThis field may only be specified when versioned_expr is set to FIREWALL.", + "description": "CIDR IP address range. This field may only be specified when versioned_expr is set to FIREWALL.", "items": { "type": "string" }, "type": "array" }, "destPorts": { - "description": "Pairs of IP protocols and ports that the rule should match.\n\nThis field may only be specified when versioned_expr is set to FIREWALL.", + "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": { - "description": "Pairs of IP protocols and ports that the rule should match.\n\nThis field may only be specified when versioned_expr is set to FIREWALL.", + "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" }, @@ -63824,7 +69207,7 @@ "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.\n\nExample inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].\n\nThis field may only be specified when versioned_expr is set to FIREWALL.", + "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" }, @@ -63841,7 +69224,7 @@ "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.\n\nExample inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].\n\nThis field may only be specified when versioned_expr is set to FIREWALL.", + "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" }, @@ -63863,25 +69246,41 @@ "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 when requests are under the given threshold. When requests are throttled, this is also the action for all requests which are not dropped. Valid options are \"allow\", \"fairshare\", and \"drop_overload\".", + "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 threshold_rps limit on. If key is \"IP\", each IP has this limit enforced separately, whereas \"ALL_IPs\" means a single limit is applied to all requests matching this rule.", + "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 this field 'enforce_on_key' 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 \"enforce_on_key_name\". 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 \"enforce_on_key_name\". 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. ", "enum": [ + "ALL", "ALL_IPS", - "IP" + "HTTP_COOKIE", + "HTTP_HEADER", + "IP", + "XFF_IP" ], "enumDescriptions": [ + "", + "", + "", + "", "", "" ], "type": "string" }, - "exceedAction": { - "description": "When a request is denied, returns the HTTP response code specified. Valid options are \"deny()\" where valid values for status are 403, 404, 429, and 502.", + "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.", + "type": "string" + }, + "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." + }, "rateLimitThreshold": { "$ref": "SecurityPolicyRuleRateLimitOptionsThreshold", "description": "Threshold at which to begin ratelimiting." @@ -63905,6 +69304,28 @@ }, "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" + }, "SecuritySettings": { "description": "The authentication and authorization settings for a BackendService.", "id": "SecuritySettings", @@ -63922,7 +69343,7 @@ "description": "[Deprecated] Authorization config defines the Role Based Access Control (RBAC) config. Authorization config defines the Role Based Access Control (RBAC) config." }, "clientTlsPolicy": { - "description": "Optional. A URL referring to a networksecurity.ClientTlsPolicy resource that describes how clients should authenticate with this service's backends.\nclientTlsPolicy only applies to a global BackendService with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.\nIf left blank, communications are not encrypted.\nNote: This field currently has no impact.", + "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. Note: This field currently has no impact.", "type": "string" }, "clientTlsSettings": { @@ -63930,7 +69351,7 @@ "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.\nNote that the contents of the server certificate's subjectAltName field are configured by the Public Key Infrastructure which provisions server identities.\nOnly applies to a global BackendService with loadBalancingScheme set to INTERNAL_SELF_MANAGED. Only applies when BackendService has an attached clientTlsPolicy with clientCertificate (mTLS mode).\nNote: This field currently has no impact.", + "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). Note: This field currently has no impact.", "items": { "type": "string" }, @@ -63940,7 +69361,7 @@ "type": "object" }, "SerialPortOutput": { - "description": "An instance's serial console output.", + "description": "An instance serial console output.", "id": "SerialPortOutput", "properties": { "contents": { @@ -63979,8 +69400,8 @@ "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" @@ -64004,7 +69425,7 @@ "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: \n- SIMPLE Secure connections with standard TLS semantics. \n- MUTUAL Secure connections to the backends using mutual TLS by presenting client certificates for authentication.", + "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", @@ -64012,8 +69433,8 @@ ], "enumDescriptions": [ "", - "", - "" + "Secure connections to the backends using mutual TLS by presenting client certificates for authentication.", + "Secure connections with standard TLS semantics." ], "type": "string" } @@ -64039,25 +69460,41 @@ "type": "object" }, "ServiceAttachment": { - "description": "Represents a ServiceAttachment resource.\n\nA 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. next tag = 17", + "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. next tag = 20", "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" }, - "consumerForwardingRules": { - "description": "[Output Only] An array of forwarding rules for all the consumers connected to this service attachment.", + "consumerAcceptLists": { + "description": "Projects that are allowed to connect to this service attachment.", "items": { - "$ref": "ServiceAttachmentConsumerForwardingRule" + "$ref": "ServiceAttachmentConsumerProjectLimit" + }, + "type": "array" + }, + "consumerRejectLists": { + "description": "Projects that are not allowed to connect to this service attachment. The project can be specified using its id or number.", + "items": { + "type": "string" }, "type": "array" }, @@ -64069,10 +69506,22 @@ "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", @@ -64104,6 +69553,10 @@ "description": "The URL of a forwarding rule with loadBalancingScheme INTERNAL* that is serving the endpoint identified by this service attachment.", "type": "string" }, + "pscServiceAttachmentId": { + "$ref": "Uint128", + "description": "[Output Only] An 128-bit global unique ID of the PSC service attachment." + }, "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" @@ -64111,6 +69564,10 @@ "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" } }, "type": "object" @@ -64184,36 +69641,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -64239,26 +69696,33 @@ }, "type": "object" }, - "ServiceAttachmentConsumerForwardingRule": { - "description": "[Output Only] A consumer forwarding rule connected to this service attachment.", - "id": "ServiceAttachmentConsumerForwardingRule", + "ServiceAttachmentConnectedEndpoint": { + "description": "[Output Only] A connection connected to this service attachment.", + "id": "ServiceAttachmentConnectedEndpoint", "properties": { - "forwardingRule": { - "description": "The url of a consumer forwarding rule.", + "endpoint": { + "description": "The url of a connected endpoint.", + "type": "string" + }, + "pscConnectionId": { + "description": "The PSC connection id of the connected endpoint.", + "format": "uint64", "type": "string" }, "status": { - "description": "The status of the forwarding rule.", + "description": "The status of a connected endpoint to this service attachment.", "enum": [ "ACCEPTED", + "CLOSED", "PENDING", "REJECTED", "STATUS_UNSPECIFIED" ], "enumDescriptions": [ - "", - "", - "", + "The connection has been accepted by the producer.", + "The connection has been closed by the producer.", + "The connection is pending acceptance by the producer.", + "The consumer is still connected but not using the connection.", "" ], "type": "string" @@ -64266,6 +69730,21 @@ }, "type": "object" }, + "ServiceAttachmentConsumerProjectLimit": { + "id": "ServiceAttachmentConsumerProjectLimit", + "properties": { + "connectionLimit": { + "description": "The value of the limit to set.", + "format": "uint32", + "type": "integer" + }, + "projectIdOrNum": { + "description": "The project id or number for the project to set the limit for.", + "type": "string" + } + }, + "type": "object" + }, "ServiceAttachmentList": { "id": "ServiceAttachmentList", "properties": { @@ -64326,36 +69805,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -64384,7 +69863,7 @@ "ServiceAttachmentsScopedList": { "id": "ServiceAttachmentsScopedList", "properties": { - "resources": { + "serviceAttachments": { "description": "A list of ServiceAttachments contained in this scope.", "items": { "$ref": "ServiceAttachment" @@ -64424,36 +69903,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -64479,6 +69958,74 @@ }, "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", @@ -64499,9 +70046,17 @@ "type": "object" }, "ShieldedInstanceIdentity": { - "description": "A shielded Instance identity entry.", + "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." @@ -64564,7 +70119,7 @@ "type": "object" }, "ShieldedVmIdentity": { - "description": "A shielded VM identity entry.", + "description": "A Shielded VM Identity.", "id": "ShieldedVmIdentity", "properties": { "encryptionKey": { @@ -64626,9 +70181,23 @@ "type": "object" }, "Snapshot": { - "description": "Represents a Persistent Disk Snapshot resource.\n\nYou can use snapshots to back up data on a regular interval. For more information, read Creating persistent disk snapshots. (== resource_for {$api_version}.snapshots ==)", + "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" @@ -64656,11 +70225,11 @@ "type": "string" }, "guestFlush": { - "description": "[Input Only] Whether to attempt an application consistent snapshot by informing the OS to prepare for the snapshot process. Currently only supported on Windows instances using the Volume Shadow Copy Service (VSS).", + "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.", + "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" }, @@ -64677,7 +70246,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a snapshot.", + "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" }, @@ -64731,7 +70300,19 @@ }, "snapshotEncryptionKey": { "$ref": "CustomerEncryptionKey", - "description": "Encrypts the snapshot using a customer-supplied encryption key.\n\nAfter 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.\n\nCustomer-supplied encryption keys do not protect access to metadata of the snapshot.\n\nIf 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." + "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.", @@ -64745,6 +70326,14 @@ "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" + }, + "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" + }, "status": { "description": "[Output Only] The status of the snapshot. This can be CREATING, DELETING, FAILED, READY, or UPLOADING.", "enum": [ @@ -64755,11 +70344,11 @@ "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" }, @@ -64786,6 +70375,13 @@ "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" @@ -64851,36 +70447,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -64914,7 +70510,7 @@ "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: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk \n- projects/project/zones/zone/disks/disk \n- zones/zone/disks/disk", + "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" } }, @@ -64935,7 +70531,7 @@ "type": "object" }, "SourceInstanceProperties": { - "description": "", + "description": "DEPRECATED: Please use compute#instanceProperties instead. New properties will not be added to this field.", "id": "SourceInstanceProperties", "properties": { "canIpForward": { @@ -64964,6 +70560,20 @@ }, "type": "array" }, + "keyRevocationActionType": { + "description": "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" @@ -64998,9 +70608,9 @@ "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" }, @@ -65023,7 +70633,7 @@ "type": "object" }, "SslCertificate": { - "description": "Represents an SSL Certificate resource.\n\nGoogle Compute Engine has two SSL Certificate resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/sslCertificates) * [Regional](/compute/docs/reference/rest/{$api_version}/regionSslCertificates)\n\n\n\nThe sslCertificates are used by: \n- external HTTPS load balancers \n- SSL proxy load balancers \n\nThe regionSslCertificates are used by internal HTTPS load balancers.\n\nOptionally, 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. (== resource_for {$api_version}.sslCertificates ==) (== resource_for {$api_version}.regionSslCertificates ==)", + "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 sslCertificates are used by: - external HTTPS load balancers - SSL proxy load balancers The regionSslCertificates are used by internal HTTPS 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": { @@ -65096,8 +70706,8 @@ "TYPE_UNSPECIFIED" ], "enumDescriptions": [ - "", - "", + "Google-managed SSLCertificate.", + "Certificate uploaded by user.", "" ], "type": "string" @@ -65173,36 +70783,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -65289,36 +70899,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -65360,13 +70970,13 @@ "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" }, @@ -65391,12 +71001,12 @@ "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" } @@ -65461,36 +71071,162 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "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", + "LARGE_DEPLOYMENT_WARNING", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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": { @@ -65576,36 +71312,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -65643,8 +71379,106 @@ }, "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", + "LARGE_DEPLOYMENT_WARNING", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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.\n\nUse SSL policies to control the SSL features, such as versions and cipher suites, offered by an HTTPS or SSL Proxy load balancer. For more information, read SSL Policy Concepts. (== resource_for {$api_version}.sslPolicies ==)", + "description": "Represents an SSL Policy resource. Use SSL policies to control the SSL features, such as versions and cipher suites, offered by an HTTPS or SSL Proxy load balancer. For more information, read SSL Policy Concepts.", "id": "SslPolicy", "properties": { "creationTimestamp": { @@ -65652,7 +71486,7 @@ "type": "string" }, "customFeatures": { - "description": "A list of features enabled when the selected profile is CUSTOM. The\n- method returns the set of features that can be specified in this list. This field must be empty if the profile is not CUSTOM.", + "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" }, @@ -65670,7 +71504,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve an SslPolicy.", + "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" }, @@ -65692,9 +71526,9 @@ "TLS_1_2" ], "enumDescriptions": [ - "", - "", - "" + "TLS 1.0", + "TLS 1.1", + "TLS 1.2" ], "type": "string" }, @@ -65712,13 +71546,17 @@ "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" @@ -65765,36 +71603,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -65906,7 +71744,7 @@ "type": "object" }, "Subnetwork": { - "description": "Represents a Subnetwork resource.\n\nA 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. (== resource_for {$api_version}.subnetworks ==)", + "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": { @@ -65930,7 +71768,7 @@ "type": "string" }, "allowSubnetCidrRoutesOverlap": { - "description": "Whether this subnetwork can conflict with static routes. Setting this to true allows this subnetwork's primary and secondary ranges to conflict with routes that have already been configured on the corresponding network. Static routes will take precedence over the subnetwork route if the route prefix length is at least as large as the subnetwork prefix length.\n\nAlso, packets destined to IPs within subnetwork may contain private/sensitive data and are prevented from leaving the virtual network. Setting this field to true will disable this feature.\n\nThe default value is false and applies to all existing subnetworks and automatically created subnetworks.\n\nThis field cannot be set to true at resource creation time.", + "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": { @@ -65942,7 +71780,7 @@ "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 to disable flow logging. This field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.", + "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 with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.", "type": "boolean" }, "enableL2": { @@ -65958,12 +71796,12 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a Subnetwork.", + "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, which means half of all collected logs are reported.", + "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" }, @@ -65976,6 +71814,10 @@ "format": "uint64", "type": "string" }, + "internalIpv6Prefix": { + "description": "[Output Only] The range of internal IPv6 addresses that are owned by this subnetwork. Note this is for general VM to VM communication, not to be confused with the ipv6_cidr_range field.", + "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" @@ -65984,18 +71826,16 @@ "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. If the ipv6_type is EXTERNAL then this subnet cannot enable direct path.", "enum": [ "EXTERNAL", - "INTERNAL", - "UNSPECIFIED_IPV6_ACCESS_TYPE" + "INTERNAL" ], "enumDescriptions": [ - "", - "", - "" + "VMs on this subnet will be assigned IPv6 addresses that are accesible 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] The range of internal IPv6 addresses that are owned by this subnetwork.", + "description": "[Output Only] The range of internal IPv6 addresses that are owned by this subnetwork. Note this will be for private google access only eventually.", "type": "string" }, "kind": { @@ -66025,7 +71865,7 @@ "type": "string" }, "network": { - "description": "The URL of the network to which this subnetwork belongs, provided by the client when initially creating the subnetwork. Only networks that are in the distributed mode can have subnetworks. This field can be set only at resource creation time.", + "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": { @@ -66033,7 +71873,7 @@ "type": "boolean" }, "privateIpv6GoogleAccess": { - "description": "The private IPv6 google access type for the VMs in this subnet. This is an expanded field of enablePrivateV6Access. If both fields are set, privateIpv6GoogleAccess will take priority.\n\nThis field can be both set at resource creation time and updated using patch.", + "description": "The private IPv6 google access type for the VMs in this subnet. This is an expanded field of enablePrivateV6Access. If both fields are set, privateIpv6GoogleAccess will take priority. This field can be both set at resource creation time and updated using patch.", "enum": [ "DISABLE_GOOGLE_ACCESS", "ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE", @@ -66041,10 +71881,10 @@ "ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE_FOR_SERVICE_ACCOUNTS" ], "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.", + "Deprecated in favor of enable PrivateIpv6GoogleAccess on instance directly. Outbound private IPv6 access is enabled per VM based on Service Accounts. This applies only to VMs with primary service accounts as listed in private_ipv6_google_access_service_account." ], "type": "string" }, @@ -66060,18 +71900,24 @@ "enum": [ "AGGREGATE", "CLOUD_EXTENSION", + "GLOBAL_MANAGED_PROXY", "INTERNAL_HTTPS_LOAD_BALANCER", "PRIVATE", + "PRIVATE_NAT", "PRIVATE_RFC_1918", - "PRIVATE_SERVICE_CONNECT" + "PRIVATE_SERVICE_CONNECT", + "REGIONAL_MANAGED_PROXY" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "" + "Subnetwork used to aggregate multiple private subnetworks.", + "Subnetworks created for Cloud Extension Machines.", + "Subnet reserved for Global Internal HTTP(S) Load Balancing.", + "Subnet reserved for Internal HTTP(S) Load Balancing.", + "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 Internal/External HTTP(S) Load Balancing." ], "type": "string" }, @@ -66079,6 +71925,10 @@ "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 = INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Internal HTTP(S) Load Balancing. 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": [ @@ -66086,8 +71936,8 @@ "BACKUP" ], "enumDescriptions": [ - "", - "" + "The ACTIVE subnet that is currently used.", + "The BACKUP subnet that could be promoted to ACTIVE." ], "type": "string" }, @@ -66107,28 +71957,26 @@ "type": "string" }, "stackType": { - "description": "The stack type for this subnet to identify whether the IPv6 feature is enabled or not. If not specified IPV4_ONLY will be used.\n\nThis field can be both set at resource creation time and updated using patch.", + "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", - "UNSPECIFIED_STACK_TYPE" + "IPV4_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." ], "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 CREATING: Subnetwork is provisioning DELETING: Subnetwork is being deleted UPDATING: Subnetwork is being updated", + "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" }, @@ -66211,36 +72059,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -66327,36 +72175,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -66407,15 +72255,15 @@ "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 to disable flow logging.", + "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.", "type": "boolean" }, "filterExpr": { - "description": "Can only be specified if VPC flow logs for this subnetwork is enabled. Export filter used to define which VPC flow logs should be logged.", + "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, which means half of all collected logs are reported.", + "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" }, @@ -66454,6 +72302,10 @@ "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" @@ -66511,36 +72363,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -66576,7 +72428,7 @@ "type": "object" }, "Subsetting": { - "description": "Subsetting options to make L4 ILB support any number of backend instances", + "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": { @@ -66585,10 +72437,15 @@ "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" @@ -66606,16 +72463,16 @@ "type": "string" }, "portSpecification": { - "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in port is used for health checking.\nUSE_NAMED_PORT: The portName is used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, TCP health check follows behavior specified in port and portName fields.", + "description": "Specifies how port is selected for health checking, can be one of following values: USE_FIXED_PORT: The port number in port is used for health checking. USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking. If not specified, TCP health check follows behavior specified in port and portName fields.", "enum": [ "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT" ], "enumDescriptions": [ - "", - "", - "" + "The port number in port is used for health checking.", + "The portName is used for health checking.", + "For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking." ], "type": "string" }, @@ -66647,7 +72504,7 @@ "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.\n\nTo see the latest fingerprint, make get() request to the instance.", + "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" }, @@ -66656,13 +72513,14 @@ "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.\n\nA 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. (== resource_for {$api_version}.targetGrpcProxies ==)", + "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": { @@ -66777,36 +72635,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -66875,36 +72733,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -66931,7 +72789,7 @@ "type": "object" }, "TargetHttpProxy": { - "description": "Represents a Target HTTP Proxy resource.\n\nGoogle Compute Engine has two Target HTTP Proxy resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/targetHttpProxies) * [Regional](/compute/docs/reference/rest/{$api_version}/regionTargetHttpProxies)\n\nA target HTTP proxy is a component of GCP HTTP load balancers.\n\n* targetHttpProxies are used by external HTTP load balancers and Traffic Director. * regionTargetHttpProxies are used by internal HTTP load balancers.\n\nForwarding 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. (== resource_for {$api_version}.targetHttpProxies ==) (== resource_for {$api_version}.regionTargetHttpProxies ==)", + "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 GCP HTTP load balancers. * targetHttpProxies are used by external HTTP load balancers and Traffic Director. * regionTargetHttpProxies are used by internal HTTP 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": { @@ -66948,7 +72806,7 @@ "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.\nhttpFilters only applies for loadbalancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for more details.", + "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" }, @@ -66970,7 +72828,7 @@ "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.\n\nWhen 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.\n\nThe default is false.", + "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": { @@ -67060,36 +72918,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -67176,36 +73034,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -67274,36 +73132,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -67350,9 +73208,9 @@ "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" } @@ -67363,7 +73221,7 @@ "id": "TargetHttpsProxiesSetSslCertificatesRequest", "properties": { "sslCertificates": { - "description": "New set of SslCertificate resources to associate with this TargetHttpsProxy resource. Currently exactly one SslCertificate resource must be specified.", + "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" }, @@ -67373,7 +73231,7 @@ "type": "object" }, "TargetHttpsProxy": { - "description": "Represents a Target HTTPS Proxy resource.\n\nGoogle Compute Engine has two Target HTTPS Proxy resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/{$api_version}/regionTargetHttpsProxies)\n\nA target HTTPS proxy is a component of GCP HTTPS load balancers.\n\n* targetHttpsProxies are used by external HTTPS load balancers. * regionTargetHttpsProxies are used by internal HTTPS load balancers.\n\nForwarding 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. (== resource_for {$api_version}.targetHttpsProxies ==) (== resource_for {$api_version}.regionTargetHttpsProxies ==)", + "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 GCP HTTPS load balancers. * targetHttpsProxies are used by external HTTPS load balancers. * regionTargetHttpsProxies are used by internal HTTPS 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": { @@ -67385,7 +73243,7 @@ "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.\nRefer to the AuthorizationPolicy resource for additional details.\nauthorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.\nNote: This field currently has no impact.", + "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": { @@ -67406,7 +73264,7 @@ "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/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.\nhttpFilters only applies for loadbalancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for more details.", + "description": "URLs to networkservices.HttpFilter resources enabled for xDS clients using this configuration. For example, https://networkservices.googleapis.com/beta/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" }, @@ -67428,20 +73286,20 @@ "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.\n\nWhen 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.\n\nThe default is false.", + "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. \n- When quic-override is set to NONE, Google manages whether QUIC is used. \n- When quic-override is set to ENABLE, the load balancer uses QUIC when possible. \n- When quic-override is set to DISABLE, the load balancer doesn't use QUIC. \n- If the quic-override flag is not specified, NONE is implied.", + "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" }, @@ -67458,11 +73316,11 @@ "type": "string" }, "serverTlsPolicy": { - "description": "Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic.\nserverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.\nIf left blank, communications are not encrypted.\nNote: This field currently has no impact.", + "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. If left blank, communications are not encrypted. Note: This field currently has no impact.", "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. Currently, you may specify up to 15 SSL certificates.", + "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. 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" }, @@ -67473,7 +73331,7 @@ "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: \n- https://www.googleapis.compute/v1/projects/project/global/urlMaps/url-map \n- projects/project/global/urlMaps/url-map \n- global/urlMaps/url-map", + "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" } }, @@ -67547,36 +73405,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -67663,36 +73521,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -67719,7 +73577,7 @@ "type": "object" }, "TargetInstance": { - "description": "Represents a Target Instance resource.\n\nYou 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. (== resource_for {$api_version}.targetInstances ==)", + "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": { @@ -67736,7 +73594,7 @@ "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: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance \n- projects/project/zones/zone/instances/instance \n- zones/zone/instances/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": { @@ -67755,7 +73613,7 @@ "NO_NAT" ], "enumDescriptions": [ - "" + "No NAT performed." ], "type": "string" }, @@ -67846,36 +73704,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -67962,36 +73820,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -68060,36 +73918,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -68116,11 +73974,11 @@ "type": "object" }, "TargetPool": { - "description": "Represents a Target Pool resource.\n\nTarget pools are used for network TCP/UDP load balancing. A target pool references member instances, an associated legacy HttpHealthCheck resource, and, optionally, a backup target pool. For more information, read Using target pools. (== resource_for {$api_version}.targetPools ==)", + "description": "Represents a Target Pool resource. Target pools are used for network TCP/UDP load balancing. 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].\n\nbackupPool 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.\n\nIn 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.", + "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": { @@ -68132,7 +73990,7 @@ "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].\n\nIf 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.\n\nIn 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.", + "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" }, @@ -68178,7 +74036,7 @@ "type": "string" }, "sessionAffinity": { - "description": "Session affinity option, must be one of the following values:\nNONE: Connections from the same client IP may go to any instance in the pool.\nCLIENT_IP: Connections from the same client IP will go to the same instance in the pool while that instance remains healthy.\nCLIENT_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.", + "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", @@ -68190,14 +74048,14 @@ "NONE" ], "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." ], "type": "string" } @@ -68272,36 +74130,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -68405,36 +74263,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -68477,7 +74335,7 @@ "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: \n- https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-name \n- projects/project-id/zones/zone/instances/instance-name \n- zones/zone/instances/instance-name", + "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" }, @@ -68490,7 +74348,7 @@ "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: \n- https://www.googleapis.com/compute/beta/projects/project/global/httpHealthChecks/health-check \n- projects/project/global/httpHealthChecks/health-check \n- global/httpHealthChecks/health-check", + "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" }, @@ -68555,36 +74413,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -68661,7 +74519,7 @@ "id": "TargetSslProxiesSetSslCertificatesRequest", "properties": { "sslCertificates": { - "description": "New set of URLs to SslCertificate resources to associate with this TargetSslProxy. Currently exactly one ssl certificate must be specified.", + "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" }, @@ -68671,7 +74529,7 @@ "type": "object" }, "TargetSslProxy": { - "description": "Represents a Target SSL Proxy resource.\n\nA target SSL proxy is a component of a SSL Proxy load balancer. Global forwarding rules reference a target SSL proxy, and the target proxy then references an external backend service. For more information, read Using Target Proxies. (== resource_for {$api_version}.targetSslProxies ==)", + "description": "Represents a Target SSL Proxy resource. A target SSL proxy is a component of a SSL Proxy load balancer. Global forwarding rules reference a target SSL proxy, and the target proxy then references an external backend service. For more information, read Using Target Proxies.", "id": "TargetSslProxy", "properties": { "certificateMap": { @@ -68722,7 +74580,7 @@ "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.", + "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" }, @@ -68796,36 +74654,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -68880,7 +74738,7 @@ "type": "object" }, "TargetTcpProxy": { - "description": "Represents a Target TCP Proxy resource.\n\nA target TCP proxy is a component of a TCP Proxy load balancer. Global forwarding rules reference target TCP proxy, and the target proxy then references an external backend service. For more information, read TCP Proxy Load Balancing overview. (== resource_for {$api_version}.targetTcpProxies ==)", + "description": "Represents a Target TCP Proxy resource. A target TCP proxy is a component of a TCP Proxy load balancer. Global forwarding rules reference target TCP proxy, and the target proxy then references an external backend service. For more information, read TCP Proxy Load Balancing overview.", "id": "TargetTcpProxy", "properties": { "creationTimestamp": { @@ -68907,7 +74765,7 @@ "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.\n\nWhen 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.\n\nThe default is false.", + "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": { @@ -68922,6 +74780,10 @@ ], "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" @@ -68994,36 +74856,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -69050,7 +74912,7 @@ "type": "object" }, "TargetVpnGateway": { - "description": "Represents a Target VPN Gateway resource.\n\nThe target VPN gateway resource represents a Classic Cloud VPN gateway. For more information, read the the Cloud VPN Overview. (== resource_for {$api_version}.targetVpnGateways ==)", + "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": { @@ -69079,7 +74941,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a TargetVpnGateway.", + "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" }, @@ -69211,36 +75073,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -69327,36 +75189,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -69425,36 +75287,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -69484,7 +75346,7 @@ "id": "TestFailure", "properties": { "actualOutputUrl": { - "description": "The actual output URL evaluated by load balancer containing the scheme, host, path and query parameters.", + "description": "The actual output URL evaluated by a load balancer containing the scheme, host, path and query parameters.", "type": "string" }, "actualRedirectResponseCode": { @@ -69497,7 +75359,7 @@ "type": "string" }, "expectedOutputUrl": { - "description": "The expected output URL evaluated by load balancer containing the scheme, host, path and query parameters.", + "description": "The expected output URL evaluated by a load balancer containing the scheme, host, path and query parameters.", "type": "string" }, "expectedRedirectResponseCode": { @@ -69570,8 +75432,8 @@ ], "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" }, @@ -69633,8 +75495,8 @@ ], "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" } @@ -69664,10 +75526,28 @@ }, "type": "object" }, + "Uint128": { + "id": "Uint128", + "properties": { + "high": { + "format": "uint64", + "type": "string" + }, + "low": { + "format": "uint64", + "type": "string" + } + }, + "type": "object" + }, "UpcomingMaintenance": { - "description": "Upcoming Maintenance notification information.", + "description": "Upcoming Maintenance notification information. TODO(b/196881882) Deprecate this proto once it's fully migrated to be under proto ResourceStatus.UpcomingMaintenance.", "id": "UpcomingMaintenance", "properties": { + "canReschedule": { + "description": "Indicates if the maintenance can be customer triggered. From more detail, see go/sf-ctm-design.", + "type": "boolean" + }, "date": { "description": "[Output Only] The date when the maintenance will take place. This value is in RFC3339 text format. DEPRECATED: Use start_time_window instead.", "type": "string" @@ -69688,9 +75568,9 @@ "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" } @@ -69711,7 +75591,7 @@ "type": "object" }, "UrlMap": { - "description": "Represents a URL Map resource.\n\nGoogle Compute Engine has two URL Map resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/urlMaps) * [Regional](/compute/docs/reference/rest/{$api_version}/regionUrlMaps)\n\nA URL map resource is a component of certain types of GCP load balancers and Traffic Director.\n\n* urlMaps are used by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used by internal HTTP(S) load balancers.\n\nFor a list of supported URL map features by load balancer type, see the Load balancing features: Routing and traffic management table.\n\nFor a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table.\n\nThis resource defines mappings from host names and URL paths to either a backend service or a backend bucket.\n\nTo use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL 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.", + "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 external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used by internal HTTP(S) 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 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": { @@ -69720,31 +75600,31 @@ }, "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.\nOnly one of defaultRouteAction or defaultUrlRedirect must be set.\nUrlMaps for external HTTP(S) load balancers support only the urlRewrite action within defaultRouteAction.\ndefaultRouteAction has no effect when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true." + "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. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers support only 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 additionally specified, advanced routing actions like URL Rewrites, etc. take effect prior to sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified.\nOnly one of defaultService, defaultUrlRedirect or defaultRouteAction.weightedBackendService must be set.\ndefaultService has no effect when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.", + "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. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of defaultService, defaultUrlRedirect , or defaultRouteAction.weightedBackendService must 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.\nIf defaultUrlRedirect is specified, defaultService or defaultRouteAction must not be set.\nNot supported when the URL map is bound to target gRPC proxy." + "description": "When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or defaultRouteAction must not 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 will be 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.\n\nTo see the latest fingerprint, make a get() request to retrieve a UrlMap.", + "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.\nThe headerAction specified here take effect after headerAction specified under pathMatcher.\nNote that headerAction is not supported for Loadbalancers that have their loadBalancingScheme set to EXTERNAL.\nNot supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true." + "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 HostRules to use against the URL.", + "description": "The list of host rules to use against the URL.", "items": { "$ref": "HostRule" }, @@ -69781,7 +75661,7 @@ "type": "string" }, "tests": { - "description": "The list of expected URL mapping tests. Request to update this UrlMap will succeed only if all of the test cases pass. You can specify a maximum of 100 tests per UrlMap.\nNot supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.", + "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" }, @@ -69851,36 +75731,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -69929,11 +75809,11 @@ "type": "string" }, "expectedOutputUrl": { - "description": "The expected output URL evaluated by load balancer containing the scheme, host, path and query parameters.\nFor rules that forward requests to backends, the test passes only when expectedOutputUrl matches the request forwarded by 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.\nFor 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.\nexpectedOutputUrl is optional when service is specified.", + "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.\nexpectedRedirectResponseCode cannot be set when service is set.", + "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" }, @@ -69957,7 +75837,7 @@ "type": "string" }, "service": { - "description": "Expected BackendService or BackendBucket resource the given URL should be mapped to.\nservice cannot be set if expectedRedirectResponseCode is set.", + "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" } }, @@ -70073,36 +75953,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -70171,36 +76051,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -70229,6 +76109,23 @@ "UrlMapsValidateRequest": { "id": "UrlMapsValidateRequest", "properties": { + "loadBalancingSchemes": { + "description": "Specifies the load balancer type(s) this validation request is for. Use EXTERNAL_MANAGED for HTTP/HTTPS External Global Load Balancer with Advanced Traffic Management. Use EXTERNAL for Classic HTTP/HTTPS External Global Load Balancer. Other load balancer types are not supported. 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 L7 External Load Balancing.", + "Signifies that this will be used for Envoy-based L7 External Load Balancing.", + "If unspecified, the validation will try to infer the scheme from the backend service resources this Url map references. If the inferrence 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." @@ -70250,11 +76147,11 @@ "id": "UrlRewrite", "properties": { "hostRewrite": { - "description": "Prior to forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite.\nThe value must be between 1 and 255 characters.", + "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": "Prior to forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite.\nThe value must be between 1 and 1024 characters.", + "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" } }, @@ -70321,7 +76218,7 @@ "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.", + "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" }, "selfLink": { @@ -70361,36 +76258,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -70425,7 +76322,7 @@ "type": "string" }, "reportNamePrefix": { - "description": "An optional prefix for the name of the usage report object stored in bucketName. If not supplied, defaults to usage. 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.", + "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" } }, @@ -70591,36 +76488,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -70647,7 +76544,7 @@ "type": "object" }, "VpnGateway": { - "description": "Represents a HA VPN gateway.\n\nHA 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 . (== resource_for {$api_version}.vpnGateways ==)", + "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": { @@ -70669,7 +76566,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve an VpnGateway.", + "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 an VpnGateway.", "format": "byte", "type": "string" }, @@ -70707,8 +76604,20 @@ "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. If not specified, IPV4_ONLY will be used.", + "enum": [ + "IPV4_IPV6", + "IPV4_ONLY" + ], + "enumDescriptions": [ + "Enable VPN gateway with both IPv4 and IPv6 protocols.", + "Enable VPN gateway with only IPv4 protocol." + ], + "type": "string" + }, "vpnInterfaces": { - "description": "A list of interfaces on this VPN gateway.", + "description": "The list of VPN interfaces associated with this VPN gateway.", "items": { "$ref": "VpnGatewayVpnGatewayInterface" }, @@ -70785,36 +76694,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -70901,36 +76810,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -70980,8 +76889,8 @@ "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" }, @@ -71050,16 +76959,16 @@ "id": "VpnGatewayVpnGatewayInterface", "properties": { "id": { - "description": "The numeric ID of this VPN gateway interface.", + "description": "[Output Only] Numeric identifier for this VPN interface associated with the VPN gateway.", "format": "uint32", "type": "integer" }, "interconnectAttachment": { - "description": "URL of the interconnect attachment resource. When the value of this field is present, the VPN Gateway will be used for IPsec-encrypted Cloud Interconnect; all Egress or Ingress traffic for this VPN Gateway interface will go through the specified interconnect attachment resource.\nNot currently available in all Interconnect locations.", + "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 IPsec-encrypted Cloud Interconnect; all egress or ingress traffic for this VPN gateway interface goes through the specified VLAN attachment resource. Not currently available publicly. ", "type": "string" }, "ipAddress": { - "description": "[Output Only] The external IP address for this VPN gateway interface.", + "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 IPsec-encrypted Cloud Interconnect, the IP addresses for both interfaces could either be regional internal IP addresses or regional external IP addresses. For regular (non IPsec-encrypted Cloud Interconnect) HA VPN tunnels, the IP address must be a regional external IP address.", "type": "string" } }, @@ -71117,36 +77026,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -71173,7 +77082,7 @@ "type": "object" }, "VpnTunnel": { - "description": "Represents a Cloud VPN Tunnel resource.\n\nFor more information about VPN, read the the Cloud VPN Overview. (== resource_for {$api_version}.vpnTunnels ==)", + "description": "Represents a Cloud VPN Tunnel resource. For more information about VPN, read the the Cloud VPN Overview.", "id": "VpnTunnel", "properties": { "creationTimestamp": { @@ -71204,7 +77113,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a VpnTunnel.", + "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" }, @@ -71277,7 +77186,7 @@ "type": "string" }, "status": { - "description": "[Output Only] The status of the VPN tunnel, which can be one of the following: \n- PROVISIONING: Resource is being allocated for the VPN tunnel. \n- 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. \n- FIRST_HANDSHAKE: Successful first handshake with the peer VPN. \n- ESTABLISHED: Secure session is successfully established with the peer VPN. \n- NETWORK_ERROR: Deprecated, replaced by NO_INCOMING_PACKETS \n- AUTHORIZATION_ERROR: Auth error (for example, bad shared secret). \n- NEGOTIATION_FAILURE: Handshake failed. \n- DEPROVISIONING: Resources are being deallocated for the VPN tunnel. \n- FAILED: Tunnel creation has failed and the tunnel is not ready to be used. \n- NO_INCOMING_PACKETS: No incoming packets from peer. \n- REJECTED: Tunnel configuration was rejected, can be result of being denied access. \n- ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required resources. \n- STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for Classic VPN tunnels or the project is in frozen state. \n- PEER_IDENTITY_MISMATCH: Peer identity does not match peer IP, probably behind NAT. \n- TS_NARROWING_NOT_ALLOWED: Traffic selector narrowing not allowed for an HA-VPN tunnel.", + "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", @@ -71294,19 +77203,19 @@ "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" }, @@ -71394,36 +77303,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -71510,36 +77419,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -71608,36 +77517,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -71681,7 +77590,7 @@ "type": "array" }, "id": { - "description": "Google specified expression set ID. The format should be: - E.g. XSS-20170329", + "description": "Google specified expression set ID. The format should be: - E.g. XSS-20170329 required", "type": "string" } }, @@ -71691,26 +77600,26 @@ "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.", + "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" } }, "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 BackendServices. The volume of traffic for each BackendService is proportional to the weight specified in each 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 loadbalancer applies any relevant headerActions specified as part of this backendServiceWeight.", + "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.\nheaderAction specified here take effect before headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.\nNote that headerAction is not supported for Loadbalancers that have their loadBalancingScheme set to EXTERNAL.\nNot supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true." + "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 backendService, computed as weight / (sum of all weightedBackendService weights in routeAction) .\nThe selection of a backend service is determined only for new traffic. Once a user's request has been directed to a backendService, subsequent requests will be sent to the same backendService as determined by the BackendService's session affinity policy.\nThe value must be between 0 and 1000", + "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. The value must be from 0 to 1000.", "format": "uint32", "type": "integer" } @@ -71777,36 +77686,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -71856,7 +77765,7 @@ "type": "object" }, "Zone": { - "description": "Represents a Zone resource.\n\nA zone is a deployment area. These deployment areas are subsets of a region. For example the zone us-east1-a is located in the us-east1 region. For more information, read Regions and Zones. (== resource_for {$api_version}.zones ==)", + "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-a is located in the us-east1 region. For more information, read Regions and Zones.", "id": "Zone", "properties": { "availableCpuPlatforms": { @@ -71919,16 +77828,6 @@ }, "type": "object" }, - "ZoneInstantSnapshotsExportRequest": { - "id": "ZoneInstantSnapshotsExportRequest", - "properties": { - "exportParams": { - "$ref": "InstantSnapshotExportParams", - "description": "Parameters to export the changed blocks." - } - }, - "type": "object" - }, "ZoneList": { "description": "Contains a list of zone resources.", "id": "ZoneList", @@ -71990,36 +77889,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { diff --git a/etc/api/compute/beta/compute-api.json b/etc/api/compute/beta/compute-api.json index b4f2648c64..003ec5e103 100644 --- a/etc/api/compute/beta/compute-api.json +++ b/etc/api/compute/beta/compute-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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" @@ -12,13 +12,13 @@ "description": "View your Google Compute Engine resources" }, "https://www.googleapis.com/auth/devstorage.full_control": { - "description": "Manage your data and permissions in Google Cloud Storage" + "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 Google Cloud Storage" + "description": "Manage your data in Cloud Storage and see the email address of your Google Account" } } } @@ -26,32 +26,59 @@ "basePath": "/compute/beta/", "baseUrl": "https://compute.googleapis.com/compute/beta/", "batchPath": "batch/compute/beta", - "description": "Creates and runs virtual machines on Google Cloud Platform.", + "description": "Creates and runs virtual machines on Google Cloud Platform. ", "discoveryVersion": "v1", - "documentationLink": "https://developers.google.com/compute/docs/reference/latest/", - "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/di31WvGozRdVEu9pKqqvFd_GfMM\"", + "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:beta", "kind": "discovery#restDescription", + "mtlsRootUrl": "https://compute.mtls.googleapis.com/", "name": "compute", "ownerDomain": "google.com", "ownerName": "Google", "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", + "$.xgafv": { + "description": "V1 error format.", "enum": [ - "json" + "1", + "2" ], "enumDescriptions": [ - "Responses with Content-Type of application/json" + "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", @@ -74,12 +101,22 @@ "type": "boolean" }, "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", + "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": "Deprecated. Please use quotaUser instead.", + "description": "Legacy name for parameter that has been superseded by `quotaUser`.", "location": "query", "type": "string" } @@ -90,6 +127,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of accelerator types.", + "flatPath": "projects/{project}/aggregated/acceleratorTypes", "httpMethod": "GET", "id": "compute.acceleratorTypes.aggregatedList", "parameterOrder": [ @@ -97,7 +135,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -115,7 +153,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -149,6 +187,7 @@ }, "get": { "description": "Returns the specified accelerator type.", + "flatPath": "projects/{project}/zones/{zone}/acceleratorTypes/{acceleratorType}", "httpMethod": "GET", "id": "compute.acceleratorTypes.get", "parameterOrder": [ @@ -191,6 +230,7 @@ }, "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": [ @@ -199,7 +239,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -212,7 +252,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -257,6 +297,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of addresses.", + "flatPath": "projects/{project}/aggregated/addresses", "httpMethod": "GET", "id": "compute.addresses.aggregatedList", "parameterOrder": [ @@ -264,7 +305,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -282,7 +323,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -316,6 +357,7 @@ }, "delete": { "description": "Deletes the specified address resource.", + "flatPath": "projects/{project}/regions/{region}/addresses/{address}", "httpMethod": "DELETE", "id": "compute.addresses.delete", "parameterOrder": [ @@ -346,7 +388,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -362,6 +404,7 @@ }, "get": { "description": "Returns the specified address resource.", + "flatPath": "projects/{project}/regions/{region}/addresses/{address}", "httpMethod": "GET", "id": "compute.addresses.get", "parameterOrder": [ @@ -404,6 +447,7 @@ }, "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": [ @@ -426,7 +470,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -445,6 +489,7 @@ }, "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": [ @@ -453,7 +498,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -466,7 +511,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -507,6 +552,7 @@ }, "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": [ @@ -530,7 +576,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -556,6 +602,7 @@ }, "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": [ @@ -605,6 +652,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of autoscalers.", + "flatPath": "projects/{project}/aggregated/autoscalers", "httpMethod": "GET", "id": "compute.autoscalers.aggregatedList", "parameterOrder": [ @@ -612,7 +660,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -630,7 +678,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -664,6 +712,7 @@ }, "delete": { "description": "Deletes the specified autoscaler.", + "flatPath": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}", "httpMethod": "DELETE", "id": "compute.autoscalers.delete", "parameterOrder": [ @@ -687,7 +736,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -710,6 +759,7 @@ }, "get": { "description": "Returns the specified autoscaler resource. Gets a list of available autoscalers by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}", "httpMethod": "GET", "id": "compute.autoscalers.get", "parameterOrder": [ @@ -752,6 +802,7 @@ }, "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": [ @@ -767,7 +818,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -793,6 +844,7 @@ }, "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": [ @@ -801,7 +853,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -814,7 +866,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -855,6 +907,7 @@ }, "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": [ @@ -876,7 +929,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -902,6 +955,7 @@ }, "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": [ @@ -947,6 +1001,7 @@ }, "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": [ @@ -968,7 +1023,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -998,6 +1053,7 @@ "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": [ @@ -1019,7 +1075,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1038,6 +1094,7 @@ }, "delete": { "description": "Deletes the specified BackendBucket resource.", + "flatPath": "projects/{project}/global/backendBuckets/{backendBucket}", "httpMethod": "DELETE", "id": "compute.backendBuckets.delete", "parameterOrder": [ @@ -1060,7 +1117,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1076,6 +1133,7 @@ }, "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": [ @@ -1104,7 +1162,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1120,6 +1178,7 @@ }, "get": { "description": "Returns the specified BackendBucket resource. Gets a list of available backend buckets by making a list() request.", + "flatPath": "projects/{project}/global/backendBuckets/{backendBucket}", "httpMethod": "GET", "id": "compute.backendBuckets.get", "parameterOrder": [ @@ -1154,6 +1213,7 @@ }, "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": [ @@ -1194,6 +1254,7 @@ }, "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": [ @@ -1208,7 +1269,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1227,6 +1288,7 @@ }, "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": [ @@ -1234,7 +1296,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1247,7 +1309,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -1281,6 +1343,7 @@ }, "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": [ @@ -1303,7 +1366,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1320,8 +1383,50 @@ "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 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/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": [ @@ -1358,6 +1463,7 @@ }, "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": [ @@ -1395,6 +1501,7 @@ }, "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": [ @@ -1417,7 +1524,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1440,6 +1547,7 @@ "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": [ @@ -1461,7 +1569,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1480,6 +1588,7 @@ }, "aggregatedList": { "description": "Retrieves the list of all BackendService resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/backendServices", "httpMethod": "GET", "id": "compute.backendServices.aggregatedList", "parameterOrder": [ @@ -1487,7 +1596,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1505,7 +1614,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -1539,6 +1648,7 @@ }, "delete": { "description": "Deletes the specified BackendService resource.", + "flatPath": "projects/{project}/global/backendServices/{backendService}", "httpMethod": "DELETE", "id": "compute.backendServices.delete", "parameterOrder": [ @@ -1561,7 +1671,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1577,6 +1687,7 @@ }, "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": [ @@ -1605,7 +1716,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1621,6 +1732,7 @@ }, "get": { "description": "Returns the specified BackendService resource. Gets a list of available backend services.", + "flatPath": "projects/{project}/global/backendServices/{backendService}", "httpMethod": "GET", "id": "compute.backendServices.get", "parameterOrder": [ @@ -1654,7 +1766,8 @@ ] }, "getHealth": { - "description": "Gets the most recent health check results for this BackendService.\n\nExample request body:\n\n{ \"group\": \"/zones/us-east1-b/instanceGroups/lb-backend-example\" }", + "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": [ @@ -1689,8 +1802,50 @@ "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.", + "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": [ @@ -1705,7 +1860,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1724,6 +1879,7 @@ }, "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": [ @@ -1731,7 +1887,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1744,7 +1900,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -1777,7 +1933,8 @@ ] }, "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.", + "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": [ @@ -1800,7 +1957,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1817,8 +1974,87 @@ "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": [ @@ -1840,7 +2076,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1859,6 +2095,7 @@ }, "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": [ @@ -1896,6 +2133,7 @@ }, "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": [ @@ -1918,7 +2156,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1941,6 +2179,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of disk types.", + "flatPath": "projects/{project}/aggregated/diskTypes", "httpMethod": "GET", "id": "compute.diskTypes.aggregatedList", "parameterOrder": [ @@ -1948,7 +2187,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1966,7 +2205,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -2000,6 +2239,7 @@ }, "get": { "description": "Returns the specified disk type. Gets a list of available disk types by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/diskTypes/{diskType}", "httpMethod": "GET", "id": "compute.diskTypes.get", "parameterOrder": [ @@ -2042,6 +2282,7 @@ }, "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": [ @@ -2050,7 +2291,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -2063,7 +2304,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -2108,6 +2349,7 @@ "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": [ @@ -2131,7 +2373,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -2157,6 +2399,7 @@ }, "aggregatedList": { "description": "Retrieves an aggregated list of persistent disks.", + "flatPath": "projects/{project}/aggregated/disks", "httpMethod": "GET", "id": "compute.disks.aggregatedList", "parameterOrder": [ @@ -2164,7 +2407,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -2182,7 +2425,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -2215,7 +2458,8 @@ ] }, "createSnapshot": { - "description": "Creates a snapshot of a specified persistent disk.", + "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": [ @@ -2232,7 +2476,7 @@ "type": "string" }, "guestFlush": { - "description": "[Input Only] Whether to attempt an application consistent snapshot by informing the OS to prepare for the snapshot process. Currently only supported on Windows instances using the Volume Shadow Copy Service (VSS).", + "description": "[Input Only] Whether to attempt an application consistent snapshot by informing the OS to prepare for the snapshot process.", "location": "query", "type": "boolean" }, @@ -2244,7 +2488,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -2270,6 +2514,7 @@ }, "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": [ @@ -2292,7 +2537,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -2315,6 +2560,7 @@ }, "get": { "description": "Returns a specified persistent disk. Gets a list of available persistent disks by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/disks/{disk}", "httpMethod": "GET", "id": "compute.disks.get", "parameterOrder": [ @@ -2357,6 +2603,7 @@ }, "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": [ @@ -2405,6 +2652,7 @@ }, "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": [ @@ -2420,7 +2668,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -2451,6 +2699,7 @@ }, "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": [ @@ -2459,7 +2708,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -2472,7 +2721,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -2513,6 +2762,7 @@ }, "removeResourcePolicies": { "description": "Removes resource policies from a disk.", + "flatPath": "projects/{project}/zones/{zone}/disks/{disk}/removeResourcePolicies", "httpMethod": "POST", "id": "compute.disks.removeResourcePolicies", "parameterOrder": [ @@ -2536,7 +2786,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -2562,6 +2812,7 @@ }, "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": [ @@ -2585,7 +2836,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -2611,6 +2862,7 @@ }, "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": [ @@ -2655,6 +2907,7 @@ }, "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": [ @@ -2671,7 +2924,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -2704,6 +2957,7 @@ }, "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": [ @@ -2746,6 +3000,67 @@ "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" + ] } } }, @@ -2753,6 +3068,7 @@ "methods": { "delete": { "description": "Deletes the specified externalVpnGateway.", + "flatPath": "projects/{project}/global/externalVpnGateways/{externalVpnGateway}", "httpMethod": "DELETE", "id": "compute.externalVpnGateways.delete", "parameterOrder": [ @@ -2775,7 +3091,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -2791,6 +3107,7 @@ }, "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": [ @@ -2825,6 +3142,7 @@ }, "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": [ @@ -2839,7 +3157,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -2858,6 +3176,7 @@ }, "list": { "description": "Retrieves the list of ExternalVpnGateway available to the specified project.", + "flatPath": "projects/{project}/global/externalVpnGateways", "httpMethod": "GET", "id": "compute.externalVpnGateways.list", "parameterOrder": [ @@ -2865,7 +3184,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -2878,7 +3197,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -2912,6 +3231,7 @@ }, "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": [ @@ -2948,6 +3268,7 @@ }, "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": [ @@ -2989,6 +3310,7 @@ "methods": { "addAssociation": { "description": "Inserts an association for the specified firewall policy.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/addAssociation", "httpMethod": "POST", "id": "compute.firewallPolicies.addAssociation", "parameterOrder": [ @@ -3008,7 +3330,7 @@ "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3027,6 +3349,7 @@ }, "addRule": { "description": "Inserts a rule into a firewall policy.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/addRule", "httpMethod": "POST", "id": "compute.firewallPolicies.addRule", "parameterOrder": [ @@ -3041,7 +3364,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3060,6 +3383,7 @@ }, "cloneRules": { "description": "Copies rules to the specified firewall policy.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/cloneRules", "httpMethod": "POST", "id": "compute.firewallPolicies.cloneRules", "parameterOrder": [ @@ -3074,7 +3398,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -3095,6 +3419,7 @@ }, "delete": { "description": "Deletes the specified policy.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}", "httpMethod": "DELETE", "id": "compute.firewallPolicies.delete", "parameterOrder": [ @@ -3109,7 +3434,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3125,6 +3450,7 @@ }, "get": { "description": "Returns the specified firewall policy.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}", "httpMethod": "GET", "id": "compute.firewallPolicies.get", "parameterOrder": [ @@ -3151,6 +3477,7 @@ }, "getAssociation": { "description": "Gets an association with the specified name.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/getAssociation", "httpMethod": "GET", "id": "compute.firewallPolicies.getAssociation", "parameterOrder": [ @@ -3182,6 +3509,7 @@ }, "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": [ @@ -3214,6 +3542,7 @@ }, "getRule": { "description": "Gets a rule of the specified priority.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/getRule", "httpMethod": "GET", "id": "compute.firewallPolicies.getRule", "parameterOrder": [ @@ -3246,6 +3575,7 @@ }, "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": { @@ -3255,7 +3585,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3273,12 +3603,13 @@ ] }, "list": { - "description": "Lists all the policies that have been configured for the specified project.", + "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. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -3291,7 +3622,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -3323,6 +3654,7 @@ }, "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": { @@ -3338,11 +3670,13 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "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": [ @@ -3362,7 +3696,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3378,6 +3712,7 @@ }, "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": [ @@ -3392,7 +3727,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3411,6 +3746,7 @@ }, "patchRule": { "description": "Patches a rule of the specified priority.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/patchRule", "httpMethod": "POST", "id": "compute.firewallPolicies.patchRule", "parameterOrder": [ @@ -3431,7 +3767,7 @@ "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3450,6 +3786,7 @@ }, "removeAssociation": { "description": "Removes an association for the specified firewall policy.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/removeAssociation", "httpMethod": "POST", "id": "compute.firewallPolicies.removeAssociation", "parameterOrder": [ @@ -3469,7 +3806,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3485,6 +3822,7 @@ }, "removeRule": { "description": "Deletes a rule of the specified priority.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/removeRule", "httpMethod": "POST", "id": "compute.firewallPolicies.removeRule", "parameterOrder": [ @@ -3505,7 +3843,7 @@ "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3521,6 +3859,7 @@ }, "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": [ @@ -3549,6 +3888,7 @@ }, "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": [ @@ -3582,6 +3922,7 @@ "methods": { "delete": { "description": "Deletes the specified firewall.", + "flatPath": "projects/{project}/global/firewalls/{firewall}", "httpMethod": "DELETE", "id": "compute.firewalls.delete", "parameterOrder": [ @@ -3604,7 +3945,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3620,6 +3961,7 @@ }, "get": { "description": "Returns the specified firewall.", + "flatPath": "projects/{project}/global/firewalls/{firewall}", "httpMethod": "GET", "id": "compute.firewalls.get", "parameterOrder": [ @@ -3654,6 +3996,7 @@ }, "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": [ @@ -3668,7 +4011,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3687,6 +4030,7 @@ }, "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": [ @@ -3694,7 +4038,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -3707,7 +4051,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -3741,6 +4085,7 @@ }, "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": [ @@ -3763,7 +4108,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3782,6 +4127,7 @@ }, "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": [ @@ -3819,6 +4165,7 @@ }, "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": [ @@ -3841,7 +4188,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3864,6 +4211,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of forwarding rules.", + "flatPath": "projects/{project}/aggregated/forwardingRules", "httpMethod": "GET", "id": "compute.forwardingRules.aggregatedList", "parameterOrder": [ @@ -3871,7 +4219,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -3889,7 +4237,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -3923,6 +4271,7 @@ }, "delete": { "description": "Deletes the specified ForwardingRule resource.", + "flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", "httpMethod": "DELETE", "id": "compute.forwardingRules.delete", "parameterOrder": [ @@ -3953,7 +4302,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3969,6 +4318,7 @@ }, "get": { "description": "Returns the specified ForwardingRule resource.", + "flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", "httpMethod": "GET", "id": "compute.forwardingRules.get", "parameterOrder": [ @@ -4011,6 +4361,7 @@ }, "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": [ @@ -4033,7 +4384,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4052,6 +4403,7 @@ }, "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": [ @@ -4060,7 +4412,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -4073,7 +4425,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -4114,6 +4466,7 @@ }, "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": [ @@ -4144,7 +4497,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4163,6 +4516,7 @@ }, "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": [ @@ -4186,7 +4540,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -4212,6 +4566,7 @@ }, "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": [ @@ -4242,7 +4597,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4261,6 +4616,7 @@ }, "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": [ @@ -4310,6 +4666,7 @@ "methods": { "delete": { "description": "Deletes the specified address resource.", + "flatPath": "projects/{project}/global/addresses/{address}", "httpMethod": "DELETE", "id": "compute.globalAddresses.delete", "parameterOrder": [ @@ -4332,7 +4689,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4348,6 +4705,7 @@ }, "get": { "description": "Returns the specified address resource. Gets a list of available addresses by making a list() request.", + "flatPath": "projects/{project}/global/addresses/{address}", "httpMethod": "GET", "id": "compute.globalAddresses.get", "parameterOrder": [ @@ -4382,6 +4740,7 @@ }, "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": [ @@ -4396,7 +4755,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4415,6 +4774,7 @@ }, "list": { "description": "Retrieves a list of global addresses.", + "flatPath": "projects/{project}/global/addresses", "httpMethod": "GET", "id": "compute.globalAddresses.list", "parameterOrder": [ @@ -4422,7 +4782,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -4435,7 +4795,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -4469,6 +4829,7 @@ }, "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": [ @@ -4505,6 +4866,7 @@ }, "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": [ @@ -4546,6 +4908,7 @@ "methods": { "delete": { "description": "Deletes the specified GlobalForwardingRule resource.", + "flatPath": "projects/{project}/global/forwardingRules/{forwardingRule}", "httpMethod": "DELETE", "id": "compute.globalForwardingRules.delete", "parameterOrder": [ @@ -4568,7 +4931,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4584,6 +4947,7 @@ }, "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": [ @@ -4618,6 +4982,7 @@ }, "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": [ @@ -4632,7 +4997,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4651,6 +5016,7 @@ }, "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": [ @@ -4658,7 +5024,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -4671,7 +5037,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -4705,6 +5071,7 @@ }, "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": [ @@ -4727,7 +5094,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4745,7 +5112,8 @@ ] }, "setLabels": { - "description": "Sets the labels on the specified resource. To learn more about labels, read the Labeling Resources documentation.", + "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": [ @@ -4782,6 +5150,7 @@ }, "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": [ @@ -4804,7 +5173,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4823,6 +5192,7 @@ }, "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": [ @@ -4864,6 +5234,7 @@ "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": [ @@ -4885,7 +5256,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4904,6 +5275,7 @@ }, "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": [ @@ -4925,7 +5297,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4941,6 +5313,7 @@ }, "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": [ @@ -4962,7 +5335,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4981,6 +5354,7 @@ }, "get": { "description": "Returns the specified network endpoint group. Gets a list of available network endpoint groups by making a list() request.", + "flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}", "httpMethod": "GET", "id": "compute.globalNetworkEndpointGroups.get", "parameterOrder": [ @@ -5014,6 +5388,7 @@ }, "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": [ @@ -5028,7 +5403,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5047,6 +5422,7 @@ }, "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": [ @@ -5054,7 +5430,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -5067,7 +5443,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -5101,6 +5477,7 @@ }, "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": [ @@ -5109,7 +5486,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -5128,7 +5505,7 @@ "type": "string" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -5166,6 +5543,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of all operations.", + "flatPath": "projects/{project}/aggregated/operations", "httpMethod": "GET", "id": "compute.globalOperations.aggregatedList", "parameterOrder": [ @@ -5173,7 +5551,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -5191,7 +5569,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -5225,6 +5603,7 @@ }, "delete": { "description": "Deletes the specified Operations resource.", + "flatPath": "projects/{project}/global/operations/{operation}", "httpMethod": "DELETE", "id": "compute.globalOperations.delete", "parameterOrder": [ @@ -5254,7 +5633,8 @@ ] }, "get": { - "description": "Retrieves the specified Operations resource. Gets a list of operations by making a `list()` request.", + "description": "Retrieves the specified Operations resource.", + "flatPath": "projects/{project}/global/operations/{operation}", "httpMethod": "GET", "id": "compute.globalOperations.get", "parameterOrder": [ @@ -5289,6 +5669,7 @@ }, "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": [ @@ -5296,7 +5677,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -5309,7 +5690,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -5342,7 +5723,8 @@ ] }, "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.\n\nThis method is called on a best-effort basis. Specifically: \n- In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. \n- 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`.", + "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": [ @@ -5381,6 +5763,7 @@ "methods": { "delete": { "description": "Deletes the specified Operations resource.", + "flatPath": "locations/global/operations/{operation}", "httpMethod": "DELETE", "id": "compute.globalOrganizationOperations.delete", "parameterOrder": [ @@ -5408,6 +5791,7 @@ }, "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": [ @@ -5439,11 +5823,12 @@ }, "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. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -5456,7 +5841,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -5492,6 +5877,7 @@ "methods": { "delete": { "description": "Deletes the specified global PublicDelegatedPrefix.", + "flatPath": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", "httpMethod": "DELETE", "id": "compute.globalPublicDelegatedPrefixes.delete", "parameterOrder": [ @@ -5514,7 +5900,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5530,6 +5916,7 @@ }, "get": { "description": "Returns the specified global PublicDelegatedPrefix resource.", + "flatPath": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", "httpMethod": "GET", "id": "compute.globalPublicDelegatedPrefixes.get", "parameterOrder": [ @@ -5564,6 +5951,7 @@ }, "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": [ @@ -5578,7 +5966,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5597,6 +5985,7 @@ }, "list": { "description": "Lists the global PublicDelegatedPrefixes for a project.", + "flatPath": "projects/{project}/global/publicDelegatedPrefixes", "httpMethod": "GET", "id": "compute.globalPublicDelegatedPrefixes.list", "parameterOrder": [ @@ -5604,7 +5993,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -5617,7 +6006,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -5651,6 +6040,7 @@ }, "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": [ @@ -5673,7 +6063,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5696,6 +6086,7 @@ "methods": { "aggregatedList": { "description": "Retrieves the list of all HealthCheck resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/healthChecks", "httpMethod": "GET", "id": "compute.healthChecks.aggregatedList", "parameterOrder": [ @@ -5703,7 +6094,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -5721,7 +6112,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -5755,6 +6146,7 @@ }, "delete": { "description": "Deletes the specified HealthCheck resource.", + "flatPath": "projects/{project}/global/healthChecks/{healthCheck}", "httpMethod": "DELETE", "id": "compute.healthChecks.delete", "parameterOrder": [ @@ -5777,7 +6169,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5793,6 +6185,7 @@ }, "get": { "description": "Returns the specified HealthCheck resource. Gets a list of available health checks by making a list() request.", + "flatPath": "projects/{project}/global/healthChecks/{healthCheck}", "httpMethod": "GET", "id": "compute.healthChecks.get", "parameterOrder": [ @@ -5827,6 +6220,7 @@ }, "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": [ @@ -5841,7 +6235,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5860,6 +6254,7 @@ }, "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": [ @@ -5867,7 +6262,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -5880,7 +6275,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -5914,6 +6309,7 @@ }, "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": [ @@ -5936,7 +6332,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5955,6 +6351,7 @@ }, "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": [ @@ -5992,6 +6389,7 @@ }, "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": [ @@ -6014,7 +6412,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6037,6 +6435,7 @@ "methods": { "delete": { "description": "Deletes the specified HttpHealthCheck resource.", + "flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", "httpMethod": "DELETE", "id": "compute.httpHealthChecks.delete", "parameterOrder": [ @@ -6059,7 +6458,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6075,6 +6474,7 @@ }, "get": { "description": "Returns the specified HttpHealthCheck resource. Gets a list of available HTTP health checks by making a list() request.", + "flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", "httpMethod": "GET", "id": "compute.httpHealthChecks.get", "parameterOrder": [ @@ -6109,6 +6509,7 @@ }, "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": [ @@ -6123,7 +6524,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6142,6 +6543,7 @@ }, "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": [ @@ -6149,7 +6551,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -6162,7 +6564,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -6196,6 +6598,7 @@ }, "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": [ @@ -6218,7 +6621,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6237,6 +6640,7 @@ }, "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": [ @@ -6274,6 +6678,7 @@ }, "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": [ @@ -6296,7 +6701,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6319,6 +6724,7 @@ "methods": { "delete": { "description": "Deletes the specified HttpsHealthCheck resource.", + "flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", "httpMethod": "DELETE", "id": "compute.httpsHealthChecks.delete", "parameterOrder": [ @@ -6341,7 +6747,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6357,6 +6763,7 @@ }, "get": { "description": "Returns the specified HttpsHealthCheck resource. Gets a list of available HTTPS health checks by making a list() request.", + "flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", "httpMethod": "GET", "id": "compute.httpsHealthChecks.get", "parameterOrder": [ @@ -6391,6 +6798,7 @@ }, "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": [ @@ -6405,7 +6813,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6424,6 +6832,7 @@ }, "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": [ @@ -6431,7 +6840,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -6444,7 +6853,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -6478,6 +6887,7 @@ }, "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": [ @@ -6500,7 +6910,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6519,6 +6929,7 @@ }, "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": [ @@ -6556,6 +6967,7 @@ }, "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": [ @@ -6578,7 +6990,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6601,6 +7013,7 @@ "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": [ @@ -6647,6 +7060,7 @@ "methods": { "delete": { "description": "Deletes the specified image.", + "flatPath": "projects/{project}/global/images/{image}", "httpMethod": "DELETE", "id": "compute.images.delete", "parameterOrder": [ @@ -6669,7 +7083,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6684,7 +7098,8 @@ ] }, "deprecate": { - "description": "Sets the deprecation status of an image.\n\nIf an empty request body is given, clears the deprecation status instead.", + "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": [ @@ -6707,7 +7122,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6726,6 +7141,7 @@ }, "get": { "description": "Returns the specified image. Gets a list of available images by making a list() request.", + "flatPath": "projects/{project}/global/images/{image}", "httpMethod": "GET", "id": "compute.images.get", "parameterOrder": [ @@ -6760,6 +7176,7 @@ }, "getFromFamily": { "description": "Returns the latest image that is part of an image family and is not deprecated.", + "flatPath": "projects/{project}/global/images/family/{family}", "httpMethod": "GET", "id": "compute.images.getFromFamily", "parameterOrder": [ @@ -6794,6 +7211,7 @@ }, "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": [ @@ -6834,6 +7252,7 @@ }, "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": [ @@ -6853,7 +7272,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6875,6 +7294,7 @@ }, "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": [ @@ -6882,7 +7302,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -6895,7 +7315,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -6929,6 +7349,7 @@ }, "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": [ @@ -6951,7 +7372,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6970,6 +7391,7 @@ }, "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": [ @@ -7006,6 +7428,7 @@ }, "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": [ @@ -7042,6 +7465,7 @@ }, "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": [ @@ -7082,7 +7506,8 @@ "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.\n\nIf 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.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -7105,7 +7530,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7130,6 +7555,7 @@ }, "aggregatedList": { "description": "Retrieves the list of managed instance groups and groups them by zone.", + "flatPath": "projects/{project}/aggregated/instanceGroupManagers", "httpMethod": "GET", "id": "compute.instanceGroupManagers.aggregatedList", "parameterOrder": [ @@ -7137,7 +7563,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -7155,7 +7581,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -7189,6 +7615,7 @@ }, "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": [ @@ -7231,6 +7658,7 @@ }, "createInstances": { "description": "Creates instances with per-instance configs 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": [ @@ -7253,7 +7681,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same 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" }, @@ -7277,7 +7705,8 @@ ] }, "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.", + "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": [ @@ -7300,7 +7729,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7321,7 +7750,8 @@ ] }, "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.\n\nIf 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.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -7344,7 +7774,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7369,6 +7799,7 @@ }, "deletePerInstanceConfigs": { "description": "Deletes selected per-instance configs for the managed instance group.", + "flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", "httpMethod": "POST", "id": "compute.instanceGroupManagers.deletePerInstanceConfigs", "parameterOrder": [ @@ -7411,6 +7842,7 @@ }, "get": { "description": "Returns all of the details about the specified managed instance group. Gets a list of available managed instance groups by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", "httpMethod": "GET", "id": "compute.instanceGroupManagers.get", "parameterOrder": [ @@ -7450,7 +7882,8 @@ ] }, "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.\n\nA managed instance group can have up to 1000 VM instances per group. Please contact Cloud Support if you need an increase in this limit.", + "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": [ @@ -7466,7 +7899,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7491,6 +7924,7 @@ }, "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": [ @@ -7499,7 +7933,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -7512,7 +7946,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -7552,6 +7986,7 @@ }, "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": [ @@ -7561,12 +7996,12 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "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-9]{0,19}.", + "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" @@ -7580,7 +8015,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -7620,6 +8055,7 @@ }, "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.", + "flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", "httpMethod": "POST", "id": "compute.instanceGroupManagers.listManagedInstances", "parameterOrder": [ @@ -7629,7 +8065,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -7648,7 +8084,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -7688,6 +8124,7 @@ }, "listPerInstanceConfigs": { "description": "Lists all of the per-instance configs 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": [ @@ -7697,7 +8134,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -7716,7 +8153,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -7755,7 +8192,8 @@ ] }, "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.", + "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": [ @@ -7778,7 +8216,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7803,6 +8241,7 @@ }, "patchPerInstanceConfigs": { "description": "Inserts or patches per-instance configs 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": [ @@ -7825,7 +8264,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7849,7 +8288,8 @@ ] }, "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.\n\nIf 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.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -7872,7 +8312,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7896,7 +8336,8 @@ ] }, "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.\n\nWhen 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:\n\n+ 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.\n\nThis list is subject to change.\n\nIf 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.", + "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": [ @@ -7920,7 +8361,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7948,7 +8389,8 @@ ] }, "resizeAdvanced": { - "description": "Resizes the managed instance group with advanced configuration options like disabling creation retries. This is an extended version of the resize method.\n\nIf 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.\n\nIf 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.", + "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": [ @@ -7971,7 +8413,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7996,6 +8438,7 @@ }, "setAutoHealingPolicies": { "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": [ @@ -8018,7 +8461,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8043,6 +8486,7 @@ }, "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": [ @@ -8065,7 +8509,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8090,6 +8534,7 @@ }, "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": [ @@ -8112,7 +8557,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8137,6 +8582,7 @@ }, "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": [ @@ -8181,7 +8627,8 @@ ] }, "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.", + "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": [ @@ -8204,7 +8651,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8229,6 +8676,7 @@ }, "updatePerInstanceConfigs": { "description": "Inserts or updates per-instance configs 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": [ @@ -8251,7 +8699,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8279,7 +8727,8 @@ "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.", + "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": [ @@ -8302,7 +8751,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8327,6 +8776,7 @@ }, "aggregatedList": { "description": "Retrieves the list of instance groups and sorts them by zone.", + "flatPath": "projects/{project}/aggregated/instanceGroups", "httpMethod": "GET", "id": "compute.instanceGroups.aggregatedList", "parameterOrder": [ @@ -8334,7 +8784,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -8352,7 +8802,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -8385,7 +8835,8 @@ ] }, "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.", + "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": [ @@ -8408,7 +8859,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8429,7 +8880,8 @@ ] }, "get": { - "description": "Returns the specified zonal instance group. Get a list of available zonal instance groups by making a list() request.\n\nFor managed instance groups, use the instanceGroupManagers or regionInstanceGroupManagers methods instead.", + "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": [ @@ -8470,6 +8922,7 @@ }, "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": [ @@ -8485,7 +8938,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8509,7 +8962,8 @@ ] }, "list": { - "description": "Retrieves the list of zonal instance group resources contained within the specified zone.\n\nFor managed instance groups, use the instanceGroupManagers or regionInstanceGroupManagers methods instead.", + "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": [ @@ -8518,7 +8972,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -8531,7 +8985,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -8571,6 +9025,7 @@ }, "listInstances": { "description": "Lists the instances in the specified instance group. The orderBy query parameter is not supported.", + "flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances", "httpMethod": "POST", "id": "compute.instanceGroups.listInstances", "parameterOrder": [ @@ -8580,7 +9035,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -8599,7 +9054,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -8641,7 +9096,8 @@ ] }, "removeInstances": { - "description": "Removes one or more instances from the specified instance group, but does not delete those instances.\n\nIf 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.", + "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": [ @@ -8664,7 +9120,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8689,6 +9145,7 @@ }, "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": [ @@ -8711,7 +9168,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8736,6 +9193,7 @@ }, "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": [ @@ -8785,6 +9243,7 @@ "methods": { "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": [ @@ -8807,7 +9266,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -8823,6 +9282,7 @@ }, "get": { "description": "Returns the specified instance template. Gets a list of available instance templates by making a list() request.", + "flatPath": "projects/{project}/global/instanceTemplates/{instanceTemplate}", "httpMethod": "GET", "id": "compute.instanceTemplates.get", "parameterOrder": [ @@ -8857,6 +9317,7 @@ }, "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": [ @@ -8897,6 +9358,7 @@ }, "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": [ @@ -8911,7 +9373,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -8930,6 +9392,7 @@ }, "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": [ @@ -8937,7 +9400,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -8950,7 +9413,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -8984,6 +9447,7 @@ }, "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": [ @@ -9020,6 +9484,7 @@ }, "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": [ @@ -9061,6 +9526,7 @@ "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": [ @@ -9091,7 +9557,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9117,6 +9583,7 @@ }, "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": [ @@ -9140,7 +9607,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9165,7 +9632,8 @@ ] }, "aggregatedList": { - "description": "Retrieves aggregated list of all of the instances in your project across all regions and zones.", + "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.", + "flatPath": "projects/{project}/aggregated/instances", "httpMethod": "GET", "id": "compute.instances.aggregatedList", "parameterOrder": [ @@ -9173,7 +9641,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -9191,7 +9659,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -9225,6 +9693,7 @@ }, "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": [ @@ -9253,7 +9722,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9279,6 +9748,7 @@ }, "bulkInsert": { "description": "Creates multiple instances. Count specifies the number of instances to create.", + "flatPath": "projects/{project}/zones/{zone}/instances/bulkInsert", "httpMethod": "POST", "id": "compute.instances.bulkInsert", "parameterOrder": [ @@ -9294,7 +9764,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9320,6 +9790,7 @@ }, "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": [ @@ -9343,7 +9814,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9366,6 +9837,7 @@ }, "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": [ @@ -9403,7 +9875,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9426,6 +9898,7 @@ }, "detachDisk": { "description": "Detaches a disk from an instance.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/detachDisk", "httpMethod": "POST", "id": "compute.instances.detachDisk", "parameterOrder": [ @@ -9456,7 +9929,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9479,6 +9952,7 @@ }, "get": { "description": "Returns the specified Instance resource. Gets a list of available instances by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}", "httpMethod": "GET", "id": "compute.instances.get", "parameterOrder": [ @@ -9521,6 +9995,7 @@ }, "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": [ @@ -9570,6 +10045,7 @@ }, "getGuestAttributes": { "description": "Returns the specified guest attributes entry.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/getGuestAttributes", "httpMethod": "GET", "id": "compute.instances.getGuestAttributes", "parameterOrder": [ @@ -9622,6 +10098,7 @@ }, "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": [ @@ -9670,6 +10147,7 @@ }, "getScreenshot": { "description": "Returns the screenshot from the specified instance.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/screenshot", "httpMethod": "GET", "id": "compute.instances.getScreenshot", "parameterOrder": [ @@ -9712,6 +10190,7 @@ }, "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": [ @@ -9744,7 +10223,7 @@ "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`.\n\nIf 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.\n\nYou 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.", + "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.", "format": "int64", "location": "query", "type": "string" @@ -9769,6 +10248,7 @@ }, "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": [ @@ -9811,6 +10291,7 @@ }, "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": [ @@ -9853,6 +10334,7 @@ }, "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": [ @@ -9868,17 +10350,17 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request 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.\n\nThis field is optional. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: \n- https://www.googleapis.com/compute/v1/projects/project/global/instanceTemplates/instanceTemplate \n- projects/project/global/instanceTemplates/instanceTemplate \n- global/instanceTemplates/instanceTemplate", + "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.\n\nThis field is optional. It can be a full or partial URL. For example, the following are all valid URLs to a machine image: \n- https://www.googleapis.com/compute/v1/projects/project/global/global/machineImages/machineImage \n- projects/project/global/global/machineImages/machineImage \n- global/machineImages/machineImage", + "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" }, @@ -9904,6 +10386,7 @@ }, "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": [ @@ -9912,7 +10395,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -9925,7 +10408,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -9966,6 +10449,7 @@ }, "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": [ @@ -9975,7 +10459,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -9995,7 +10479,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -10036,6 +10520,7 @@ }, "removeResourcePolicies": { "description": "Removes resource policies from an instance.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/removeResourcePolicies", "httpMethod": "POST", "id": "compute.instances.removeResourcePolicies", "parameterOrder": [ @@ -10059,7 +10544,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10085,6 +10570,7 @@ }, "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": [ @@ -10108,7 +10594,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10131,6 +10617,7 @@ }, "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": [ @@ -10154,7 +10641,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10178,8 +10665,48 @@ "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": [ @@ -10202,7 +10729,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10232,6 +10759,7 @@ }, "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": [ @@ -10270,7 +10798,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10293,6 +10821,7 @@ }, "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": [ @@ -10337,6 +10866,7 @@ }, "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": [ @@ -10360,7 +10890,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10386,6 +10916,7 @@ }, "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": [ @@ -10409,7 +10940,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10435,6 +10966,7 @@ }, "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": [ @@ -10458,7 +10990,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10484,6 +11016,7 @@ }, "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": [ @@ -10507,7 +11040,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10533,6 +11066,7 @@ }, "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": [ @@ -10556,7 +11090,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10582,6 +11116,7 @@ }, "setName": { "description": "Sets name of an instance.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setName", "httpMethod": "POST", "id": "compute.instances.setName", "parameterOrder": [ @@ -10605,7 +11140,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10630,7 +11165,8 @@ ] }, "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.", + "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 availability policies.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setScheduling", "httpMethod": "POST", "id": "compute.instances.setScheduling", "parameterOrder": [ @@ -10654,7 +11190,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10680,6 +11216,7 @@ }, "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": [ @@ -10703,7 +11240,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10729,6 +11266,7 @@ }, "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": [ @@ -10752,7 +11290,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10778,6 +11316,7 @@ }, "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": [ @@ -10801,7 +11340,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10827,6 +11366,7 @@ }, "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": [ @@ -10850,7 +11390,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10875,7 +11415,8 @@ ] }, "simulateMaintenanceEvent": { - "description": "Simulates a maintenance event on the instance.", + "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": [ @@ -10917,6 +11458,7 @@ }, "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": [ @@ -10940,7 +11482,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10963,6 +11505,7 @@ }, "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": [ @@ -10986,7 +11529,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11012,6 +11555,7 @@ }, "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": [ @@ -11035,7 +11579,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11057,7 +11601,8 @@ ] }, "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 incur reduced per-minute, virtual machine usage charges while they are suspended. Any resources the virtual machine is using, such as persistent disks and static IP addresses, will continue to be charged until they are deleted.", + "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": [ @@ -11086,7 +11631,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11109,6 +11654,7 @@ }, "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": [ @@ -11153,7 +11699,8 @@ ] }, "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.", + "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": [ @@ -11179,9 +11726,9 @@ ], "enumDescriptions": [ "", - "", - "", - "" + "No changes can be made to the instance.", + "The instance will not restart.", + "The instance will restart." ], "location": "query", "type": "string" @@ -11196,9 +11743,9 @@ ], "enumDescriptions": [ "", - "", - "", - "" + "No changes can be made to the instance.", + "The instance will not restart.", + "The instance will restart." ], "location": "query", "type": "string" @@ -11211,7 +11758,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11237,6 +11784,7 @@ }, "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": [ @@ -11267,7 +11815,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11293,6 +11841,7 @@ }, "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": [ @@ -11316,7 +11865,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11342,6 +11891,7 @@ }, "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": [ @@ -11372,7 +11922,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11398,6 +11948,7 @@ }, "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": [ @@ -11421,7 +11972,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11447,6 +11998,7 @@ }, "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": [ @@ -11470,7 +12022,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11500,6 +12052,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of interconnect attachments.", + "flatPath": "projects/{project}/aggregated/interconnectAttachments", "httpMethod": "GET", "id": "compute.interconnectAttachments.aggregatedList", "parameterOrder": [ @@ -11507,7 +12060,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -11525,7 +12078,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -11559,6 +12112,7 @@ }, "delete": { "description": "Deletes the specified interconnect attachment.", + "flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", "httpMethod": "DELETE", "id": "compute.interconnectAttachments.delete", "parameterOrder": [ @@ -11589,7 +12143,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -11605,6 +12159,7 @@ }, "get": { "description": "Returns the specified interconnect attachment.", + "flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", "httpMethod": "GET", "id": "compute.interconnectAttachments.get", "parameterOrder": [ @@ -11647,6 +12202,7 @@ }, "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": [ @@ -11669,7 +12225,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11693,6 +12249,7 @@ }, "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": [ @@ -11701,7 +12258,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -11714,7 +12271,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -11755,6 +12312,7 @@ }, "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": [ @@ -11785,7 +12343,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -11804,6 +12362,7 @@ }, "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": [ @@ -11827,7 +12386,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11853,6 +12412,7 @@ }, "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": [ @@ -11902,6 +12462,7 @@ "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": [ @@ -11936,6 +12497,7 @@ }, "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": [ @@ -11943,7 +12505,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -11956,7 +12518,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -11994,6 +12556,7 @@ "methods": { "delete": { "description": "Deletes the specified interconnect.", + "flatPath": "projects/{project}/global/interconnects/{interconnect}", "httpMethod": "DELETE", "id": "compute.interconnects.delete", "parameterOrder": [ @@ -12016,7 +12579,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -12032,6 +12595,7 @@ }, "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": [ @@ -12066,6 +12630,7 @@ }, "getDiagnostics": { "description": "Returns the interconnectDiagnostics for the specified interconnect.", + "flatPath": "projects/{project}/global/interconnects/{interconnect}/getDiagnostics", "httpMethod": "GET", "id": "compute.interconnects.getDiagnostics", "parameterOrder": [ @@ -12100,6 +12665,7 @@ }, "insert": { "description": "Creates a Interconnect in the specified project using the data included in the request.", + "flatPath": "projects/{project}/global/interconnects", "httpMethod": "POST", "id": "compute.interconnects.insert", "parameterOrder": [ @@ -12114,7 +12680,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -12133,6 +12699,7 @@ }, "list": { "description": "Retrieves the list of interconnect available to the specified project.", + "flatPath": "projects/{project}/global/interconnects", "httpMethod": "GET", "id": "compute.interconnects.list", "parameterOrder": [ @@ -12140,7 +12707,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -12153,7 +12720,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -12187,6 +12754,7 @@ }, "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": [ @@ -12209,7 +12777,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -12228,6 +12796,7 @@ }, "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": [ @@ -12264,6 +12833,7 @@ }, "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": [ @@ -12304,7 +12874,8 @@ "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.", + "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": [ @@ -12338,7 +12909,8 @@ ] }, "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.", + "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": [ @@ -12379,7 +12951,8 @@ "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.", + "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": [ @@ -12402,7 +12975,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -12417,7 +12990,8 @@ ] }, "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.", + "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": [ @@ -12451,7 +13025,8 @@ ] }, "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.", + "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": [ @@ -12491,7 +13066,8 @@ ] }, "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.", + "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": [ @@ -12506,7 +13082,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -12527,7 +13103,8 @@ ] }, "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.", + "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": [ @@ -12535,7 +13112,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -12548,7 +13125,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -12581,7 +13158,8 @@ ] }, "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.", + "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": [ @@ -12617,7 +13195,8 @@ ] }, "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.", + "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": [ @@ -12659,6 +13238,7 @@ "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": [ @@ -12681,7 +13261,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -12697,6 +13277,7 @@ }, "get": { "description": "Returns the specified machine image. Gets a list of available machine images by making a list() request.", + "flatPath": "projects/{project}/global/machineImages/{machineImage}", "httpMethod": "GET", "id": "compute.machineImages.get", "parameterOrder": [ @@ -12731,6 +13312,7 @@ }, "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": [ @@ -12771,6 +13353,7 @@ }, "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": [ @@ -12785,7 +13368,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -12809,6 +13392,7 @@ }, "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": [ @@ -12816,7 +13400,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -12829,7 +13413,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -12863,6 +13447,7 @@ }, "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": [ @@ -12899,6 +13484,7 @@ }, "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": [ @@ -12940,6 +13526,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of machine types.", + "flatPath": "projects/{project}/aggregated/machineTypes", "httpMethod": "GET", "id": "compute.machineTypes.aggregatedList", "parameterOrder": [ @@ -12947,7 +13534,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -12965,7 +13552,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -12999,6 +13586,7 @@ }, "get": { "description": "Returns the specified machine type. Gets a list of available machine types by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/machineTypes/{machineType}", "httpMethod": "GET", "id": "compute.machineTypes.get", "parameterOrder": [ @@ -13041,6 +13629,7 @@ }, "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": [ @@ -13049,7 +13638,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -13062,7 +13651,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -13107,6 +13696,7 @@ "methods": { "aggregatedList": { "description": "Retrieves the list of network endpoint groups and sorts them by zone.", + "flatPath": "projects/{project}/aggregated/networkEndpointGroups", "httpMethod": "GET", "id": "compute.networkEndpointGroups.aggregatedList", "parameterOrder": [ @@ -13114,7 +13704,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -13132,7 +13722,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -13166,6 +13756,7 @@ }, "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": [ @@ -13188,7 +13779,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -13213,6 +13804,7 @@ }, "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": [ @@ -13235,7 +13827,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -13257,6 +13849,7 @@ }, "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": [ @@ -13279,7 +13872,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -13304,6 +13897,7 @@ }, "get": { "description": "Returns the specified network endpoint group. Gets a list of available network endpoint groups by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", "httpMethod": "GET", "id": "compute.networkEndpointGroups.get", "parameterOrder": [ @@ -13344,6 +13938,7 @@ }, "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": [ @@ -13359,7 +13954,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -13384,6 +13979,7 @@ }, "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": [ @@ -13392,7 +13988,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -13405,7 +14001,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -13445,6 +14041,7 @@ }, "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": [ @@ -13454,7 +14051,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -13473,7 +14070,7 @@ "type": "string" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -13516,6 +14113,7 @@ }, "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": [ @@ -13561,10 +14159,699 @@ } } }, + "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": { + "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" + ] + }, + "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" + ] + }, + "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" + ] + }, + "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. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", + "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.", + "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" + ] + }, + "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" + ] + }, + "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" + ] + } + } + }, "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": [ @@ -13587,7 +14874,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -13606,6 +14893,7 @@ }, "delete": { "description": "Deletes the specified network.", + "flatPath": "projects/{project}/global/networks/{network}", "httpMethod": "DELETE", "id": "compute.networks.delete", "parameterOrder": [ @@ -13628,7 +14916,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -13644,6 +14932,7 @@ }, "get": { "description": "Returns the specified network. Gets a list of available networks by making a list() request.", + "flatPath": "projects/{project}/global/networks/{network}", "httpMethod": "GET", "id": "compute.networks.get", "parameterOrder": [ @@ -13678,6 +14967,7 @@ }, "getEffectiveFirewalls": { "description": "Returns the effective firewalls on a given network.", + "flatPath": "projects/{project}/global/networks/{network}/getEffectiveFirewalls", "httpMethod": "GET", "id": "compute.networks.getEffectiveFirewalls", "parameterOrder": [ @@ -13712,6 +15002,7 @@ }, "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": [ @@ -13726,7 +15017,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -13745,6 +15036,7 @@ }, "list": { "description": "Retrieves the list of networks available to the specified project.", + "flatPath": "projects/{project}/global/networks", "httpMethod": "GET", "id": "compute.networks.list", "parameterOrder": [ @@ -13752,7 +15044,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -13765,7 +15057,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -13799,6 +15091,7 @@ }, "listPeeringRoutes": { "description": "Lists the peering routes exchanged over peering connection.", + "flatPath": "projects/{project}/global/networks/{network}/listPeeringRoutes", "httpMethod": "GET", "id": "compute.networks.listPeeringRoutes", "parameterOrder": [ @@ -13813,14 +15106,14 @@ "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. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -13840,7 +15133,7 @@ "type": "string" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -13884,6 +15177,7 @@ }, "patch": { "description": "Patches the specified network with the data included in the request. Only the following fields can be modified: routingConfig.routingMode.", + "flatPath": "projects/{project}/global/networks/{network}", "httpMethod": "PATCH", "id": "compute.networks.patch", "parameterOrder": [ @@ -13906,7 +15200,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -13925,6 +15219,7 @@ }, "removePeering": { "description": "Removes a peering from the specified network.", + "flatPath": "projects/{project}/global/networks/{network}/removePeering", "httpMethod": "POST", "id": "compute.networks.removePeering", "parameterOrder": [ @@ -13947,7 +15242,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -13966,6 +15261,7 @@ }, "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": [ @@ -13988,7 +15284,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14004,6 +15300,7 @@ }, "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": [ @@ -14040,7 +15337,8 @@ ] }, "updatePeering": { - "description": "Updates the specified network peering with the data included in the request Only the following fields can be modified: NetworkPeering.export_custom_routes, and NetworkPeering.import_custom_routes", + "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": [ @@ -14063,7 +15361,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14086,6 +15384,7 @@ "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": [ @@ -14109,7 +15408,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -14135,6 +15434,7 @@ }, "aggregatedList": { "description": "Retrieves an aggregated list of node groups. Note: use nodeGroups.listNodes for more details about each group.", + "flatPath": "projects/{project}/aggregated/nodeGroups", "httpMethod": "GET", "id": "compute.nodeGroups.aggregatedList", "parameterOrder": [ @@ -14142,7 +15442,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -14160,7 +15460,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -14194,6 +15494,7 @@ }, "delete": { "description": "Deletes the specified NodeGroup resource.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", "httpMethod": "DELETE", "id": "compute.nodeGroups.delete", "parameterOrder": [ @@ -14217,7 +15518,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -14240,6 +15541,7 @@ }, "deleteNodes": { "description": "Deletes specified nodes from the node group.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes", "httpMethod": "POST", "id": "compute.nodeGroups.deleteNodes", "parameterOrder": [ @@ -14263,7 +15565,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -14289,6 +15591,7 @@ }, "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": [ @@ -14331,6 +15634,7 @@ }, "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": [ @@ -14379,6 +15683,7 @@ }, "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": [ @@ -14402,7 +15707,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -14428,6 +15733,7 @@ }, "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": [ @@ -14436,7 +15742,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -14449,7 +15755,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -14490,6 +15796,7 @@ }, "listNodes": { "description": "Lists nodes in the node group.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes", "httpMethod": "POST", "id": "compute.nodeGroups.listNodes", "parameterOrder": [ @@ -14499,7 +15806,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -14519,7 +15826,7 @@ "type": "string" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -14560,6 +15867,7 @@ }, "patch": { "description": "Updates the specified node group.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", "httpMethod": "PATCH", "id": "compute.nodeGroups.patch", "parameterOrder": [ @@ -14583,7 +15891,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -14609,6 +15917,7 @@ }, "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": [ @@ -14653,6 +15962,7 @@ }, "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": [ @@ -14676,7 +15986,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -14702,6 +16012,7 @@ }, "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": [ @@ -14751,6 +16062,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of node templates.", + "flatPath": "projects/{project}/aggregated/nodeTemplates", "httpMethod": "GET", "id": "compute.nodeTemplates.aggregatedList", "parameterOrder": [ @@ -14758,7 +16070,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -14776,7 +16088,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -14810,6 +16122,7 @@ }, "delete": { "description": "Deletes the specified NodeTemplate resource.", + "flatPath": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", "httpMethod": "DELETE", "id": "compute.nodeTemplates.delete", "parameterOrder": [ @@ -14840,7 +16153,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14856,6 +16169,7 @@ }, "get": { "description": "Returns the specified node template. Gets a list of available node templates by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", "httpMethod": "GET", "id": "compute.nodeTemplates.get", "parameterOrder": [ @@ -14898,6 +16212,7 @@ }, "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": [ @@ -14946,6 +16261,7 @@ }, "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": [ @@ -14968,7 +16284,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14987,6 +16303,7 @@ }, "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": [ @@ -14995,7 +16312,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -15008,7 +16325,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -15049,6 +16366,7 @@ }, "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": [ @@ -15093,6 +16411,7 @@ }, "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": [ @@ -15142,6 +16461,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of node types.", + "flatPath": "projects/{project}/aggregated/nodeTypes", "httpMethod": "GET", "id": "compute.nodeTypes.aggregatedList", "parameterOrder": [ @@ -15149,7 +16469,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -15167,7 +16487,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -15201,6 +16521,7 @@ }, "get": { "description": "Returns the specified node type. Gets a list of available node types by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/nodeTypes/{nodeType}", "httpMethod": "GET", "id": "compute.nodeTypes.get", "parameterOrder": [ @@ -15243,6 +16564,7 @@ }, "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": [ @@ -15251,7 +16573,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -15264,7 +16586,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -15309,6 +16631,7 @@ "methods": { "addAssociation": { "description": "Inserts an association for the specified security policy.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/addAssociation", "httpMethod": "POST", "id": "compute.organizationSecurityPolicies.addAssociation", "parameterOrder": [ @@ -15321,7 +16644,7 @@ "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -15347,6 +16670,7 @@ }, "addRule": { "description": "Inserts a rule into a security policy.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/addRule", "httpMethod": "POST", "id": "compute.organizationSecurityPolicies.addRule", "parameterOrder": [ @@ -15354,7 +16678,7 @@ ], "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -15380,6 +16704,7 @@ }, "copyRules": { "description": "Copies rules to the specified security policy.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/copyRules", "httpMethod": "POST", "id": "compute.organizationSecurityPolicies.copyRules", "parameterOrder": [ @@ -15387,7 +16712,7 @@ ], "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -15415,6 +16740,7 @@ }, "delete": { "description": "Deletes the specified policy.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}", "httpMethod": "DELETE", "id": "compute.organizationSecurityPolicies.delete", "parameterOrder": [ @@ -15422,7 +16748,7 @@ ], "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -15445,6 +16771,7 @@ }, "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": [ @@ -15471,6 +16798,7 @@ }, "getAssociation": { "description": "Gets an association with the specified name.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/getAssociation", "httpMethod": "GET", "id": "compute.organizationSecurityPolicies.getAssociation", "parameterOrder": [ @@ -15502,6 +16830,7 @@ }, "getRule": { "description": "Gets a rule at the specified priority.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/getRule", "httpMethod": "GET", "id": "compute.organizationSecurityPolicies.getRule", "parameterOrder": [ @@ -15534,6 +16863,7 @@ }, "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": { @@ -15543,7 +16873,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -15562,11 +16892,12 @@ }, "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. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -15579,7 +16910,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -15611,6 +16942,7 @@ }, "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": { @@ -15626,11 +16958,13 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "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": [ @@ -15643,7 +16977,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -15666,6 +17000,7 @@ }, "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": [ @@ -15673,7 +17008,7 @@ ], "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -15699,6 +17034,7 @@ }, "patchRule": { "description": "Patches a rule at the specified priority.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/patchRule", "httpMethod": "POST", "id": "compute.organizationSecurityPolicies.patchRule", "parameterOrder": [ @@ -15712,7 +17048,7 @@ "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -15738,6 +17074,7 @@ }, "removeAssociation": { "description": "Removes an association for the specified security policy.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/removeAssociation", "httpMethod": "POST", "id": "compute.organizationSecurityPolicies.removeAssociation", "parameterOrder": [ @@ -15750,7 +17087,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -15773,6 +17110,7 @@ }, "removeRule": { "description": "Deletes a rule at the specified priority.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/removeRule", "httpMethod": "POST", "id": "compute.organizationSecurityPolicies.removeRule", "parameterOrder": [ @@ -15786,7 +17124,7 @@ "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -15813,6 +17151,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of packetMirrorings.", + "flatPath": "projects/{project}/aggregated/packetMirrorings", "httpMethod": "GET", "id": "compute.packetMirrorings.aggregatedList", "parameterOrder": [ @@ -15820,7 +17159,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -15838,7 +17177,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -15872,6 +17211,7 @@ }, "delete": { "description": "Deletes the specified PacketMirroring resource.", + "flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", "httpMethod": "DELETE", "id": "compute.packetMirrorings.delete", "parameterOrder": [ @@ -15902,7 +17242,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -15918,6 +17258,7 @@ }, "get": { "description": "Returns the specified PacketMirroring resource.", + "flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", "httpMethod": "GET", "id": "compute.packetMirrorings.get", "parameterOrder": [ @@ -15960,6 +17301,7 @@ }, "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": [ @@ -15982,7 +17324,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16001,6 +17343,7 @@ }, "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": [ @@ -16009,7 +17352,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -16022,7 +17365,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -16063,6 +17406,7 @@ }, "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": [ @@ -16093,7 +17437,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16112,6 +17456,7 @@ }, "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": [ @@ -16161,6 +17506,7 @@ "methods": { "disableXpnHost": { "description": "Disable this project as a shared VPC host project.", + "flatPath": "projects/{project}/disableXpnHost", "httpMethod": "POST", "id": "compute.projects.disableXpnHost", "parameterOrder": [ @@ -16175,7 +17521,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16191,6 +17537,7 @@ }, "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": [ @@ -16205,7 +17552,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16224,6 +17571,7 @@ }, "enableXpnHost": { "description": "Enable this project as a shared VPC host project.", + "flatPath": "projects/{project}/enableXpnHost", "httpMethod": "POST", "id": "compute.projects.enableXpnHost", "parameterOrder": [ @@ -16238,7 +17586,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16254,6 +17602,7 @@ }, "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": [ @@ -16268,7 +17617,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16286,7 +17635,8 @@ ] }, "get": { - "description": "Returns the specified Project resource.", + "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": [ @@ -16313,6 +17663,7 @@ }, "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": [ @@ -16338,6 +17689,7 @@ }, "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": [ @@ -16345,7 +17697,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -16358,7 +17710,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -16391,6 +17743,7 @@ }, "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": [ @@ -16398,7 +17751,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -16411,7 +17764,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -16447,6 +17800,7 @@ }, "moveDisk": { "description": "Moves a persistent disk from one zone to another.", + "flatPath": "projects/{project}/moveDisk", "httpMethod": "POST", "id": "compute.projects.moveDisk", "parameterOrder": [ @@ -16461,7 +17815,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16479,7 +17833,8 @@ ] }, "moveInstance": { - "description": "Moves an instance and its attached persistent disks from one zone to another.", + "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).", + "flatPath": "projects/{project}/moveInstance", "httpMethod": "POST", "id": "compute.projects.moveInstance", "parameterOrder": [ @@ -16494,7 +17849,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16513,6 +17868,7 @@ }, "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": [ @@ -16527,7 +17883,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16546,6 +17902,7 @@ }, "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": [ @@ -16560,7 +17917,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16579,6 +17936,7 @@ }, "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": [ @@ -16593,7 +17951,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16619,6 +17977,7 @@ "methods": { "delete": { "description": "Deletes the specified PublicAdvertisedPrefix", + "flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", "httpMethod": "DELETE", "id": "compute.publicAdvertisedPrefixes.delete", "parameterOrder": [ @@ -16641,7 +18000,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16657,6 +18016,7 @@ }, "get": { "description": "Returns the specified PublicAdvertisedPrefix resource.", + "flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", "httpMethod": "GET", "id": "compute.publicAdvertisedPrefixes.get", "parameterOrder": [ @@ -16691,6 +18051,7 @@ }, "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": [ @@ -16705,7 +18066,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16724,6 +18085,7 @@ }, "list": { "description": "Lists the PublicAdvertisedPrefixes for a project.", + "flatPath": "projects/{project}/global/publicAdvertisedPrefixes", "httpMethod": "GET", "id": "compute.publicAdvertisedPrefixes.list", "parameterOrder": [ @@ -16731,7 +18093,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -16744,7 +18106,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -16778,6 +18140,7 @@ }, "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": [ @@ -16800,7 +18163,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16823,6 +18186,7 @@ "methods": { "aggregatedList": { "description": "Lists all PublicDelegatedPrefix resources owned by the specific project across all scopes.", + "flatPath": "projects/{project}/aggregated/publicDelegatedPrefixes", "httpMethod": "GET", "id": "compute.publicDelegatedPrefixes.aggregatedList", "parameterOrder": [ @@ -16830,7 +18194,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -16848,7 +18212,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -16882,6 +18246,7 @@ }, "delete": { "description": "Deletes the specified PublicDelegatedPrefix in the given region.", + "flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", "httpMethod": "DELETE", "id": "compute.publicDelegatedPrefixes.delete", "parameterOrder": [ @@ -16912,7 +18277,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16928,6 +18293,7 @@ }, "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": [ @@ -16970,6 +18336,7 @@ }, "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": [ @@ -16992,7 +18359,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17011,6 +18378,7 @@ }, "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": [ @@ -17019,7 +18387,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -17032,7 +18400,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -17073,6 +18441,7 @@ }, "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": [ @@ -17103,7 +18472,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17126,6 +18495,7 @@ "methods": { "delete": { "description": "Deletes the specified autoscaler.", + "flatPath": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", "httpMethod": "DELETE", "id": "compute.regionAutoscalers.delete", "parameterOrder": [ @@ -17156,7 +18526,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17172,6 +18542,7 @@ }, "get": { "description": "Returns the specified autoscaler.", + "flatPath": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", "httpMethod": "GET", "id": "compute.regionAutoscalers.get", "parameterOrder": [ @@ -17214,6 +18585,7 @@ }, "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": [ @@ -17236,7 +18608,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17255,6 +18627,7 @@ }, "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": [ @@ -17263,7 +18636,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -17276,7 +18649,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -17317,6 +18690,7 @@ }, "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": [ @@ -17345,7 +18719,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17364,6 +18738,7 @@ }, "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": [ @@ -17409,6 +18784,7 @@ }, "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": [ @@ -17437,7 +18813,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17460,6 +18836,7 @@ "methods": { "delete": { "description": "Deletes the specified regional BackendService resource.", + "flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", "httpMethod": "DELETE", "id": "compute.regionBackendServices.delete", "parameterOrder": [ @@ -17490,7 +18867,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17506,6 +18883,7 @@ }, "get": { "description": "Returns the specified regional BackendService resource.", + "flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", "httpMethod": "GET", "id": "compute.regionBackendServices.get", "parameterOrder": [ @@ -17548,6 +18926,7 @@ }, "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": [ @@ -17590,8 +18969,58 @@ "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.", + "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": [ @@ -17614,7 +19043,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17633,6 +19062,7 @@ }, "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": [ @@ -17641,7 +19071,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -17654,7 +19084,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -17694,7 +19124,8 @@ ] }, "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.", + "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": [ @@ -17725,7 +19156,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17742,8 +19173,54 @@ "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" + ] + }, "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": [ @@ -17788,7 +19265,8 @@ ] }, "update": { - "description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Backend services overview.", + "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": [ @@ -17819,7 +19297,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17841,7 +19319,8 @@ "regionCommitments": { "methods": { "aggregatedList": { - "description": "Retrieves an aggregated list of commitments.", + "description": "Retrieves an aggregated list of commitments by region.", + "flatPath": "projects/{project}/aggregated/commitments", "httpMethod": "GET", "id": "compute.regionCommitments.aggregatedList", "parameterOrder": [ @@ -17849,7 +19328,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -17867,7 +19346,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -17901,6 +19380,7 @@ }, "get": { "description": "Returns the specified commitment resource. Gets a list of available commitments by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/commitments/{commitment}", "httpMethod": "GET", "id": "compute.regionCommitments.get", "parameterOrder": [ @@ -17943,6 +19423,7 @@ }, "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": [ @@ -17965,7 +19446,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17984,6 +19465,7 @@ }, "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": [ @@ -17992,7 +19474,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -18005,7 +19487,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -18046,6 +19528,7 @@ }, "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": [ @@ -18089,8 +19572,70 @@ "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": [ @@ -18121,7 +19666,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18144,6 +19689,7 @@ "methods": { "get": { "description": "Returns the specified regional disk type. Gets a list of available disk types by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/diskTypes/{diskType}", "httpMethod": "GET", "id": "compute.regionDiskTypes.get", "parameterOrder": [ @@ -18186,6 +19732,7 @@ }, "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": [ @@ -18194,7 +19741,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -18207,7 +19754,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -18252,6 +19799,7 @@ "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": [ @@ -18282,7 +19830,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18300,7 +19848,8 @@ ] }, "createSnapshot": { - "description": "Creates a snapshot of this regional disk.", + "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": [ @@ -18331,7 +19880,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18350,6 +19899,7 @@ }, "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": [ @@ -18379,7 +19929,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18395,6 +19945,7 @@ }, "get": { "description": "Returns a specified regional persistent disk.", + "flatPath": "projects/{project}/regions/{region}/disks/{disk}", "httpMethod": "GET", "id": "compute.regionDisks.get", "parameterOrder": [ @@ -18437,6 +19988,7 @@ }, "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": [ @@ -18485,6 +20037,7 @@ }, "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": [ @@ -18507,7 +20060,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -18531,6 +20084,7 @@ }, "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": [ @@ -18539,7 +20093,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -18552,7 +20106,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -18593,6 +20147,7 @@ }, "removeResourcePolicies": { "description": "Removes resource policies from a regional disk.", + "flatPath": "projects/{project}/regions/{region}/disks/{disk}/removeResourcePolicies", "httpMethod": "POST", "id": "compute.regionDisks.removeResourcePolicies", "parameterOrder": [ @@ -18623,7 +20178,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18642,6 +20197,7 @@ }, "resize": { "description": "Resizes the specified regional persistent disk.", + "flatPath": "projects/{project}/regions/{region}/disks/{disk}/resize", "httpMethod": "POST", "id": "compute.regionDisks.resize", "parameterOrder": [ @@ -18672,7 +20228,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18691,6 +20247,7 @@ }, "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": [ @@ -18735,6 +20292,7 @@ }, "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": [ @@ -18758,7 +20316,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -18784,6 +20342,7 @@ }, "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": [ @@ -18826,6 +20385,67 @@ "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" + ] } } }, @@ -18833,6 +20453,7 @@ "methods": { "delete": { "description": "Deletes the specified regional HealthCheckService.", + "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", "httpMethod": "DELETE", "id": "compute.regionHealthCheckServices.delete", "parameterOrder": [ @@ -18862,7 +20483,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18878,6 +20499,7 @@ }, "get": { "description": "Returns the specified regional HealthCheckService resource.", + "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", "httpMethod": "GET", "id": "compute.regionHealthCheckServices.get", "parameterOrder": [ @@ -18919,6 +20541,7 @@ }, "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": [ @@ -18941,7 +20564,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18960,6 +20583,7 @@ }, "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": [ @@ -18968,7 +20592,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -18981,7 +20605,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -19022,6 +20646,7 @@ }, "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": [ @@ -19051,7 +20676,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -19070,6 +20695,7 @@ }, "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": [ @@ -19119,6 +20745,7 @@ "methods": { "delete": { "description": "Deletes the specified HealthCheck resource.", + "flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", "httpMethod": "DELETE", "id": "compute.regionHealthChecks.delete", "parameterOrder": [ @@ -19149,7 +20776,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -19165,6 +20792,7 @@ }, "get": { "description": "Returns the specified HealthCheck resource. Gets a list of available health checks by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", "httpMethod": "GET", "id": "compute.regionHealthChecks.get", "parameterOrder": [ @@ -19207,6 +20835,7 @@ }, "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": [ @@ -19229,7 +20858,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -19248,6 +20877,7 @@ }, "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": [ @@ -19256,7 +20886,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -19269,7 +20899,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -19310,6 +20940,7 @@ }, "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": [ @@ -19340,7 +20971,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -19359,6 +20990,7 @@ }, "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": [ @@ -19404,6 +21036,7 @@ }, "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": [ @@ -19434,7 +21067,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -19456,7 +21089,8 @@ "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.\n\nIf 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.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -19485,7 +21119,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -19504,6 +21138,7 @@ }, "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": [ @@ -19546,6 +21181,7 @@ }, "createInstances": { "description": "Creates instances with per-instance configs 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": [ @@ -19574,7 +21210,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same 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" } @@ -19593,6 +21229,7 @@ }, "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": [ @@ -19621,7 +21258,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -19636,7 +21273,8 @@ ] }, "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.\n\nIf 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.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -19665,7 +21303,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -19684,6 +21322,7 @@ }, "deletePerInstanceConfigs": { "description": "Deletes selected per-instance configs for the managed instance group.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", "httpMethod": "POST", "id": "compute.regionInstanceGroupManagers.deletePerInstanceConfigs", "parameterOrder": [ @@ -19726,6 +21365,7 @@ }, "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": [ @@ -19765,7 +21405,8 @@ ] }, "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.\n\nA regional managed instance group can contain up to 2000 instances.", + "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": [ @@ -19787,7 +21428,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -19806,6 +21447,7 @@ }, "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": [ @@ -19814,7 +21456,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -19827,7 +21469,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -19867,6 +21509,7 @@ }, "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": [ @@ -19876,12 +21519,12 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "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-9]{0,19}.", + "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" @@ -19895,7 +21538,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -19935,6 +21578,7 @@ }, "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.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", "httpMethod": "POST", "id": "compute.regionInstanceGroupManagers.listManagedInstances", "parameterOrder": [ @@ -19944,7 +21588,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -19963,7 +21607,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -20003,6 +21647,7 @@ }, "listPerInstanceConfigs": { "description": "Lists all of the per-instance configs 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": [ @@ -20012,7 +21657,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -20031,7 +21676,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -20070,7 +21715,8 @@ ] }, "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.", + "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": [ @@ -20099,7 +21745,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -20118,6 +21764,7 @@ }, "patchPerInstanceConfigs": { "description": "Inserts or patches per-instance configs 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": [ @@ -20146,7 +21793,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -20164,7 +21811,8 @@ ] }, "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.\n\nIf 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.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -20193,7 +21841,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -20211,7 +21859,8 @@ ] }, "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.\n\nThe 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.\n\nIf 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.", + "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": [ @@ -20241,7 +21890,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -20263,8 +21912,57 @@ "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" + ] + }, "setAutoHealingPolicies": { "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": [ @@ -20293,7 +21991,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -20312,6 +22010,7 @@ }, "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": [ @@ -20340,7 +22039,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -20359,6 +22058,7 @@ }, "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": [ @@ -20387,7 +22087,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -20406,6 +22106,7 @@ }, "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": [ @@ -20450,7 +22151,8 @@ ] }, "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.", + "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": [ @@ -20479,7 +22181,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -20498,6 +22200,7 @@ }, "updatePerInstanceConfigs": { "description": "Inserts or updates per-instance configs 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": [ @@ -20526,7 +22229,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -20549,6 +22252,7 @@ "methods": { "get": { "description": "Returns the specified instance group resource.", + "flatPath": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}", "httpMethod": "GET", "id": "compute.regionInstanceGroups.get", "parameterOrder": [ @@ -20589,6 +22293,7 @@ }, "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": [ @@ -20597,7 +22302,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -20610,7 +22315,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -20650,6 +22355,7 @@ }, "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": [ @@ -20659,7 +22365,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -20678,7 +22384,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -20721,6 +22427,7 @@ }, "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": [ @@ -20749,7 +22456,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -20768,6 +22475,7 @@ }, "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": [ @@ -20817,6 +22525,7 @@ "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": [ @@ -20839,7 +22548,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -20862,6 +22571,7 @@ "methods": { "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": [ @@ -20890,7 +22600,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -20906,6 +22616,7 @@ }, "get": { "description": "Returns the specified network endpoint group. Gets a list of available network endpoint groups by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", "httpMethod": "GET", "id": "compute.regionNetworkEndpointGroups.get", "parameterOrder": [ @@ -20946,6 +22657,7 @@ }, "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": [ @@ -20967,7 +22679,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -20986,6 +22698,7 @@ }, "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": [ @@ -20994,7 +22707,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -21007,7 +22720,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -21047,10 +22760,869 @@ } } }, + "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": { + "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. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", + "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.", + "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" + ] + }, + "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": { "delete": { "description": "Deletes the specified NotificationEndpoint in the given region", + "flatPath": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", "httpMethod": "DELETE", "id": "compute.regionNotificationEndpoints.delete", "parameterOrder": [ @@ -21081,7 +23653,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -21097,6 +23669,7 @@ }, "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": [ @@ -21139,6 +23712,7 @@ }, "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": [ @@ -21161,7 +23735,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -21180,6 +23754,7 @@ }, "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": [ @@ -21188,7 +23763,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -21201,7 +23776,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -21242,6 +23817,7 @@ }, "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": [ @@ -21291,6 +23867,7 @@ "methods": { "delete": { "description": "Deletes the specified region-specific Operations resource.", + "flatPath": "projects/{project}/regions/{region}/operations/{operation}", "httpMethod": "DELETE", "id": "compute.regionOperations.delete", "parameterOrder": [ @@ -21329,6 +23906,7 @@ }, "get": { "description": "Retrieves the specified region-specific Operations resource.", + "flatPath": "projects/{project}/regions/{region}/operations/{operation}", "httpMethod": "GET", "id": "compute.regionOperations.get", "parameterOrder": [ @@ -21371,6 +23949,7 @@ }, "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": [ @@ -21379,7 +23958,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -21392,7 +23971,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -21432,7 +24011,8 @@ ] }, "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.\n\nThis method is called on a best-effort basis. Specifically: \n- In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. \n- 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`.", + "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": [ @@ -21479,6 +24059,7 @@ "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": [ @@ -21502,7 +24083,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -21525,6 +24106,7 @@ }, "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": [ @@ -21567,6 +24149,7 @@ }, "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": [ @@ -21589,7 +24172,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -21608,6 +24191,7 @@ }, "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": [ @@ -21616,7 +24200,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -21629,7 +24213,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -21670,6 +24254,7 @@ }, "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": [ @@ -21719,6 +24304,7 @@ "methods": { "delete": { "description": "Deletes the specified TargetHttpProxy resource.", + "flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", "httpMethod": "DELETE", "id": "compute.regionTargetHttpProxies.delete", "parameterOrder": [ @@ -21742,7 +24328,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -21765,6 +24351,7 @@ }, "get": { "description": "Returns the specified TargetHttpProxy resource in the specified region. Gets a list of available target HTTP proxies by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", "httpMethod": "GET", "id": "compute.regionTargetHttpProxies.get", "parameterOrder": [ @@ -21807,6 +24394,7 @@ }, "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": [ @@ -21829,7 +24417,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -21848,6 +24436,7 @@ }, "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": [ @@ -21856,7 +24445,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -21869,7 +24458,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -21910,6 +24499,7 @@ }, "setUrlMap": { "description": "Changes the URL map for TargetHttpProxy.", + "flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}/setUrlMap", "httpMethod": "POST", "id": "compute.regionTargetHttpProxies.setUrlMap", "parameterOrder": [ @@ -21933,7 +24523,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -21959,6 +24549,7 @@ }, "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": [ @@ -22008,6 +24599,7 @@ "methods": { "delete": { "description": "Deletes the specified TargetHttpsProxy resource.", + "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", "httpMethod": "DELETE", "id": "compute.regionTargetHttpsProxies.delete", "parameterOrder": [ @@ -22031,7 +24623,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -22054,6 +24646,7 @@ }, "get": { "description": "Returns the specified TargetHttpsProxy resource in the specified region. Gets a list of available target HTTP proxies by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", "httpMethod": "GET", "id": "compute.regionTargetHttpsProxies.get", "parameterOrder": [ @@ -22096,6 +24689,7 @@ }, "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": [ @@ -22118,7 +24712,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -22137,6 +24731,7 @@ }, "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": [ @@ -22145,7 +24740,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -22158,7 +24753,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -22199,6 +24794,7 @@ }, "setSslCertificates": { "description": "Replaces SslCertificates for TargetHttpsProxy.", + "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", "httpMethod": "POST", "id": "compute.regionTargetHttpsProxies.setSslCertificates", "parameterOrder": [ @@ -22222,7 +24818,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -22248,6 +24844,7 @@ }, "setUrlMap": { "description": "Changes the URL map for TargetHttpsProxy.", + "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", "httpMethod": "POST", "id": "compute.regionTargetHttpsProxies.setUrlMap", "parameterOrder": [ @@ -22271,7 +24868,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -22297,6 +24894,7 @@ }, "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": [ @@ -22346,6 +24944,7 @@ "methods": { "delete": { "description": "Deletes the specified UrlMap resource.", + "flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", "httpMethod": "DELETE", "id": "compute.regionUrlMaps.delete", "parameterOrder": [ @@ -22392,6 +24991,7 @@ }, "get": { "description": "Returns the specified UrlMap resource. Gets a list of available URL maps by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", "httpMethod": "GET", "id": "compute.regionUrlMaps.get", "parameterOrder": [ @@ -22434,6 +25034,7 @@ }, "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": [ @@ -22474,7 +25075,8 @@ ] }, "invalidateCache": { - "description": "Initiates a cache invalidation operation, invalidating the specified path, scoped to the specified UrlMap.\n\nFor more information, see [Invalidating cached content](/cdn/docs/invalidating-cached-content).", + "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": [ @@ -22524,6 +25126,7 @@ }, "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": [ @@ -22532,7 +25135,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -22545,7 +25148,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -22586,6 +25189,7 @@ }, "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": [ @@ -22635,6 +25239,7 @@ }, "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": [ @@ -22680,6 +25285,7 @@ }, "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": [ @@ -22729,6 +25335,7 @@ }, "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": [ @@ -22776,7 +25383,8 @@ "regions": { "methods": { "get": { - "description": "Returns the specified Region resource. Gets a list of available regions by making a list() request.", + "description": "Returns the specified Region resource. Gets a list of available regions by making a list() request. 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}/regions/{region}", "httpMethod": "GET", "id": "compute.regions.get", "parameterOrder": [ @@ -22810,7 +25418,8 @@ ] }, "list": { - "description": "Retrieves the list of region resources available to the specified project.", + "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.", + "flatPath": "projects/{project}/regions", "httpMethod": "GET", "id": "compute.regions.list", "parameterOrder": [ @@ -22818,7 +25427,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -22831,7 +25440,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -22869,6 +25478,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of reservations.", + "flatPath": "projects/{project}/aggregated/reservations", "httpMethod": "GET", "id": "compute.reservations.aggregatedList", "parameterOrder": [ @@ -22876,7 +25486,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -22894,7 +25504,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -22928,6 +25538,7 @@ }, "delete": { "description": "Deletes the specified reservation.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}", "httpMethod": "DELETE", "id": "compute.reservations.delete", "parameterOrder": [ @@ -22944,7 +25555,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -22974,6 +25585,7 @@ }, "get": { "description": "Retrieves information about the specified reservation.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}", "httpMethod": "GET", "id": "compute.reservations.get", "parameterOrder": [ @@ -23016,6 +25628,7 @@ }, "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": [ @@ -23064,6 +25677,7 @@ }, "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": [ @@ -23079,7 +25693,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -23105,6 +25719,7 @@ }, "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": [ @@ -23113,7 +25728,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -23126,7 +25741,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -23167,6 +25782,7 @@ }, "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": [ @@ -23183,7 +25799,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -23216,6 +25832,7 @@ }, "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": [ @@ -23260,6 +25877,7 @@ }, "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": [ @@ -23302,6 +25920,67 @@ "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" + ] } } }, @@ -23309,6 +25988,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of resource policies.", + "flatPath": "projects/{project}/aggregated/resourcePolicies", "httpMethod": "GET", "id": "compute.resourcePolicies.aggregatedList", "parameterOrder": [ @@ -23316,7 +25996,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -23334,7 +26014,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -23368,6 +26048,7 @@ }, "delete": { "description": "Deletes the specified resource policy.", + "flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", "httpMethod": "DELETE", "id": "compute.resourcePolicies.delete", "parameterOrder": [ @@ -23391,7 +26072,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -23414,6 +26095,7 @@ }, "get": { "description": "Retrieves all information of the specified resource policy.", + "flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", "httpMethod": "GET", "id": "compute.resourcePolicies.get", "parameterOrder": [ @@ -23456,6 +26138,7 @@ }, "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": [ @@ -23504,6 +26187,7 @@ }, "insert": { "description": "Creates a new resource policy.", + "flatPath": "projects/{project}/regions/{region}/resourcePolicies", "httpMethod": "POST", "id": "compute.resourcePolicies.insert", "parameterOrder": [ @@ -23526,7 +26210,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -23545,6 +26229,7 @@ }, "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": [ @@ -23553,7 +26238,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -23566,7 +26251,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -23607,6 +26292,7 @@ }, "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": [ @@ -23651,6 +26337,7 @@ }, "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": [ @@ -23700,6 +26387,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of routers.", + "flatPath": "projects/{project}/aggregated/routers", "httpMethod": "GET", "id": "compute.routers.aggregatedList", "parameterOrder": [ @@ -23707,7 +26395,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -23725,7 +26413,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -23759,6 +26447,7 @@ }, "delete": { "description": "Deletes the specified Router resource.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}", "httpMethod": "DELETE", "id": "compute.routers.delete", "parameterOrder": [ @@ -23782,7 +26471,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -23805,6 +26494,7 @@ }, "get": { "description": "Returns the specified Router resource. Gets a list of available routers by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}", "httpMethod": "GET", "id": "compute.routers.get", "parameterOrder": [ @@ -23847,6 +26537,7 @@ }, "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": [ @@ -23856,7 +26547,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -23874,7 +26565,7 @@ "type": "string" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -23922,6 +26613,7 @@ }, "getRouterStatus": { "description": "Retrieves runtime information of the specified router.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/getRouterStatus", "httpMethod": "GET", "id": "compute.routers.getRouterStatus", "parameterOrder": [ @@ -23964,6 +26656,7 @@ }, "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": [ @@ -23986,7 +26679,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -24005,6 +26698,7 @@ }, "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": [ @@ -24013,7 +26707,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -24026,7 +26720,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -24067,6 +26761,7 @@ }, "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": [ @@ -24090,7 +26785,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -24116,6 +26811,7 @@ }, "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": [ @@ -24161,6 +26857,7 @@ }, "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": [ @@ -24206,6 +26903,7 @@ }, "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": [ @@ -24229,7 +26927,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -24259,6 +26957,7 @@ "methods": { "delete": { "description": "Deletes the specified Route resource.", + "flatPath": "projects/{project}/global/routes/{route}", "httpMethod": "DELETE", "id": "compute.routes.delete", "parameterOrder": [ @@ -24274,7 +26973,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -24297,6 +26996,7 @@ }, "get": { "description": "Returns the specified Route resource. Gets a list of available routes by making a list() request.", + "flatPath": "projects/{project}/global/routes/{route}", "httpMethod": "GET", "id": "compute.routes.get", "parameterOrder": [ @@ -24331,6 +27031,7 @@ }, "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": [ @@ -24345,7 +27046,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -24364,6 +27065,7 @@ }, "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": [ @@ -24371,7 +27073,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -24384,7 +27086,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -24418,6 +27120,7 @@ }, "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": [ @@ -24459,6 +27162,7 @@ "methods": { "addRule": { "description": "Inserts a rule into a security policy.", + "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/addRule", "httpMethod": "POST", "id": "compute.securityPolicies.addRule", "parameterOrder": [ @@ -24500,6 +27204,7 @@ }, "delete": { "description": "Deletes the specified policy.", + "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}", "httpMethod": "DELETE", "id": "compute.securityPolicies.delete", "parameterOrder": [ @@ -24515,7 +27220,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -24538,6 +27243,7 @@ }, "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": [ @@ -24572,6 +27278,7 @@ }, "getRule": { "description": "Gets a rule at the specified priority.", + "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/getRule", "httpMethod": "GET", "id": "compute.securityPolicies.getRule", "parameterOrder": [ @@ -24612,6 +27319,7 @@ }, "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": [ @@ -24626,7 +27334,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -24650,6 +27358,7 @@ }, "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": [ @@ -24657,7 +27366,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -24670,7 +27379,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -24704,6 +27413,7 @@ }, "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": [ @@ -24711,7 +27421,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -24724,7 +27434,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -24752,11 +27462,13 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "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. 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": [ @@ -24772,7 +27484,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -24798,6 +27510,7 @@ }, "patchRule": { "description": "Patches a rule at the specified priority.", + "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/patchRule", "httpMethod": "POST", "id": "compute.securityPolicies.patchRule", "parameterOrder": [ @@ -24845,6 +27558,7 @@ }, "removeRule": { "description": "Deletes a rule at the specified priority.", + "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/removeRule", "httpMethod": "POST", "id": "compute.securityPolicies.removeRule", "parameterOrder": [ @@ -24884,6 +27598,7 @@ }, "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": [ @@ -24920,6 +27635,7 @@ }, "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": [ @@ -24961,6 +27677,7 @@ "methods": { "aggregatedList": { "description": "Retrieves the list of all ServiceAttachment resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/serviceAttachments", "httpMethod": "GET", "id": "compute.serviceAttachments.aggregatedList", "parameterOrder": [ @@ -24968,7 +27685,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -24986,7 +27703,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -25020,6 +27737,7 @@ }, "delete": { "description": "Deletes the specified ServiceAttachment in the given scope", + "flatPath": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", "httpMethod": "DELETE", "id": "compute.serviceAttachments.delete", "parameterOrder": [ @@ -25043,7 +27761,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -25066,6 +27784,7 @@ }, "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": [ @@ -25108,6 +27827,7 @@ }, "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": [ @@ -25156,6 +27876,7 @@ }, "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": [ @@ -25178,7 +27899,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -25197,6 +27918,7 @@ }, "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": [ @@ -25205,7 +27927,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -25218,7 +27940,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -25257,8 +27979,57 @@ "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": [ @@ -25303,6 +28074,7 @@ }, "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": [ @@ -25351,7 +28123,8 @@ "snapshots": { "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.\n\nFor more information, see Deleting snapshots.", + "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": [ @@ -25367,7 +28140,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -25390,6 +28163,7 @@ }, "get": { "description": "Returns the specified Snapshot resource. Gets a list of available snapshots by making a list() request.", + "flatPath": "projects/{project}/global/snapshots/{snapshot}", "httpMethod": "GET", "id": "compute.snapshots.get", "parameterOrder": [ @@ -25424,6 +28198,7 @@ }, "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": [ @@ -25463,7 +28238,8 @@ ] }, "insert": { - "description": "Creates a snapshot in the specified project using the data included in the request.", + "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": [ @@ -25478,7 +28254,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -25497,6 +28273,7 @@ }, "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": [ @@ -25504,7 +28281,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -25517,7 +28294,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -25551,6 +28328,7 @@ }, "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": [ @@ -25587,6 +28365,7 @@ }, "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": [ @@ -25623,6 +28402,7 @@ }, "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": [ @@ -25664,6 +28444,7 @@ "methods": { "aggregatedList": { "description": "Retrieves the list of all SslCertificate resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/sslCertificates", "httpMethod": "GET", "id": "compute.sslCertificates.aggregatedList", "parameterOrder": [ @@ -25671,7 +28452,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -25689,7 +28470,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -25723,6 +28504,7 @@ }, "delete": { "description": "Deletes the specified SslCertificate resource.", + "flatPath": "projects/{project}/global/sslCertificates/{sslCertificate}", "httpMethod": "DELETE", "id": "compute.sslCertificates.delete", "parameterOrder": [ @@ -25738,7 +28520,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -25761,6 +28543,7 @@ }, "get": { "description": "Returns the specified SslCertificate resource. Gets a list of available SSL certificates by making a list() request.", + "flatPath": "projects/{project}/global/sslCertificates/{sslCertificate}", "httpMethod": "GET", "id": "compute.sslCertificates.get", "parameterOrder": [ @@ -25795,6 +28578,7 @@ }, "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": [ @@ -25809,7 +28593,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -25828,6 +28612,7 @@ }, "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": [ @@ -25835,7 +28620,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -25848,7 +28633,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -25882,6 +28667,7 @@ }, "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": [ @@ -25923,6 +28709,7 @@ "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}/global/sslPolicies/{sslPolicy}", "httpMethod": "DELETE", "id": "compute.sslPolicies.delete", "parameterOrder": [ @@ -25938,7 +28725,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -25960,6 +28747,7 @@ }, "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": [ @@ -25993,6 +28781,7 @@ }, "insert": { "description": "Returns the specified SSL policy resource. Gets a list of available SSL policies by making a list() request.", + "flatPath": "projects/{project}/global/sslPolicies", "httpMethod": "POST", "id": "compute.sslPolicies.insert", "parameterOrder": [ @@ -26007,7 +28796,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -26026,6 +28815,7 @@ }, "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": [ @@ -26033,7 +28823,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -26046,7 +28836,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -26080,6 +28870,7 @@ }, "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": [ @@ -26087,7 +28878,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -26100,7 +28891,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -26134,6 +28925,7 @@ }, "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": [ @@ -26149,7 +28941,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -26174,6 +28966,7 @@ }, "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": [ @@ -26215,6 +29008,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of subnetworks.", + "flatPath": "projects/{project}/aggregated/subnetworks", "httpMethod": "GET", "id": "compute.subnetworks.aggregatedList", "parameterOrder": [ @@ -26222,7 +29016,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -26240,7 +29034,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -26274,6 +29068,7 @@ }, "delete": { "description": "Deletes the specified subnetwork.", + "flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", "httpMethod": "DELETE", "id": "compute.subnetworks.delete", "parameterOrder": [ @@ -26297,7 +29092,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -26320,6 +29115,7 @@ }, "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": [ @@ -26343,7 +29139,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -26369,6 +29165,7 @@ }, "get": { "description": "Returns the specified subnetwork. Gets a list of available subnetworks list() request.", + "flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", "httpMethod": "GET", "id": "compute.subnetworks.get", "parameterOrder": [ @@ -26411,6 +29208,7 @@ }, "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": [ @@ -26459,6 +29257,7 @@ }, "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": [ @@ -26481,7 +29280,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -26500,6 +29299,7 @@ }, "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": [ @@ -26508,7 +29308,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -26521,7 +29321,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -26562,6 +29362,7 @@ }, "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": [ @@ -26569,7 +29370,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -26582,7 +29383,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -26602,6 +29403,11 @@ "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", "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", @@ -26616,6 +29422,7 @@ }, "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": [ @@ -26645,7 +29452,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -26671,6 +29478,7 @@ }, "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": [ @@ -26715,6 +29523,7 @@ }, "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": [ @@ -26738,7 +29547,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -26764,6 +29573,7 @@ }, "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": [ @@ -26813,6 +29623,7 @@ "methods": { "delete": { "description": "Deletes the specified TargetGrpcProxy in the given scope", + "flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", "httpMethod": "DELETE", "id": "compute.targetGrpcProxies.delete", "parameterOrder": [ @@ -26828,7 +29639,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -26851,6 +29662,7 @@ }, "get": { "description": "Returns the specified TargetGrpcProxy resource in the given scope.", + "flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", "httpMethod": "GET", "id": "compute.targetGrpcProxies.get", "parameterOrder": [ @@ -26885,6 +29697,7 @@ }, "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": [ @@ -26899,7 +29712,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -26918,6 +29731,7 @@ }, "list": { "description": "Lists the TargetGrpcProxies for a project in the given scope.", + "flatPath": "projects/{project}/global/targetGrpcProxies", "httpMethod": "GET", "id": "compute.targetGrpcProxies.list", "parameterOrder": [ @@ -26925,7 +29739,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -26938,7 +29752,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -26972,6 +29786,7 @@ }, "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": [ @@ -26987,7 +29802,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -27013,6 +29828,7 @@ }, "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": [ @@ -27054,6 +29870,7 @@ "methods": { "aggregatedList": { "description": "Retrieves the list of all TargetHttpProxy resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/targetHttpProxies", "httpMethod": "GET", "id": "compute.targetHttpProxies.aggregatedList", "parameterOrder": [ @@ -27061,7 +29878,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -27079,7 +29896,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -27113,6 +29930,7 @@ }, "delete": { "description": "Deletes the specified TargetHttpProxy resource.", + "flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", "httpMethod": "DELETE", "id": "compute.targetHttpProxies.delete", "parameterOrder": [ @@ -27128,7 +29946,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -27151,6 +29969,7 @@ }, "get": { "description": "Returns the specified TargetHttpProxy resource. Gets a list of available target HTTP proxies by making a list() request.", + "flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", "httpMethod": "GET", "id": "compute.targetHttpProxies.get", "parameterOrder": [ @@ -27185,6 +30004,7 @@ }, "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": [ @@ -27199,7 +30019,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -27218,6 +30038,7 @@ }, "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": [ @@ -27225,7 +30046,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -27238,7 +30059,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -27271,7 +30092,8 @@ ] }, "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. (== suppress_warning http-rest-shadowed ==)", + "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": [ @@ -27287,7 +30109,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -27313,6 +30135,7 @@ }, "setUrlMap": { "description": "Changes the URL map for TargetHttpProxy.", + "flatPath": "projects/{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap", "httpMethod": "POST", "id": "compute.targetHttpProxies.setUrlMap", "parameterOrder": [ @@ -27328,7 +30151,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -27354,6 +30177,7 @@ }, "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": [ @@ -27395,6 +30219,7 @@ "methods": { "aggregatedList": { "description": "Retrieves the list of all TargetHttpsProxy resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/targetHttpsProxies", "httpMethod": "GET", "id": "compute.targetHttpsProxies.aggregatedList", "parameterOrder": [ @@ -27402,7 +30227,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -27420,7 +30245,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -27454,6 +30279,7 @@ }, "delete": { "description": "Deletes the specified TargetHttpsProxy resource.", + "flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", "httpMethod": "DELETE", "id": "compute.targetHttpsProxies.delete", "parameterOrder": [ @@ -27469,7 +30295,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -27492,6 +30318,7 @@ }, "get": { "description": "Returns the specified TargetHttpsProxy resource. Gets a list of available target HTTPS proxies by making a list() request.", + "flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", "httpMethod": "GET", "id": "compute.targetHttpsProxies.get", "parameterOrder": [ @@ -27526,6 +30353,7 @@ }, "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": [ @@ -27540,7 +30368,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -27559,6 +30387,7 @@ }, "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": [ @@ -27566,7 +30395,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -27579,7 +30408,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -27612,7 +30441,8 @@ ] }, "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. (== suppress_warning http-rest-shadowed ==)", + "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": [ @@ -27628,7 +30458,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -27652,8 +30482,50 @@ "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": [ @@ -27669,7 +30541,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -27694,6 +30566,7 @@ }, "setSslCertificates": { "description": "Replaces SslCertificates for TargetHttpsProxy.", + "flatPath": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", "httpMethod": "POST", "id": "compute.targetHttpsProxies.setSslCertificates", "parameterOrder": [ @@ -27709,7 +30582,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -27735,6 +30608,7 @@ }, "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": [ @@ -27750,7 +30624,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -27775,6 +30649,7 @@ }, "setUrlMap": { "description": "Changes the URL map for TargetHttpsProxy.", + "flatPath": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", "httpMethod": "POST", "id": "compute.targetHttpsProxies.setUrlMap", "parameterOrder": [ @@ -27790,7 +30665,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -27816,6 +30691,7 @@ }, "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": [ @@ -27857,6 +30733,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of target instances.", + "flatPath": "projects/{project}/aggregated/targetInstances", "httpMethod": "GET", "id": "compute.targetInstances.aggregatedList", "parameterOrder": [ @@ -27864,7 +30741,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -27882,7 +30759,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -27916,6 +30793,7 @@ }, "delete": { "description": "Deletes the specified TargetInstance resource.", + "flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", "httpMethod": "DELETE", "id": "compute.targetInstances.delete", "parameterOrder": [ @@ -27932,7 +30810,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -27962,6 +30840,7 @@ }, "get": { "description": "Returns the specified TargetInstance resource. Gets a list of available target instances by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", "httpMethod": "GET", "id": "compute.targetInstances.get", "parameterOrder": [ @@ -28004,6 +30883,7 @@ }, "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": [ @@ -28019,7 +30899,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -28045,6 +30925,7 @@ }, "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": [ @@ -28053,7 +30934,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -28066,7 +30947,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -28107,6 +30988,7 @@ }, "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": [ @@ -28156,6 +31038,7 @@ "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": [ @@ -28179,7 +31062,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -28205,6 +31088,7 @@ }, "addInstance": { "description": "Adds an instance to a target pool.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/addInstance", "httpMethod": "POST", "id": "compute.targetPools.addInstance", "parameterOrder": [ @@ -28228,7 +31112,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -28254,6 +31138,7 @@ }, "aggregatedList": { "description": "Retrieves an aggregated list of target pools.", + "flatPath": "projects/{project}/aggregated/targetPools", "httpMethod": "GET", "id": "compute.targetPools.aggregatedList", "parameterOrder": [ @@ -28261,7 +31146,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -28279,7 +31164,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -28313,6 +31198,7 @@ }, "delete": { "description": "Deletes the specified target pool.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}", "httpMethod": "DELETE", "id": "compute.targetPools.delete", "parameterOrder": [ @@ -28336,7 +31222,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -28359,6 +31245,7 @@ }, "get": { "description": "Returns the specified target pool. Gets a list of available target pools by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}", "httpMethod": "GET", "id": "compute.targetPools.get", "parameterOrder": [ @@ -28401,6 +31288,7 @@ }, "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": [ @@ -28446,6 +31334,7 @@ }, "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": [ @@ -28468,7 +31357,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -28487,6 +31376,7 @@ }, "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": [ @@ -28495,7 +31385,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -28508,7 +31398,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -28549,6 +31439,7 @@ }, "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": [ @@ -28572,7 +31463,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -28598,6 +31489,7 @@ }, "removeInstance": { "description": "Removes instance URL from a target pool.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeInstance", "httpMethod": "POST", "id": "compute.targetPools.removeInstance", "parameterOrder": [ @@ -28621,7 +31513,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -28647,6 +31539,7 @@ }, "setBackup": { "description": "Changes a backup target pool's configurations.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/setBackup", "httpMethod": "POST", "id": "compute.targetPools.setBackup", "parameterOrder": [ @@ -28676,7 +31569,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -28702,6 +31595,7 @@ }, "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": [ @@ -28751,6 +31645,7 @@ "methods": { "delete": { "description": "Deletes the specified TargetSslProxy resource.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}", "httpMethod": "DELETE", "id": "compute.targetSslProxies.delete", "parameterOrder": [ @@ -28766,7 +31661,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -28789,6 +31684,7 @@ }, "get": { "description": "Returns the specified TargetSslProxy resource. Gets a list of available target SSL proxies by making a list() request.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}", "httpMethod": "GET", "id": "compute.targetSslProxies.get", "parameterOrder": [ @@ -28823,6 +31719,7 @@ }, "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": [ @@ -28837,7 +31734,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -28856,6 +31753,7 @@ }, "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": [ @@ -28863,7 +31761,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -28876,7 +31774,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -28910,6 +31808,7 @@ }, "setBackendService": { "description": "Changes the BackendService for TargetSslProxy.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setBackendService", "httpMethod": "POST", "id": "compute.targetSslProxies.setBackendService", "parameterOrder": [ @@ -28925,7 +31824,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -28949,8 +31848,50 @@ "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": [ @@ -28966,7 +31907,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -28992,6 +31933,7 @@ }, "setSslCertificates": { "description": "Changes SslCertificates for TargetSslProxy.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates", "httpMethod": "POST", "id": "compute.targetSslProxies.setSslCertificates", "parameterOrder": [ @@ -29007,7 +31949,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -29033,6 +31975,7 @@ }, "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 SSL proxy 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": [ @@ -29048,7 +31991,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -29073,6 +32016,7 @@ }, "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": [ @@ -29114,6 +32058,7 @@ "methods": { "delete": { "description": "Deletes the specified TargetTcpProxy resource.", + "flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", "httpMethod": "DELETE", "id": "compute.targetTcpProxies.delete", "parameterOrder": [ @@ -29129,7 +32074,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -29152,6 +32097,7 @@ }, "get": { "description": "Returns the specified TargetTcpProxy resource. Gets a list of available target TCP proxies by making a list() request.", + "flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", "httpMethod": "GET", "id": "compute.targetTcpProxies.get", "parameterOrder": [ @@ -29186,6 +32132,7 @@ }, "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": [ @@ -29200,7 +32147,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -29219,6 +32166,7 @@ }, "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": [ @@ -29226,7 +32174,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -29239,7 +32187,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -29273,6 +32221,7 @@ }, "setBackendService": { "description": "Changes the BackendService for TargetTcpProxy.", + "flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService", "httpMethod": "POST", "id": "compute.targetTcpProxies.setBackendService", "parameterOrder": [ @@ -29288,7 +32237,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -29314,6 +32263,7 @@ }, "setProxyHeader": { "description": "Changes the ProxyHeaderType for TargetTcpProxy.", + "flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader", "httpMethod": "POST", "id": "compute.targetTcpProxies.setProxyHeader", "parameterOrder": [ @@ -29329,7 +32279,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -29355,6 +32305,7 @@ }, "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": [ @@ -29396,6 +32347,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of target VPN gateways.", + "flatPath": "projects/{project}/aggregated/targetVpnGateways", "httpMethod": "GET", "id": "compute.targetVpnGateways.aggregatedList", "parameterOrder": [ @@ -29403,7 +32355,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -29421,7 +32373,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -29455,6 +32407,7 @@ }, "delete": { "description": "Deletes the specified target VPN gateway.", + "flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", "httpMethod": "DELETE", "id": "compute.targetVpnGateways.delete", "parameterOrder": [ @@ -29478,7 +32431,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -29501,6 +32454,7 @@ }, "get": { "description": "Returns the specified target VPN gateway. Gets a list of available target VPN gateways by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", "httpMethod": "GET", "id": "compute.targetVpnGateways.get", "parameterOrder": [ @@ -29543,6 +32497,7 @@ }, "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": [ @@ -29565,7 +32520,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -29584,6 +32539,7 @@ }, "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": [ @@ -29592,7 +32548,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -29605,7 +32561,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -29646,6 +32602,7 @@ }, "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": [ @@ -29669,7 +32626,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -29695,6 +32652,7 @@ }, "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": [ @@ -29744,6 +32702,7 @@ "methods": { "aggregatedList": { "description": "Retrieves the list of all UrlMap resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/urlMaps", "httpMethod": "GET", "id": "compute.urlMaps.aggregatedList", "parameterOrder": [ @@ -29751,7 +32710,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -29769,7 +32728,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -29803,6 +32762,7 @@ }, "delete": { "description": "Deletes the specified UrlMap resource.", + "flatPath": "projects/{project}/global/urlMaps/{urlMap}", "httpMethod": "DELETE", "id": "compute.urlMaps.delete", "parameterOrder": [ @@ -29818,7 +32778,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -29841,6 +32801,7 @@ }, "get": { "description": "Returns the specified UrlMap resource. Gets a list of available URL maps by making a list() request.", + "flatPath": "projects/{project}/global/urlMaps/{urlMap}", "httpMethod": "GET", "id": "compute.urlMaps.get", "parameterOrder": [ @@ -29875,6 +32836,7 @@ }, "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": [ @@ -29889,7 +32851,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -29907,7 +32869,8 @@ ] }, "invalidateCache": { - "description": "Initiates a cache invalidation operation, invalidating the specified path, scoped to the specified UrlMap.\n\nFor more information, see [Invalidating cached content](/cdn/docs/invalidating-cached-content).", + "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": [ @@ -29923,7 +32886,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -29949,6 +32912,7 @@ }, "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": [ @@ -29956,7 +32920,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -29969,7 +32933,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -30003,6 +32967,7 @@ }, "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": [ @@ -30018,7 +32983,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -30044,6 +33009,7 @@ }, "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": [ @@ -30081,6 +33047,7 @@ }, "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": [ @@ -30096,7 +33063,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -30122,6 +33089,7 @@ }, "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": [ @@ -30162,6 +33130,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of VPN gateways.", + "flatPath": "projects/{project}/aggregated/vpnGateways", "httpMethod": "GET", "id": "compute.vpnGateways.aggregatedList", "parameterOrder": [ @@ -30169,7 +33138,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -30187,7 +33156,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -30221,6 +33190,7 @@ }, "delete": { "description": "Deletes the specified VPN gateway.", + "flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", "httpMethod": "DELETE", "id": "compute.vpnGateways.delete", "parameterOrder": [ @@ -30244,7 +33214,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -30267,6 +33237,7 @@ }, "get": { "description": "Returns the specified VPN gateway. Gets a list of available VPN gateways by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", "httpMethod": "GET", "id": "compute.vpnGateways.get", "parameterOrder": [ @@ -30309,6 +33280,7 @@ }, "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": [ @@ -30351,6 +33323,7 @@ }, "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": [ @@ -30373,7 +33346,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -30392,6 +33365,7 @@ }, "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": [ @@ -30400,7 +33374,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -30413,7 +33387,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -30454,6 +33428,7 @@ }, "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": [ @@ -30477,7 +33452,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -30503,6 +33478,7 @@ }, "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": [ @@ -30552,6 +33528,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of VPN tunnels.", + "flatPath": "projects/{project}/aggregated/vpnTunnels", "httpMethod": "GET", "id": "compute.vpnTunnels.aggregatedList", "parameterOrder": [ @@ -30559,7 +33536,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -30577,7 +33554,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -30611,6 +33588,7 @@ }, "delete": { "description": "Deletes the specified VpnTunnel resource.", + "flatPath": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", "httpMethod": "DELETE", "id": "compute.vpnTunnels.delete", "parameterOrder": [ @@ -30634,7 +33612,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -30657,6 +33635,7 @@ }, "get": { "description": "Returns the specified VpnTunnel resource. Gets a list of available VPN tunnels by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", "httpMethod": "GET", "id": "compute.vpnTunnels.get", "parameterOrder": [ @@ -30699,6 +33678,7 @@ }, "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": [ @@ -30721,7 +33701,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -30740,6 +33720,7 @@ }, "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": [ @@ -30748,7 +33729,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -30761,7 +33742,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -30802,6 +33783,7 @@ }, "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": [ @@ -30825,7 +33807,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -30851,6 +33833,7 @@ }, "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": [ @@ -30900,6 +33883,7 @@ "methods": { "delete": { "description": "Deletes the specified zone-specific Operations resource.", + "flatPath": "projects/{project}/zones/{zone}/operations/{operation}", "httpMethod": "DELETE", "id": "compute.zoneOperations.delete", "parameterOrder": [ @@ -30938,6 +33922,7 @@ }, "get": { "description": "Retrieves the specified zone-specific Operations resource.", + "flatPath": "projects/{project}/zones/{zone}/operations/{operation}", "httpMethod": "GET", "id": "compute.zoneOperations.get", "parameterOrder": [ @@ -30980,6 +33965,7 @@ }, "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": [ @@ -30988,7 +33974,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -31001,7 +33987,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -31041,7 +34027,8 @@ ] }, "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.\n\nThis method is called on a best-effort basis. Specifically: \n- In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. \n- 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`.", + "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": [ @@ -31088,6 +34075,7 @@ "methods": { "get": { "description": "Returns the specified Zone resource. Gets a list of available zones by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}", "httpMethod": "GET", "id": "compute.zones.get", "parameterOrder": [ @@ -31122,6 +34110,7 @@ }, "list": { "description": "Retrieves the list of Zone resources available to the specified project.", + "flatPath": "projects/{project}/zones", "httpMethod": "GET", "id": "compute.zones.list", "parameterOrder": [ @@ -31129,7 +34118,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -31142,7 +34131,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -31177,7 +34166,7 @@ } } }, - "revision": "20210316", + "revision": "20220224", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -31197,7 +34186,7 @@ "type": "object" }, "AcceleratorType": { - "description": "Represents an Accelerator Type resource.\n\nGoogle 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. (== resource_for {$api_version}.acceleratorTypes ==)", + "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": { @@ -31311,36 +34300,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -31427,36 +34416,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -31525,36 +34514,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -31584,6 +34573,15 @@ "description": "An access configuration attached to an instance's network interface. Only one access config per instance is supported.", "id": "AccessConfig", "properties": { + "externalIpv6": { + "description": "The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.", + "type": "string" + }, + "externalIpv6PrefixLength": { + "description": "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.", @@ -31598,32 +34596,38 @@ "type": "string" }, "networkTier": { - "description": "This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.\n\nIf an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.\n\nIf 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.", + "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", - "STANDARD" + "STANDARD", + "STANDARD_OVERRIDES_FIXED_STANDARD" ], "enumDescriptions": [ - "", - "" + "Public internet quality with fixed bandwidth.", + "High quality, Google-grade 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" }, "publicPtrDomainName": { - "description": "The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.", + "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 createc for first IP in associated external IPv6 range.", "type": "string" }, "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.", + "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": { "default": "ONE_TO_ONE_NAT", "description": "The type of configuration. The default and only option is ONE_TO_ONE_NAT.", "enum": [ + "DIRECT_IPV6", "ONE_TO_ONE_NAT" ], "enumDescriptions": [ + "", "" ], "type": "string" @@ -31632,7 +34636,7 @@ "type": "object" }, "Address": { - "description": "Use global external addresses for GFE-based external HTTP(S) load balancers in Premium Tier.\n\nUse global internal addresses for reserved peering network range.\n\nUse regional external addresses for the following resources:\n\n- External IP addresses for VM instances - Regional external forwarding rules - Cloud NAT external IP addresses - GFE based LBs in Standard Tier - Network LBs in Premium or Standard Tier - Cloud VPN gateways (both Classic and HA)\n\nUse regional internal IP addresses for subnet IP ranges (primary and secondary). This includes:\n\n- Internal IP addresses for VM instances - Alias IP ranges of VM instances (/32 only) - Regional internal forwarding rules - Internal TCP/UDP load balancer addresses - Internal HTTP(S) load balancer addresses - Cloud DNS inbound forwarding IP addresses\n\nFor more information, read reserved IP address.\n\n(== resource_for {$api_version}.addresses ==) (== resource_for {$api_version}.globalAddresses ==)", + "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/beta/globalAddresses) * [Regional (external and internal)](https://cloud.google.com/compute/docs/reference/rest/beta/addresses) For more information, see Reserving a static external IP address.", "id": "Address", "properties": { "address": { @@ -31647,8 +34651,8 @@ "UNSPECIFIED_TYPE" ], "enumDescriptions": [ - "", - "", + "A publicly visible external IP address.", + "A private network IP address, for use with an Instance or Internal Load Balancer forwarding rule.", "" ], "type": "string" @@ -31686,7 +34690,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve an Address.", + "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" }, @@ -31712,14 +34716,18 @@ "type": "string" }, "networkTier": { - "description": "This signifies the networking tier used for configuring this address and can only take the following values: PREMIUM or STANDARD. Global forwarding rules can only be Premium Tier. Regional forwarding rules can be either Premium or Standard Tier. Standard Tier addresses applied to regional forwarding rules can be used with any external load balancer. Regional forwarding rules in Premium Tier can only be used with a network load balancer.\n\nIf this field is not specified, it is assumed to be PREMIUM.", + "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", - "STANDARD" + "STANDARD", + "STANDARD_OVERRIDES_FIXED_STANDARD" ], "enumDescriptions": [ - "", - "" + "Public internet quality with fixed bandwidth.", + "High quality, Google-grade 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" }, @@ -31729,7 +34737,7 @@ "type": "integer" }, "purpose": { - "description": "The purpose of this resource, which can be one of the following values: \n- `GCE_ENDPOINT` for addresses that are used by VM instances, alias IP ranges, internal load balancers, and similar resources. \n- `DNS_RESOLVER` for a DNS resolver address in a subnetwork \n- `VPC_PEERING` for addresses that are reserved for VPC peer networks. \n- `NAT_AUTO` for addresses that are external IP addresses automatically reserved for Cloud NAT. \n- `IPSEC_INTERCONNECT` for addresses created from a private IP range that are reserved for a VLAN attachment in an IPsec-encrypted Cloud Interconnect configuration. These addresses are regional resources.", + "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 *IPsec-encrypted Cloud Interconnect* configuration. These addresses are regional resources. Not currently available publicly. - `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", @@ -31740,18 +34748,18 @@ "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 IPsec-encrypted 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 private network IP address that can be shared by multiple Internal Load Balancer forwarding rules.", + "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.", + "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": { @@ -31766,9 +34774,9 @@ "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" }, @@ -31854,36 +34862,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -31970,36 +34978,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -32068,36 +35076,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -32130,6 +35138,15 @@ "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" + }, + "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" } }, "type": "object" @@ -32198,6 +35215,21 @@ "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": "For more information about maintenance intervals, see Setting maintenance intervals.", + "enum": [ + "PERIODIC" + ], + "enumDescriptions": [ + "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." + ], + "type": "string" + }, "minCpuPlatform": { "description": "Minimum cpu platform the reservation.", "type": "string" @@ -32206,9 +35238,14 @@ "type": "object" }, "AllocationSpecificSKUReservation": { - "description": "This reservation type allows to pre allocate specific instance configuration.", + "description": "This reservation type allows to pre allocate specific instance configuration. Next ID: 5", "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", @@ -32239,12 +35276,12 @@ "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.\n\nIf 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.", + "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.\n\nIf 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.\n\nIf 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.\n\nIf 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.\n\nInstance templates do not store customer-supplied encryption keys, so you cannot use your own keys to encrypt disks in a managed instance group." + "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. Instance templates do not store customer-supplied encryption keys, so you cannot use your own keys to encrypt disks in a managed instance group." }, "diskSizeGb": { "description": "The size of the disk in GB.", @@ -32252,7 +35289,7 @@ "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.", + "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" }, @@ -32265,7 +35302,7 @@ }, "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.\n\nThis property is mutually exclusive with the source property; you can only define one or the other, but not both." + "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. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance.", @@ -32291,6 +35328,10 @@ }, "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": [ @@ -32298,8 +35339,8 @@ "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" }, @@ -32308,7 +35349,7 @@ "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, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required except for local SSD.\n\nIf desired, you can also attach existing non-root persistent disks using this property. This field is only applicable for persistent disks.\n\nNote that for InstanceTemplate, specify the disk name, not the URL for the disk.", + "description": "Specifies a valid partial or full URL to an existing Persistent Disk resource. When creating a new instance, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required except for local SSD. 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": { @@ -32322,12 +35363,19 @@ "" ], "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.\n\nThis property is mutually exclusive with the source property; you can only define one or the other, but not both.", + "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.", "id": "AttachedDiskInitializeParams", "properties": { "description": { @@ -32344,11 +35392,11 @@ "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:\nhttps://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard\n\n\nOther values include pd-ssd and local-ssd. If you define this field, you can provide either the full or partial URL. For example, the following are valid values: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType \n- projects/project/zones/zone/diskTypes/diskType \n- zones/zone/diskTypes/diskType Note that for InstanceTemplate, this is the name of the disk type, not URL.", + "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 define this field, you can provide either the full or partial URL. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/diskType - projects/project/zones/zone/diskTypes/diskType - zones/zone/diskTypes/diskType Note that for InstanceTemplate, this is the name of the disk type, not URL.", "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.\n\nGuest OS features are applied by merging initializeParams.guestOsFeatures and disks.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" }, @@ -32361,6 +35409,13 @@ "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" }, + "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" @@ -32373,14 +35428,14 @@ "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 must be provisioned for the disk.", + "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" }, @@ -32392,15 +35447,15 @@ "type": "array" }, "sourceImage": { - "description": "The source image to create this disk. When creating a new instance, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required except for local SSD.\n\nTo 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:\nprojects/debian-cloud/global/images/family/debian-9\n\n\nAlternatively, use a specific version of a public operating system image:\nprojects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD\n\n\nTo create a disk with a custom image that you created, specify the image name in the following format:\nglobal/images/my-custom-image\n\n\nYou 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:\nglobal/images/family/my-image-family\n\n\nIf the source image is deleted later, this field will not be set.", + "description": "The source image to create this disk. When creating a new instance, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required except for local SSD. 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.\n\nInstance templates 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." + "description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key. Instance templates 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." }, "sourceSnapshot": { - "description": "The source snapshot to create this disk. When creating a new instance, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required except for local SSD.\n\nTo create a disk with a snapshot that you created, specify the snapshot name in the following format:\nglobal/snapshots/my-backup\n\n\nIf the source snapshot is deleted later, this field will not be set.", + "description": "The source snapshot to create this disk. When creating a new instance, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required except for local SSD. 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.", "type": "string" }, "sourceSnapshotEncryptionKey": { @@ -32411,7 +35466,7 @@ "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.\n\nIf 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.\n\nExample Policy with multiple AuditConfigs:\n\n{ \"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\" ] } ] } ] }\n\nFor 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.", + "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": { @@ -32422,7 +35477,7 @@ "type": "array" }, "exemptedMembers": { - "description": "", + "description": "This is deprecated and has no effect. Do not use.", "items": { "type": "string" }, @@ -32436,18 +35491,18 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions. Example:\n\n{ \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "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][].", + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", "items": { "type": "string" }, "type": "array" }, "ignoreChildExemptions": { - "description": "", + "description": "This is deprecated and has no effect. Do not use.", "type": "boolean" }, "logType": { @@ -32459,10 +35514,10 @@ "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" } @@ -32470,11 +35525,11 @@ "type": "object" }, "AuthorizationLoggingOptions": { - "description": "Authorization-related information used by Cloud Audit Logging.", + "description": "This is deprecated and has no effect. Do not use.", "id": "AuthorizationLoggingOptions", "properties": { "permissionType": { - "description": "The type of the permission that was checked.", + "description": "This is deprecated and has no effect. Do not use.", "enum": [ "ADMIN_READ", "ADMIN_WRITE", @@ -32483,11 +35538,11 @@ "PERMISSION_TYPE_UNSPECIFIED" ], "enumDescriptions": [ - "", - "", - "", - "", - "" + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use." ], "type": "string" } @@ -32495,12 +35550,12 @@ "type": "object" }, "Autoscaler": { - "description": "Represents an Autoscaler resource.\n\nGoogle Compute Engine has two Autoscaler resources:\n\n* [Zonal](/compute/docs/reference/rest/{$api_version}/autoscalers) * [Regional](/compute/docs/reference/rest/{$api_version}/regionAutoscalers)\n\nUse 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.\n\nFor zonal managed instance groups resource, use the autoscaler resource.\n\nFor regional managed instance groups, use the regionAutoscalers resource. (== resource_for {$api_version}.autoscalers ==) (== resource_for {$api_version}.regionAutoscalers ==)", + "description": "Represents an Autoscaler resource. Google Compute Engine has two Autoscaler resources: * [Zonal](/compute/docs/reference/rest/beta/autoscalers) * [Regional](/compute/docs/reference/rest/beta/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 of the policies for an autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization.\n\nIf none of these are specified, the default will be to autoscale based on cpuUtilization to 0.6 or 60%." + "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.", @@ -32551,7 +35606,7 @@ "type": "string" }, "status": { - "description": "[Output Only] The status of the autoscaler configuration. Current set of possible values: \n- PENDING: Autoscaler backend hasn't read new/updated configuration. \n- DELETING: Configuration is being deleted. \n- ACTIVE: Configuration is acknowledged to be effective. Some warnings might be present in the statusDetails field. \n- ERROR: Configuration has errors. Actionable for users. Details are present in the statusDetails field. New values might be added in the future.", + "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", @@ -32559,10 +35614,10 @@ "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" }, @@ -32613,7 +35668,7 @@ "type": "string" }, "unreachables": { - "description": "[Output Only] Unreachable resources.", + "description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", "items": { "type": "string" }, @@ -32652,36 +35707,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -32768,36 +35823,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -32831,7 +35886,7 @@ "type": "string" }, "type": { - "description": "The type of error, warning, or notice returned. Current set of possible values: \n- ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are unhealthy (not in RUNNING state). \n- BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): There is no backend service attached to the instance group. \n- CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends a size greater than maxNumReplicas. \n- CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom metric samples are not exported often enough to be a credible base for autoscaling. \n- CUSTOM_METRIC_INVALID (ERROR): The custom metric that was specified does not exist or does not have the necessary labels. \n- MIN_EQUALS_MAX (WARNING): The minNumReplicas is equal to maxNumReplicas. This means the autoscaler cannot add or remove instances from the instance group. \n- MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive any data from the custom metric configured for autoscaling. \n- 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. \n- MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in the group won't change automatically. The autoscaling configuration is preserved. \n- MODE_ONLY_UP (WARNING): Autoscaling is in the \"Autoscale only out\" mode. The autoscaler can add instances but not remove any. \n- MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be autoscaled because it has more than one backend service attached to it. \n- NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): There is insufficient quota for the necessary resources, such as CPU or number of instances. \n- REGION_RESOURCE_STOCKOUT (ERROR): Shown only for regional autoscalers: there is a resource stockout in the chosen region. \n- SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled does not exist. \n- UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR): Autoscaling does not work with an HTTP/S load balancer that has been configured for maxRate. \n- 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.", + "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", @@ -32855,26 +35910,26 @@ "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" } @@ -32924,36 +35979,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -32984,7 +36039,7 @@ "id": "AutoscalingPolicy", "properties": { "coolDownPeriodSec": { - "description": "The number of seconds that the autoscaler waits before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. The default time autoscaler waits is 60 seconds.\n\nVirtual machine initialization times might vary because of numerous factors. We recommend that you test how long an instance may take to initialize. To do this, create an instance and time the startup process.", + "description": "The number of seconds that the autoscaler waits before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. The default time autoscaler waits is 60 seconds. Virtual machine initialization times might vary because of numerous factors. We recommend that you test how long an instance may take to initialize. To do this, create an instance and time the startup process.", "format": "int32", "type": "integer" }, @@ -33022,10 +36077,10 @@ "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" }, @@ -33050,21 +36105,21 @@ "id": "AutoscalingPolicyCpuUtilization", "properties": { "predictiveMethod": { - "description": "Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are:\n\n* 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.", + "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" ], "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.", "" ], "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.\n\nIf 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.\n\nIf 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.", + "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" } @@ -33076,20 +36131,20 @@ "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.\n\nFor the filter to be valid for autoscaling purposes, the following rules apply: \n- You can only use the AND operator for joining selectors. \n- You can only use direct equality comparison operator (=) without any functions for each selector. \n- 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. \n- 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.\nIf 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.\n\nIf not specified, the type defaults to gce_instance. \n\nTry 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.", + "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.\n\nThe metric must have a value type of INT64 or DOUBLE.", + "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.\n\nA 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.\n\nA 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.", + "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.\n\nFor 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.", + "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" }, @@ -33101,9 +36156,9 @@ "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" } @@ -33181,7 +36236,7 @@ "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: http://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of ?UTC? if left empty.", + "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: http://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of \u201cUTC\u201d if left empty.", "type": "string" } }, @@ -33192,21 +36247,21 @@ "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.", + "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", "RATE", "UTILIZATION" ], "enumDescriptions": [ - "", - "", - "" + "Balance based on the number of simultaneous connections.", + "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.\n\nNot supported by:\n\n- Internal TCP/UDP Load Balancing - Network Load Balancing", + "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.", "format": "float", "type": "number" }, @@ -33219,40 +36274,41 @@ "type": "boolean" }, "group": { - "description": "The fully-qualified URL of an instance group or network endpoint group (NEG) resource. The type of backend that a backend service supports depends on the backend service's loadBalancingScheme.\n\n \n- When the loadBalancingScheme for the backend service is EXTERNAL (except Network Load Balancing), INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED , the backend can be either an instance group or a NEG. The backends on the backend service must be either all instance groups or all NEGs. You cannot mix instance group and NEG backends on the same backend service. \n\n\n- When the loadBalancingScheme for the backend service is EXTERNAL for Network Load Balancing or INTERNAL for Internal TCP/UDP Load Balancing, the backend must be an instance group. NEGs are not supported. \n\nFor regional services, the backend must be in the same region as the backend service.\n\nYou must use the fully-qualified URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported.", + "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. Not supported by:\n\n- Internal TCP/UDP Load Balancing - Network Load Balancing", + "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.\n\nNot available if the backend's balancingMode is RATE. Not supported by:\n\n- Internal TCP/UDP Load Balancing - Network Load Balancing.", + "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.\n\nNot available if the backend's balancingMode is RATE. Not supported by:\n\n- Internal TCP/UDP Load Balancing - Network Load Balancing.", + "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.\n\nNot available if the backend's balancingMode is CONNECTION.", + "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.\n\nNot available if the backend's balancingMode is CONNECTION.", + "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.\n\nNot available if the backend's balancingMode is CONNECTION.", + "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 UTILIZATIONbalancing mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization balancing mode.", "format": "float", "type": "number" } @@ -33260,7 +36316,7 @@ "type": "object" }, "BackendBucket": { - "description": "Represents a Cloud Storage Bucket resource.\n\nThis Cloud Storage bucket resource is referenced by a URL map of a load balancer. For more information, read Backend Buckets.", + "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": { @@ -33271,6 +36327,18 @@ "$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" @@ -33286,6 +36354,10 @@ "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" @@ -33323,8 +36395,12 @@ }, "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:\n\nUSE_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.\n\nFORCE_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.\n\nCACHE_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.", + "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.", "enum": [ "CACHE_ALL_STATIC", "FORCE_CACHE_ALL", @@ -33332,15 +36408,15 @@ "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 86400s (1 day).", + "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" }, @@ -33400,6 +36476,27 @@ }, "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. All other parameters will be excluded. '&' 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", @@ -33478,36 +36575,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -33534,11 +36631,11 @@ "type": "object" }, "BackendService": { - "description": "Represents a Backend Service resource.\n\nA 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.\n\nBackend services in Google Compute Engine can be either regionally or globally scoped.\n\n* [Global](/compute/docs/reference/rest/{$api_version}/backendServices) * [Regional](/compute/docs/reference/rest/{$api_version}/regionBackendServices)\n\nFor more information, see Backend Services.\n\n(== resource_for {$api_version}.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/beta/backendServices) * [Regional](https://cloud.google.com/compute/docs/reference/rest/beta/regionBackendServices) For more information, see Backend Services.", "id": "BackendService", "properties": { "affinityCookieTtlSec": { - "description": "Lifetime of cookies in seconds. Only applicable if the loadBalancingScheme is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, the protocol is HTTP or HTTPS, and the sessionAffinity is GENERATED_COOKIE, or HTTP_COOKIE.\n\nIf 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 one day (86,400).\n\nNot 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.", + "description": "Lifetime of cookies in seconds. This setting is applicable to external and internal HTTP(S) 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 one day (86,400). 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" }, @@ -33551,35 +36648,47 @@ }, "cdnPolicy": { "$ref": "BackendServiceCdnPolicy", - "description": "Cloud CDN configuration for this BackendService. Only available for external HTTP(S) Load Balancing." + "description": "Cloud CDN configuration for this BackendService. Only available for specified load balancer types." }, "circuitBreakers": { - "$ref": "CircuitBreakers", - "description": "Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.\n\nThis field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. \n\nNot 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." + "$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" + "$ref": "BackendServiceConnectionTrackingPolicy", + "description": "Connection Tracking configuration for this BackendService. Connection tracking policy settings are only available for Network Load Balancing and Internal TCP/UDP Load Balancing." }, "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.\n\nThis field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. \n\nNot 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." + "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" }, "customRequestHeaders": { - "description": "Headers that the HTTP/S load balancer should add to proxied requests.", + "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 HTTP/S load balancer should add to proxied responses.", + "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" }, @@ -33589,21 +36698,25 @@ "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. Only applicable if the loadBalancingScheme is EXTERNAL and the protocol is HTTP or HTTPS.", + "description": "If true, enables Cloud CDN for the backend service of an external HTTP(S) load balancer.", "type": "boolean" }, "failoverPolicy": { "$ref": "BackendServiceFailoverPolicy", - "description": "Applicable only to Failover for Internal TCP/UDP Load Balancing and Network Load Balancing. Requires at least one backend instance group to be defined as a backup (failover) backend." + "description": "Requires at least one backend instance group to be defined as a backup (failover) backend. 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)." }, "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a BackendService.", + "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" }, "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.", + "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" }, @@ -33624,25 +36737,27 @@ "type": "string" }, "loadBalancingScheme": { - "description": "Specifies the load balancer type. Choose EXTERNAL for external HTTP(S), SSL Proxy, TCP Proxy and Network Load Balancing. Choose INTERNAL for Internal TCP/UDP Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load Balancing. INTERNAL_SELF_MANAGED for Traffic Director. A backend service created for one type of load balancer cannot be used with another. For more information, refer to Choosing a load balancer.", + "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 external HTTP(S), SSL Proxy, TCP Proxy, or Network Load Balancing", + "Signifies that this will be used for External Managed HTTP(S) Load Balancing.", + "Signifies that this will be used for Internal TCP/UDP Load Balancing.", + "Signifies that this will be used for Internal HTTP(S) Load Balancing.", + "Signifies that this will be used by Traffic Director.", "" ], "type": "string" }, "localityLbPolicy": { - "description": "The load balancing algorithm used within the scope of the locality. The possible values are: \n- ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. \n- LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. \n- 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. \n- RANDOM: The load balancer selects a random healthy host. \n- 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. \n- 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 \n\nThis field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. \n\nIf sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH, session affinity settings will not take effect.\n\nOnly the default ROUND_ROBIN policy is 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.", + "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. If sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH, session affinity settings will not take effect. 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", @@ -33650,16 +36765,18 @@ "ORIGINAL_DESTINATION", "RANDOM", "RING_HASH", - "ROUND_ROBIN" + "ROUND_ROBIN", + "WEIGHTED_MAGLEV" ], "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." ], "type": "string" }, @@ -33669,7 +36786,7 @@ }, "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.\nIf not specified, there will be no timeout limit, i.e. the maximum duration is infinite.\nThis field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED." + "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." }, "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.", @@ -33682,19 +36799,19 @@ }, "outlierDetection": { "$ref": "OutlierDetection", - "description": "Settings controlling the eviction of unhealthy hosts from the load balancing pool for the backend service. If not set, this feature is considered disabled.\n\nThis field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. \n\nNot 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." + "description": "Settings controlling the eviction of unhealthy hosts from the load balancing pool for the backend service. If not set, this feature is considered disabled. 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. 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": { - "description": "Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80.\n\nBackend services for Internal TCP/UDP Load Balancing and Network Load Balancing require you omit port.", + "description": "Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. For Internal TCP/UDP Load Balancing and Network Load Balancing, 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. Required when the loadBalancingScheme is EXTERNAL (except Network Load Balancing), INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED and the backends are instance groups. The named port must be defined on each backend instance group. This parameter has no meaning if the backends are NEGs.\n\n\n\nBackend services for Internal TCP/UDP Load Balancing and Network Load Balancing require you omit port_name.", + "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 TCP/UDP Load Balancing and Network Load Balancing, omit port_name.", "type": "string" }, "protocol": { - "description": "The protocol this BackendService uses to communicate with backends.\n\nPossible 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 balancer or for Traffic Director for more information.\n\nMust be set to GRPC when the backend service is referenced by a URL map that is bound to target gRPC proxy.", + "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": [ "GRPC", "HTTP", @@ -33702,16 +36819,18 @@ "HTTPS", "SSL", "TCP", - "UDP" + "UDP", + "UNSPECIFIED" ], "enumDescriptions": [ + "gRPC (available for Traffic Director).", "", + "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" }, @@ -33725,14 +36844,21 @@ }, "securitySettings": { "$ref": "SecuritySettings", - "description": "This field specifies the security policy that applies to this backend service. This field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED." + "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" }, + "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" + }, "sessionAffinity": { - "description": "Type of session affinity to use. The default is NONE.\n\nWhen the loadBalancingScheme is EXTERNAL: * For Network Load Balancing, the possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. * For all other load balancers that use loadBalancingScheme=EXTERNAL, the possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS.\n\nWhen the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.\n\nWhen the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE.\n\nNot 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.", + "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", @@ -33744,14 +36870,14 @@ "NONE" ], "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." ], "type": "string" }, @@ -33759,7 +36885,7 @@ "$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 is 1 - 2,147,483,647 seconds.", + "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 is 1 - 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" } @@ -33835,36 +36961,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -33906,7 +37032,7 @@ "description": "The CacheKeyPolicy for this CdnPolicy." }, "cacheMode": { - "description": "Specifies the cache setting for all responses from this backend. The possible values are:\n\nUSE_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.\n\nFORCE_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.\n\nCACHE_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.", + "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.", "enum": [ "CACHE_ALL_STATIC", "FORCE_CACHE_ALL", @@ -33914,15 +37040,15 @@ "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 86400s (1 day).", + "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" }, @@ -34004,7 +37130,7 @@ "id": "BackendServiceConnectionTrackingPolicy", "properties": { "connectionPersistenceOnUnhealthyBackends": { - "description": "Specifies connection persistence when backends are unhealthy. The default value is DEFAULT_FOR_PROTOCOL.\n\nIf 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.\n\nIf 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).\n\nIf 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.", + "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", @@ -34017,13 +37143,17 @@ ], "type": "string" }, + "enableStrongAffinity": { + "description": "Enable Strong Session Affinity for Network Load Balancing. 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).\n\nFor L4 ILB the minimum(default) is 10 minutes and maximum is 16 hours.\n\nFor NLB the minimum(default) is 60 seconds and the maximum is 16 hours.\n\nThis field will be supported only if the Connection Tracking key is less than 5-tuple.", + "description": "Specifies how long to keep a Connection Tracking entry while there is no matching traffic (in seconds). For Internal TCP/UDP Load Balancing: - 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 Network Load Balancer 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:\n\nPER_CONNECTION: This is the default mode. The Connection Tracking is performed as per the Connection Key (default Hash Method) for the specific protocol.\n\nPER_SESSION: The Connection Tracking is performed as per the configured Session Affinity. It matches the configured Session Affinity.", + "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", @@ -34040,19 +37170,19 @@ "type": "object" }, "BackendServiceFailoverPolicy": { - "description": "Applicable only to Failover for Internal TCP/UDP Load Balancing and Network Load Balancing. On failover or failback, this field indicates whether connection draining will be honored. GCP 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).", + "description": "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). 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.\n\nThe default is false.", + "description": "This can be set to true only if the protocol is TCP. The default is false.", "type": "boolean" }, "dropTrafficIfUnhealthy": { - "description": "Applicable only to Failover for Internal TCP/UDP Load Balancing and Network Load Balancing, 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. The default is false.", + "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 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). The default is false.", "type": "boolean" }, "failoverRatio": { - "description": "Applicable only to Failover for Internal TCP/UDP Load Balancing and Network Load Balancing. 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.", + "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" } @@ -34097,7 +37227,7 @@ "type": "string" }, "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.", + "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": { @@ -34168,36 +37298,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -34291,36 +37421,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -34347,7 +37477,6 @@ "type": "object" }, "BfdPacket": { - "description": "", "id": "BfdPacket", "properties": { "authenticationPresent": { @@ -34591,32 +37720,33 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "description": "Associates `members`, or principals, with a `role`.", "id": "Binding", "properties": { "bindingId": { - "description": "", + "description": "This is deprecated and has no effect. Do not use.", "type": "string" }, "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the current request.\n\nIf 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.\n\nTo learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + "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 identities requesting access for a Cloud Platform resource. `members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` .\n\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`.\n\n* `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.\n\n* `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.\n\n* `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.\n\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.", + "description": "Specifies the principals 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`.", + "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" }, "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": { @@ -34629,15 +37759,16 @@ "description": "The instance properties defining the VM instances to be created. Required if sourceInstanceTemplate is not provided." }, "locationPolicy": { - "$ref": "LocationPolicy" + "$ref": "LocationPolicy", + "description": "Policy for chosing target zone." }, "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.", + "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 predefined_names must be set. The pattern should contain one consecutive sequence of placeholder hash characters (#) with each character corresponding to one digit of the generated instance name. Example: name_pattern of inst-#### will generate instance names like inst-0001, inst-0002, ... . If there already exist instance(s) whose names match the name pattern in the same project and zone, then the generated instance numbers will 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-#### will be inst-0051, inst-0052, etc. The name pattern placeholder #...# can contain up to 18 characters.", + "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": { @@ -34648,7 +37779,7 @@ "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.\n\nIt can be a full or partial URL. For example, the following are all valid URLs to an instance template: \n- https://www.googleapis.com/compute/v1/projects/project/global/instanceTemplates/instanceTemplate \n- projects/project/global/instanceTemplates/instanceTemplate \n- global/instanceTemplates/instanceTemplate \n\nThis field is optional.", + "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" } }, @@ -34686,6 +37817,20 @@ "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" @@ -34712,7 +37857,7 @@ "type": "object" }, "CircuitBreakers": { - "description": "Settings controlling the volume of connections to a backend service.", + "description": "Settings controlling the volume of requests, connections and retries to this backend service.", "id": "CircuitBreakers", "properties": { "connectTimeout": { @@ -34720,12 +37865,12 @@ "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.", + "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.", + "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" }, @@ -34735,12 +37880,12 @@ "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.", + "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.", + "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" } @@ -34748,9 +37893,13 @@ "type": "object" }, "Commitment": { - "description": "Represents a regional Commitment resource.\n\nCreating 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. (== resource_for {$api_version}.regionCommitments ==)", + "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": [ @@ -34861,10 +38010,12 @@ "enum": [ "ACCELERATOR_OPTIMIZED", "COMPUTE_OPTIMIZED", + "COMPUTE_OPTIMIZED_C2D", "GENERAL_PURPOSE", "GENERAL_PURPOSE_E2", "GENERAL_PURPOSE_N2", "GENERAL_PURPOSE_N2D", + "GENERAL_PURPOSE_T2D", "MEMORY_OPTIMIZED", "TYPE_UNSPECIFIED" ], @@ -34876,6 +38027,8 @@ "", "", "", + "", + "", "" ], "type": "string" @@ -34951,36 +38104,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -35067,36 +38220,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -35165,36 +38318,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -35221,11 +38374,11 @@ "type": "object" }, "Condition": { - "description": "A condition to be met.", + "description": "This is deprecated and has no effect. Do not use.", "id": "Condition", "properties": { "iam": { - "description": "Trusted attributes supplied by the IAM system.", + "description": "This is deprecated and has no effect. Do not use.", "enum": [ "APPROVER", "ATTRIBUTION", @@ -35237,19 +38390,19 @@ "SECURITY_REALM" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "" + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use." ], "type": "string" }, "op": { - "description": "An operator to apply the subject with.", + "description": "This is deprecated and has no effect. Do not use.", "enum": [ "DISCHARGED", "EQUALS", @@ -35259,21 +38412,21 @@ "NO_OP" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "" + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use." ], "type": "string" }, "svc": { - "description": "Trusted attributes discharged by the service.", + "description": "This is deprecated and has no effect. Do not use.", "type": "string" }, "sys": { - "description": "Trusted attributes supplied by any service that owns resources and uses the IAM system for access control.", + "description": "This is deprecated and has no effect. Do not use.", "enum": [ "IP", "NAME", @@ -35282,16 +38435,16 @@ "SERVICE" ], "enumDescriptions": [ - "", - "", - "", - "", - "" + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use." ], "type": "string" }, "values": { - "description": "The objects of the condition.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "type": "string" }, @@ -35329,7 +38482,7 @@ "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." + "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.", @@ -35363,11 +38516,11 @@ "type": "object" }, "CorsPolicy": { - "description": "The specification for allowing client side cross-origin requests. Please see W3C Recommendation for Cross Origin Resource Sharing", + "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 translates to the Access-Control-Allow-Credentials header.\nDefault is false.", + "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": { @@ -35385,21 +38538,21 @@ "type": "array" }, "allowOriginRegexes": { - "description": "Specifies the regualar expression patterns that match allowed origins. For regular expression grammar please see github.com/google/re2/wiki/Syntax \nAn origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.", + "description": "Specifies a regular expression that matches allowed origins. For more information about the regular expression syntax, see Syntax. An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.", "items": { "type": "string" }, "type": "array" }, "allowOrigins": { - "description": "Specifies the list of origins that will be allowed to do CORS requests.\nAn origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.", + "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, specifies the CORS policy is disabled. The default value of false, which indicates that the CORS policy is in effect.", + "description": "If true, the setting specifies the CORS policy is disabled. The default value of false, which indicates that the CORS policy is in effect.", "type": "boolean" }, "exposeHeaders": { @@ -35410,7 +38563,7 @@ "type": "array" }, "maxAge": { - "description": "Specifies how long results of a preflight request can be cached in seconds. This translates to the Access-Control-Max-Age header.", + "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" } @@ -35421,19 +38574,19 @@ "id": "CustomerEncryptionKey", "properties": { "kmsKeyName": { - "description": "The name of the encryption key that is stored in Google Cloud KMS.", + "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 ", "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.", + "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.", + "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.\n\nThe key must meet the following requirements before you can provide it to Compute Engine: \n- The key is wrapped using a RSA public key certificate provided by Google. \n- After being wrapped, the key must be encoded in RFC 4648 base64 encoding. Gets the RSA public key certificate provided by Google at:\nhttps://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem", + "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": { @@ -35451,7 +38604,7 @@ "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.", + "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" } }, @@ -35492,12 +38645,16 @@ "" ], "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.\n\nGoogle Compute Engine has two Disk resources:\n\n* [Zonal](/compute/docs/reference/rest/{$api_version}/disks) * [Regional](/compute/docs/reference/rest/{$api_version}/regionDisks)\n\nPersistent 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.\n\nThe disks resource represents a zonal persistent disk. For more information, read Zonal persistent disks.\n\nThe regionDisks resource represents a regional persistent disk. For more information, read Regional resources. (== resource_for {$api_version}.disks ==) (== resource_for {$api_version}.regionDisks ==)", + "description": "Represents a Persistent Disk resource. Google Compute Engine has two Disk resources: * [Zonal](/compute/docs/reference/rest/beta/disks) * [Regional](/compute/docs/reference/rest/beta/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": { "creationTimestamp": { @@ -35510,14 +38667,14 @@ }, "diskEncryptionKey": { "$ref": "CustomerEncryptionKey", - "description": "Encrypts the disk using a customer-supplied encryption key.\n\nAfter you encrypt a disk with a customer-supplied key, you must provide the same key if you use the disk later (e.g. to create a disk snapshot, to create a disk image, to create a machine image, or to attach the disk to a virtual machine).\n\nCustomer-supplied encryption keys do not protect access to metadata of the disk.\n\nIf you do not provide an encryption key when creating the disk, 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." + "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." }, "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.", + "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" }, @@ -35529,7 +38686,7 @@ "type": "string" }, "interface": { - "description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI.", + "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", @@ -35548,7 +38705,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a disk.", + "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" }, @@ -35586,6 +38743,10 @@ "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" @@ -35610,7 +38771,7 @@ "type": "string" }, "provisionedIops": { - "description": "Indicates how many IOPS must be provisioned for the disk.", + "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" }, @@ -35641,12 +38802,12 @@ "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.\n\nIf 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 1 to 65536, inclusive.", + "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 1 to 65536, inclusive.", "format": "int64", "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: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk \n- https://www.googleapis.com/compute/v1/projects/project/regions/region/disks/disk \n- projects/project/zones/zone/disks/disk \n- projects/project/regions/region/disks/disk \n- zones/zone/disks/disk \n- regions/region/disks/disk", + "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": { @@ -35654,7 +38815,7 @@ "type": "string" }, "sourceImage": { - "description": "The source image used to create this disk. If the source image is deleted, this field will not be set.\n\nTo 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:\nprojects/debian-cloud/global/images/family/debian-9\n\n\nAlternatively, use a specific version of a public operating system image:\nprojects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD\n\n\nTo create a disk with a custom image that you created, specify the image name in the following format:\nglobal/images/my-custom-image\n\n\nYou 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:\nglobal/images/family/my-image-family", + "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": { @@ -35666,7 +38827,7 @@ "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: \n- https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot \n- projects/project/global/snapshots/snapshot \n- global/snapshots/snapshot", + "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": { @@ -35682,7 +38843,7 @@ "type": "string" }, "status": { - "description": "[Output Only] The status of disk creation. \n- CREATING: Disk is provisioning. \n- RESTORING: Source data is being copied into the disk. \n- FAILED: Disk creation failed. \n- READY: Disk is ready for use. \n- DELETING: Disk is deleting.", + "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", @@ -35691,11 +38852,11 @@ "RESTORING" ], "enumDescriptions": [ - "", - "", - "", - "", - "" + "Disk is provisioning", + "Disk is deleting.", + "Disk creation failed.", + "Disk is ready for use.", + "Source data is being copied into the disk." ], "type": "string" }, @@ -35712,9 +38873,16 @@ "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-standard or pd-ssd", + "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": { @@ -35797,36 +38965,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -35869,7 +39037,7 @@ "type": "string" }, "instantiateFrom": { - "description": "Specifies whether to include the disk and what image to use. Possible values are: \n- 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. \n- 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. \n- custom-image: to use a user-provided image url for disk creation. Applicable to the boot disk and additional read-write disks. \n- attach-read-only: to attach a read-only disk. Applicable to read-only disks. \n- do-not-include: to exclude a disk from the template. Applicable to additional read-write disks, local SSDs, and read-only disks.", + "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", @@ -35880,13 +39048,13 @@ "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" } @@ -35954,36 +39122,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -36013,18 +39181,18 @@ "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: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone \n- projects/project/zones/zone \n- zones/zone", + "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: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk \n- projects/project/zones/zone/disks/disk \n- zones/zone/disks/disk", + "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" }, "DiskType": { - "description": "Represents a Disk Type resource.\n\nGoogle Compute Engine has two Disk Type resources:\n\n* [Regional](/compute/docs/reference/rest/{$api_version}/regionDiskTypes) * [Zonal](/compute/docs/reference/rest/{$api_version}/diskTypes)\n\nYou can choose from a variety of disk types based on your needs. For more information, read Storage options.\n\nThe diskTypes resource represents disk types for a zonal persistent disk. For more information, read Zonal persistent disks.\n\nThe regionDiskTypes resource represents disk types for a regional persistent disk. For more information, read Regional persistent disks. (== resource_for {$api_version}.diskTypes ==) (== resource_for {$api_version}.regionDiskTypes ==)", + "description": "Represents a Disk Type resource. Google Compute Engine has two Disk Type resources: * [Regional](/compute/docs/reference/rest/beta/regionDiskTypes) * [Zonal](/compute/docs/reference/rest/beta/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": { @@ -36146,36 +39314,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -36262,36 +39430,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -36360,36 +39528,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -36419,7 +39587,7 @@ "id": "DisksAddResourcePoliciesRequest", "properties": { "resourcePolicies": { - "description": "Resource policies to be added to this disk. Currently you can only specify one policy here.", + "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" }, @@ -36495,36 +39663,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -36572,9 +39740,9 @@ "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 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" }, @@ -36649,9 +39817,9 @@ "SUBNET_PEERING_ROUTE" ], "enumDescriptions": [ - "", - "", - "" + "For routes exported from local network.", + "The peering route.", + "The peering route corresponding to subnetwork range." ], "type": "string" } @@ -36718,36 +39886,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -36774,7 +39942,7 @@ "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.\n\nExample (Comparison):\n\ntitle: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\ntitle: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\ntitle: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\ntitle: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\"\n\nThe 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.", + "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": { @@ -36797,7 +39965,7 @@ "type": "object" }, "ExternalVpnGateway": { - "description": "Represents an external VPN gateway.\n\nExternal VPN gateway is the on-premises VPN gateway(s) or another cloud provider's VPN gateway that connects to your Google Cloud VPN gateway.\n\nTo 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.\n\nFor more information about using external VPN gateways, see Creating an HA VPN gateway and tunnel pair to a peer VPN. (== resource_for {$api_version}.externalVpnGateways ==)", + "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": { @@ -36814,7 +39982,7 @@ "type": "string" }, "interfaces": { - "description": "List of interfaces for this external VPN gateway.", + "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" }, @@ -36826,7 +39994,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve an ExternalVpnGateway.", + "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" }, @@ -36855,9 +40023,9 @@ "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" }, @@ -36873,7 +40041,7 @@ "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", + "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" }, @@ -36904,7 +40072,7 @@ }, "kind": { "default": "compute#externalVpnGatewayList", - "description": "[Output Only] Type of resource. Always compute#externalVpnGatewayList for lists of externalVpnGateways.", + "description": "[Output Only] Type of resource. Always compute#externalVpnGatewayList for lists of externalVpnGateways.", "type": "string" }, "nextPageToken": { @@ -36948,36 +40116,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -37029,7 +40197,7 @@ "type": "object" }, "Firewall": { - "description": "Represents a Firewall Rule resource.\n\nFirewall rules allow or deny ingress traffic to, and egress traffic from your instances. For more information, read Firewall rules.", + "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": { @@ -37041,7 +40209,7 @@ "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.\n\nExample inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", + "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" }, @@ -37065,7 +40233,7 @@ "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.\n\nExample inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", + "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" }, @@ -37081,7 +40249,7 @@ "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. Only IPv4 is supported.", + "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" }, @@ -37094,8 +40262,8 @@ "INGRESS" ], "enumDescriptions": [ - "", - "" + "Indicates that firewall should apply to outgoing traffic.", + "Indicates that firewall should apply to incoming traffic." ], "type": "string" }, @@ -37128,12 +40296,12 @@ "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.", + "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:\nglobal/networks/default\nIf 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: \n- https://www.googleapis.com/compute/v1/projects/myproject/global/networks/my-network \n- projects/myproject/global/networks/my-network \n- global/networks/default", + "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": { @@ -37146,7 +40314,7 @@ "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. Only IPv4 is supported.", + "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" }, @@ -37244,36 +40412,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -37341,7 +40509,7 @@ "type": "object" }, "FirewallPolicy": { - "description": "Represents a Firewall Policy resource. (== resource_for {$api_version}.firewallPolicies ==)", + "description": "Represents a Firewall Policy resource.", "id": "FirewallPolicy", "properties": { "associations": { @@ -37360,12 +40528,12 @@ "type": "string" }, "displayName": { - "description": "Depreacted, please use short name instead. User-provided name of the Organization firewall plicy. The name should be unique in the organization in which the firewall policy 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.", + "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 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.\n\nTo see the latest fingerprint, make get() request to the firewall policy.", + "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" }, @@ -37387,6 +40555,10 @@ "description": "[Output Only] The parent of the firewall policy.", "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", @@ -37408,7 +40580,7 @@ "type": "string" }, "shortName": { - "description": "User-provided name of the Organization firewall plicy. The name should be unique in the organization in which the firewall policy 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.", + "description": "User-provided name of the Organization firewall plicy. The name should be unique in the organization in which the firewall policy is created. 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" } @@ -37497,36 +40669,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -37610,10 +40782,10 @@ }, "type": "array" }, - "targetSecureLabels": { - "description": "A list of secure labels that controls which instances the firewall rule applies to. If targetSecureLabel are specified, then the firewall rule applies only to instances in the VPC network that have one of those secure labels. targetSecureLabel may not be set at the same time as targetServiceAccounts. If neither targetServiceAccounts nor targetSecureLabel are specified, the firewall rule applies to all instances on the specified network. Maximum number of target label values allowed is 256.", + "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": { - "type": "string" + "$ref": "FirewallPolicyRuleSecureTag" }, "type": "array" }, @@ -37632,7 +40804,7 @@ "id": "FirewallPolicyRuleMatcher", "properties": { "destIpRanges": { - "description": "CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 256.", + "description": "CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.", "items": { "type": "string" }, @@ -37646,16 +40818,16 @@ "type": "array" }, "srcIpRanges": { - "description": "CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 256.", + "description": "CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.", "items": { "type": "string" }, "type": "array" }, - "srcSecureLabels": { - "description": "List of firewall label values, which should be matched at the source of the traffic. Maximum number of source label values allowed is 256.", + "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": { - "type": "string" + "$ref": "FirewallPolicyRuleSecureTag" }, "type": "array" } @@ -37670,7 +40842,7 @@ "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.\n\nExample inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", + "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" }, @@ -37679,12 +40851,35 @@ }, "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.\n\n \n- If the value is fixed, then the calculated value is equal to the fixed value. \n- 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 up.", + "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" }, @@ -37702,19 +40897,20 @@ "type": "object" }, "ForwardingRule": { - "description": "Represents a Forwarding Rule resource.\n\nForwarding rule resources in GCP can be either regional or global in scope:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/globalForwardingRules) * [Regional](/compute/docs/reference/rest/{$api_version}/forwardingRules)\n\nA forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud Platform load balancer. Forwarding rules can also reference target instances and Cloud VPN Classic gateways (targetVpnGateway).\n\nFor more information, read Forwarding rule concepts and Using protocol forwarding.\n\n(== resource_for {$api_version}.forwardingRules ==) (== resource_for {$api_version}.globalForwardingRules ==) (== resource_for {$api_version}.regionForwardingRules ==)", + "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/beta/globalForwardingRules) * [Regional](https://cloud.google.com/compute/docs/reference/rest/beta/forwardingRules) A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud Platform 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 that this forwarding rule serves. When a client sends traffic to this IP address, the forwarding rule directs the traffic to the target that you specify in the forwarding rule.\n\nIf you don't specify a reserved IP address, an ephemeral IP address is assigned. Methods for specifying an IP address:\n\n* IPv4 dotted decimal, as in `100.1.2.3` * Full URL, as in https://www.googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-name * Partial URL or by name, as in: \n- projects/project_id/regions/region/addresses/address-name \n- regions/region/addresses/address-name \n- global/addresses/address-name \n- address-name \n\nThe loadBalancingScheme and the forwarding rule's target determine the type of IP address that you can use. For detailed information, refer to [IP address specifications](/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).\n\nMust be set to `0.0.0.0` when the target is targetGrpcProxy that has validateForProxyless field set to true.\n\nFor Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.", + "description": "IP address that this forwarding rule serves. When a client sends traffic to this IP address, the forwarding rule directs the traffic to the target that you specify in the forwarding rule. If you don't specify a reserved IP address, an ephemeral IP address is assigned. Methods for specifying an IP address: * IPv4 dotted decimal, as in `100.1.2.3` * Full 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 loadBalancingScheme and the forwarding rule's target 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). Must be set to `0.0.0.0` when the target is targetGrpcProxy that has validateForProxyless field set to true. For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.", "type": "string" }, "IPProtocol": { - "description": "The IP protocol to which this rule applies.\n\nFor protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.\n\nThe valid IP protocols are different for different load balancing products: \n- Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid. \n- Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid. \n- Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid. \n- HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid. \n- Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.", + "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", "ESP", "ICMP", + "L3_DEFAULT", "SCTP", "TCP", "UDP" @@ -37725,12 +40921,13 @@ "", "", "", + "", "" ], "type": "string" }, "allPorts": { - "description": "This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.\n\nWhen the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.", + "description": "This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance. You can only use one of ports and port_range, or allPorts. The three are mutually exclusive. For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.", "type": "boolean" }, "allowGlobalAccess": { @@ -37750,7 +40947,7 @@ "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 ForwardingRule. Include the fingerprint in patch request to ensure that you do not overwrite changes that were applied from another concurrent request.\n\nTo see the latest fingerprint, make a get() request to retrieve a ForwardingRule.", + "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" }, @@ -37783,7 +40980,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a ForwardingRule.", + "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" }, @@ -37795,9 +40992,10 @@ "type": "object" }, "loadBalancingScheme": { - "description": "Specifies the forwarding rule type.\n\n \n- EXTERNAL is used for: \n- Classic Cloud VPN gateways \n- Protocol forwarding to VMs from an external IP address \n- HTTP(S), SSL Proxy, TCP Proxy, and Network Load Balancing \n- INTERNAL is used for: \n- Protocol forwarding to VMs from an internal IP address \n- Internal TCP/UDP Load Balancing \n- INTERNAL_MANAGED is used for: \n- Internal HTTP(S) Load Balancing \n- INTERNAL_SELF_MANAGED is used for: \n- Traffic Director \n\nFor more information about forwarding rules, refer to Forwarding rule concepts.", + "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", @@ -37808,44 +41006,49 @@ "", "", "", + "", "" ], "type": "string" }, "metadataFilters": { - "description": "Opaque filter criteria used by Loadbalancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to Loadbalancer, 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 will not be visible to those proxies.\nFor 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.\nmetadataFilters specified here will be applifed before those specified in the UrlMap that this ForwardingRule references.\nmetadataFilters only applies to Loadbalancers that have their loadBalancingScheme set to INTERNAL_SELF_MANAGED.", + "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.", + "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 external load balancing.\n\nFor Internal TCP/UDP Load Balancing, this field identifies the network that the load balanced IP should belong to for this Forwarding Rule. If this field is not specified, the default network will be used.\n\nFor Private Service Connect forwarding rules that forward traffic to Google APIs, a network must be provided.", + "description": "This field is not used for external load balancing. For Internal TCP/UDP Load Balancing, this field identifies the network that the load balanced IP should belong to for this Forwarding Rule. If this field is not 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.\n\nFor regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.\n\nIf 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.", + "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", - "STANDARD" + "STANDARD", + "STANDARD_OVERRIDES_FIXED_STANDARD" ], "enumDescriptions": [ - "", - "" + "Public internet quality with fixed bandwidth.", + "High quality, Google-grade 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" }, "portRange": { - "description": "This field can be used only if: * Load balancing scheme is one of EXTERNAL, INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.\n\nPackets addressed to ports in the specified range will be forwarded to target or backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.\n\nSome types of forwarding target have constraints on the acceptable ports: \n- TargetHttpProxy: 80, 8080 \n- TargetHttpsProxy: 443 \n- TargetGrpcProxy: no constraints \n- TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetVpnGateway: 500, 4500", + "description": "This field can be used only if: - Load balancing scheme is one of EXTERNAL, INTERNAL_SELF_MANAGED or INTERNAL_MANAGED - IPProtocol is one of TCP, UDP, or SCTP. Packets addressed to ports in the specified range will be forwarded to target or backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports. Some types of forwarding target have constraints on the acceptable ports. For more information, see [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#port_specifications). @pattern: \\\\d+(?:-\\\\d+)?", "type": "string" }, "ports": { - "description": "The ports field is only supported when the forwarding rule references a backend_service directly. Supported load balancing products are Internal TCP/UDP Load Balancing and Network Load Balancing. Only packets addressed to the specified list of ports are forwarded to backends.\n\nYou can only use one of ports and port_range, or allPorts. The three are mutually exclusive.\n\nYou can specify a list of up to five ports, which can be non-contiguous.\n\nFor Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.\n\nFor more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).", + "description": "The ports field is only supported when the forwarding rule references a backend_service directly. Only packets addressed to the [specified list of ports]((https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#port_specifications)) are forwarded to backends. You can only use one of ports and port_range, or allPorts. The three are mutually exclusive. You can specify a list of up to five ports, which can be non-contiguous. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports. @pattern: \\\\d+(?:-\\\\d+)?", "items": { "type": "string" }, @@ -37856,6 +41059,23 @@ "format": "uint64", "type": "string" }, + "pscConnectionStatus": { + "enum": [ + "ACCEPTED", + "CLOSED", + "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 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" @@ -37865,23 +41085,30 @@ "type": "string" }, "serviceDirectoryRegistrations": { - "description": "Service Directory resources to register this forwarding rule with. Currently, only supports a single Service Directory resource.\n\nIt is only supported for Internal TCP/UDP Load Balancing and Internal HTTP(S) Load Balancing.", + "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.\n\nThe 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.\n\nThis field is only used for internal load balancing.", + "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.\n\nThis field is only used for internal load balancing.", + "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 is only used for internal load balancing.\n\nFor internal load balancing, this field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule.\n\nIf the network specified is in auto subnet mode, this field is optional. However, if the network is in custom subnet mode, a subnetwork must be specified.", + "description": "This field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule, used in internal load balancing and network load balancing 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": { @@ -37958,36 +41185,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -38074,36 +41301,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -38200,36 +41427,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -38259,7 +41486,7 @@ "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:\n- Empty service_name means the overall status of all services at the backend.\n- Non-empty service_name means the health of that gRPC service, as defined by the owner of the service.\nThe grpc_service_name can only be ASCII.", + "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": { @@ -38272,16 +41499,16 @@ "type": "string" }, "portSpecification": { - "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in port is used for health checking.\nUSE_NAMED_PORT: The portName is used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, gRPC health check follows behavior specified in port and portName fields.", + "description": "Specifies how port is selected for health checking, can be one of following values: USE_FIXED_PORT: The port number in port is used for health checking. USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking. If not specified, gRPC health check follows behavior specified in port and portName fields.", "enum": [ "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT" ], "enumDescriptions": [ - "", - "", - "" + "The port number in port is used for health checking.", + "The portName is used for health checking.", + "For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking." ], "type": "string" } @@ -38386,7 +41613,7 @@ "type": "string" }, "queryPath": { - "description": "The path to be queried. This can be the default namespace ('/') or a nested namespace ('/\\/') or a specified key ('/\\/\\')", + "description": "The path to be queried. This can be the default namespace ('') or a nested namespace ('\\/') or a specified key ('\\/\\').", "type": "string" }, "queryValue": { @@ -38445,7 +41672,7 @@ "id": "GuestOsFeature", "properties": { "type": { - "description": "The ID of a supported feature. Read Enabling guest operating system features to see a list of available options.", + "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 - SECURE_BOOT - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_SNP_CAPABLE For more information, see Enabling guest operating system features.", "enum": [ "FEATURE_TYPE_UNSPECIFIED", "GVNIC", @@ -38488,16 +41715,16 @@ "type": "string" }, "portSpecification": { - "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in port is used for health checking.\nUSE_NAMED_PORT: The portName is used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, HTTP2 health check follows behavior specified in port and portName fields.", + "description": "Specifies how port is selected for health checking, can be one of following values: USE_FIXED_PORT: The port number in port is used for health checking. USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking. If not specified, HTTP2 health check follows behavior specified in port and portName fields.", "enum": [ "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT" ], "enumDescriptions": [ - "", - "", - "" + "The port number in port is used for health checking.", + "The portName is used for health checking.", + "For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking." ], "type": "string" }, @@ -38541,16 +41768,16 @@ "type": "string" }, "portSpecification": { - "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in port is used for health checking.\nUSE_NAMED_PORT: The portName is used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, HTTP health check follows behavior specified in port and portName fields.", + "description": "Specifies how port is selected for health checking, can be one of following values: USE_FIXED_PORT: The port number in port is used for health checking. USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking. If not specified, HTTP health check follows behavior specified in port and portName fields.", "enum": [ "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT" ], "enumDescriptions": [ - "", - "", - "" + "The port number in port is used for health checking.", + "The portName is used for health checking.", + "For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking." ], "type": "string" }, @@ -38594,16 +41821,16 @@ "type": "string" }, "portSpecification": { - "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in port is used for health checking.\nUSE_NAMED_PORT: The portName is used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, HTTPS health check follows behavior specified in port and portName fields.", + "description": "Specifies how port is selected for health checking, can be one of following values: USE_FIXED_PORT: The port number in port is used for health checking. USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking. If not specified, HTTPS health check follows behavior specified in port and portName fields.", "enum": [ "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT" ], "enumDescriptions": [ - "", - "", - "" + "The port number in port is used for health checking.", + "The portName is used for health checking.", + "For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking." ], "type": "string" }, @@ -38631,7 +41858,7 @@ "type": "object" }, "HealthCheck": { - "description": "Represents a Health Check resource.\n\nGoogle Compute Engine has two Health Check resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/healthChecks) * [Regional](/compute/docs/reference/rest/{$api_version}/regionHealthChecks)\n\nInternal HTTP(S) load balancers must use regional health checks (`compute.v1.regionHealthChecks`).\n\nTraffic Director must use global health checks (`compute.v1.HealthChecks`).\n\nInternal TCP/UDP load balancers can use either regional or global health checks (`compute.v1.regionHealthChecks` or `compute.v1.HealthChecks`).\n\nExternal HTTP(S), TCP proxy, and SSL proxy load balancers as well as managed instance group auto-healing must use global health checks (`compute.v1.HealthChecks`).\n\nNetwork load balancers must use legacy HTTP health checks (httpHealthChecks).\n\nFor more information, see Health checks overview.", + "description": "Represents a Health Check resource. Google Compute Engine has two Health Check resources: * [Global](/compute/docs/reference/rest/beta/healthChecks) * [Regional](/compute/docs/reference/rest/beta/regionHealthChecks) Internal HTTP(S) load balancers must use regional health checks (`compute.v1.regionHealthChecks`). Traffic Director must use global health checks (`compute.v1.HealthChecks`). Internal TCP/UDP load balancers can use either regional or global health checks (`compute.v1.regionHealthChecks` or `compute.v1.HealthChecks`). External HTTP(S), TCP proxy, and SSL proxy load balancers as well as managed instance group auto-healing must use global health checks (`compute.v1.HealthChecks`). Backend service-based network load balancers must use regional health checks (`compute.v1.regionHealthChecks`). Target pool-based network load balancers must use legacy HTTP health checks (`compute.v1.httpHealthChecks`). For more information, see Health checks overview.", "id": "HealthCheck", "properties": { "checkIntervalSec": { @@ -38703,7 +41930,7 @@ "type": "integer" }, "type": { - "description": "Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS or HTTP2. If not specified, the default is TCP. Exactly one of the protocol-specific health check field must be specified, which must match type field.", + "description": "Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS or HTTP2. Exactly one of the protocol-specific health check field must be specified, which must match type field.", "enum": [ "GRPC", "HTTP", @@ -38793,36 +42020,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -38860,7 +42087,7 @@ "type": "object" }, "HealthCheckReference": { - "description": "A full or valid partial URL to a health check. For example, the following are valid URLs: \n- https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealthChecks/health-check \n- projects/project-id/global/httpHealthChecks/health-check \n- global/httpHealthChecks/health-check", + "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": { @@ -38870,7 +42097,7 @@ "type": "object" }, "HealthCheckService": { - "description": "Represents a Health-Check as a Service resource.\n\n(== resource_for {$api_version}.regionHealthCheckServices ==)", + "description": "Represents a Health-Check as a Service resource.", "id": "HealthCheckService", "properties": { "creationTimestamp": { @@ -38887,33 +42114,33 @@ "type": "string" }, "healthChecks": { - "description": "List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_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 increment counter /iam/policy/debug_access_count {iam_principal=[value of IAMContext.principal]}", + "description": "This is deprecated and has no effect. Do not use.", "id": "LogConfigCounterOptions", "properties": { "customFields": { - "description": "Custom fields.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "$ref": "LogConfigCounterOptionsCustomField" }, "type": "array" }, "field": { - "description": "The field value to attribute.", + "description": "This is deprecated and has no effect. Do not use.", "type": "string" }, "metric": { - "description": "The metric to update.", + "description": "This is deprecated and has no effect. Do not use.", "type": "string" } }, "type": "object" }, "LogConfigCounterOptionsCustomField": { - "description": "Custom fields. These can be used to create a counter with arbitrary field/value pairs. See: go/rpcsp-custom-fields.", + "description": "This is deprecated and has no effect. Do not use.", "id": "LogConfigCounterOptionsCustomField", "properties": { "name": { - "description": "Name is the field name.", + "description": "This is deprecated and has no effect. Do not use.", "type": "string" }, "value": { - "description": "Value is the field value. It is important that in contrast to the CounterOptions.field, the value here is a constant that is not derived from the IAMContext.", + "description": "This is deprecated and has no effect. Do not use.", "type": "string" } }, "type": "object" }, "LogConfigDataAccessOptions": { - "description": "Write a Data Access (Gin) log", + "description": "This is deprecated and has no effect. Do not use.", "id": "LogConfigDataAccessOptions", "properties": { "logMode": { - "description": "", + "description": "This is deprecated and has no effect. Do not use.", "enum": [ "LOG_FAIL_CLOSED", "LOG_MODE_UNSPECIFIED" ], "enumDescriptions": [ - "", - "" + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use." ], "type": "string" } @@ -45351,7 +48767,7 @@ "type": "object" }, "MachineImage": { - "description": "Represents a machine image resource.\n\nA 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. (== resource_for {$api_version}.machineImages ==)", + "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": { @@ -45363,7 +48779,7 @@ "type": "string" }, "guestFlush": { - "description": "[Input Only] Whether to attempt an application consistent machine image by informing the OS to prepare for the snapshot process. Currently only supported on Windows instances using the Volume Shadow Copy Service (VSS).", + "description": "[Input Only] Whether to attempt an application consistent machine image by informing the OS to prepare for the snapshot process.", "type": "boolean" }, "id": { @@ -45371,6 +48787,10 @@ "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.", @@ -45378,7 +48798,7 @@ }, "machineImageEncryptionKey": { "$ref": "CustomerEncryptionKey", - "description": "Encrypts the machine image using a customer-supplied encryption key.\n\nAfter 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.\n\nCustomer-supplied encryption keys do not protect access to metadata of the machine image.\n\nIf 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." + "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": { @@ -45394,6 +48814,13 @@ "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" @@ -45406,12 +48833,12 @@ "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: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance \n- projects/project/zones/zone/instances/instance", + "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] Properties of source instance." + "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.", @@ -45507,36 +48934,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -45563,7 +48990,7 @@ "type": "object" }, "MachineType": { - "description": "Represents a Machine Type resource.\n\nYou can use specific machine types for your VM instances based on performance and pricing requirements. For more information, read Machine Types. (== resource_for {$api_version}.machineTypes ==)", + "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": { @@ -45714,36 +49141,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -45830,36 +49257,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -45928,36 +49355,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -45988,7 +49415,7 @@ "id": "ManagedInstance", "properties": { "currentAction": { - "description": "[Output Only] The current action that the managed instance group has scheduled for the instance. Possible values: \n- NONE The instance is running, and the managed instance group does not have any scheduled actions for this instance. \n- 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. \n- 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. \n- RECREATING The managed instance group is recreating this instance. \n- DELETING The managed instance group is permanently deleting this instance. \n- 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. \n- RESTARTING The managed instance group is restarting the instance. \n- 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. \n- VERIFYING The managed instance group has created the instance and it is in the process of being verified.", + "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", @@ -45998,18 +49425,26 @@ "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 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 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" }, @@ -46044,16 +49479,16 @@ "TERMINATED" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + "The Nanny is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", + "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" }, @@ -46089,11 +49524,11 @@ "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" }, @@ -46156,13 +49591,14 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve the resource.", + "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": { @@ -46199,27 +49635,27 @@ "type": "object" }, "MetadataFilter": { - "description": "Opaque filter criteria used by loadbalancers to restrict routing configuration to a limited set of loadbalancing proxies. Proxies and sidecars involved in loadbalancing would typically present metadata to the loadbalancers which need to match criteria specified here. If a match takes place, the relevant configuration is made available to those proxies.\nFor 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.\nAn example for using metadataFilters would be: if loadbalancing involves Envoys, they will only receive routing configuration when values in metadataFilters match values supplied in .", "id": "NamedPort", "properties": { "name": { @@ -46258,7 +49694,7 @@ "type": "object" }, "Network": { - "description": "Represents a VPC Network resource.\n\nNetworks connect resources to each other and to the internet. For more information, read Virtual Private Cloud (VPC) Network. (== resource_for {$api_version}.networks ==)", + "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": { @@ -46267,7 +49703,7 @@ "type": "string" }, "autoCreateSubnetworks": { - "description": "Must be set to create a VPC network. If not set, a legacy network is created.\n\nWhen set to true, the VPC network is created in auto mode. When set to false, the VPC network is created in custom mode.\n\nAn 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.\n\nFor custom mode VPC networks, you can add subnets using the subnetworks insert method.", + "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": { @@ -46278,6 +49714,10 @@ "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" + }, "gatewayIPv4": { "description": "[Output Only] The gateway address for default routing out of the network, selected by GCP.", "pattern": "[0-9]{1,3}(?:\\.[0-9]{1,3}){3}", @@ -46288,13 +49728,17 @@ "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 1460 and the maximum value is 1500 bytes.", + "description": "Maximum Transmission Unit in bytes. The minimum value for this field is 1460 and the maximum value is 1500 bytes. If unspecified, defaults to 1460.", "format": "int32", "type": "integer" }, @@ -46308,6 +49752,18 @@ "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" + }, "peerings": { "description": "[Output Only] A list of network peerings for the resource.", "items": { @@ -46323,6 +49779,10 @@ "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": { @@ -46349,7 +49809,7 @@ "type": "string" }, "instance": { - "description": "The name for a specific VM instance that the IP address belongs to. This is required for network endpoints of type GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint group.\n\nThe name must be 1-63 characters long, and comply with RFC1035.", + "description": "The name for a specific VM instance that the IP address belongs to. This is required for network endpoints of type GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint group. The name must be 1-63 characters long, and comply with RFC1035.", "type": "string" }, "ipAddress": { @@ -46365,7 +49825,7 @@ "type": "object" }, "NetworkEndpointGroup": { - "description": "Represents a collection of network endpoints.\n\nA 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, see Setting up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs, or Setting up external HTTP(S) Load Balancing with serverless NEGs. (== resource_for {$api_version}.networkEndpointGroups ==) (== resource_for {$api_version}.globalNetworkEndpointGroups ==) (== resource_for {$api_version}.regionNetworkEndpointGroups ==)", + "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, see Setting up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs, or Setting up external HTTP(S) Load Balancing with serverless NEGs.", "id": "NetworkEndpointGroup", "properties": { "annotations": { @@ -46423,25 +49883,31 @@ "type": "string" }, "networkEndpointType": { - "description": "Type of network endpoints in this network endpoint group. Can be one of GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT, INTERNET_IP_PORT, or SERVERLESS.", + "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.", "enum": [ "GCE_VM_IP", "GCE_VM_IP_PORT", "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 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" }, + "pscTargetService": { + "description": "The target service url used to set up private service connection to a Google API. 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" @@ -46450,6 +49916,10 @@ "description": "[Output Only] Server-defined URL for the resource.", "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", @@ -46534,36 +50004,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -46590,53 +50060,53 @@ "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.\n\nNote: App Engine service must be in the same project and located in the same region as the Serverless NEG.", + "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.\n\nThe service name is case-sensitive and must be 1-63 characters long.\n\nExample value: \"default\", \"my-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": "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.\n\nFor 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.", + "description": "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.\n\nThe version name is case-sensitive and must be 1-100 characters long.\n\nExample value: \"v1\", \"v2\".", + "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.\n\nNote: Cloud Function must be in the same project and located in the same region as the Serverless NEG.", + "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.\n\nThe function name is case-sensitive and must be 1-63 characters long.\n\nExample value: \"func1\".", + "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": "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.\n\nFor 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.", + "description": "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.\n\nNote: Cloud Run service must be in the same project and located in the same region as the Serverless NEG.", + "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.\n\nThe service must be 1-63 characters long, and comply with RFC1035.\n\nExample value: \"run-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.\n\nThe tag must be 1-63 characters long, and comply with RFC1035.\n\nExample value: \"revision-0010\".", + "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": "A template to parse service and tag 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.\n\nFor 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.", + "description": "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" } }, @@ -46726,36 +50196,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -46781,6 +50251,29 @@ }, "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. Possible values include: 1. API Gateway: apigateway.googleapis.com 2. App Engine: appengine.googleapis.com 3. Cloud Functions: cloudfunctions.googleapis.com 4. Cloud Run: run.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": "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": { @@ -46824,8 +50317,8 @@ "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" } @@ -46897,36 +50390,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -46995,36 +50488,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -47090,8 +50583,32 @@ "format": "byte", "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": "[Output Only] An IPv6 internal network address for this network interface.", + "description": "An IPv6 internal network address for this network interface.", "type": "string" }, "kind": { @@ -47104,7 +50621,7 @@ "type": "string" }, "network": { - "description": "URL of the 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 network is not specified but the subnetwork is specified, the network is inferred.\n\nIf you specify this property, you can specify the network as a full or partial URL. For example, the following are all valid URLs: \n- https://www.googleapis.com/compute/v1/projects/project/global/networks/network \n- projects/project/global/networks/network \n- global/networks/default", + "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" }, "networkIP": { @@ -47119,14 +50636,31 @@ "VIRTIO_NET" ], "enumDescriptions": [ - "", - "", - "" + "GVNIC", + "No type specified.", + "VIRTIO" + ], + "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 identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at instance creation and update network interface operations.", + "enum": [ + "IPV4_IPV6", + "IPV4_ONLY" + ], + "enumDescriptions": [ + "The network interface can have both IPv4 and IPv6 addresses.", + "The network interface will be assigned IPv4 address." ], "type": "string" }, "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: \n- https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork \n- regions/region/subnetworks/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" } }, @@ -47193,36 +50727,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -47261,19 +50795,19 @@ "type": "boolean" }, "exportCustomRoutes": { - "description": "Whether to export the custom routes to peer network.", + "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. The IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses) are always exported to peers and are not controlled by this field.", + "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.", + "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. The IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses) are always imported from peers and are not controlled by this field.", + "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": { @@ -47296,8 +50830,8 @@ "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" }, @@ -47476,7 +51010,7 @@ "type": "object" }, "NodeGroup": { - "description": "Represent a sole-tenant Node Group resource.\n\nA 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. (== resource_for {$api_version}.nodeGroups ==)", + "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": { @@ -47510,7 +51044,7 @@ "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.", + "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", @@ -47518,10 +51052,10 @@ "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" }, @@ -47540,6 +51074,10 @@ "description": "[Output Only] Server-defined URL for the resource.", "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", @@ -47635,36 +51173,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -47704,7 +51242,7 @@ "type": "integer" }, "mode": { - "description": "The autoscaling mode. Set to one of: ON, OFF, or ONLY_SCALE_OUT. For more information, see Autoscaler modes.", + "description": "The autoscaling mode. Set to one of: ON, OFF, or ONLY_SCALE_OUT. For more information, see Autoscaler modes.", "enum": [ "MODE_UNSPECIFIED", "OFF", @@ -47713,9 +51251,9 @@ ], "enumDescriptions": [ "", - "", - "", - "" + "Autoscaling is disabled.", + "Autocaling is fully enabled.", + "Autoscaling will only scale out and will not remove nodes." ], "type": "string" } @@ -47783,36 +51321,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -47863,6 +51401,10 @@ }, "type": "array" }, + "consumedResources": { + "$ref": "InstanceConsumptionInfo", + "description": "Node resources that are reserved by all instances." + }, "cpuOvercommitType": { "description": "CPU overcommit.", "enum": [ @@ -47884,6 +51426,13 @@ }, "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": { @@ -47927,6 +51476,10 @@ "" ], "type": "string" + }, + "totalResources": { + "$ref": "InstanceConsumptionInfo", + "description": "Total amount of available resources on the node." } }, "type": "object" @@ -48015,36 +51568,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -48113,36 +51666,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -48179,7 +51732,7 @@ "type": "object" }, "NodeTemplate": { - "description": "Represent a sole-tenant Node Template resource.\n\nYou can use a template to define properties for nodes in a node group. For more information, read Creating node groups and instances. (== resource_for {$api_version}.nodeTemplates ==)", + "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": { @@ -48243,7 +51796,7 @@ }, "nodeTypeFlexibility": { "$ref": "NodeTemplateNodeTypeFlexibility", - "description": "The flexible properties of the desired node type. Node groups that use this node template will create nodes of a type that matches these properties.\n\nThis field is mutually exclusive with the node_type property; you can only define one or the other, but not both." + "description": "The flexible properties of the desired node type. Node groups that use this node template will create nodes of a type that matches these properties. This field is mutually exclusive with the node_type property; you can only define one or the other, but not both." }, "region": { "description": "[Output Only] The name of the region where the node template resides, such as us-central1.", @@ -48255,7 +51808,7 @@ }, "serverBinding": { "$ref": "ServerBinding", - "description": "Sets the binding properties for the physical server. Valid values include: \n- [Default] RESTART_NODE_ON_ANY_SERVER: Restarts VMs on any available physical server \n- RESTART_NODE_ON_MINIMAL_SERVER: Restarts VMs on the same physical server whenever possible \n\nSee Sole-tenant node options for more information." + "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.", @@ -48266,10 +51819,10 @@ "READY" ], "enumDescriptions": [ - "", - "", - "", - "" + "Resources are being allocated.", + "The node template is currently being deleted.", + "Invalid status.", + "The node template is ready." ], "type": "string" }, @@ -48348,36 +51901,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -48464,36 +52017,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -48577,36 +52130,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -48633,7 +52186,7 @@ "type": "object" }, "NodeType": { - "description": "Represent a sole-tenant Node Type resource.\n\nEach 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. (== resource_for {$api_version}.nodeTypes ==)", + "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": { @@ -48761,36 +52314,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -48877,36 +52430,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -48975,36 +52528,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -49031,7 +52584,7 @@ "type": "object" }, "NotificationEndpoint": { - "description": "Represents a notification endpoint.\n\nA notification endpoint resource defines an endpoint to receive notifications when there are status changes detected by the associated health check service.\n\nFor more information, see Health checks overview. (== resource_for {$api_version}.notificationEndpoint ==) (== resource_for {$api_version}.regionNotificationEndpoints ==)", + "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": { @@ -49160,36 +52713,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -49216,7 +52769,7 @@ "type": "object" }, "Operation": { - "description": "Represents an Operation resource.\n\nGoogle Compute Engine has three Operation resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations)\n\nYou can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses.\n\nOperations can be global, regional or zonal. \n- For global operations, use the `globalOperations` resource. \n- For regional operations, use the `regionOperations` resource. \n- For zonal operations, use the `zonalOperations` resource. \n\nFor more information, read Global, Regional, and Zonal Resources. (== resource_for {$api_version}.globalOperations ==) (== resource_for {$api_version}.regionOperations ==) (== resource_for {$api_version}.zoneOperations ==)", + "description": "Represents an Operation resource. Google Compute Engine has three Operation resources: * [Global](/compute/docs/reference/rest/beta/globalOperations) * [Regional](/compute/docs/reference/rest/beta/regionOperations) * [Zonal](/compute/docs/reference/rest/beta/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 `zonalOperations` resource. For more information, read Global, Regional, and Zonal Resources.", "id": "Operation", "properties": { "clientOperationId": { @@ -49379,36 +52932,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -49508,36 +53061,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -49624,36 +53177,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -49722,36 +53275,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -49875,7 +53428,7 @@ "enumDescriptions": [ "", "", - "", + "From BfdSession object creation time.", "" ], "type": "string" @@ -49904,9 +53457,9 @@ "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" @@ -49915,7 +53468,7 @@ "type": "object" }, "PacketMirroring": { - "description": "Represents a Packet Mirroring resource.\n\nPacket 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. (== resource_for {$api_version}.packetMirrorings ==)", + "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": { @@ -49931,7 +53484,7 @@ "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.\n\nThe default is TRUE.", + "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" @@ -49980,7 +53533,7 @@ "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.\n\nDefault value is 1000. Valid range is 0 through 65535.", + "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" }, @@ -50064,36 +53617,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -50144,9 +53697,9 @@ "INGRESS" ], "enumDescriptions": [ - "", - "", - "" + "Default, both directions are mirrored.", + "Only egress traffic is mirrored.", + "Only ingress traffic is mirrored." ], "type": "string" } @@ -50228,36 +53781,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -50287,14 +53840,14 @@ "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.\n\nNote that this config will apply only to those network interfaces of the Instances that belong to the network specified in this packetMirroring.\n\nYou may specify a maximum of 50 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.\n\nYou may specify a maximum of 5 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" }, @@ -50395,36 +53948,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -50451,20 +54004,20 @@ "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 will be used.", + "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": { "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.\nOnly one of defaultRouteAction or defaultUrlRedirect must be set.\nUrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a pathMatcher's defaultRouteAction." + "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. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a path matcher's defaultRouteAction." }, "defaultService": { - "description": "The full or partial URL to the BackendService resource. This will be 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: \n- https://www.googleapis.com/compute/v1/projects/project/global/backendServices/backendService \n- compute/v1/projects/project/global/backendServices/backendService \n- global/backendServices/backendService If defaultRouteAction is additionally specified, advanced routing actions like URL Rewrites, etc. take effect prior to sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if defaultRouteAction specifies any weightedBackendServices, defaultService must not be specified.\nOnly one of defaultService, defaultUrlRedirect or defaultRouteAction.weightedBackendService must be set.\nAuthorization requires one or more of the following Google IAM permissions on the specified resource default_service: \n- compute.backendBuckets.use \n- compute.backendServices.use", + "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. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if defaultRouteAction specifies any weightedBackendServices, defaultService must not be specified. Only one of defaultService, defaultUrlRedirect , or defaultRouteAction.weightedBackendService must 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.\nIf defaultUrlRedirect is specified, defaultService or defaultRouteAction must not be set.\nNot supported when the URL map is bound to target gRPC proxy." + "description": "When none of the specified pathRules or routeRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or defaultRouteAction must not 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.", @@ -50472,21 +54025,21 @@ }, "headerAction": { "$ref": "HttpHeaderAction", - "description": "Specifies changes to request and response headers that need to take effect for the selected backendService.\nHeaderAction specified here are applied after the matching HttpRouteRule HeaderAction and before the HeaderAction in the UrlMap \nNote that headerAction is not supported for Loadbalancers that have their loadBalancingScheme set to EXTERNAL.\nNot supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true." + "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.\nFor 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.\nWithin a given pathMatcher, only one of pathRules or routeRules must be set.", + "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.\nWithin a given pathMatcher, you can set only one of pathRules or 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" }, @@ -50508,15 +54061,15 @@ }, "routeAction": { "$ref": "HttpRouteAction", - "description": "In response to a matching path, the load balancer performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices.\nOnly one of routeAction or urlRedirect must be set.\nUrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a pathRule's routeAction." + "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. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for external HTTP(S) load balancers support only 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 additionally specified, advanced routing actions like URL Rewrites, etc. take effect prior to sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendService s. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified.\nOnly one of urlRedirect, service or routeAction.weightedBackendService must be set.", + "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. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.", "type": "string" }, "urlRedirect": { "$ref": "HttpRedirectAction", - "description": "When a path pattern is matched, the request is redirected to a URL specified by urlRedirect.\nIf urlRedirect is specified, service or routeAction must not be set.\nNot supported when the URL map is bound to target gRPC proxy." + "description": "When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. If urlRedirect is specified, service or routeAction must not be set. Not supported when the URL map is bound to a target gRPC proxy." } }, "type": "object" @@ -50548,12 +54101,12 @@ "UNAPPLIED_DELETION" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "" + "The per-instance config is being applied to the instance, but is not yet effective, possibly waiting for the instance to, for example, REFRESH.", + "The per-instance config deletion is being applied on the instance, possibly waiting for the instance to, for example, REFRESH.", + "The per-instance config is effective on the instance, meaning that all disks, ips and metadata specified in this config are attached or set on the instance.", + "*[Default]* The default status, when no per-instance config exists.", + "The per-instance config is set on an instance but not been applied yet.", + "The per-instance config has been deleted, but the deletion is not yet applied." ], "type": "string" } @@ -50561,7 +54114,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.\n\n\n\nA `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.\n\nFor 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).\n\n**JSON example:**\n\n{ \"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 }\n\n**YAML example:**\n\nbindings: - 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\n\nFor a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "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": { @@ -50572,30 +54125,26 @@ "type": "array" }, "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.", + "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.\n\n**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.", + "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" }, - "iamOwned": { - "description": "", - "type": "boolean" - }, "rules": { - "description": "If more than one rule is specified, the rules are applied in the following manner: - All matching LOG rules are always applied. - If any DENY/DENY_WITH_LOG rule matches, permission is denied. Logging will be applied if one or more matching rule requires logging. - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is granted. Logging will be applied if one or more matching rule requires logging. - Otherwise, if no rule applies, permission is denied.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "$ref": "Rule" }, "type": "array" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected.\n\nAny operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations:\n\n* 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\n\n**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.\n\nIf a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "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" } @@ -50626,6 +54175,20 @@ "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" @@ -50658,8 +54221,8 @@ "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" }, @@ -50670,8 +54233,44 @@ }, "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" + }, "Project": { - "description": "Represents a Project resource.\n\nA project is used to organize resources in a Google Cloud Platform environment. For more information, read about the Resource Hierarchy. (== resource_for {$api_version}.projects ==)", + "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": { "commonInstanceMetadata": { @@ -50685,12 +54284,16 @@ "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", - "STANDARD" + "STANDARD", + "STANDARD_OVERRIDES_FIXED_STANDARD" ], "enumDescriptions": [ - "", - "" + "Public internet quality with fixed bandwidth.", + "High quality, Google-grade 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" }, @@ -50710,7 +54313,7 @@ "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.", + "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" }, @@ -50811,12 +54414,16 @@ "networkTier": { "description": "Default network tier to be set.", "enum": [ + "FIXED_STANDARD", "PREMIUM", - "STANDARD" + "STANDARD", + "STANDARD_OVERRIDES_FIXED_STANDARD" ], "enumDescriptions": [ - "", - "" + "Public internet quality with fixed bandwidth.", + "High quality, Google-grade 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" } @@ -50840,7 +54447,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a PublicAdvertisedPrefix.", + "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" }, @@ -50884,7 +54491,7 @@ "type": "string" }, "status": { - "description": "The status of the public advertised prefix.", + "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": [ "INITIAL", "PREFIX_CONFIGURATION_COMPLETE", @@ -50895,13 +54502,13 @@ "VALIDATED" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" + "RPKI validation is complete.", + "The prefix is fully configured.", + "The prefix is being configured.", + "The prefix is being removed.", + "User has configured the PTR.", + "Reverse DNS lookup failed.", + "Reverse DNS lookup is successful." ], "type": "string" } @@ -50968,36 +54575,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -51063,7 +54670,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a PublicDelegatedPrefix.", + "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" }, @@ -51115,16 +54722,18 @@ "type": "string" }, "status": { - "description": "[Output Only] The status of the public delegated prefix.", + "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", "DELETING", - "INITIALIZING" + "INITIALIZING", + "READY_TO_ANNOUNCE" ], "enumDescriptions": [ - "", - "", - "" + "The public delegated prefix is active.", + "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" } @@ -51199,36 +54808,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -51314,36 +54923,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -51455,36 +55064,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -51529,15 +55138,19 @@ "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_GPUS", @@ -51546,15 +55159,19 @@ "COMMITTED_NVIDIA_P4_GPUS", "COMMITTED_NVIDIA_T4_GPUS", "COMMITTED_NVIDIA_V100_GPUS", + "COMMITTED_T2A_CPUS", + "COMMITTED_T2D_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_FORWARDING_RULES", "GLOBAL_INTERNAL_ADDRESSES", "GPUS_ALL_REGIONS", "HEALTH_CHECKS", @@ -51576,7 +55193,9 @@ "LOCAL_SSD_TOTAL_GB", "M1_CPUS", "M2_CPUS", + "M3_CPUS", "MACHINE_IMAGES", + "N2A_CPUS", "N2D_CPUS", "N2_CPUS", "NETWORKS", @@ -51608,6 +55227,7 @@ "PREEMPTIBLE_NVIDIA_V100_GPUS", "PRIVATE_V6_ACCESS_SUBNETWORKS", "PSC_ILB_CONSUMER_FORWARDING_RULES_PER_PRODUCER_NETWORK", + "PSC_INTERNAL_LB_FORWARDING_RULES", "PUBLIC_ADVERTISED_PREFIXES", "PUBLIC_DELEGATED_PREFIXES", "REGIONAL_AUTOSCALERS", @@ -51617,14 +55237,19 @@ "ROUTERS", "ROUTES", "SECURITY_POLICIES", + "SECURITY_POLICIES_PER_REGION", "SECURITY_POLICY_CEVAL_RULES", "SECURITY_POLICY_RULES", + "SECURITY_POLICY_RULES_PER_REGION", + "SERVICE_ATTACHMENTS", "SNAPSHOTS", "SSD_TOTAL_GB", "SSL_CERTIFICATES", "STATIC_ADDRESSES", "STATIC_BYOIP_ADDRESSES", "SUBNETWORKS", + "T2A_CPUS", + "T2D_CPUS", "TARGET_HTTPS_PROXIES", "TARGET_HTTP_PROXIES", "TARGET_INSTANCES", @@ -51668,6 +55293,7 @@ "", "", "", + "Guest CPUs", "", "", "", @@ -51748,6 +55374,21 @@ "", "", "", + "The total number of snapshots allowed for a single project.", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "", "", "", @@ -51777,7 +55418,7 @@ "type": "string" }, "referenceType": { - "description": "A description of the reference type with no implied semantics. Possible values include: \n- MEMBER_OF", + "description": "A description of the reference type with no implied semantics. Possible values include: 1. MEMBER_OF ", "type": "string" }, "referrer": { @@ -51792,7 +55433,7 @@ "type": "object" }, "Region": { - "description": "Represents a Region resource.\n\nA region is a geographical area where a resource is located. For more information, read Regions and Zones. (== resource_for {$api_version}.regions ==)", + "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": { @@ -51919,36 +55560,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -52047,36 +55688,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -52200,36 +55841,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -52330,36 +55971,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -52431,7 +56072,7 @@ "id": "RegionInstanceGroupManagersApplyUpdatesRequest", "properties": { "allInstances": { - "description": "Flag to update all instances instead of specified list of ?instances?. If the flag is set to true then the instances may not be specified in the request.", + "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": { @@ -52442,7 +56083,7 @@ "type": "array" }, "minimalAction": { - "description": "The minimal action that you want to perform on each instance during the update: \n- REPLACE: At minimum, delete the instance and create it again. \n- RESTART: Stop the instance and start it again. \n- REFRESH: Do not stop the instance. \n- 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.", + "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. - 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", @@ -52450,15 +56091,15 @@ "RESTART" ], "enumDescriptions": [ - "", - "", - "", - "" + "Do not perform any action.", + "Updates applied in runtime, instances will not be disrupted.", + "Old instances will be deleted. New instances will be created from the target template.", + "Every instance will be restarted." ], "type": "string" }, "mostDisruptiveAllowedAction": { - "description": "The most disruptive action that you want to perform on each instance during the update: \n- REPLACE: Delete the instance and create it again. \n- RESTART: Stop the instance and start it again. \n- REFRESH: Do not stop the instance. \n- 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.", + "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. - 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", @@ -52466,10 +56107,10 @@ "RESTART" ], "enumDescriptions": [ - "", - "", - "", - "" + "Do not perform any action.", + "Updates applied in runtime, instances will not be disrupted.", + "Old instances will be deleted. New instances will be created from the target template.", + "Every instance will be restarted." ], "type": "string" } @@ -52499,6 +56140,10 @@ "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" @@ -52567,36 +56212,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -52652,6 +56297,21 @@ }, "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" + }, "RegionInstanceGroupManagersSetAutoHealingRequest": { "id": "RegionInstanceGroupManagersSetAutoHealingRequest", "properties": { @@ -52752,36 +56412,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -52817,8 +56477,8 @@ "RUNNING" ], "enumDescriptions": [ - "", - "" + "Matches any status of the instances, running, non-running and others.", + "Instance is in RUNNING state if it is running." ], "type": "string" }, @@ -52909,36 +56569,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -52964,6 +56624,63 @@ }, "type": "object" }, + "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse": { + "id": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse", + "properties": { + "firewallPolicys": { + "description": "Effective firewalls from firewall policy.", + "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" + }, + "rules": { + "description": "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.", + "enum": [ + "HIERARCHY", + "NETWORK", + "NETWORK_REGIONAL", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "RegionSetLabelsRequest": { "id": "RegionSetLabelsRequest", "properties": { @@ -53028,7 +56745,7 @@ "type": "object" }, "RequestMirrorPolicy": { - "description": "A policy that specifies how requests intended for the route's backends are shadowed to a separate mirrored backend service. Loadbalancer does not wait for responses from the shadow service. Prior to sending traffic to the shadow service, the host / authority header is suffixed with -shadow.", + "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": { @@ -53039,7 +56756,7 @@ "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. (== resource_for {$api_version}.reservations ==)", + "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": { "commitment": { @@ -53082,6 +56799,10 @@ "description": "[Output Only] Server-defined fully-qualified URL for this resource.", "type": "string" }, + "shareSettings": { + "$ref": "ShareSettings", + "description": "Share-settings for shared-reservation" + }, "specificReservation": { "$ref": "AllocationSpecificSKUReservation", "description": "Reservation for instances with specific machine shapes." @@ -53100,11 +56821,11 @@ "UPDATING" ], "enumDescriptions": [ + "Resources are being allocated for the reservation.", + "Reservation is currently being deleted.", "", - "", - "", - "", - "" + "Reservation has allocated all its resources.", + "Reservation is currently being resized." ], "type": "string" }, @@ -53120,7 +56841,7 @@ "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.", + "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", @@ -53129,10 +56850,10 @@ "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.", "" ], "type": "string" @@ -53142,7 +56863,7 @@ "type": "string" }, "values": { - "description": "Corresponds to the label values of a reservation resource.", + "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" }, @@ -53220,36 +56941,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -53335,36 +57056,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -53444,36 +57165,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -53586,36 +57307,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -53642,7 +57363,7 @@ "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.\n\n(== resource_for {$api_version}.resourcePolicies ==)", + "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": { @@ -53705,11 +57426,11 @@ "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" } @@ -53788,36 +57509,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -53848,7 +57569,7 @@ "id": "ResourcePolicyDailyCycle", "properties": { "daysInCycle": { - "description": "Defines a schedule with units measured in months. The value determines how many months pass between the start of each cycle.", + "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" }, @@ -54013,36 +57734,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -54235,10 +57956,35 @@ }, "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.\n\nA 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. (== resource_for {$api_version}.routes ==)", + "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": { + "asPaths": { + "description": "[Output Only] AS path.", + "items": { + "$ref": "RouteAsPath" + }, + "type": "array" + }, "creationTimestamp": { "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" @@ -54286,15 +58032,15 @@ "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", + "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" }, "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: \n- 10.128.0.56 \n- https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule \n- regions/region/forwardingRules/forwardingRule", + "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: - 10.128.0.56 - https://www.googleapis.com/compute/v1/projects/project/regions/region /forwardingRules/forwardingRule - regions/region/forwardingRules/forwardingRule ", "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:\nhttps://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/", + "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" }, "nextHopInterconnectAttachment": { @@ -54327,6 +58073,22 @@ "format": "uint32", "type": "integer" }, + "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" @@ -54377,36 +58139,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -54434,6 +58196,36 @@ }, "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", @@ -54495,36 +58287,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -54551,7 +58343,7 @@ "type": "object" }, "Router": { - "description": "Represents a Cloud Router resource.\n\nFor more information about Cloud Router, read the Cloud Router overview.", + "description": "Represents a Cloud Router resource. For more information about Cloud Router, read the Cloud Router overview.", "id": "Router", "properties": { "bgp": { @@ -54574,7 +58366,7 @@ "type": "string" }, "encryptedInterconnectRouter": { - "description": "Field to indicate if a router is dedicated to use with encrypted Interconnect Attachment (IPsec-encrypted Cloud Interconnect feature).\nNot currently available in all Interconnect locations.", + "description": "Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments). Not currently available publicly. ", "type": "boolean" }, "id": { @@ -54716,36 +58508,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -54793,7 +58585,7 @@ "ALL_SUBNETS" ], "enumDescriptions": [ - "" + "Advertise all available subnets (including peer VPC subnets)." ], "type": "string" }, @@ -54812,7 +58604,7 @@ "type": "integer" }, "keepaliveInterval": { - "description": "The interval in seconds between BGP keepalive messages that are sent to the peer.\nNot currently available publicly.\nHold 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.\nBGP 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.\nIf set, this value must be between 20 and 60. The default is 20.", + "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" } @@ -54835,13 +58627,13 @@ "type": "string" }, "advertisedGroups": { - "description": "User-specified list of prefix groups to advertise in custom mode, which can take one of the following options: \n- ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets. \n- ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. 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.", + "description": "User-specified list of prefix groups to advertise in custom mode, which can take one of the following options: - ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets. - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. 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_SUBNETS" ], "enumDescriptions": [ - "" + "Advertise all available subnets (including peer VPC subnets)." ], "type": "string" }, @@ -54861,10 +58653,10 @@ }, "bfd": { "$ref": "RouterBgpPeerBfd", - "description": "BFD configuration for the BGP peering.\nNot currently available publicly." + "description": "BFD configuration for the BGP peering." }, "enable": { - "description": "The status of the BGP peer connection.\nNot currently available publicly.\nIf 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.", + "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" @@ -54875,6 +58667,10 @@ ], "type": "string" }, + "enableIpv6": { + "description": "Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.", + "type": "boolean" + }, "interfaceName": { "description": "Name of the interface the BGP peer is associated with.", "type": "string" @@ -54883,15 +58679,19 @@ "description": "IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.", "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. \n- MANAGED_BY_USER is the default value and can be managed by you or other users \n- 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.", + "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" }, @@ -54919,6 +58719,10 @@ "description": "IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.", "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" @@ -54930,22 +58734,22 @@ "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.\nNot currently available publicly.\nIf set, this value must be between 100 and 30000.\nThe default is 300.", + "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.\nNot currently available publicly.\nIf set, this value must be between 100 and 30000.\nThe default is 300.", + "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" }, "multiplier": { - "description": "The number of consecutive BFD packets that must be missed before BFD declares that a peer is unavailable.\nNot currently available publicly.\nIf set, the value must be a value between 2 and 16.\nThe default is 3.", + "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" }, "sessionInitializationMode": { - "description": "The BFD session initialization mode for this BGP peer.\nNot currently available publicly.\nIf 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.", + "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", @@ -54977,14 +58781,14 @@ "type": "string" }, "managementType": { - "description": "[Output Only] The resource that configures and manages this interface. \n- MANAGED_BY_USER is the default value and can be managed directly by users. \n- 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.", + "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" }, @@ -55008,7 +58812,7 @@ "type": "string" }, "subnetwork": { - "description": "The URL 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.", + "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" } }, @@ -55075,36 +58879,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -55141,6 +58945,10 @@ }, "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" }, @@ -55153,6 +58961,11 @@ "$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", @@ -55164,14 +58977,14 @@ "type": "string" }, "natIpAllocateOption": { - "description": "Specify the NatIpAllocateOption, which can take one of the following values: \n- 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. \n- 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.", + "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" }, @@ -55182,17 +58995,24 @@ }, "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: \n- ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. \n- ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. \n- 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 or ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any other Router.Nat section in any Router for this network in this region.", + "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 or ALL_SUBNETWORKS_ALL_PRIMARY_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" }, @@ -55208,6 +59028,11 @@ "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", @@ -55230,22 +59055,65 @@ "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: \n- ERRORS_ONLY: Export logs only for connection failures. \n- TRANSLATIONS_ONLY: Export logs only for successful connections. \n- ALL: Export logs for all connections, successful and unsuccessful.", + "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 == 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/global/hub/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" + }, + "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" + } + }, + "type": "object" + }, "RouterNatSubnetworkToNat": { "description": "Defines the IP ranges that want to use NAT for a subnetwork.", "id": "RouterNatSubnetworkToNat", @@ -55270,9 +59138,9 @@ "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" }, @@ -55356,7 +59224,7 @@ "type": "string" }, "state": { - "description": "BGP state as specified in RFC1771.", + "description": "The state of the BGP session. For a list of possible values for this field, see BGP session states.", "type": "string" }, "status": { @@ -55423,6 +59291,13 @@ "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": { @@ -55440,6 +59315,42 @@ }, "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": { @@ -55507,36 +59418,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -55563,11 +59474,11 @@ "type": "object" }, "Rule": { - "description": "A rule to be applied in a Policy.", + "description": "This is deprecated and has no effect. Do not use.", "id": "Rule", "properties": { "action": { - "description": "Required", + "description": "This is deprecated and has no effect. Do not use.", "enum": [ "ALLOW", "ALLOW_WITH_LOG", @@ -55577,49 +59488,49 @@ "NO_ACTION" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "" + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use." ], "type": "string" }, "conditions": { - "description": "Additional restrictions that must be met. All conditions must pass for the rule to match.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "$ref": "Condition" }, "type": "array" }, "description": { - "description": "Human-readable description of the rule.", + "description": "This is deprecated and has no effect. Do not use.", "type": "string" }, "ins": { - "description": "If one or more 'in' clauses are specified, the rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "type": "string" }, "type": "array" }, "logConfigs": { - "description": "The config returned to callers of tech.iam.IAM.CheckPolicy for any entries that match the LOG action.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "$ref": "LogConfig" }, "type": "array" }, "notIns": { - "description": "If one or more 'not_in' clauses are specified, the rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "type": "string" }, "type": "array" }, "permissions": { - "description": "A permission is a string of form '..' (e.g., 'storage.buckets.list'). A value of '*' matches all permissions, and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "type": "string" }, @@ -55641,16 +59552,16 @@ "type": "string" }, "portSpecification": { - "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in port is used for health checking.\nUSE_NAMED_PORT: The portName is used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, SSL health check follows behavior specified in port and portName fields.", + "description": "Specifies how port is selected for health checking, can be one of following values: USE_FIXED_PORT: The port number in port is used for health checking. USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking. If not specified, SSL health check follows behavior specified in port and portName fields.", "enum": [ "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT" ], "enumDescriptions": [ - "", - "", - "" + "The port number in port is used for health checking.", + "The portName is used for health checking.", + "For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking." ], "type": "string" }, @@ -55678,7 +59589,7 @@ "type": "object" }, "SavedAttachedDisk": { - "description": "An instance-attached disk resource.", + "description": "DEPRECATED: Please use compute#savedDisk instead. An instance-attached disk resource.", "id": "SavedAttachedDisk", "properties": { "autoDelete": { @@ -55703,11 +59614,11 @@ "type": "string" }, "diskType": { - "description": "[Output Only] URL of the disk type resource. For example: projects/project/zones/zone/diskTypes/pd-standard or pd-ssd", + "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.", + "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" }, @@ -55749,8 +59660,8 @@ "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" }, @@ -55790,6 +59701,39 @@ }, "type": "object" }, + "SavedDisk": { + "description": "An instance-attached disk resource.", + "id": "SavedDisk", + "properties": { + "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": { @@ -55810,10 +59754,10 @@ "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" } @@ -55821,17 +59765,51 @@ "type": "object" }, "Scheduling": { - "description": "Sets the scheduling options for an Instance. NextID: 20", + "description": "Sets the scheduling options for an Instance. NextID: 21", "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.\n\nBy default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.", + "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" }, + "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" + }, "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": "For more information about maintenance intervals, see Setting maintenance intervals.", + "enum": [ + "PERIODIC" + ], + "enumDescriptions": [ + "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." + ], + "type": "string" + }, "minNodeCpus": { "description": "The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.", "format": "int32", @@ -55845,20 +59823,32 @@ "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 Setting Instance Scheduling Options.", + "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 availability policies.", "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" }, "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": [ + "SPOT", + "STANDARD" + ], + "enumDescriptions": [ + "Heavily discounted, no guaranteed runtime.", + "Standard provisioning with user controlled runtime, no discounts." + ], + "type": "string" } }, "type": "object" @@ -55879,8 +59869,8 @@ "OPERATOR_UNSPECIFIED" ], "enumDescriptions": [ - "", - "", + "Requires Compute Engine to seek for matched nodes.", + "Requires Compute Engine to avoid certain nodes.", "" ], "type": "string" @@ -55930,12 +59920,15 @@ "type": "object" }, "SecurityPolicy": { - "description": "Represents a Google Cloud Armor security policy resource.\n\nOnly external backend services that use load balancers can reference a security policy. For more information, see Google Cloud Armor security policy overview. (== resource_for {$api_version}.securityPolicies ==)", + "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": { @@ -55957,7 +59950,7 @@ "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.\n\nTo see the latest fingerprint, make get() request to the security policy.", + "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" }, @@ -55972,7 +59965,7 @@ "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.\n\nTo see the latest fingerprint, make get() request to the security policy.", + "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" }, @@ -55992,6 +59985,9 @@ "description": "[Output Only] The parent of the security policy.", "type": "string" }, + "recaptchaOptionsConfig": { + "$ref": "SecurityPolicyRecaptchaOptionsConfig" + }, "ruleTupleCount": { "description": "[Output Only] Total count of all security policy rule tuples. A security policy can not exceed a set number of tuples.", "format": "int32", @@ -56013,12 +60009,14 @@ "type": "string" }, "type": { - "description": "The type indicates the intended use of the security policy. CLOUD_ARMOR policies apply to backend services. FIREWALL policies apply to organizations.", + "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. This field can be set only at resource creation time.", "enum": [ "CLOUD_ARMOR", + "CLOUD_ARMOR_EDGE", "FIREWALL" ], "enumDescriptions": [ + "", "", "" ], @@ -56061,6 +60059,34 @@ }, "type": "object" }, + "SecurityPolicyAdvancedOptionsConfig": { + "id": "SecurityPolicyAdvancedOptionsConfig", + "properties": { + "jsonParsing": { + "enum": [ + "DISABLED", + "STANDARD" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "logLevel": { + "enum": [ + "NORMAL", + "VERBOSE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "SecurityPolicyAssociation": { "id": "SecurityPolicyAssociation", "properties": { @@ -56139,36 +60165,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -56194,6 +60220,16 @@ }, "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.", + "type": "string" + } + }, + "type": "object" + }, "SecurityPolicyReference": { "id": "SecurityPolicyReference", "properties": { @@ -56208,7 +60244,7 @@ "id": "SecurityPolicyRule", "properties": { "action": { - "description": "The Action to perform when the client connection triggers the rule. Can currently be either \"allow\" or \"deny()\" where valid values for status are 403, 404, and 502.", + "description": "The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(): deny access to target, returns the HTTP response code specified (valid values 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. - 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": { @@ -56228,9 +60264,13 @@ "type": "string" }, "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.\n\nThis field may only be specified when the versioned_expr is set to FIREWALL.", + "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." + }, "kind": { "default": "compute#securityPolicyRule", "description": "[Output only] Type of the resource. Always compute#securityPolicyRule for security policy rules", @@ -56249,6 +60289,14 @@ "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." + }, "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", @@ -56260,7 +60308,7 @@ "type": "integer" }, "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.\n\nThis field may only be specified when versioned_expr is set to FIREWALL.", + "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" }, @@ -56276,6 +60324,33 @@ }, "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", @@ -56296,7 +60371,7 @@ ], "enumDescriptions": [ "", - "" + "Matches the source IP address of a request to the IP ranges supplied in config." ], "type": "string" } @@ -56307,14 +60382,14 @@ "id": "SecurityPolicyRuleMatcherConfig", "properties": { "destIpRanges": { - "description": "CIDR IP address range.\n\nThis field may only be specified when versioned_expr is set to FIREWALL.", + "description": "CIDR IP address range. This field may only be specified when versioned_expr is set to FIREWALL.", "items": { "type": "string" }, "type": "array" }, "layer4Configs": { - "description": "Pairs of IP protocols and ports that the rule should match.\n\nThis field may only be specified when versioned_expr is set to FIREWALL.", + "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" }, @@ -56338,7 +60413,7 @@ "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.\n\nExample inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].\n\nThis field may only be specified when versioned_expr is set to FIREWALL.", + "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" }, @@ -56347,6 +60422,99 @@ }, "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 this field 'enforce_on_key' 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 \"enforce_on_key_name\". 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 \"enforce_on_key_name\". 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. ", + "enum": [ + "ALL", + "ALL_IPS", + "HTTP_COOKIE", + "HTTP_HEADER", + "IP", + "XFF_IP" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "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.", + "type": "string" + }, + "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." + }, + "rateLimitThreshold": { + "$ref": "SecurityPolicyRuleRateLimitOptionsThreshold", + "description": "Threshold at which to begin ratelimiting." + } + }, + "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" + }, "SecuritySettings": { "description": "The authentication and authorization settings for a BackendService.", "id": "SecuritySettings", @@ -56356,11 +60524,11 @@ "type": "string" }, "clientTlsPolicy": { - "description": "Optional. A URL referring to a networksecurity.ClientTlsPolicy resource that describes how clients should authenticate with this service's backends.\nclientTlsPolicy only applies to a global BackendService with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.\nIf left blank, communications are not encrypted.\nNote: This field currently has no impact.", + "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. Note: This field currently has no impact.", "type": "string" }, "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.\nNote that the contents of the server certificate's subjectAltName field are configured by the Public Key Infrastructure which provisions server identities.\nOnly applies to a global BackendService with loadBalancingScheme set to INTERNAL_SELF_MANAGED. Only applies when BackendService has an attached clientTlsPolicy with clientCertificate (mTLS mode).\nNote: This field currently has no impact.", + "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). Note: This field currently has no impact.", "items": { "type": "string" }, @@ -56370,7 +60538,7 @@ "type": "object" }, "SerialPortOutput": { - "description": "An instance's serial console output.", + "description": "An instance serial console output.", "id": "SerialPortOutput", "properties": { "contents": { @@ -56409,8 +60577,8 @@ "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" @@ -56437,25 +60605,41 @@ "type": "object" }, "ServiceAttachment": { - "description": "Represents a ServiceAttachment resource.\n\nA 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. next tag = 17", + "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. next tag = 20", "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" }, - "consumerForwardingRules": { - "description": "[Output Only] An array of forwarding rules for all the consumers connected to this service attachment.", + "consumerAcceptLists": { + "description": "Projects that are allowed to connect to this service attachment.", "items": { - "$ref": "ServiceAttachmentConsumerForwardingRule" + "$ref": "ServiceAttachmentConsumerProjectLimit" + }, + "type": "array" + }, + "consumerRejectLists": { + "description": "Projects that are not allowed to connect to this service attachment. The project can be specified using its id or number.", + "items": { + "type": "string" }, "type": "array" }, @@ -56467,10 +60651,22 @@ "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", @@ -56502,6 +60698,10 @@ "description": "The URL of a forwarding rule with loadBalancingScheme INTERNAL* that is serving the endpoint identified by this service attachment.", "type": "string" }, + "pscServiceAttachmentId": { + "$ref": "Uint128", + "description": "[Output Only] An 128-bit global unique ID of the PSC service attachment." + }, "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" @@ -56509,6 +60709,10 @@ "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" } }, "type": "object" @@ -56582,36 +60786,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -56637,26 +60841,33 @@ }, "type": "object" }, - "ServiceAttachmentConsumerForwardingRule": { - "description": "[Output Only] A consumer forwarding rule connected to this service attachment.", - "id": "ServiceAttachmentConsumerForwardingRule", + "ServiceAttachmentConnectedEndpoint": { + "description": "[Output Only] A connection connected to this service attachment.", + "id": "ServiceAttachmentConnectedEndpoint", "properties": { - "forwardingRule": { - "description": "The url of a consumer forwarding rule.", + "endpoint": { + "description": "The url of a connected endpoint.", + "type": "string" + }, + "pscConnectionId": { + "description": "The PSC connection id of the connected endpoint.", + "format": "uint64", "type": "string" }, "status": { - "description": "The status of the forwarding rule.", + "description": "The status of a connected endpoint to this service attachment.", "enum": [ "ACCEPTED", + "CLOSED", "PENDING", "REJECTED", "STATUS_UNSPECIFIED" ], "enumDescriptions": [ - "", - "", - "", + "The connection has been accepted by the producer.", + "The connection has been closed by the producer.", + "The connection is pending acceptance by the producer.", + "The consumer is still connected but not using the connection.", "" ], "type": "string" @@ -56664,6 +60875,21 @@ }, "type": "object" }, + "ServiceAttachmentConsumerProjectLimit": { + "id": "ServiceAttachmentConsumerProjectLimit", + "properties": { + "connectionLimit": { + "description": "The value of the limit to set.", + "format": "uint32", + "type": "integer" + }, + "projectIdOrNum": { + "description": "The project id or number for the project to set the limit for.", + "type": "string" + } + }, + "type": "object" + }, "ServiceAttachmentList": { "id": "ServiceAttachmentList", "properties": { @@ -56724,36 +60950,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -56782,7 +61008,7 @@ "ServiceAttachmentsScopedList": { "id": "ServiceAttachmentsScopedList", "properties": { - "resources": { + "serviceAttachments": { "description": "A list of ServiceAttachments contained in this scope.", "items": { "$ref": "ServiceAttachment" @@ -56822,36 +61048,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -56877,6 +61103,54 @@ }, "type": "object" }, + "ShareSettings": { + "description": "The share setting for reservations and sole tenancy node groups.", + "id": "ShareSettings", + "properties": { + "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": [ + "LOCAL", + "ORGANIZATION", + "SHARE_TYPE_UNSPECIFIED", + "SPECIFIC_PROJECTS" + ], + "enumDescriptions": [ + "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" + }, + "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", @@ -56897,7 +61171,7 @@ "type": "object" }, "ShieldedInstanceIdentity": { - "description": "A shielded Instance identity entry.", + "description": "A Shielded Instance Identity.", "id": "ShieldedInstanceIdentity", "properties": { "encryptionKey": { @@ -56962,7 +61236,7 @@ "type": "object" }, "ShieldedVmIdentity": { - "description": "A shielded VM identity entry.", + "description": "A Shielded VM Identity.", "id": "ShieldedVmIdentity", "properties": { "encryptionKey": { @@ -57024,7 +61298,7 @@ "type": "object" }, "Snapshot": { - "description": "Represents a Persistent Disk Snapshot resource.\n\nYou can use snapshots to back up data on a regular interval. For more information, read Creating persistent disk snapshots. (== resource_for {$api_version}.snapshots ==)", + "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": { "autoCreated": { @@ -57054,7 +61328,7 @@ "type": "string" }, "guestFlush": { - "description": "[Input Only] Whether to attempt an application consistent snapshot by informing the OS to prepare for the snapshot process. Currently only supported on Windows instances using the Volume Shadow Copy Service (VSS).", + "description": "[Input Only] Whether to attempt an application consistent snapshot by informing the OS to prepare for the snapshot process.", "type": "boolean" }, "id": { @@ -57068,7 +61342,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a snapshot.", + "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" }, @@ -57118,7 +61392,7 @@ }, "snapshotEncryptionKey": { "$ref": "CustomerEncryptionKey", - "description": "Encrypts the snapshot using a customer-supplied encryption key.\n\nAfter 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.\n\nCustomer-supplied encryption keys do not protect access to metadata of the snapshot.\n\nIf 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." + "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." }, "sourceDisk": { "description": "The source disk used to create this snapshot.", @@ -57142,11 +61416,11 @@ "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" }, @@ -57173,6 +61447,13 @@ "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" @@ -57238,36 +61519,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -57301,7 +61582,7 @@ "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: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk \n- projects/project/zones/zone/disks/disk \n- zones/zone/disks/disk", + "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" } }, @@ -57322,7 +61603,7 @@ "type": "object" }, "SourceInstanceProperties": { - "description": "", + "description": "DEPRECATED: Please use compute#instanceProperties instead. New properties will not be added to this field.", "id": "SourceInstanceProperties", "properties": { "canIpForward": { @@ -57385,9 +61666,9 @@ "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" }, @@ -57410,7 +61691,7 @@ "type": "object" }, "SslCertificate": { - "description": "Represents an SSL Certificate resource.\n\nGoogle Compute Engine has two SSL Certificate resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/sslCertificates) * [Regional](/compute/docs/reference/rest/{$api_version}/regionSslCertificates)\n\n\n\nThe sslCertificates are used by: \n- external HTTPS load balancers \n- SSL proxy load balancers \n\nThe regionSslCertificates are used by internal HTTPS load balancers.\n\nOptionally, 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. (== resource_for {$api_version}.sslCertificates ==) (== resource_for {$api_version}.regionSslCertificates ==)", + "description": "Represents an SSL Certificate resource. Google Compute Engine has two SSL Certificate resources: * [Global](/compute/docs/reference/rest/beta/sslCertificates) * [Regional](/compute/docs/reference/rest/beta/regionSslCertificates) The sslCertificates are used by: - external HTTPS load balancers - SSL proxy load balancers The regionSslCertificates are used by internal HTTPS 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": { @@ -57479,8 +61760,8 @@ "TYPE_UNSPECIFIED" ], "enumDescriptions": [ - "", - "", + "Google-managed SSLCertificate.", + "Certificate uploaded by user.", "" ], "type": "string" @@ -57556,36 +61837,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -57672,36 +61953,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -57743,13 +62024,13 @@ "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" }, @@ -57774,12 +62055,12 @@ "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" } @@ -57844,36 +62125,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -57959,36 +62240,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -58027,7 +62308,7 @@ "type": "object" }, "SslPolicy": { - "description": "Represents an SSL Policy resource.\n\nUse SSL policies to control the SSL features, such as versions and cipher suites, offered by an HTTPS or SSL Proxy load balancer. For more information, read SSL Policy Concepts. (== resource_for {$api_version}.sslPolicies ==)", + "description": "Represents an SSL Policy resource. Use SSL policies to control the SSL features, such as versions and cipher suites, offered by an HTTPS or SSL Proxy load balancer. For more information, read SSL Policy Concepts.", "id": "SslPolicy", "properties": { "creationTimestamp": { @@ -58035,7 +62316,7 @@ "type": "string" }, "customFeatures": { - "description": "A list of features enabled when the selected profile is CUSTOM. The\n- method returns the set of features that can be specified in this list. This field must be empty if the profile is not CUSTOM.", + "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" }, @@ -58053,7 +62334,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve an SslPolicy.", + "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" }, @@ -58075,9 +62356,9 @@ "TLS_1_2" ], "enumDescriptions": [ - "", - "", - "" + "TLS 1.0", + "TLS 1.1", + "TLS 1.2" ], "type": "string" }, @@ -58095,10 +62376,10 @@ "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" }, @@ -58140,36 +62421,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -58226,6 +62507,20 @@ }, "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" @@ -58248,12 +62543,30 @@ }, "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" + }, "Subnetwork": { - "description": "Represents a Subnetwork resource.\n\nA 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. (== resource_for {$api_version}.subnetworks ==)", + "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": { "allowSubnetCidrRoutesOverlap": { - "description": "Whether this subnetwork can conflict with static routes. Setting this to true allows this subnetwork's primary and secondary ranges to conflict with routes that have already been configured on the corresponding network. Static routes will take precedence over the subnetwork route if the route prefix length is at least as large as the subnetwork prefix length.\n\nAlso, packets destined to IPs within subnetwork may contain private/sensitive data and are prevented from leaving the virtual network. Setting this field to true will disable this feature.\n\nThe default value is false and applies to all existing subnetworks and automatically created subnetworks.\n\nThis field cannot be set to true at resource creation time.", + "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": { @@ -58265,11 +62578,15 @@ "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 to disable flow logging. This field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.", + "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 with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.", "type": "boolean" }, + "externalIpv6Prefix": { + "description": "[Output Only] The range of external IPv6 addresses that are 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.\n\nTo see the latest fingerprint, make a get() request to retrieve a Subnetwork.", + "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" }, @@ -58282,12 +62599,28 @@ "format": "uint64", "type": "string" }, + "internalIpv6Prefix": { + "description": "[Output Only] The range of internal IPv6 addresses that are owned by this subnetwork. Note this is for general VM to VM communication, not to be confused with the ipv6_cidr_range field.", + "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" }, + "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. If the ipv6_type is EXTERNAL then this subnet cannot enable direct path.", + "enum": [ + "EXTERNAL", + "INTERNAL" + ], + "enumDescriptions": [ + "VMs on this subnet will be assigned IPv6 addresses that are accesible 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] The range of internal IPv6 addresses that are owned by this subnetwork.", + "description": "[Output Only] The range of internal IPv6 addresses that are owned by this subnetwork. Note this will be for private google access only eventually.", "type": "string" }, "kind": { @@ -58305,7 +62638,7 @@ "type": "string" }, "network": { - "description": "The URL of the network to which this subnetwork belongs, provided by the client when initially creating the subnetwork. Only networks that are in the distributed mode can have subnetworks. This field can be set only at resource creation time.", + "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": { @@ -58313,16 +62646,16 @@ "type": "boolean" }, "privateIpv6GoogleAccess": { - "description": "The private IPv6 google access type for the VMs in this subnet. This is an expanded field of enablePrivateV6Access. If both fields are set, privateIpv6GoogleAccess will take priority.\n\nThis field can be both set at resource creation time and updated using patch.", + "description": "The private IPv6 google access type for the VMs in this subnet. This is an expanded field of enablePrivateV6Access. If both fields are set, privateIpv6GoogleAccess will take priority. 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" }, @@ -58332,13 +62665,15 @@ "INTERNAL_HTTPS_LOAD_BALANCER", "PRIVATE", "PRIVATE_RFC_1918", - "PRIVATE_SERVICE_CONNECT" + "PRIVATE_SERVICE_CONNECT", + "REGIONAL_MANAGED_PROXY" ], "enumDescriptions": [ - "", - "", - "", - "" + "Subnet reserved for Internal HTTP(S) Load Balancing.", + "Regular user created or automatically created subnet.", + "Regular user created or automatically created subnet.", + "Subnetworks created for Private Service Connect in the producer network.", + "Subnetwork used for Regional Internal/External HTTP(S) Load Balancing." ], "type": "string" }, @@ -58353,8 +62688,8 @@ "BACKUP" ], "enumDescriptions": [ - "", - "" + "The ACTIVE subnet that is currently used.", + "The BACKUP subnet that could be promoted to ACTIVE." ], "type": "string" }, @@ -58369,15 +62704,27 @@ "description": "[Output Only] Server-defined URL for the resource.", "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" + ], + "enumDescriptions": [ + "New VMs in this subnet can have both IPv4 and IPv6 addresses.", + "New VMs in this subnet will only be assigned IPv4 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 CREATING: Subnetwork is provisioning DELETING: Subnetwork is being deleted UPDATING: Subnetwork is being updated", + "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" } @@ -58452,36 +62799,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -58568,36 +62915,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -58648,15 +62995,15 @@ "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 to disable flow logging.", + "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.", "type": "boolean" }, "filterExpr": { - "description": "Can only be specified if VPC flow logs for this subnetwork is enabled. Export filter used to define which VPC flow logs should be logged.", + "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, which means half of all collected logs are reported.", + "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" }, @@ -58752,36 +63099,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -58817,7 +63164,7 @@ "type": "object" }, "Subsetting": { - "description": "Subsetting options to make L4 ILB support any number of backend instances", + "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": { @@ -58826,10 +63173,15 @@ "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" @@ -58847,16 +63199,16 @@ "type": "string" }, "portSpecification": { - "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in port is used for health checking.\nUSE_NAMED_PORT: The portName is used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, TCP health check follows behavior specified in port and portName fields.", + "description": "Specifies how port is selected for health checking, can be one of following values: USE_FIXED_PORT: The port number in port is used for health checking. USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking. If not specified, TCP health check follows behavior specified in port and portName fields.", "enum": [ "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT" ], "enumDescriptions": [ - "", - "", - "" + "The port number in port is used for health checking.", + "The portName is used for health checking.", + "For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking." ], "type": "string" }, @@ -58888,7 +63240,7 @@ "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.\n\nTo see the latest fingerprint, make get() request to the instance.", + "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" }, @@ -58897,13 +63249,14 @@ "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.\n\nA 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. (== resource_for {$api_version}.targetGrpcProxies ==)", + "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": { @@ -59018,36 +63371,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -59116,36 +63469,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -59172,7 +63525,7 @@ "type": "object" }, "TargetHttpProxy": { - "description": "Represents a Target HTTP Proxy resource.\n\nGoogle Compute Engine has two Target HTTP Proxy resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/targetHttpProxies) * [Regional](/compute/docs/reference/rest/{$api_version}/regionTargetHttpProxies)\n\nA target HTTP proxy is a component of GCP HTTP load balancers.\n\n* targetHttpProxies are used by external HTTP load balancers and Traffic Director. * regionTargetHttpProxies are used by internal HTTP load balancers.\n\nForwarding 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. (== resource_for {$api_version}.targetHttpProxies ==) (== resource_for {$api_version}.regionTargetHttpProxies ==)", + "description": "Represents a Target HTTP Proxy resource. Google Compute Engine has two Target HTTP Proxy resources: * [Global](/compute/docs/reference/rest/beta/targetHttpProxies) * [Regional](/compute/docs/reference/rest/beta/regionTargetHttpProxies) A target HTTP proxy is a component of GCP HTTP load balancers. * targetHttpProxies are used by external HTTP load balancers and Traffic Director. * regionTargetHttpProxies are used by internal HTTP 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": { @@ -59189,7 +63542,7 @@ "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.\nhttpFilters only applies for loadbalancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for more details.", + "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" }, @@ -59211,7 +63564,7 @@ "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.\n\nWhen 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.\n\nThe default is false.", + "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": { @@ -59297,36 +63650,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -59413,36 +63766,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -59511,36 +63864,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -59566,6 +63919,16 @@ }, "type": "object" }, + "TargetHttpsProxiesSetCertificateMapRequest": { + "id": "TargetHttpsProxiesSetCertificateMapRequest", + "properties": { + "certificateMap": { + "description": "URL of the Certificate Map to associate with this TargetHttpsProxy.", + "type": "string" + } + }, + "type": "object" + }, "TargetHttpsProxiesSetQuicOverrideRequest": { "id": "TargetHttpsProxiesSetQuicOverrideRequest", "properties": { @@ -59577,9 +63940,9 @@ "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" } @@ -59590,7 +63953,7 @@ "id": "TargetHttpsProxiesSetSslCertificatesRequest", "properties": { "sslCertificates": { - "description": "New set of SslCertificate resources to associate with this TargetHttpsProxy resource. Currently exactly one SslCertificate resource must be specified.", + "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" }, @@ -59600,7 +63963,7 @@ "type": "object" }, "TargetHttpsProxy": { - "description": "Represents a Target HTTPS Proxy resource.\n\nGoogle Compute Engine has two Target HTTPS Proxy resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/{$api_version}/regionTargetHttpsProxies)\n\nA target HTTPS proxy is a component of GCP HTTPS load balancers.\n\n* targetHttpsProxies are used by external HTTPS load balancers. * regionTargetHttpsProxies are used by internal HTTPS load balancers.\n\nForwarding 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. (== resource_for {$api_version}.targetHttpsProxies ==) (== resource_for {$api_version}.regionTargetHttpsProxies ==)", + "description": "Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/beta/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/beta/regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS load balancers. * targetHttpsProxies are used by external HTTPS load balancers. * regionTargetHttpsProxies are used by internal HTTPS 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": { @@ -59612,7 +63975,11 @@ "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.\nRefer to the AuthorizationPolicy resource for additional details.\nauthorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.\nNote: This field currently has no impact.", + "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 target proxies. If set, sslCertificates will be ignored.", "type": "string" }, "creationTimestamp": { @@ -59629,7 +63996,7 @@ "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/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.\nhttpFilters only applies for loadbalancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for more details.", + "description": "URLs to networkservices.HttpFilter resources enabled for xDS clients using this configuration. For example, https://networkservices.googleapis.com/beta/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" }, @@ -59651,20 +64018,20 @@ "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.\n\nWhen 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.\n\nThe default is false.", + "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. \n- When quic-override is set to NONE, Google manages whether QUIC is used. \n- When quic-override is set to ENABLE, the load balancer uses QUIC when possible. \n- When quic-override is set to DISABLE, the load balancer doesn't use QUIC. \n- If the quic-override flag is not specified, NONE is implied.", + "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" }, @@ -59677,11 +64044,11 @@ "type": "string" }, "serverTlsPolicy": { - "description": "Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic.\nserverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.\nIf left blank, communications are not encrypted.\nNote: This field currently has no impact.", + "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. If left blank, communications are not encrypted. Note: This field currently has no impact.", "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. Currently, you may specify up to 15 SSL certificates.", + "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. 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" }, @@ -59692,7 +64059,7 @@ "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: \n- https://www.googleapis.compute/v1/projects/project/global/urlMaps/url-map \n- projects/project/global/urlMaps/url-map \n- global/urlMaps/url-map", + "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" } }, @@ -59766,36 +64133,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -59882,36 +64249,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -59938,7 +64305,7 @@ "type": "object" }, "TargetInstance": { - "description": "Represents a Target Instance resource.\n\nYou 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. (== resource_for {$api_version}.targetInstances ==)", + "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": { @@ -59955,7 +64322,7 @@ "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: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance \n- projects/project/zones/zone/instances/instance \n- zones/zone/instances/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": { @@ -59974,7 +64341,7 @@ "NO_NAT" ], "enumDescriptions": [ - "" + "No NAT performed." ], "type": "string" }, @@ -60061,36 +64428,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -60177,36 +64544,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -60275,36 +64642,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -60331,11 +64698,11 @@ "type": "object" }, "TargetPool": { - "description": "Represents a Target Pool resource.\n\nTarget pools are used for network TCP/UDP load balancing. A target pool references member instances, an associated legacy HttpHealthCheck resource, and, optionally, a backup target pool. For more information, read Using target pools. (== resource_for {$api_version}.targetPools ==)", + "description": "Represents a Target Pool resource. Target pools are used for network TCP/UDP load balancing. 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].\n\nbackupPool 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.\n\nIn 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.", + "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": { @@ -60347,7 +64714,7 @@ "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].\n\nIf 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.\n\nIn 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.", + "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" }, @@ -60389,7 +64756,7 @@ "type": "string" }, "sessionAffinity": { - "description": "Session affinity option, must be one of the following values:\nNONE: Connections from the same client IP may go to any instance in the pool.\nCLIENT_IP: Connections from the same client IP will go to the same instance in the pool while that instance remains healthy.\nCLIENT_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.", + "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", @@ -60401,14 +64768,14 @@ "NONE" ], "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." ], "type": "string" } @@ -60483,36 +64850,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -60616,36 +64983,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -60688,7 +65055,7 @@ "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: \n- https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-name \n- projects/project-id/zones/zone/instances/instance-name \n- zones/zone/instances/instance-name", + "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" }, @@ -60701,7 +65068,7 @@ "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: \n- https://www.googleapis.com/compute/beta/projects/project/global/httpHealthChecks/health-check \n- projects/project/global/httpHealthChecks/health-check \n- global/httpHealthChecks/health-check", + "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" }, @@ -60766,36 +65133,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -60840,6 +65207,16 @@ }, "type": "object" }, + "TargetSslProxiesSetCertificateMapRequest": { + "id": "TargetSslProxiesSetCertificateMapRequest", + "properties": { + "certificateMap": { + "description": "URL of the Certificate Map to associate with this TargetSslProxy.", + "type": "string" + } + }, + "type": "object" + }, "TargetSslProxiesSetProxyHeaderRequest": { "id": "TargetSslProxiesSetProxyHeaderRequest", "properties": { @@ -60862,7 +65239,7 @@ "id": "TargetSslProxiesSetSslCertificatesRequest", "properties": { "sslCertificates": { - "description": "New set of URLs to SslCertificate resources to associate with this TargetSslProxy. Currently exactly one ssl certificate must be specified.", + "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" }, @@ -60872,9 +65249,13 @@ "type": "object" }, "TargetSslProxy": { - "description": "Represents a Target SSL Proxy resource.\n\nA target SSL proxy is a component of a SSL Proxy load balancer. Global forwarding rules reference a target SSL proxy, and the target proxy then references an external backend service. For more information, read Using Target Proxies. (== resource_for {$api_version}.targetSslProxies ==)", + "description": "Represents a Target SSL Proxy resource. A target SSL proxy is a component of a SSL Proxy load balancer. Global forwarding rules reference a target SSL proxy, and the target proxy then references an external backend service. For more information, read Using Target Proxies.", "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.", + "type": "string" + }, "creationTimestamp": { "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" @@ -60919,7 +65300,7 @@ "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.", + "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" }, @@ -60993,36 +65374,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -61077,7 +65458,7 @@ "type": "object" }, "TargetTcpProxy": { - "description": "Represents a Target TCP Proxy resource.\n\nA target TCP proxy is a component of a TCP Proxy load balancer. Global forwarding rules reference target TCP proxy, and the target proxy then references an external backend service. For more information, read TCP Proxy Load Balancing overview. (== resource_for {$api_version}.targetTcpProxies ==)", + "description": "Represents a Target TCP Proxy resource. A target TCP proxy is a component of a TCP Proxy load balancer. Global forwarding rules reference target TCP proxy, and the target proxy then references an external backend service. For more information, read TCP Proxy Load Balancing overview.", "id": "TargetTcpProxy", "properties": { "creationTimestamp": { @@ -61104,7 +65485,7 @@ "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.\n\nWhen 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.\n\nThe default is false.", + "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": { @@ -61191,36 +65572,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -61247,7 +65628,7 @@ "type": "object" }, "TargetVpnGateway": { - "description": "Represents a Target VPN Gateway resource.\n\nThe target VPN gateway resource represents a Classic Cloud VPN gateway. For more information, read the the Cloud VPN Overview. (== resource_for {$api_version}.targetVpnGateways ==)", + "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": { @@ -61276,7 +65657,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a TargetVpnGateway.", + "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" }, @@ -61408,36 +65789,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -61524,36 +65905,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -61622,36 +66003,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -61681,7 +66062,7 @@ "id": "TestFailure", "properties": { "actualOutputUrl": { - "description": "The actual output URL evaluated by load balancer containing the scheme, host, path and query parameters.", + "description": "The actual output URL evaluated by a load balancer containing the scheme, host, path and query parameters.", "type": "string" }, "actualRedirectResponseCode": { @@ -61694,7 +66075,7 @@ "type": "string" }, "expectedOutputUrl": { - "description": "The expected output URL evaluated by load balancer containing the scheme, host, path and query parameters.", + "description": "The expected output URL evaluated by a load balancer containing the scheme, host, path and query parameters.", "type": "string" }, "expectedRedirectResponseCode": { @@ -61750,8 +66131,22 @@ }, "type": "object" }, + "Uint128": { + "id": "Uint128", + "properties": { + "high": { + "format": "uint64", + "type": "string" + }, + "low": { + "format": "uint64", + "type": "string" + } + }, + "type": "object" + }, "UrlMap": { - "description": "Represents a URL Map resource.\n\nGoogle Compute Engine has two URL Map resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/urlMaps) * [Regional](/compute/docs/reference/rest/{$api_version}/regionUrlMaps)\n\nA URL map resource is a component of certain types of GCP load balancers and Traffic Director.\n\n* urlMaps are used by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used by internal HTTP(S) load balancers.\n\nFor a list of supported URL map features by load balancer type, see the Load balancing features: Routing and traffic management table.\n\nFor a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table.\n\nThis resource defines mappings from host names and URL paths to either a backend service or a backend bucket.\n\nTo use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL 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.", + "description": "Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/reference/rest/beta/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used by internal HTTP(S) 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 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": { @@ -61760,31 +66155,31 @@ }, "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.\nOnly one of defaultRouteAction or defaultUrlRedirect must be set.\nUrlMaps for external HTTP(S) load balancers support only the urlRewrite action within defaultRouteAction.\ndefaultRouteAction has no effect when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true." + "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. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers support only 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 additionally specified, advanced routing actions like URL Rewrites, etc. take effect prior to sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified.\nOnly one of defaultService, defaultUrlRedirect or defaultRouteAction.weightedBackendService must be set.\ndefaultService has no effect when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.", + "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. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of defaultService, defaultUrlRedirect , or defaultRouteAction.weightedBackendService must 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.\nIf defaultUrlRedirect is specified, defaultService or defaultRouteAction must not be set.\nNot supported when the URL map is bound to target gRPC proxy." + "description": "When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or defaultRouteAction must not 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 will be 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.\n\nTo see the latest fingerprint, make a get() request to retrieve a UrlMap.", + "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.\nThe headerAction specified here take effect after headerAction specified under pathMatcher.\nNote that headerAction is not supported for Loadbalancers that have their loadBalancingScheme set to EXTERNAL.\nNot supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true." + "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 HostRules to use against the URL.", + "description": "The list of host rules to use against the URL.", "items": { "$ref": "HostRule" }, @@ -61821,7 +66216,7 @@ "type": "string" }, "tests": { - "description": "The list of expected URL mapping tests. Request to update this UrlMap will succeed only if all of the test cases pass. You can specify a maximum of 100 tests per UrlMap.\nNot supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.", + "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" }, @@ -61891,36 +66286,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -61964,11 +66359,11 @@ "type": "string" }, "expectedOutputUrl": { - "description": "The expected output URL evaluated by load balancer containing the scheme, host, path and query parameters.\nFor rules that forward requests to backends, the test passes only when expectedOutputUrl matches the request forwarded by 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.\nFor 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.\nexpectedOutputUrl is optional when service is specified.", + "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.\nexpectedRedirectResponseCode cannot be set when service is set.", + "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" }, @@ -61988,7 +66383,7 @@ "type": "string" }, "service": { - "description": "Expected BackendService or BackendBucket resource the given URL should be mapped to.\nservice cannot be set if expectedRedirectResponseCode is set.", + "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" } }, @@ -62104,36 +66499,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -62202,36 +66597,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -62260,6 +66655,23 @@ "UrlMapsValidateRequest": { "id": "UrlMapsValidateRequest", "properties": { + "loadBalancingSchemes": { + "description": "Specifies the load balancer type(s) this validation request is for. Use EXTERNAL_MANAGED for HTTP/HTTPS External Global Load Balancer with Advanced Traffic Management. Use EXTERNAL for Classic HTTP/HTTPS External Global Load Balancer. Other load balancer types are not supported. 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 L7 External Load Balancing.", + "Signifies that this will be used for Envoy-based L7 External Load Balancing.", + "If unspecified, the validation will try to infer the scheme from the backend service resources this Url map references. If the inferrence 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." @@ -62281,11 +66693,11 @@ "id": "UrlRewrite", "properties": { "hostRewrite": { - "description": "Prior to forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite.\nThe value must be between 1 and 255 characters.", + "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": "Prior to forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite.\nThe value must be between 1 and 1024 characters.", + "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" } }, @@ -62352,7 +66764,7 @@ "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.", + "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" }, "selfLink": { @@ -62392,36 +66804,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -62456,7 +66868,7 @@ "type": "string" }, "reportNamePrefix": { - "description": "An optional prefix for the name of the usage report object stored in bucketName. If not supplied, defaults to usage. 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.", + "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" } }, @@ -62579,36 +66991,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -62635,7 +67047,7 @@ "type": "object" }, "VpnGateway": { - "description": "Represents a HA VPN gateway.\n\nHA 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 . (== resource_for {$api_version}.vpnGateways ==)", + "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": { @@ -62657,7 +67069,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve an VpnGateway.", + "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 an VpnGateway.", "format": "byte", "type": "string" }, @@ -62695,8 +67107,20 @@ "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. If not specified, IPV4_ONLY will be used.", + "enum": [ + "IPV4_IPV6", + "IPV4_ONLY" + ], + "enumDescriptions": [ + "Enable VPN gateway with both IPv4 and IPv6 protocols.", + "Enable VPN gateway with only IPv4 protocol." + ], + "type": "string" + }, "vpnInterfaces": { - "description": "A list of interfaces on this VPN gateway.", + "description": "The list of VPN interfaces associated with this VPN gateway.", "items": { "$ref": "VpnGatewayVpnGatewayInterface" }, @@ -62773,36 +67197,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -62889,36 +67313,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -62968,8 +67392,8 @@ "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" }, @@ -63038,16 +67462,16 @@ "id": "VpnGatewayVpnGatewayInterface", "properties": { "id": { - "description": "The numeric ID of this VPN gateway interface.", + "description": "[Output Only] Numeric identifier for this VPN interface associated with the VPN gateway.", "format": "uint32", "type": "integer" }, "interconnectAttachment": { - "description": "URL of the interconnect attachment resource. When the value of this field is present, the VPN Gateway will be used for IPsec-encrypted Cloud Interconnect; all Egress or Ingress traffic for this VPN Gateway interface will go through the specified interconnect attachment resource.\nNot currently available in all Interconnect locations.", + "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 IPsec-encrypted Cloud Interconnect; all egress or ingress traffic for this VPN gateway interface goes through the specified VLAN attachment resource. Not currently available publicly. ", "type": "string" }, "ipAddress": { - "description": "[Output Only] The external IP address for this VPN gateway interface.", + "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 IPsec-encrypted Cloud Interconnect, the IP addresses for both interfaces could either be regional internal IP addresses or regional external IP addresses. For regular (non IPsec-encrypted Cloud Interconnect) HA VPN tunnels, the IP address must be a regional external IP address.", "type": "string" } }, @@ -63105,36 +67529,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -63161,7 +67585,7 @@ "type": "object" }, "VpnTunnel": { - "description": "Represents a Cloud VPN Tunnel resource.\n\nFor more information about VPN, read the the Cloud VPN Overview. (== resource_for {$api_version}.vpnTunnels ==)", + "description": "Represents a Cloud VPN Tunnel resource. For more information about VPN, read the the Cloud VPN Overview.", "id": "VpnTunnel", "properties": { "creationTimestamp": { @@ -63192,7 +67616,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a VpnTunnel.", + "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" }, @@ -63265,7 +67689,7 @@ "type": "string" }, "status": { - "description": "[Output Only] The status of the VPN tunnel, which can be one of the following: \n- PROVISIONING: Resource is being allocated for the VPN tunnel. \n- 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. \n- FIRST_HANDSHAKE: Successful first handshake with the peer VPN. \n- ESTABLISHED: Secure session is successfully established with the peer VPN. \n- NETWORK_ERROR: Deprecated, replaced by NO_INCOMING_PACKETS \n- AUTHORIZATION_ERROR: Auth error (for example, bad shared secret). \n- NEGOTIATION_FAILURE: Handshake failed. \n- DEPROVISIONING: Resources are being deallocated for the VPN tunnel. \n- FAILED: Tunnel creation has failed and the tunnel is not ready to be used. \n- NO_INCOMING_PACKETS: No incoming packets from peer. \n- REJECTED: Tunnel configuration was rejected, can be result of being denied access. \n- ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required resources. \n- STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for Classic VPN tunnels or the project is in frozen state. \n- PEER_IDENTITY_MISMATCH: Peer identity does not match peer IP, probably behind NAT. \n- TS_NARROWING_NOT_ALLOWED: Traffic selector narrowing not allowed for an HA-VPN tunnel.", + "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", @@ -63282,19 +67706,19 @@ "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" }, @@ -63382,36 +67806,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -63498,36 +67922,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -63596,36 +68020,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -63669,7 +68093,7 @@ "type": "array" }, "id": { - "description": "Google specified expression set ID. The format should be: - E.g. XSS-20170329", + "description": "Google specified expression set ID. The format should be: - E.g. XSS-20170329 required", "type": "string" } }, @@ -63679,26 +68103,26 @@ "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.", + "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" } }, "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 BackendServices. The volume of traffic for each BackendService is proportional to the weight specified in each 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 loadbalancer applies any relevant headerActions specified as part of this backendServiceWeight.", + "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.\nheaderAction specified here take effect before headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.\nNote that headerAction is not supported for Loadbalancers that have their loadBalancingScheme set to EXTERNAL.\nNot supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true." + "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 backendService, computed as weight / (sum of all weightedBackendService weights in routeAction) .\nThe selection of a backend service is determined only for new traffic. Once a user's request has been directed to a backendService, subsequent requests will be sent to the same backendService as determined by the BackendService's session affinity policy.\nThe value must be between 0 and 1000", + "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. The value must be from 0 to 1000.", "format": "uint32", "type": "integer" } @@ -63765,36 +68189,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -63844,7 +68268,7 @@ "type": "object" }, "Zone": { - "description": "Represents a Zone resource.\n\nA zone is a deployment area. These deployment areas are subsets of a region. For example the zone us-east1-a is located in the us-east1 region. For more information, read Regions and Zones. (== resource_for {$api_version}.zones ==)", + "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-a is located in the us-east1 region. For more information, read Regions and Zones.", "id": "Zone", "properties": { "availableCpuPlatforms": { @@ -63968,36 +68392,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { diff --git a/etc/api/compute/v1/compute-api.json b/etc/api/compute/v1/compute-api.json index cebe3c0f71..d236a1d492 100644 --- a/etc/api/compute/v1/compute-api.json +++ b/etc/api/compute/v1/compute-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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" @@ -12,13 +12,13 @@ "description": "View your Google Compute Engine resources" }, "https://www.googleapis.com/auth/devstorage.full_control": { - "description": "Manage your data and permissions in Google Cloud Storage" + "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 Google Cloud Storage" + "description": "Manage your data in Cloud Storage and see the email address of your Google Account" } } } @@ -26,32 +26,59 @@ "basePath": "/compute/v1/", "baseUrl": "https://compute.googleapis.com/compute/v1/", "batchPath": "batch/compute/v1", - "description": "Creates and runs virtual machines on Google Cloud Platform.", + "description": "Creates and runs virtual machines on Google Cloud Platform. ", "discoveryVersion": "v1", - "documentationLink": "https://developers.google.com/compute/docs/reference/latest/", - "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/GJGPg6nx_XMjycKEq_l6tvksT1o\"", + "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:v1", "kind": "discovery#restDescription", + "mtlsRootUrl": "https://compute.mtls.googleapis.com/", "name": "compute", "ownerDomain": "google.com", "ownerName": "Google", "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", + "$.xgafv": { + "description": "V1 error format.", "enum": [ - "json" + "1", + "2" ], "enumDescriptions": [ - "Responses with Content-Type of application/json" + "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", @@ -74,12 +101,22 @@ "type": "boolean" }, "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", + "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": "Deprecated. Please use quotaUser instead.", + "description": "Legacy name for parameter that has been superseded by `quotaUser`.", "location": "query", "type": "string" } @@ -90,6 +127,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of accelerator types.", + "flatPath": "projects/{project}/aggregated/acceleratorTypes", "httpMethod": "GET", "id": "compute.acceleratorTypes.aggregatedList", "parameterOrder": [ @@ -97,7 +135,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -115,7 +153,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -149,6 +187,7 @@ }, "get": { "description": "Returns the specified accelerator type.", + "flatPath": "projects/{project}/zones/{zone}/acceleratorTypes/{acceleratorType}", "httpMethod": "GET", "id": "compute.acceleratorTypes.get", "parameterOrder": [ @@ -191,6 +230,7 @@ }, "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": [ @@ -199,7 +239,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -212,7 +252,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -257,6 +297,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of addresses.", + "flatPath": "projects/{project}/aggregated/addresses", "httpMethod": "GET", "id": "compute.addresses.aggregatedList", "parameterOrder": [ @@ -264,7 +305,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -282,7 +323,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -316,6 +357,7 @@ }, "delete": { "description": "Deletes the specified address resource.", + "flatPath": "projects/{project}/regions/{region}/addresses/{address}", "httpMethod": "DELETE", "id": "compute.addresses.delete", "parameterOrder": [ @@ -346,7 +388,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -362,6 +404,7 @@ }, "get": { "description": "Returns the specified address resource.", + "flatPath": "projects/{project}/regions/{region}/addresses/{address}", "httpMethod": "GET", "id": "compute.addresses.get", "parameterOrder": [ @@ -404,6 +447,7 @@ }, "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": [ @@ -426,7 +470,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -445,6 +489,7 @@ }, "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": [ @@ -453,7 +498,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -466,7 +511,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -511,6 +556,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of autoscalers.", + "flatPath": "projects/{project}/aggregated/autoscalers", "httpMethod": "GET", "id": "compute.autoscalers.aggregatedList", "parameterOrder": [ @@ -518,7 +564,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -536,7 +582,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -570,6 +616,7 @@ }, "delete": { "description": "Deletes the specified autoscaler.", + "flatPath": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}", "httpMethod": "DELETE", "id": "compute.autoscalers.delete", "parameterOrder": [ @@ -593,7 +640,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -616,6 +663,7 @@ }, "get": { "description": "Returns the specified autoscaler resource. Gets a list of available autoscalers by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/autoscalers/{autoscaler}", "httpMethod": "GET", "id": "compute.autoscalers.get", "parameterOrder": [ @@ -658,6 +706,7 @@ }, "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": [ @@ -673,7 +722,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -699,6 +748,7 @@ }, "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": [ @@ -707,7 +757,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -720,7 +770,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -761,6 +811,7 @@ }, "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": [ @@ -782,7 +833,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -808,6 +859,7 @@ }, "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": [ @@ -829,7 +881,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -859,6 +911,7 @@ "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": [ @@ -880,7 +933,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -899,6 +952,7 @@ }, "delete": { "description": "Deletes the specified BackendBucket resource.", + "flatPath": "projects/{project}/global/backendBuckets/{backendBucket}", "httpMethod": "DELETE", "id": "compute.backendBuckets.delete", "parameterOrder": [ @@ -921,7 +975,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -937,6 +991,7 @@ }, "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": [ @@ -965,7 +1020,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -981,6 +1036,7 @@ }, "get": { "description": "Returns the specified BackendBucket resource. Gets a list of available backend buckets by making a list() request.", + "flatPath": "projects/{project}/global/backendBuckets/{backendBucket}", "httpMethod": "GET", "id": "compute.backendBuckets.get", "parameterOrder": [ @@ -1015,6 +1071,7 @@ }, "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": [ @@ -1029,7 +1086,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1048,6 +1105,7 @@ }, "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": [ @@ -1055,7 +1113,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1068,7 +1126,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -1102,6 +1160,7 @@ }, "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": [ @@ -1124,7 +1183,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1141,8 +1200,50 @@ "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 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/backendBuckets/{backendBucket}/setEdgeSecurityPolicy", + "request": { + "$ref": "SecurityPolicyReference" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "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": [ @@ -1165,7 +1266,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1188,6 +1289,7 @@ "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": [ @@ -1209,7 +1311,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1228,6 +1330,7 @@ }, "aggregatedList": { "description": "Retrieves the list of all BackendService resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/backendServices", "httpMethod": "GET", "id": "compute.backendServices.aggregatedList", "parameterOrder": [ @@ -1235,7 +1338,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1253,7 +1356,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -1287,6 +1390,7 @@ }, "delete": { "description": "Deletes the specified BackendService resource.", + "flatPath": "projects/{project}/global/backendServices/{backendService}", "httpMethod": "DELETE", "id": "compute.backendServices.delete", "parameterOrder": [ @@ -1309,7 +1413,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1325,6 +1429,7 @@ }, "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": [ @@ -1353,7 +1458,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1369,6 +1474,7 @@ }, "get": { "description": "Returns the specified BackendService resource. Gets a list of available backend services.", + "flatPath": "projects/{project}/global/backendServices/{backendService}", "httpMethod": "GET", "id": "compute.backendServices.get", "parameterOrder": [ @@ -1402,7 +1508,8 @@ ] }, "getHealth": { - "description": "Gets the most recent health check results for this BackendService.\n\nExample request body:\n\n{ \"group\": \"/zones/us-east1-b/instanceGroups/lb-backend-example\" }", + "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": [ @@ -1438,7 +1545,8 @@ ] }, "insert": { - "description": "Creates a BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview.", + "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": [ @@ -1453,7 +1561,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1472,6 +1580,7 @@ }, "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": [ @@ -1479,7 +1588,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1492,7 +1601,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -1525,7 +1634,8 @@ ] }, "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.", + "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": [ @@ -1548,7 +1658,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1565,8 +1675,50 @@ "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" + ] + }, "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": [ @@ -1588,7 +1740,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1607,6 +1759,7 @@ }, "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": [ @@ -1629,7 +1782,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -1652,6 +1805,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of disk types.", + "flatPath": "projects/{project}/aggregated/diskTypes", "httpMethod": "GET", "id": "compute.diskTypes.aggregatedList", "parameterOrder": [ @@ -1659,7 +1813,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1677,7 +1831,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -1711,6 +1865,7 @@ }, "get": { "description": "Returns the specified disk type. Gets a list of available disk types by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/diskTypes/{diskType}", "httpMethod": "GET", "id": "compute.diskTypes.get", "parameterOrder": [ @@ -1753,6 +1908,7 @@ }, "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": [ @@ -1761,7 +1917,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1774,7 +1930,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -1819,6 +1975,7 @@ "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": [ @@ -1842,7 +1999,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -1868,6 +2025,7 @@ }, "aggregatedList": { "description": "Retrieves an aggregated list of persistent disks.", + "flatPath": "projects/{project}/aggregated/disks", "httpMethod": "GET", "id": "compute.disks.aggregatedList", "parameterOrder": [ @@ -1875,7 +2033,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1893,7 +2051,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -1926,7 +2084,8 @@ ] }, "createSnapshot": { - "description": "Creates a snapshot of a specified persistent disk.", + "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": [ @@ -1943,7 +2102,7 @@ "type": "string" }, "guestFlush": { - "description": "[Input Only] Whether to attempt an application consistent snapshot by informing the OS to prepare for the snapshot process. Currently only supported on Windows instances using the Volume Shadow Copy Service (VSS).", + "description": "[Input Only] Whether to attempt an application consistent snapshot by informing the OS to prepare for the snapshot process.", "location": "query", "type": "boolean" }, @@ -1955,7 +2114,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -1981,6 +2140,7 @@ }, "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": [ @@ -2003,7 +2163,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -2026,6 +2186,7 @@ }, "get": { "description": "Returns a specified persistent disk. Gets a list of available persistent disks by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/disks/{disk}", "httpMethod": "GET", "id": "compute.disks.get", "parameterOrder": [ @@ -2068,6 +2229,7 @@ }, "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": [ @@ -2116,6 +2278,7 @@ }, "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": [ @@ -2131,7 +2294,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -2162,6 +2325,7 @@ }, "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": [ @@ -2170,7 +2334,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -2183,7 +2347,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -2224,6 +2388,7 @@ }, "removeResourcePolicies": { "description": "Removes resource policies from a disk.", + "flatPath": "projects/{project}/zones/{zone}/disks/{disk}/removeResourcePolicies", "httpMethod": "POST", "id": "compute.disks.removeResourcePolicies", "parameterOrder": [ @@ -2247,7 +2412,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -2273,6 +2438,7 @@ }, "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": [ @@ -2296,7 +2462,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -2322,6 +2488,7 @@ }, "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": [ @@ -2366,6 +2533,7 @@ }, "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": [ @@ -2382,7 +2550,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -2415,6 +2583,7 @@ }, "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": [ @@ -2464,6 +2633,7 @@ "methods": { "delete": { "description": "Deletes the specified externalVpnGateway.", + "flatPath": "projects/{project}/global/externalVpnGateways/{externalVpnGateway}", "httpMethod": "DELETE", "id": "compute.externalVpnGateways.delete", "parameterOrder": [ @@ -2486,7 +2656,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -2502,6 +2672,7 @@ }, "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": [ @@ -2536,6 +2707,7 @@ }, "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": [ @@ -2550,7 +2722,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -2569,6 +2741,7 @@ }, "list": { "description": "Retrieves the list of ExternalVpnGateway available to the specified project.", + "flatPath": "projects/{project}/global/externalVpnGateways", "httpMethod": "GET", "id": "compute.externalVpnGateways.list", "parameterOrder": [ @@ -2576,7 +2749,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -2589,7 +2762,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -2623,6 +2796,7 @@ }, "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": [ @@ -2659,6 +2833,7 @@ }, "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": [ @@ -2700,6 +2875,7 @@ "methods": { "addAssociation": { "description": "Inserts an association for the specified firewall policy.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/addAssociation", "httpMethod": "POST", "id": "compute.firewallPolicies.addAssociation", "parameterOrder": [ @@ -2719,7 +2895,7 @@ "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -2738,6 +2914,7 @@ }, "addRule": { "description": "Inserts a rule into a firewall policy.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/addRule", "httpMethod": "POST", "id": "compute.firewallPolicies.addRule", "parameterOrder": [ @@ -2752,7 +2929,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -2771,6 +2948,7 @@ }, "cloneRules": { "description": "Copies rules to the specified firewall policy.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/cloneRules", "httpMethod": "POST", "id": "compute.firewallPolicies.cloneRules", "parameterOrder": [ @@ -2785,7 +2963,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -2806,6 +2984,7 @@ }, "delete": { "description": "Deletes the specified policy.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}", "httpMethod": "DELETE", "id": "compute.firewallPolicies.delete", "parameterOrder": [ @@ -2820,7 +2999,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -2836,6 +3015,7 @@ }, "get": { "description": "Returns the specified firewall policy.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}", "httpMethod": "GET", "id": "compute.firewallPolicies.get", "parameterOrder": [ @@ -2862,6 +3042,7 @@ }, "getAssociation": { "description": "Gets an association with the specified name.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/getAssociation", "httpMethod": "GET", "id": "compute.firewallPolicies.getAssociation", "parameterOrder": [ @@ -2893,6 +3074,7 @@ }, "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": [ @@ -2925,6 +3107,7 @@ }, "getRule": { "description": "Gets a rule of the specified priority.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/getRule", "httpMethod": "GET", "id": "compute.firewallPolicies.getRule", "parameterOrder": [ @@ -2957,6 +3140,7 @@ }, "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": { @@ -2966,7 +3150,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -2984,12 +3168,13 @@ ] }, "list": { - "description": "Lists all the policies that have been configured for the specified project.", + "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. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -3002,7 +3187,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -3034,6 +3219,7 @@ }, "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": { @@ -3049,11 +3235,13 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "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": [ @@ -3073,7 +3261,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3089,6 +3277,7 @@ }, "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": [ @@ -3103,7 +3292,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3122,6 +3311,7 @@ }, "patchRule": { "description": "Patches a rule of the specified priority.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/patchRule", "httpMethod": "POST", "id": "compute.firewallPolicies.patchRule", "parameterOrder": [ @@ -3142,7 +3332,7 @@ "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3161,6 +3351,7 @@ }, "removeAssociation": { "description": "Removes an association for the specified firewall policy.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/removeAssociation", "httpMethod": "POST", "id": "compute.firewallPolicies.removeAssociation", "parameterOrder": [ @@ -3180,7 +3371,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3196,6 +3387,7 @@ }, "removeRule": { "description": "Deletes a rule of the specified priority.", + "flatPath": "locations/global/firewallPolicies/{firewallPolicy}/removeRule", "httpMethod": "POST", "id": "compute.firewallPolicies.removeRule", "parameterOrder": [ @@ -3216,7 +3408,7 @@ "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.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3232,6 +3424,7 @@ }, "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": [ @@ -3260,6 +3453,7 @@ }, "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": [ @@ -3293,6 +3487,7 @@ "methods": { "delete": { "description": "Deletes the specified firewall.", + "flatPath": "projects/{project}/global/firewalls/{firewall}", "httpMethod": "DELETE", "id": "compute.firewalls.delete", "parameterOrder": [ @@ -3315,7 +3510,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3331,6 +3526,7 @@ }, "get": { "description": "Returns the specified firewall.", + "flatPath": "projects/{project}/global/firewalls/{firewall}", "httpMethod": "GET", "id": "compute.firewalls.get", "parameterOrder": [ @@ -3365,6 +3561,7 @@ }, "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": [ @@ -3379,7 +3576,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3398,6 +3595,7 @@ }, "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": [ @@ -3405,7 +3603,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -3418,7 +3616,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -3452,6 +3650,7 @@ }, "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": [ @@ -3474,7 +3673,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3493,6 +3692,7 @@ }, "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": [ @@ -3515,7 +3715,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3538,6 +3738,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of forwarding rules.", + "flatPath": "projects/{project}/aggregated/forwardingRules", "httpMethod": "GET", "id": "compute.forwardingRules.aggregatedList", "parameterOrder": [ @@ -3545,7 +3746,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -3563,7 +3764,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -3597,6 +3798,7 @@ }, "delete": { "description": "Deletes the specified ForwardingRule resource.", + "flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", "httpMethod": "DELETE", "id": "compute.forwardingRules.delete", "parameterOrder": [ @@ -3627,7 +3829,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3643,6 +3845,7 @@ }, "get": { "description": "Returns the specified ForwardingRule resource.", + "flatPath": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", "httpMethod": "GET", "id": "compute.forwardingRules.get", "parameterOrder": [ @@ -3685,6 +3888,7 @@ }, "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": [ @@ -3707,7 +3911,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3726,6 +3930,7 @@ }, "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": [ @@ -3734,7 +3939,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -3747,7 +3952,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -3788,6 +3993,7 @@ }, "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": [ @@ -3818,7 +4024,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3837,6 +4043,7 @@ }, "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": [ @@ -3860,7 +4067,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -3886,6 +4093,7 @@ }, "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": [ @@ -3916,7 +4124,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3939,6 +4147,7 @@ "methods": { "delete": { "description": "Deletes the specified address resource.", + "flatPath": "projects/{project}/global/addresses/{address}", "httpMethod": "DELETE", "id": "compute.globalAddresses.delete", "parameterOrder": [ @@ -3961,7 +4170,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -3977,6 +4186,7 @@ }, "get": { "description": "Returns the specified address resource. Gets a list of available addresses by making a list() request.", + "flatPath": "projects/{project}/global/addresses/{address}", "httpMethod": "GET", "id": "compute.globalAddresses.get", "parameterOrder": [ @@ -4011,6 +4221,7 @@ }, "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": [ @@ -4025,7 +4236,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4044,6 +4255,7 @@ }, "list": { "description": "Retrieves a list of global addresses.", + "flatPath": "projects/{project}/global/addresses", "httpMethod": "GET", "id": "compute.globalAddresses.list", "parameterOrder": [ @@ -4051,7 +4263,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -4064,7 +4276,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -4102,6 +4314,7 @@ "methods": { "delete": { "description": "Deletes the specified GlobalForwardingRule resource.", + "flatPath": "projects/{project}/global/forwardingRules/{forwardingRule}", "httpMethod": "DELETE", "id": "compute.globalForwardingRules.delete", "parameterOrder": [ @@ -4124,7 +4337,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4140,6 +4353,7 @@ }, "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": [ @@ -4174,6 +4388,7 @@ }, "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": [ @@ -4188,7 +4403,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4207,6 +4422,7 @@ }, "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": [ @@ -4214,7 +4430,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -4227,7 +4443,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -4261,6 +4477,7 @@ }, "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": [ @@ -4283,7 +4500,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4301,7 +4518,8 @@ ] }, "setLabels": { - "description": "Sets the labels on the specified resource. To learn more about labels, read the Labeling Resources documentation.", + "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": [ @@ -4338,6 +4556,7 @@ }, "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": [ @@ -4360,7 +4579,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4383,6 +4602,7 @@ "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": [ @@ -4404,7 +4624,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4423,6 +4643,7 @@ }, "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": [ @@ -4444,7 +4665,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4460,6 +4681,7 @@ }, "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": [ @@ -4481,7 +4703,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4500,6 +4722,7 @@ }, "get": { "description": "Returns the specified network endpoint group. Gets a list of available network endpoint groups by making a list() request.", + "flatPath": "projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}", "httpMethod": "GET", "id": "compute.globalNetworkEndpointGroups.get", "parameterOrder": [ @@ -4533,6 +4756,7 @@ }, "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": [ @@ -4547,7 +4771,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -4566,6 +4790,7 @@ }, "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": [ @@ -4573,7 +4798,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -4586,7 +4811,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -4620,6 +4845,7 @@ }, "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": [ @@ -4628,7 +4854,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -4647,7 +4873,7 @@ "type": "string" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -4685,6 +4911,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of all operations.", + "flatPath": "projects/{project}/aggregated/operations", "httpMethod": "GET", "id": "compute.globalOperations.aggregatedList", "parameterOrder": [ @@ -4692,7 +4919,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -4710,7 +4937,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -4744,6 +4971,7 @@ }, "delete": { "description": "Deletes the specified Operations resource.", + "flatPath": "projects/{project}/global/operations/{operation}", "httpMethod": "DELETE", "id": "compute.globalOperations.delete", "parameterOrder": [ @@ -4773,7 +5001,8 @@ ] }, "get": { - "description": "Retrieves the specified Operations resource. Gets a list of operations by making a `list()` request.", + "description": "Retrieves the specified Operations resource.", + "flatPath": "projects/{project}/global/operations/{operation}", "httpMethod": "GET", "id": "compute.globalOperations.get", "parameterOrder": [ @@ -4808,6 +5037,7 @@ }, "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": [ @@ -4815,7 +5045,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -4828,7 +5058,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -4861,7 +5091,8 @@ ] }, "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.\n\nThis method is called on a best-effort basis. Specifically: \n- In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. \n- 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`.", + "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": [ @@ -4900,6 +5131,7 @@ "methods": { "delete": { "description": "Deletes the specified Operations resource.", + "flatPath": "locations/global/operations/{operation}", "httpMethod": "DELETE", "id": "compute.globalOrganizationOperations.delete", "parameterOrder": [ @@ -4927,6 +5159,7 @@ }, "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": [ @@ -4958,11 +5191,12 @@ }, "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. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -4975,7 +5209,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -5011,6 +5245,7 @@ "methods": { "delete": { "description": "Deletes the specified global PublicDelegatedPrefix.", + "flatPath": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", "httpMethod": "DELETE", "id": "compute.globalPublicDelegatedPrefixes.delete", "parameterOrder": [ @@ -5033,7 +5268,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5049,6 +5284,7 @@ }, "get": { "description": "Returns the specified global PublicDelegatedPrefix resource.", + "flatPath": "projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}", "httpMethod": "GET", "id": "compute.globalPublicDelegatedPrefixes.get", "parameterOrder": [ @@ -5083,6 +5319,7 @@ }, "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": [ @@ -5097,7 +5334,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5116,6 +5353,7 @@ }, "list": { "description": "Lists the global PublicDelegatedPrefixes for a project.", + "flatPath": "projects/{project}/global/publicDelegatedPrefixes", "httpMethod": "GET", "id": "compute.globalPublicDelegatedPrefixes.list", "parameterOrder": [ @@ -5123,7 +5361,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -5136,7 +5374,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -5170,6 +5408,7 @@ }, "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": [ @@ -5192,7 +5431,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5215,6 +5454,7 @@ "methods": { "aggregatedList": { "description": "Retrieves the list of all HealthCheck resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/healthChecks", "httpMethod": "GET", "id": "compute.healthChecks.aggregatedList", "parameterOrder": [ @@ -5222,7 +5462,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -5240,7 +5480,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -5274,6 +5514,7 @@ }, "delete": { "description": "Deletes the specified HealthCheck resource.", + "flatPath": "projects/{project}/global/healthChecks/{healthCheck}", "httpMethod": "DELETE", "id": "compute.healthChecks.delete", "parameterOrder": [ @@ -5296,7 +5537,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5312,6 +5553,7 @@ }, "get": { "description": "Returns the specified HealthCheck resource. Gets a list of available health checks by making a list() request.", + "flatPath": "projects/{project}/global/healthChecks/{healthCheck}", "httpMethod": "GET", "id": "compute.healthChecks.get", "parameterOrder": [ @@ -5346,6 +5588,7 @@ }, "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": [ @@ -5360,7 +5603,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5379,6 +5622,7 @@ }, "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": [ @@ -5386,7 +5630,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -5399,7 +5643,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -5433,6 +5677,7 @@ }, "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": [ @@ -5455,7 +5700,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5474,6 +5719,7 @@ }, "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": [ @@ -5496,7 +5742,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5519,6 +5765,7 @@ "methods": { "delete": { "description": "Deletes the specified HttpHealthCheck resource.", + "flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", "httpMethod": "DELETE", "id": "compute.httpHealthChecks.delete", "parameterOrder": [ @@ -5541,7 +5788,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5557,6 +5804,7 @@ }, "get": { "description": "Returns the specified HttpHealthCheck resource. Gets a list of available HTTP health checks by making a list() request.", + "flatPath": "projects/{project}/global/httpHealthChecks/{httpHealthCheck}", "httpMethod": "GET", "id": "compute.httpHealthChecks.get", "parameterOrder": [ @@ -5591,6 +5839,7 @@ }, "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": [ @@ -5605,7 +5854,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5624,6 +5873,7 @@ }, "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": [ @@ -5631,7 +5881,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -5644,7 +5894,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -5678,6 +5928,7 @@ }, "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": [ @@ -5700,7 +5951,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5719,6 +5970,7 @@ }, "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": [ @@ -5741,7 +5993,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5764,6 +6016,7 @@ "methods": { "delete": { "description": "Deletes the specified HttpsHealthCheck resource.", + "flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", "httpMethod": "DELETE", "id": "compute.httpsHealthChecks.delete", "parameterOrder": [ @@ -5786,7 +6039,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5802,6 +6055,7 @@ }, "get": { "description": "Returns the specified HttpsHealthCheck resource. Gets a list of available HTTPS health checks by making a list() request.", + "flatPath": "projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}", "httpMethod": "GET", "id": "compute.httpsHealthChecks.get", "parameterOrder": [ @@ -5836,6 +6090,7 @@ }, "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": [ @@ -5850,7 +6105,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5869,6 +6124,7 @@ }, "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": [ @@ -5876,7 +6132,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -5889,7 +6145,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -5923,6 +6179,7 @@ }, "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": [ @@ -5945,7 +6202,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -5964,6 +6221,7 @@ }, "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": [ @@ -5986,7 +6244,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6005,10 +6263,58 @@ } } }, + "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": [ @@ -6031,7 +6337,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6046,7 +6352,8 @@ ] }, "deprecate": { - "description": "Sets the deprecation status of an image.\n\nIf an empty request body is given, clears the deprecation status instead.", + "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": [ @@ -6069,7 +6376,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6088,6 +6395,7 @@ }, "get": { "description": "Returns the specified image. Gets a list of available images by making a list() request.", + "flatPath": "projects/{project}/global/images/{image}", "httpMethod": "GET", "id": "compute.images.get", "parameterOrder": [ @@ -6122,6 +6430,7 @@ }, "getFromFamily": { "description": "Returns the latest image that is part of an image family and is not deprecated.", + "flatPath": "projects/{project}/global/images/family/{family}", "httpMethod": "GET", "id": "compute.images.getFromFamily", "parameterOrder": [ @@ -6156,6 +6465,7 @@ }, "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": [ @@ -6196,6 +6506,7 @@ }, "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": [ @@ -6215,7 +6526,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6237,6 +6548,7 @@ }, "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": [ @@ -6244,7 +6556,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -6257,7 +6569,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -6291,6 +6603,7 @@ }, "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": [ @@ -6313,7 +6626,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -6332,6 +6645,7 @@ }, "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": [ @@ -6368,6 +6682,7 @@ }, "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": [ @@ -6404,6 +6719,7 @@ }, "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": [ @@ -6444,7 +6760,8 @@ "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.\n\nIf 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.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -6467,7 +6784,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -6492,6 +6809,7 @@ }, "aggregatedList": { "description": "Retrieves the list of managed instance groups and groups them by zone.", + "flatPath": "projects/{project}/aggregated/instanceGroupManagers", "httpMethod": "GET", "id": "compute.instanceGroupManagers.aggregatedList", "parameterOrder": [ @@ -6499,7 +6817,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -6517,7 +6835,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -6551,6 +6869,7 @@ }, "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": [ @@ -6593,6 +6912,7 @@ }, "createInstances": { "description": "Creates instances with per-instance configs 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": [ @@ -6615,7 +6935,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same 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" }, @@ -6639,7 +6959,8 @@ ] }, "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.", + "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": [ @@ -6662,7 +6983,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -6683,7 +7004,8 @@ ] }, "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.\n\nIf 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.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -6706,7 +7028,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -6731,6 +7053,7 @@ }, "deletePerInstanceConfigs": { "description": "Deletes selected per-instance configs for the managed instance group.", + "flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", "httpMethod": "POST", "id": "compute.instanceGroupManagers.deletePerInstanceConfigs", "parameterOrder": [ @@ -6773,6 +7096,7 @@ }, "get": { "description": "Returns all of the details about the specified managed instance group. Gets a list of available managed instance groups by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", "httpMethod": "GET", "id": "compute.instanceGroupManagers.get", "parameterOrder": [ @@ -6812,7 +7136,8 @@ ] }, "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.\n\nA managed instance group can have up to 1000 VM instances per group. Please contact Cloud Support if you need an increase in this limit.", + "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": [ @@ -6828,7 +7153,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -6853,6 +7178,7 @@ }, "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": [ @@ -6861,7 +7187,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -6874,7 +7200,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -6914,6 +7240,7 @@ }, "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": [ @@ -6923,12 +7250,12 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "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-9]{0,19}.", + "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" @@ -6942,7 +7269,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -6982,6 +7309,7 @@ }, "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.", + "flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", "httpMethod": "POST", "id": "compute.instanceGroupManagers.listManagedInstances", "parameterOrder": [ @@ -6991,7 +7319,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -7010,7 +7338,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -7050,6 +7378,7 @@ }, "listPerInstanceConfigs": { "description": "Lists all of the per-instance configs 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": [ @@ -7059,7 +7388,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -7078,7 +7407,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -7117,7 +7446,8 @@ ] }, "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.", + "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": [ @@ -7140,7 +7470,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7165,6 +7495,7 @@ }, "patchPerInstanceConfigs": { "description": "Inserts or patches per-instance configs 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": [ @@ -7187,7 +7518,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7211,7 +7542,8 @@ ] }, "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.\n\nIf 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.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -7234,7 +7566,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7258,7 +7590,8 @@ ] }, "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.\n\nWhen 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:\n\n+ 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.\n\nThis list is subject to change.\n\nIf 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.", + "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": [ @@ -7282,7 +7615,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7311,6 +7644,7 @@ }, "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": [ @@ -7333,7 +7667,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7358,6 +7692,7 @@ }, "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": [ @@ -7380,7 +7715,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7405,6 +7740,7 @@ }, "updatePerInstanceConfigs": { "description": "Inserts or updates per-instance configs 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": [ @@ -7427,7 +7763,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7455,7 +7791,8 @@ "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.", + "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": [ @@ -7478,7 +7815,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7503,6 +7840,7 @@ }, "aggregatedList": { "description": "Retrieves the list of instance groups and sorts them by zone.", + "flatPath": "projects/{project}/aggregated/instanceGroups", "httpMethod": "GET", "id": "compute.instanceGroups.aggregatedList", "parameterOrder": [ @@ -7510,7 +7848,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -7528,7 +7866,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -7561,7 +7899,8 @@ ] }, "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.", + "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": [ @@ -7584,7 +7923,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7605,7 +7944,8 @@ ] }, "get": { - "description": "Returns the specified zonal instance group. Get a list of available zonal instance groups by making a list() request.\n\nFor managed instance groups, use the instanceGroupManagers or regionInstanceGroupManagers methods instead.", + "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": [ @@ -7646,6 +7986,7 @@ }, "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": [ @@ -7661,7 +8002,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7685,7 +8026,8 @@ ] }, "list": { - "description": "Retrieves the list of zonal instance group resources contained within the specified zone.\n\nFor managed instance groups, use the instanceGroupManagers or regionInstanceGroupManagers methods instead.", + "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": [ @@ -7694,7 +8036,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -7707,7 +8049,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -7747,6 +8089,7 @@ }, "listInstances": { "description": "Lists the instances in the specified instance group. The orderBy query parameter is not supported.", + "flatPath": "projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances", "httpMethod": "POST", "id": "compute.instanceGroups.listInstances", "parameterOrder": [ @@ -7756,7 +8099,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -7775,7 +8118,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -7817,7 +8160,8 @@ ] }, "removeInstances": { - "description": "Removes one or more instances from the specified instance group, but does not delete those instances.\n\nIf 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.", + "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": [ @@ -7840,7 +8184,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7865,6 +8209,7 @@ }, "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": [ @@ -7887,7 +8232,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -7916,6 +8261,7 @@ "methods": { "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": [ @@ -7938,7 +8284,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -7954,6 +8300,7 @@ }, "get": { "description": "Returns the specified instance template. Gets a list of available instance templates by making a list() request.", + "flatPath": "projects/{project}/global/instanceTemplates/{instanceTemplate}", "httpMethod": "GET", "id": "compute.instanceTemplates.get", "parameterOrder": [ @@ -7988,6 +8335,7 @@ }, "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": [ @@ -8028,6 +8376,7 @@ }, "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": [ @@ -8042,7 +8391,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -8061,6 +8410,7 @@ }, "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": [ @@ -8068,7 +8418,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -8081,7 +8431,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -8115,6 +8465,7 @@ }, "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": [ @@ -8151,6 +8502,7 @@ }, "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": [ @@ -8192,6 +8544,7 @@ "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": [ @@ -8222,7 +8575,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8248,6 +8601,7 @@ }, "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": [ @@ -8271,7 +8625,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8296,7 +8650,8 @@ ] }, "aggregatedList": { - "description": "Retrieves aggregated list of all of the instances in your project across all regions and zones.", + "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.", + "flatPath": "projects/{project}/aggregated/instances", "httpMethod": "GET", "id": "compute.instances.aggregatedList", "parameterOrder": [ @@ -8304,7 +8659,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -8322,7 +8677,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -8356,6 +8711,7 @@ }, "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": [ @@ -8384,7 +8740,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8410,6 +8766,7 @@ }, "bulkInsert": { "description": "Creates multiple instances. Count specifies the number of instances to create.", + "flatPath": "projects/{project}/zones/{zone}/instances/bulkInsert", "httpMethod": "POST", "id": "compute.instances.bulkInsert", "parameterOrder": [ @@ -8425,7 +8782,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8451,6 +8808,7 @@ }, "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": [ @@ -8474,7 +8832,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8497,6 +8855,7 @@ }, "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": [ @@ -8534,7 +8893,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8557,6 +8916,7 @@ }, "detachDisk": { "description": "Detaches a disk from an instance.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/detachDisk", "httpMethod": "POST", "id": "compute.instances.detachDisk", "parameterOrder": [ @@ -8587,7 +8947,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -8610,6 +8970,7 @@ }, "get": { "description": "Returns the specified Instance resource. Gets a list of available instances by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}", "httpMethod": "GET", "id": "compute.instances.get", "parameterOrder": [ @@ -8652,6 +9013,7 @@ }, "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": [ @@ -8701,6 +9063,7 @@ }, "getGuestAttributes": { "description": "Returns the specified guest attributes entry.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/getGuestAttributes", "httpMethod": "GET", "id": "compute.instances.getGuestAttributes", "parameterOrder": [ @@ -8753,6 +9116,7 @@ }, "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": [ @@ -8801,6 +9165,7 @@ }, "getScreenshot": { "description": "Returns the screenshot from the specified instance.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/screenshot", "httpMethod": "GET", "id": "compute.instances.getScreenshot", "parameterOrder": [ @@ -8843,6 +9208,7 @@ }, "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": [ @@ -8875,7 +9241,7 @@ "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`.\n\nIf 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.\n\nYou 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.", + "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.", "format": "int64", "location": "query", "type": "string" @@ -8900,6 +9266,7 @@ }, "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": [ @@ -8942,6 +9309,7 @@ }, "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": [ @@ -8957,12 +9325,17 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request 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.\n\nThis field is optional. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: \n- https://www.googleapis.com/compute/v1/projects/project/global/instanceTemplates/instanceTemplate \n- projects/project/global/instanceTemplates/instanceTemplate \n- global/instanceTemplates/instanceTemplate", + "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" }, @@ -8988,6 +9361,7 @@ }, "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": [ @@ -8996,7 +9370,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -9009,7 +9383,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -9050,6 +9424,7 @@ }, "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": [ @@ -9059,7 +9434,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -9079,7 +9454,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -9120,6 +9495,7 @@ }, "removeResourcePolicies": { "description": "Removes resource policies from an instance.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/removeResourcePolicies", "httpMethod": "POST", "id": "compute.instances.removeResourcePolicies", "parameterOrder": [ @@ -9143,7 +9519,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9169,6 +9545,7 @@ }, "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": [ @@ -9192,7 +9569,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9213,8 +9590,95 @@ "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", + "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": [ @@ -9237,7 +9701,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9267,6 +9731,7 @@ }, "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": [ @@ -9305,7 +9770,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9328,6 +9793,7 @@ }, "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": [ @@ -9372,6 +9838,7 @@ }, "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": [ @@ -9395,7 +9862,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9421,6 +9888,7 @@ }, "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": [ @@ -9444,7 +9912,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9470,6 +9938,7 @@ }, "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": [ @@ -9493,7 +9962,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9519,6 +9988,7 @@ }, "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": [ @@ -9542,7 +10012,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9568,6 +10038,7 @@ }, "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": [ @@ -9591,7 +10062,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9616,7 +10087,8 @@ ] }, "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.", + "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 availability policies.", + "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/setScheduling", "httpMethod": "POST", "id": "compute.instances.setScheduling", "parameterOrder": [ @@ -9640,7 +10112,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9666,6 +10138,7 @@ }, "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": [ @@ -9689,7 +10162,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9715,6 +10188,7 @@ }, "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": [ @@ -9738,7 +10212,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9764,6 +10238,7 @@ }, "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": [ @@ -9787,7 +10262,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9812,7 +10287,8 @@ ] }, "simulateMaintenanceEvent": { - "description": "Simulates a maintenance event on the instance.", + "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": [ @@ -9854,6 +10330,7 @@ }, "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": [ @@ -9877,7 +10354,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9900,6 +10377,7 @@ }, "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": [ @@ -9923,7 +10401,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9949,6 +10427,7 @@ }, "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": [ @@ -9972,7 +10451,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -9993,8 +10472,56 @@ "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": { + "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": [ @@ -10039,7 +10566,8 @@ ] }, "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.", + "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": [ @@ -10065,9 +10593,9 @@ ], "enumDescriptions": [ "", - "", - "", - "" + "No changes can be made to the instance.", + "The instance will not restart.", + "The instance will restart." ], "location": "query", "type": "string" @@ -10082,9 +10610,9 @@ ], "enumDescriptions": [ "", - "", - "", - "" + "No changes can be made to the instance.", + "The instance will not restart.", + "The instance will restart." ], "location": "query", "type": "string" @@ -10097,7 +10625,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10123,6 +10651,7 @@ }, "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": [ @@ -10153,7 +10682,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10179,6 +10708,7 @@ }, "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": [ @@ -10202,7 +10732,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10228,6 +10758,7 @@ }, "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": [ @@ -10258,7 +10789,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10284,6 +10815,7 @@ }, "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": [ @@ -10307,7 +10839,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10337,6 +10869,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of interconnect attachments.", + "flatPath": "projects/{project}/aggregated/interconnectAttachments", "httpMethod": "GET", "id": "compute.interconnectAttachments.aggregatedList", "parameterOrder": [ @@ -10344,7 +10877,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -10362,7 +10895,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -10396,6 +10929,7 @@ }, "delete": { "description": "Deletes the specified interconnect attachment.", + "flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", "httpMethod": "DELETE", "id": "compute.interconnectAttachments.delete", "parameterOrder": [ @@ -10426,7 +10960,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -10442,6 +10976,7 @@ }, "get": { "description": "Returns the specified interconnect attachment.", + "flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", "httpMethod": "GET", "id": "compute.interconnectAttachments.get", "parameterOrder": [ @@ -10484,6 +11019,7 @@ }, "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": [ @@ -10506,7 +11042,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -10530,6 +11066,7 @@ }, "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": [ @@ -10538,7 +11075,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -10551,7 +11088,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -10592,6 +11129,7 @@ }, "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": [ @@ -10622,7 +11160,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -10645,6 +11183,7 @@ "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": [ @@ -10679,6 +11218,7 @@ }, "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": [ @@ -10686,7 +11226,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -10699,7 +11239,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -10737,6 +11277,7 @@ "methods": { "delete": { "description": "Deletes the specified interconnect.", + "flatPath": "projects/{project}/global/interconnects/{interconnect}", "httpMethod": "DELETE", "id": "compute.interconnects.delete", "parameterOrder": [ @@ -10759,7 +11300,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -10775,6 +11316,7 @@ }, "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": [ @@ -10809,6 +11351,7 @@ }, "getDiagnostics": { "description": "Returns the interconnectDiagnostics for the specified interconnect.", + "flatPath": "projects/{project}/global/interconnects/{interconnect}/getDiagnostics", "httpMethod": "GET", "id": "compute.interconnects.getDiagnostics", "parameterOrder": [ @@ -10843,6 +11386,7 @@ }, "insert": { "description": "Creates a Interconnect in the specified project using the data included in the request.", + "flatPath": "projects/{project}/global/interconnects", "httpMethod": "POST", "id": "compute.interconnects.insert", "parameterOrder": [ @@ -10857,7 +11401,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -10876,6 +11420,7 @@ }, "list": { "description": "Retrieves the list of interconnect available to the specified project.", + "flatPath": "projects/{project}/global/interconnects", "httpMethod": "GET", "id": "compute.interconnects.list", "parameterOrder": [ @@ -10883,7 +11428,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -10896,7 +11441,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -10930,6 +11475,7 @@ }, "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": [ @@ -10952,7 +11498,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -10974,7 +11520,8 @@ "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.", + "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": [ @@ -11008,7 +11555,8 @@ ] }, "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.", + "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": [ @@ -11049,7 +11597,8 @@ "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.", + "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": [ @@ -11072,7 +11621,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -11087,7 +11636,8 @@ ] }, "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.", + "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": [ @@ -11121,7 +11671,8 @@ ] }, "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.", + "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": [ @@ -11161,7 +11712,8 @@ ] }, "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.", + "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": [ @@ -11176,7 +11728,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -11197,7 +11749,8 @@ ] }, "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.", + "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": [ @@ -11205,7 +11758,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -11218,7 +11771,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -11251,7 +11804,8 @@ ] }, "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.", + "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": [ @@ -11287,7 +11841,8 @@ ] }, "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.", + "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": [ @@ -11325,10 +11880,299 @@ } } }, + "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. Gets a list of available machine images by making a list() request.", + "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. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", + "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.", + "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.", + "flatPath": "projects/{project}/aggregated/machineTypes", "httpMethod": "GET", "id": "compute.machineTypes.aggregatedList", "parameterOrder": [ @@ -11336,7 +12180,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -11354,7 +12198,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -11388,6 +12232,7 @@ }, "get": { "description": "Returns the specified machine type. Gets a list of available machine types by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/machineTypes/{machineType}", "httpMethod": "GET", "id": "compute.machineTypes.get", "parameterOrder": [ @@ -11430,6 +12275,7 @@ }, "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": [ @@ -11438,7 +12284,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -11451,7 +12297,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -11496,6 +12342,7 @@ "methods": { "aggregatedList": { "description": "Retrieves the list of network endpoint groups and sorts them by zone.", + "flatPath": "projects/{project}/aggregated/networkEndpointGroups", "httpMethod": "GET", "id": "compute.networkEndpointGroups.aggregatedList", "parameterOrder": [ @@ -11503,7 +12350,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -11521,7 +12368,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -11555,6 +12402,7 @@ }, "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": [ @@ -11577,7 +12425,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11602,6 +12450,7 @@ }, "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": [ @@ -11624,7 +12473,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11646,6 +12495,7 @@ }, "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": [ @@ -11668,7 +12518,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11693,6 +12543,7 @@ }, "get": { "description": "Returns the specified network endpoint group. Gets a list of available network endpoint groups by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", "httpMethod": "GET", "id": "compute.networkEndpointGroups.get", "parameterOrder": [ @@ -11733,6 +12584,7 @@ }, "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": [ @@ -11748,7 +12600,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -11773,6 +12625,7 @@ }, "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": [ @@ -11781,7 +12634,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -11794,7 +12647,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -11834,6 +12687,7 @@ }, "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": [ @@ -11843,7 +12697,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -11862,7 +12716,7 @@ "type": "string" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -11905,6 +12759,7 @@ }, "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": [ @@ -11950,10 +12805,699 @@ } } }, + "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": { + "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" + ] + }, + "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" + ] + }, + "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" + ] + }, + "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. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", + "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.", + "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" + ] + }, + "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" + ] + }, + "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" + ] + } + } + }, "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": [ @@ -11976,7 +13520,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -11995,6 +13539,7 @@ }, "delete": { "description": "Deletes the specified network.", + "flatPath": "projects/{project}/global/networks/{network}", "httpMethod": "DELETE", "id": "compute.networks.delete", "parameterOrder": [ @@ -12017,7 +13562,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -12033,6 +13578,7 @@ }, "get": { "description": "Returns the specified network. Gets a list of available networks by making a list() request.", + "flatPath": "projects/{project}/global/networks/{network}", "httpMethod": "GET", "id": "compute.networks.get", "parameterOrder": [ @@ -12067,6 +13613,7 @@ }, "getEffectiveFirewalls": { "description": "Returns the effective firewalls on a given network.", + "flatPath": "projects/{project}/global/networks/{network}/getEffectiveFirewalls", "httpMethod": "GET", "id": "compute.networks.getEffectiveFirewalls", "parameterOrder": [ @@ -12101,6 +13648,7 @@ }, "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": [ @@ -12115,7 +13663,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -12134,6 +13682,7 @@ }, "list": { "description": "Retrieves the list of networks available to the specified project.", + "flatPath": "projects/{project}/global/networks", "httpMethod": "GET", "id": "compute.networks.list", "parameterOrder": [ @@ -12141,7 +13690,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -12154,7 +13703,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -12188,6 +13737,7 @@ }, "listPeeringRoutes": { "description": "Lists the peering routes exchanged over peering connection.", + "flatPath": "projects/{project}/global/networks/{network}/listPeeringRoutes", "httpMethod": "GET", "id": "compute.networks.listPeeringRoutes", "parameterOrder": [ @@ -12202,14 +13752,14 @@ "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. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -12229,7 +13779,7 @@ "type": "string" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -12273,6 +13823,7 @@ }, "patch": { "description": "Patches the specified network with the data included in the request. Only the following fields can be modified: routingConfig.routingMode.", + "flatPath": "projects/{project}/global/networks/{network}", "httpMethod": "PATCH", "id": "compute.networks.patch", "parameterOrder": [ @@ -12295,7 +13846,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -12314,6 +13865,7 @@ }, "removePeering": { "description": "Removes a peering from the specified network.", + "flatPath": "projects/{project}/global/networks/{network}/removePeering", "httpMethod": "POST", "id": "compute.networks.removePeering", "parameterOrder": [ @@ -12336,7 +13888,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -12355,6 +13907,7 @@ }, "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": [ @@ -12377,7 +13930,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -12392,7 +13945,8 @@ ] }, "updatePeering": { - "description": "Updates the specified network peering with the data included in the request Only the following fields can be modified: NetworkPeering.export_custom_routes, and NetworkPeering.import_custom_routes", + "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": [ @@ -12415,7 +13969,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -12438,6 +13992,7 @@ "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": [ @@ -12461,7 +14016,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -12487,6 +14042,7 @@ }, "aggregatedList": { "description": "Retrieves an aggregated list of node groups. Note: use nodeGroups.listNodes for more details about each group.", + "flatPath": "projects/{project}/aggregated/nodeGroups", "httpMethod": "GET", "id": "compute.nodeGroups.aggregatedList", "parameterOrder": [ @@ -12494,7 +14050,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -12512,7 +14068,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -12546,6 +14102,7 @@ }, "delete": { "description": "Deletes the specified NodeGroup resource.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", "httpMethod": "DELETE", "id": "compute.nodeGroups.delete", "parameterOrder": [ @@ -12569,7 +14126,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -12592,6 +14149,7 @@ }, "deleteNodes": { "description": "Deletes specified nodes from the node group.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes", "httpMethod": "POST", "id": "compute.nodeGroups.deleteNodes", "parameterOrder": [ @@ -12615,7 +14173,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -12641,6 +14199,7 @@ }, "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": [ @@ -12683,6 +14242,7 @@ }, "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": [ @@ -12731,6 +14291,7 @@ }, "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": [ @@ -12754,7 +14315,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -12780,6 +14341,7 @@ }, "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": [ @@ -12788,7 +14350,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -12801,7 +14363,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -12842,6 +14404,7 @@ }, "listNodes": { "description": "Lists nodes in the node group.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes", "httpMethod": "POST", "id": "compute.nodeGroups.listNodes", "parameterOrder": [ @@ -12851,7 +14414,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -12871,7 +14434,7 @@ "type": "string" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -12912,6 +14475,7 @@ }, "patch": { "description": "Updates the specified node group.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", "httpMethod": "PATCH", "id": "compute.nodeGroups.patch", "parameterOrder": [ @@ -12935,7 +14499,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -12961,6 +14525,7 @@ }, "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": [ @@ -13005,6 +14570,7 @@ }, "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": [ @@ -13028,7 +14594,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -13054,6 +14620,7 @@ }, "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": [ @@ -13103,6 +14670,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of node templates.", + "flatPath": "projects/{project}/aggregated/nodeTemplates", "httpMethod": "GET", "id": "compute.nodeTemplates.aggregatedList", "parameterOrder": [ @@ -13110,7 +14678,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -13128,7 +14696,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -13162,6 +14730,7 @@ }, "delete": { "description": "Deletes the specified NodeTemplate resource.", + "flatPath": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", "httpMethod": "DELETE", "id": "compute.nodeTemplates.delete", "parameterOrder": [ @@ -13192,7 +14761,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -13208,6 +14777,7 @@ }, "get": { "description": "Returns the specified node template. Gets a list of available node templates by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", "httpMethod": "GET", "id": "compute.nodeTemplates.get", "parameterOrder": [ @@ -13250,6 +14820,7 @@ }, "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": [ @@ -13298,6 +14869,7 @@ }, "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": [ @@ -13320,7 +14892,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -13339,6 +14911,7 @@ }, "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": [ @@ -13347,7 +14920,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -13360,7 +14933,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -13401,6 +14974,7 @@ }, "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": [ @@ -13445,6 +15019,7 @@ }, "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": [ @@ -13494,6 +15069,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of node types.", + "flatPath": "projects/{project}/aggregated/nodeTypes", "httpMethod": "GET", "id": "compute.nodeTypes.aggregatedList", "parameterOrder": [ @@ -13501,7 +15077,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -13519,7 +15095,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -13553,6 +15129,7 @@ }, "get": { "description": "Returns the specified node type. Gets a list of available node types by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/nodeTypes/{nodeType}", "httpMethod": "GET", "id": "compute.nodeTypes.get", "parameterOrder": [ @@ -13595,6 +15172,7 @@ }, "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": [ @@ -13603,7 +15181,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -13616,7 +15194,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -13661,6 +15239,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of packetMirrorings.", + "flatPath": "projects/{project}/aggregated/packetMirrorings", "httpMethod": "GET", "id": "compute.packetMirrorings.aggregatedList", "parameterOrder": [ @@ -13668,7 +15247,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -13686,7 +15265,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -13720,6 +15299,7 @@ }, "delete": { "description": "Deletes the specified PacketMirroring resource.", + "flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", "httpMethod": "DELETE", "id": "compute.packetMirrorings.delete", "parameterOrder": [ @@ -13750,7 +15330,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -13766,6 +15346,7 @@ }, "get": { "description": "Returns the specified PacketMirroring resource.", + "flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", "httpMethod": "GET", "id": "compute.packetMirrorings.get", "parameterOrder": [ @@ -13808,6 +15389,7 @@ }, "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": [ @@ -13830,7 +15412,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -13849,6 +15431,7 @@ }, "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": [ @@ -13857,7 +15440,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -13870,7 +15453,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -13911,6 +15494,7 @@ }, "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": [ @@ -13941,7 +15525,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -13960,6 +15544,7 @@ }, "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": [ @@ -14009,6 +15594,7 @@ "methods": { "disableXpnHost": { "description": "Disable this project as a shared VPC host project.", + "flatPath": "projects/{project}/disableXpnHost", "httpMethod": "POST", "id": "compute.projects.disableXpnHost", "parameterOrder": [ @@ -14023,7 +15609,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14039,6 +15625,7 @@ }, "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": [ @@ -14053,7 +15640,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14072,6 +15659,7 @@ }, "enableXpnHost": { "description": "Enable this project as a shared VPC host project.", + "flatPath": "projects/{project}/enableXpnHost", "httpMethod": "POST", "id": "compute.projects.enableXpnHost", "parameterOrder": [ @@ -14086,7 +15674,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14102,6 +15690,7 @@ }, "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": [ @@ -14116,7 +15705,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14134,7 +15723,8 @@ ] }, "get": { - "description": "Returns the specified Project resource.", + "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": [ @@ -14161,6 +15751,7 @@ }, "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": [ @@ -14186,6 +15777,7 @@ }, "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": [ @@ -14193,7 +15785,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -14206,7 +15798,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -14239,6 +15831,7 @@ }, "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": [ @@ -14246,7 +15839,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -14259,7 +15852,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -14295,6 +15888,7 @@ }, "moveDisk": { "description": "Moves a persistent disk from one zone to another.", + "flatPath": "projects/{project}/moveDisk", "httpMethod": "POST", "id": "compute.projects.moveDisk", "parameterOrder": [ @@ -14309,7 +15903,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14327,7 +15921,8 @@ ] }, "moveInstance": { - "description": "Moves an instance and its attached persistent disks from one zone to another.", + "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).", + "flatPath": "projects/{project}/moveInstance", "httpMethod": "POST", "id": "compute.projects.moveInstance", "parameterOrder": [ @@ -14342,7 +15937,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14361,6 +15956,7 @@ }, "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": [ @@ -14375,7 +15971,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14394,6 +15990,7 @@ }, "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": [ @@ -14408,7 +16005,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14427,6 +16024,7 @@ }, "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": [ @@ -14441,7 +16039,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14467,6 +16065,7 @@ "methods": { "delete": { "description": "Deletes the specified PublicAdvertisedPrefix", + "flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", "httpMethod": "DELETE", "id": "compute.publicAdvertisedPrefixes.delete", "parameterOrder": [ @@ -14489,7 +16088,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14505,6 +16104,7 @@ }, "get": { "description": "Returns the specified PublicAdvertisedPrefix resource.", + "flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", "httpMethod": "GET", "id": "compute.publicAdvertisedPrefixes.get", "parameterOrder": [ @@ -14539,6 +16139,7 @@ }, "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": [ @@ -14553,7 +16154,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14572,6 +16173,7 @@ }, "list": { "description": "Lists the PublicAdvertisedPrefixes for a project.", + "flatPath": "projects/{project}/global/publicAdvertisedPrefixes", "httpMethod": "GET", "id": "compute.publicAdvertisedPrefixes.list", "parameterOrder": [ @@ -14579,7 +16181,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -14592,7 +16194,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -14626,6 +16228,7 @@ }, "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": [ @@ -14648,7 +16251,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14671,6 +16274,7 @@ "methods": { "aggregatedList": { "description": "Lists all PublicDelegatedPrefix resources owned by the specific project across all scopes.", + "flatPath": "projects/{project}/aggregated/publicDelegatedPrefixes", "httpMethod": "GET", "id": "compute.publicDelegatedPrefixes.aggregatedList", "parameterOrder": [ @@ -14678,7 +16282,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -14696,7 +16300,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -14730,6 +16334,7 @@ }, "delete": { "description": "Deletes the specified PublicDelegatedPrefix in the given region.", + "flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", "httpMethod": "DELETE", "id": "compute.publicDelegatedPrefixes.delete", "parameterOrder": [ @@ -14760,7 +16365,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14776,6 +16381,7 @@ }, "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": [ @@ -14818,6 +16424,7 @@ }, "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": [ @@ -14840,7 +16447,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14859,6 +16466,7 @@ }, "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": [ @@ -14867,7 +16475,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -14880,7 +16488,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -14921,6 +16529,7 @@ }, "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": [ @@ -14951,7 +16560,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -14974,6 +16583,7 @@ "methods": { "delete": { "description": "Deletes the specified autoscaler.", + "flatPath": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", "httpMethod": "DELETE", "id": "compute.regionAutoscalers.delete", "parameterOrder": [ @@ -15004,7 +16614,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -15020,6 +16630,7 @@ }, "get": { "description": "Returns the specified autoscaler.", + "flatPath": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", "httpMethod": "GET", "id": "compute.regionAutoscalers.get", "parameterOrder": [ @@ -15062,6 +16673,7 @@ }, "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": [ @@ -15084,7 +16696,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -15103,6 +16715,7 @@ }, "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": [ @@ -15111,7 +16724,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -15124,7 +16737,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -15165,6 +16778,7 @@ }, "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": [ @@ -15193,7 +16807,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -15212,6 +16826,7 @@ }, "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": [ @@ -15240,7 +16855,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -15263,6 +16878,7 @@ "methods": { "delete": { "description": "Deletes the specified regional BackendService resource.", + "flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", "httpMethod": "DELETE", "id": "compute.regionBackendServices.delete", "parameterOrder": [ @@ -15293,7 +16909,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -15309,6 +16925,7 @@ }, "get": { "description": "Returns the specified regional BackendService resource.", + "flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", "httpMethod": "GET", "id": "compute.regionBackendServices.get", "parameterOrder": [ @@ -15351,6 +16968,7 @@ }, "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": [ @@ -15394,7 +17012,8 @@ ] }, "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.", + "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": [ @@ -15417,7 +17036,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -15436,6 +17055,7 @@ }, "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": [ @@ -15444,7 +17064,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -15457,7 +17077,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -15497,7 +17117,8 @@ ] }, "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.", + "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": [ @@ -15528,7 +17149,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -15546,7 +17167,8 @@ ] }, "update": { - "description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Backend services overview.", + "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": [ @@ -15577,7 +17199,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -15599,7 +17221,8 @@ "regionCommitments": { "methods": { "aggregatedList": { - "description": "Retrieves an aggregated list of commitments.", + "description": "Retrieves an aggregated list of commitments by region.", + "flatPath": "projects/{project}/aggregated/commitments", "httpMethod": "GET", "id": "compute.regionCommitments.aggregatedList", "parameterOrder": [ @@ -15607,7 +17230,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -15625,7 +17248,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -15659,6 +17282,7 @@ }, "get": { "description": "Returns the specified commitment resource. Gets a list of available commitments by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/commitments/{commitment}", "httpMethod": "GET", "id": "compute.regionCommitments.get", "parameterOrder": [ @@ -15701,6 +17325,7 @@ }, "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": [ @@ -15723,7 +17348,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -15742,6 +17367,7 @@ }, "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": [ @@ -15750,7 +17376,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -15763,7 +17389,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -15801,6 +17427,67 @@ "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" + ] } } }, @@ -15808,6 +17495,7 @@ "methods": { "get": { "description": "Returns the specified regional disk type. Gets a list of available disk types by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/diskTypes/{diskType}", "httpMethod": "GET", "id": "compute.regionDiskTypes.get", "parameterOrder": [ @@ -15850,6 +17538,7 @@ }, "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": [ @@ -15858,7 +17547,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -15871,7 +17560,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -15916,6 +17605,7 @@ "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": [ @@ -15946,7 +17636,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -15964,7 +17654,8 @@ ] }, "createSnapshot": { - "description": "Creates a snapshot of this regional disk.", + "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": [ @@ -15995,7 +17686,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16014,6 +17705,7 @@ }, "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": [ @@ -16043,7 +17735,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16059,6 +17751,7 @@ }, "get": { "description": "Returns a specified regional persistent disk.", + "flatPath": "projects/{project}/regions/{region}/disks/{disk}", "httpMethod": "GET", "id": "compute.regionDisks.get", "parameterOrder": [ @@ -16101,6 +17794,7 @@ }, "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": [ @@ -16149,6 +17843,7 @@ }, "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": [ @@ -16171,7 +17866,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -16195,6 +17890,7 @@ }, "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": [ @@ -16203,7 +17899,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -16216,7 +17912,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -16257,6 +17953,7 @@ }, "removeResourcePolicies": { "description": "Removes resource policies from a regional disk.", + "flatPath": "projects/{project}/regions/{region}/disks/{disk}/removeResourcePolicies", "httpMethod": "POST", "id": "compute.regionDisks.removeResourcePolicies", "parameterOrder": [ @@ -16287,7 +17984,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16306,6 +18003,7 @@ }, "resize": { "description": "Resizes the specified regional persistent disk.", + "flatPath": "projects/{project}/regions/{region}/disks/{disk}/resize", "httpMethod": "POST", "id": "compute.regionDisks.resize", "parameterOrder": [ @@ -16336,7 +18034,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16355,6 +18053,7 @@ }, "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": [ @@ -16399,6 +18098,7 @@ }, "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": [ @@ -16422,7 +18122,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -16448,6 +18148,7 @@ }, "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": [ @@ -16497,6 +18198,7 @@ "methods": { "delete": { "description": "Deletes the specified regional HealthCheckService.", + "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", "httpMethod": "DELETE", "id": "compute.regionHealthCheckServices.delete", "parameterOrder": [ @@ -16526,7 +18228,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16542,6 +18244,7 @@ }, "get": { "description": "Returns the specified regional HealthCheckService resource.", + "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", "httpMethod": "GET", "id": "compute.regionHealthCheckServices.get", "parameterOrder": [ @@ -16583,6 +18286,7 @@ }, "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": [ @@ -16605,7 +18309,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16624,6 +18328,7 @@ }, "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": [ @@ -16632,7 +18337,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -16645,7 +18350,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -16686,6 +18391,7 @@ }, "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": [ @@ -16715,7 +18421,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16738,6 +18444,7 @@ "methods": { "delete": { "description": "Deletes the specified HealthCheck resource.", + "flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", "httpMethod": "DELETE", "id": "compute.regionHealthChecks.delete", "parameterOrder": [ @@ -16768,7 +18475,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16784,6 +18491,7 @@ }, "get": { "description": "Returns the specified HealthCheck resource. Gets a list of available health checks by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", "httpMethod": "GET", "id": "compute.regionHealthChecks.get", "parameterOrder": [ @@ -16826,6 +18534,7 @@ }, "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": [ @@ -16848,7 +18557,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16867,6 +18576,7 @@ }, "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": [ @@ -16875,7 +18585,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -16888,7 +18598,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -16929,6 +18639,7 @@ }, "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": [ @@ -16959,7 +18670,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -16978,6 +18689,7 @@ }, "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": [ @@ -17008,7 +18720,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17030,7 +18742,8 @@ "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.\n\nIf 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.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -17059,7 +18772,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17078,6 +18791,7 @@ }, "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": [ @@ -17120,6 +18834,7 @@ }, "createInstances": { "description": "Creates instances with per-instance configs 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": [ @@ -17148,7 +18863,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same 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" } @@ -17167,6 +18882,7 @@ }, "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": [ @@ -17195,7 +18911,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17210,7 +18926,8 @@ ] }, "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.\n\nIf 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.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -17239,7 +18956,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17258,6 +18975,7 @@ }, "deletePerInstanceConfigs": { "description": "Deletes selected per-instance configs for the managed instance group.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", "httpMethod": "POST", "id": "compute.regionInstanceGroupManagers.deletePerInstanceConfigs", "parameterOrder": [ @@ -17300,6 +19018,7 @@ }, "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": [ @@ -17339,7 +19058,8 @@ ] }, "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.\n\nA regional managed instance group can contain up to 2000 instances.", + "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": [ @@ -17361,7 +19081,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17380,6 +19100,7 @@ }, "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": [ @@ -17388,7 +19109,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -17401,7 +19122,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -17441,6 +19162,7 @@ }, "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": [ @@ -17450,12 +19172,12 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "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-9]{0,19}.", + "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" @@ -17469,7 +19191,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -17509,6 +19231,7 @@ }, "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.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", "httpMethod": "POST", "id": "compute.regionInstanceGroupManagers.listManagedInstances", "parameterOrder": [ @@ -17518,7 +19241,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -17537,7 +19260,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -17577,6 +19300,7 @@ }, "listPerInstanceConfigs": { "description": "Lists all of the per-instance configs 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": [ @@ -17586,7 +19310,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -17605,7 +19329,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -17644,7 +19368,8 @@ ] }, "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.", + "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": [ @@ -17673,7 +19398,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17692,6 +19417,7 @@ }, "patchPerInstanceConfigs": { "description": "Inserts or patches per-instance configs 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": [ @@ -17720,7 +19446,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17738,7 +19464,8 @@ ] }, "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.\n\nIf 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.\n\nYou can specify a maximum of 1000 instances with this method per request.", + "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": [ @@ -17767,7 +19494,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17785,7 +19512,8 @@ ] }, "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.\n\nThe 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.\n\nIf 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.", + "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": [ @@ -17815,7 +19543,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -17839,6 +19567,7 @@ }, "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": [ @@ -17867,7 +19596,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17886,6 +19615,7 @@ }, "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": [ @@ -17914,7 +19644,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17933,6 +19663,7 @@ }, "updatePerInstanceConfigs": { "description": "Inserts or updates per-instance configs 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": [ @@ -17961,7 +19692,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -17984,6 +19715,7 @@ "methods": { "get": { "description": "Returns the specified instance group resource.", + "flatPath": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}", "httpMethod": "GET", "id": "compute.regionInstanceGroups.get", "parameterOrder": [ @@ -18024,6 +19756,7 @@ }, "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": [ @@ -18032,7 +19765,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -18045,7 +19778,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -18085,6 +19818,7 @@ }, "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": [ @@ -18094,7 +19828,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -18113,7 +19847,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -18156,6 +19890,7 @@ }, "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": [ @@ -18184,7 +19919,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18207,6 +19942,7 @@ "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": [ @@ -18229,7 +19965,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18252,6 +19988,7 @@ "methods": { "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": [ @@ -18280,7 +20017,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18296,6 +20033,7 @@ }, "get": { "description": "Returns the specified network endpoint group. Gets a list of available network endpoint groups by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", "httpMethod": "GET", "id": "compute.regionNetworkEndpointGroups.get", "parameterOrder": [ @@ -18336,6 +20074,7 @@ }, "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": [ @@ -18357,7 +20096,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18376,6 +20115,7 @@ }, "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": [ @@ -18384,7 +20124,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -18397,7 +20137,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -18437,10 +20177,869 @@ } } }, + "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": { + "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. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", + "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.", + "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" + ] + }, + "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": { "delete": { "description": "Deletes the specified NotificationEndpoint in the given region", + "flatPath": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", "httpMethod": "DELETE", "id": "compute.regionNotificationEndpoints.delete", "parameterOrder": [ @@ -18471,7 +21070,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18487,6 +21086,7 @@ }, "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": [ @@ -18529,6 +21129,7 @@ }, "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": [ @@ -18551,7 +21152,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18570,6 +21171,7 @@ }, "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": [ @@ -18578,7 +21180,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -18591,7 +21193,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -18636,6 +21238,7 @@ "methods": { "delete": { "description": "Deletes the specified region-specific Operations resource.", + "flatPath": "projects/{project}/regions/{region}/operations/{operation}", "httpMethod": "DELETE", "id": "compute.regionOperations.delete", "parameterOrder": [ @@ -18674,6 +21277,7 @@ }, "get": { "description": "Retrieves the specified region-specific Operations resource.", + "flatPath": "projects/{project}/regions/{region}/operations/{operation}", "httpMethod": "GET", "id": "compute.regionOperations.get", "parameterOrder": [ @@ -18716,6 +21320,7 @@ }, "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": [ @@ -18724,7 +21329,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -18737,7 +21342,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -18777,7 +21382,8 @@ ] }, "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.\n\nThis method is called on a best-effort basis. Specifically: \n- In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. \n- 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`.", + "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": [ @@ -18824,6 +21430,7 @@ "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": [ @@ -18847,7 +21454,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -18870,6 +21477,7 @@ }, "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": [ @@ -18912,6 +21520,7 @@ }, "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": [ @@ -18934,7 +21543,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -18953,6 +21562,7 @@ }, "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": [ @@ -18961,7 +21571,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -18974,7 +21584,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -19019,6 +21629,7 @@ "methods": { "delete": { "description": "Deletes the specified TargetHttpProxy resource.", + "flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", "httpMethod": "DELETE", "id": "compute.regionTargetHttpProxies.delete", "parameterOrder": [ @@ -19042,7 +21653,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -19065,6 +21676,7 @@ }, "get": { "description": "Returns the specified TargetHttpProxy resource in the specified region. Gets a list of available target HTTP proxies by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", "httpMethod": "GET", "id": "compute.regionTargetHttpProxies.get", "parameterOrder": [ @@ -19107,6 +21719,7 @@ }, "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": [ @@ -19129,7 +21742,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -19148,6 +21761,7 @@ }, "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": [ @@ -19156,7 +21770,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -19169,7 +21783,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -19210,6 +21824,7 @@ }, "setUrlMap": { "description": "Changes the URL map for TargetHttpProxy.", + "flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}/setUrlMap", "httpMethod": "POST", "id": "compute.regionTargetHttpProxies.setUrlMap", "parameterOrder": [ @@ -19233,7 +21848,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -19263,6 +21878,7 @@ "methods": { "delete": { "description": "Deletes the specified TargetHttpsProxy resource.", + "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", "httpMethod": "DELETE", "id": "compute.regionTargetHttpsProxies.delete", "parameterOrder": [ @@ -19286,7 +21902,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -19309,6 +21925,7 @@ }, "get": { "description": "Returns the specified TargetHttpsProxy resource in the specified region. Gets a list of available target HTTP proxies by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", "httpMethod": "GET", "id": "compute.regionTargetHttpsProxies.get", "parameterOrder": [ @@ -19351,6 +21968,7 @@ }, "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": [ @@ -19373,7 +21991,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -19392,6 +22010,7 @@ }, "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": [ @@ -19400,7 +22019,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -19413,7 +22032,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -19454,6 +22073,7 @@ }, "setSslCertificates": { "description": "Replaces SslCertificates for TargetHttpsProxy.", + "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", "httpMethod": "POST", "id": "compute.regionTargetHttpsProxies.setSslCertificates", "parameterOrder": [ @@ -19477,7 +22097,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -19503,6 +22123,7 @@ }, "setUrlMap": { "description": "Changes the URL map for TargetHttpsProxy.", + "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", "httpMethod": "POST", "id": "compute.regionTargetHttpsProxies.setUrlMap", "parameterOrder": [ @@ -19526,7 +22147,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -19556,6 +22177,7 @@ "methods": { "delete": { "description": "Deletes the specified UrlMap resource.", + "flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", "httpMethod": "DELETE", "id": "compute.regionUrlMaps.delete", "parameterOrder": [ @@ -19602,6 +22224,7 @@ }, "get": { "description": "Returns the specified UrlMap resource. Gets a list of available URL maps by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", "httpMethod": "GET", "id": "compute.regionUrlMaps.get", "parameterOrder": [ @@ -19644,6 +22267,7 @@ }, "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": [ @@ -19685,6 +22309,7 @@ }, "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": [ @@ -19693,7 +22318,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -19706,7 +22331,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -19747,6 +22372,7 @@ }, "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": [ @@ -19796,6 +22422,7 @@ }, "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": [ @@ -19845,6 +22472,7 @@ }, "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": [ @@ -19892,7 +22520,8 @@ "regions": { "methods": { "get": { - "description": "Returns the specified Region resource. Gets a list of available regions by making a list() request.", + "description": "Returns the specified Region resource. Gets a list of available regions by making a list() request. 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}/regions/{region}", "httpMethod": "GET", "id": "compute.regions.get", "parameterOrder": [ @@ -19926,7 +22555,8 @@ ] }, "list": { - "description": "Retrieves the list of region resources available to the specified project.", + "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.", + "flatPath": "projects/{project}/regions", "httpMethod": "GET", "id": "compute.regions.list", "parameterOrder": [ @@ -19934,7 +22564,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -19947,7 +22577,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -19985,6 +22615,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of reservations.", + "flatPath": "projects/{project}/aggregated/reservations", "httpMethod": "GET", "id": "compute.reservations.aggregatedList", "parameterOrder": [ @@ -19992,7 +22623,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -20010,7 +22641,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -20044,6 +22675,7 @@ }, "delete": { "description": "Deletes the specified reservation.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}", "httpMethod": "DELETE", "id": "compute.reservations.delete", "parameterOrder": [ @@ -20060,7 +22692,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -20090,6 +22722,7 @@ }, "get": { "description": "Retrieves information about the specified reservation.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}", "httpMethod": "GET", "id": "compute.reservations.get", "parameterOrder": [ @@ -20132,6 +22765,7 @@ }, "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": [ @@ -20180,6 +22814,7 @@ }, "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": [ @@ -20195,7 +22830,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -20221,6 +22856,7 @@ }, "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": [ @@ -20229,7 +22865,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -20242,7 +22878,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -20283,6 +22919,7 @@ }, "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": [ @@ -20299,7 +22936,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -20332,6 +22969,7 @@ }, "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": [ @@ -20376,6 +23014,7 @@ }, "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": [ @@ -20418,6 +23057,67 @@ "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" + ] } } }, @@ -20425,6 +23125,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of resource policies.", + "flatPath": "projects/{project}/aggregated/resourcePolicies", "httpMethod": "GET", "id": "compute.resourcePolicies.aggregatedList", "parameterOrder": [ @@ -20432,7 +23133,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -20450,7 +23151,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -20484,6 +23185,7 @@ }, "delete": { "description": "Deletes the specified resource policy.", + "flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", "httpMethod": "DELETE", "id": "compute.resourcePolicies.delete", "parameterOrder": [ @@ -20507,7 +23209,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -20530,6 +23232,7 @@ }, "get": { "description": "Retrieves all information of the specified resource policy.", + "flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", "httpMethod": "GET", "id": "compute.resourcePolicies.get", "parameterOrder": [ @@ -20572,6 +23275,7 @@ }, "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": [ @@ -20620,6 +23324,7 @@ }, "insert": { "description": "Creates a new resource policy.", + "flatPath": "projects/{project}/regions/{region}/resourcePolicies", "httpMethod": "POST", "id": "compute.resourcePolicies.insert", "parameterOrder": [ @@ -20642,7 +23347,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -20661,6 +23366,7 @@ }, "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": [ @@ -20669,7 +23375,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -20682,7 +23388,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -20723,6 +23429,7 @@ }, "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": [ @@ -20767,6 +23474,7 @@ }, "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": [ @@ -20816,6 +23524,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of routers.", + "flatPath": "projects/{project}/aggregated/routers", "httpMethod": "GET", "id": "compute.routers.aggregatedList", "parameterOrder": [ @@ -20823,7 +23532,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -20841,7 +23550,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -20875,6 +23584,7 @@ }, "delete": { "description": "Deletes the specified Router resource.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}", "httpMethod": "DELETE", "id": "compute.routers.delete", "parameterOrder": [ @@ -20898,7 +23608,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -20921,6 +23631,7 @@ }, "get": { "description": "Returns the specified Router resource. Gets a list of available routers by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}", "httpMethod": "GET", "id": "compute.routers.get", "parameterOrder": [ @@ -20963,6 +23674,7 @@ }, "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": [ @@ -20972,7 +23684,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -20985,7 +23697,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -21033,6 +23745,7 @@ }, "getRouterStatus": { "description": "Retrieves runtime information of the specified router.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/getRouterStatus", "httpMethod": "GET", "id": "compute.routers.getRouterStatus", "parameterOrder": [ @@ -21075,6 +23788,7 @@ }, "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": [ @@ -21097,7 +23811,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -21116,6 +23830,7 @@ }, "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": [ @@ -21124,7 +23839,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -21137,7 +23852,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -21178,6 +23893,7 @@ }, "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": [ @@ -21201,7 +23917,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -21227,6 +23943,7 @@ }, "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": [ @@ -21272,6 +23989,7 @@ }, "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": [ @@ -21295,7 +24013,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -21325,6 +24043,7 @@ "methods": { "delete": { "description": "Deletes the specified Route resource.", + "flatPath": "projects/{project}/global/routes/{route}", "httpMethod": "DELETE", "id": "compute.routes.delete", "parameterOrder": [ @@ -21340,7 +24059,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -21363,6 +24082,7 @@ }, "get": { "description": "Returns the specified Route resource. Gets a list of available routes by making a list() request.", + "flatPath": "projects/{project}/global/routes/{route}", "httpMethod": "GET", "id": "compute.routes.get", "parameterOrder": [ @@ -21397,6 +24117,7 @@ }, "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": [ @@ -21411,7 +24132,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -21430,6 +24151,7 @@ }, "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": [ @@ -21437,7 +24159,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -21450,7 +24172,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -21488,6 +24210,7 @@ "methods": { "addRule": { "description": "Inserts a rule into a security policy.", + "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/addRule", "httpMethod": "POST", "id": "compute.securityPolicies.addRule", "parameterOrder": [ @@ -21524,6 +24247,7 @@ }, "delete": { "description": "Deletes the specified policy.", + "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}", "httpMethod": "DELETE", "id": "compute.securityPolicies.delete", "parameterOrder": [ @@ -21539,7 +24263,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -21562,6 +24286,7 @@ }, "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": [ @@ -21596,6 +24321,7 @@ }, "getRule": { "description": "Gets a rule at the specified priority.", + "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/getRule", "httpMethod": "GET", "id": "compute.securityPolicies.getRule", "parameterOrder": [ @@ -21636,6 +24362,7 @@ }, "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": [ @@ -21650,7 +24377,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -21669,6 +24396,7 @@ }, "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": [ @@ -21676,7 +24404,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -21689,7 +24417,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -21723,6 +24451,7 @@ }, "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": [ @@ -21730,7 +24459,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -21743,7 +24472,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -21771,11 +24500,13 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "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. 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": [ @@ -21791,7 +24522,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -21817,6 +24548,7 @@ }, "patchRule": { "description": "Patches a rule at the specified priority.", + "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/patchRule", "httpMethod": "POST", "id": "compute.securityPolicies.patchRule", "parameterOrder": [ @@ -21859,6 +24591,7 @@ }, "removeRule": { "description": "Deletes a rule at the specified priority.", + "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/removeRule", "httpMethod": "POST", "id": "compute.securityPolicies.removeRule", "parameterOrder": [ @@ -21898,10 +24631,458 @@ } } }, + "serviceAttachments": { + "methods": { + "aggregatedList": { + "description": "Retrieves the list of all ServiceAttachment resources, regional and global, available to the specified project.", + "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. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", + "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.", + "location": "query", + "type": "boolean" + } + }, + "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. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", + "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.", + "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" + ] + } + } + }, "snapshots": { "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.\n\nFor more information, see Deleting snapshots.", + "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": [ @@ -21917,7 +25098,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -21940,6 +25121,7 @@ }, "get": { "description": "Returns the specified Snapshot resource. Gets a list of available snapshots by making a list() request.", + "flatPath": "projects/{project}/global/snapshots/{snapshot}", "httpMethod": "GET", "id": "compute.snapshots.get", "parameterOrder": [ @@ -21974,6 +25156,7 @@ }, "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": [ @@ -22012,8 +25195,43 @@ "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": [ @@ -22021,7 +25239,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -22034,7 +25252,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -22068,6 +25286,7 @@ }, "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": [ @@ -22104,6 +25323,7 @@ }, "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": [ @@ -22140,6 +25360,7 @@ }, "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": [ @@ -22181,6 +25402,7 @@ "methods": { "aggregatedList": { "description": "Retrieves the list of all SslCertificate resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/sslCertificates", "httpMethod": "GET", "id": "compute.sslCertificates.aggregatedList", "parameterOrder": [ @@ -22188,7 +25410,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -22206,7 +25428,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -22240,6 +25462,7 @@ }, "delete": { "description": "Deletes the specified SslCertificate resource.", + "flatPath": "projects/{project}/global/sslCertificates/{sslCertificate}", "httpMethod": "DELETE", "id": "compute.sslCertificates.delete", "parameterOrder": [ @@ -22255,7 +25478,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -22278,6 +25501,7 @@ }, "get": { "description": "Returns the specified SslCertificate resource. Gets a list of available SSL certificates by making a list() request.", + "flatPath": "projects/{project}/global/sslCertificates/{sslCertificate}", "httpMethod": "GET", "id": "compute.sslCertificates.get", "parameterOrder": [ @@ -22312,6 +25536,7 @@ }, "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": [ @@ -22326,7 +25551,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -22345,6 +25570,7 @@ }, "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": [ @@ -22352,7 +25578,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -22365,7 +25591,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -22403,6 +25629,7 @@ "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}/global/sslPolicies/{sslPolicy}", "httpMethod": "DELETE", "id": "compute.sslPolicies.delete", "parameterOrder": [ @@ -22418,7 +25645,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -22440,6 +25667,7 @@ }, "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": [ @@ -22473,6 +25701,7 @@ }, "insert": { "description": "Returns the specified SSL policy resource. Gets a list of available SSL policies by making a list() request.", + "flatPath": "projects/{project}/global/sslPolicies", "httpMethod": "POST", "id": "compute.sslPolicies.insert", "parameterOrder": [ @@ -22487,7 +25716,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -22506,6 +25735,7 @@ }, "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": [ @@ -22513,7 +25743,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -22526,7 +25756,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -22560,6 +25790,7 @@ }, "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": [ @@ -22567,7 +25798,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -22580,7 +25811,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -22614,6 +25845,7 @@ }, "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": [ @@ -22629,7 +25861,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -22658,6 +25890,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of subnetworks.", + "flatPath": "projects/{project}/aggregated/subnetworks", "httpMethod": "GET", "id": "compute.subnetworks.aggregatedList", "parameterOrder": [ @@ -22665,7 +25898,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -22683,7 +25916,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -22717,6 +25950,7 @@ }, "delete": { "description": "Deletes the specified subnetwork.", + "flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", "httpMethod": "DELETE", "id": "compute.subnetworks.delete", "parameterOrder": [ @@ -22740,7 +25974,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -22763,6 +25997,7 @@ }, "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": [ @@ -22786,7 +26021,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -22812,6 +26047,7 @@ }, "get": { "description": "Returns the specified subnetwork. Gets a list of available subnetworks list() request.", + "flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", "httpMethod": "GET", "id": "compute.subnetworks.get", "parameterOrder": [ @@ -22854,6 +26090,7 @@ }, "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": [ @@ -22902,6 +26139,7 @@ }, "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": [ @@ -22924,7 +26162,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -22943,6 +26181,7 @@ }, "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": [ @@ -22951,7 +26190,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -22964,7 +26203,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -23005,6 +26244,7 @@ }, "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": [ @@ -23012,7 +26252,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -23025,7 +26265,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -23059,6 +26299,7 @@ }, "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": [ @@ -23088,7 +26329,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -23114,6 +26355,7 @@ }, "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": [ @@ -23158,6 +26400,7 @@ }, "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": [ @@ -23181,7 +26424,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -23207,6 +26450,7 @@ }, "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": [ @@ -23256,6 +26500,7 @@ "methods": { "delete": { "description": "Deletes the specified TargetGrpcProxy in the given scope", + "flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", "httpMethod": "DELETE", "id": "compute.targetGrpcProxies.delete", "parameterOrder": [ @@ -23271,7 +26516,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -23294,6 +26539,7 @@ }, "get": { "description": "Returns the specified TargetGrpcProxy resource in the given scope.", + "flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", "httpMethod": "GET", "id": "compute.targetGrpcProxies.get", "parameterOrder": [ @@ -23328,6 +26574,7 @@ }, "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": [ @@ -23342,7 +26589,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -23361,6 +26608,7 @@ }, "list": { "description": "Lists the TargetGrpcProxies for a project in the given scope.", + "flatPath": "projects/{project}/global/targetGrpcProxies", "httpMethod": "GET", "id": "compute.targetGrpcProxies.list", "parameterOrder": [ @@ -23368,7 +26616,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -23381,7 +26629,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -23415,6 +26663,7 @@ }, "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": [ @@ -23430,7 +26679,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -23460,6 +26709,7 @@ "methods": { "aggregatedList": { "description": "Retrieves the list of all TargetHttpProxy resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/targetHttpProxies", "httpMethod": "GET", "id": "compute.targetHttpProxies.aggregatedList", "parameterOrder": [ @@ -23467,7 +26717,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -23485,7 +26735,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -23519,6 +26769,7 @@ }, "delete": { "description": "Deletes the specified TargetHttpProxy resource.", + "flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", "httpMethod": "DELETE", "id": "compute.targetHttpProxies.delete", "parameterOrder": [ @@ -23534,7 +26785,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -23557,6 +26808,7 @@ }, "get": { "description": "Returns the specified TargetHttpProxy resource. Gets a list of available target HTTP proxies by making a list() request.", + "flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", "httpMethod": "GET", "id": "compute.targetHttpProxies.get", "parameterOrder": [ @@ -23591,6 +26843,7 @@ }, "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": [ @@ -23605,7 +26858,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -23624,6 +26877,7 @@ }, "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": [ @@ -23631,7 +26885,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -23644,7 +26898,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -23677,7 +26931,8 @@ ] }, "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. (== suppress_warning http-rest-shadowed ==)", + "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": [ @@ -23693,7 +26948,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -23719,6 +26974,7 @@ }, "setUrlMap": { "description": "Changes the URL map for TargetHttpProxy.", + "flatPath": "projects/{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap", "httpMethod": "POST", "id": "compute.targetHttpProxies.setUrlMap", "parameterOrder": [ @@ -23734,7 +26990,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -23764,6 +27020,7 @@ "methods": { "aggregatedList": { "description": "Retrieves the list of all TargetHttpsProxy resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/targetHttpsProxies", "httpMethod": "GET", "id": "compute.targetHttpsProxies.aggregatedList", "parameterOrder": [ @@ -23771,7 +27028,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -23789,7 +27046,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -23823,6 +27080,7 @@ }, "delete": { "description": "Deletes the specified TargetHttpsProxy resource.", + "flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", "httpMethod": "DELETE", "id": "compute.targetHttpsProxies.delete", "parameterOrder": [ @@ -23838,7 +27096,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -23861,6 +27119,7 @@ }, "get": { "description": "Returns the specified TargetHttpsProxy resource. Gets a list of available target HTTPS proxies by making a list() request.", + "flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", "httpMethod": "GET", "id": "compute.targetHttpsProxies.get", "parameterOrder": [ @@ -23895,6 +27154,7 @@ }, "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": [ @@ -23909,7 +27169,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -23928,6 +27188,7 @@ }, "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": [ @@ -23935,7 +27196,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -23948,7 +27209,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -23981,7 +27242,8 @@ ] }, "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. (== suppress_warning http-rest-shadowed ==)", + "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": [ @@ -23997,7 +27259,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -24023,6 +27285,7 @@ }, "setQuicOverride": { "description": "Sets the QUIC override policy for TargetHttpsProxy.", + "flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setQuicOverride", "httpMethod": "POST", "id": "compute.targetHttpsProxies.setQuicOverride", "parameterOrder": [ @@ -24038,7 +27301,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -24063,6 +27326,7 @@ }, "setSslCertificates": { "description": "Replaces SslCertificates for TargetHttpsProxy.", + "flatPath": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", "httpMethod": "POST", "id": "compute.targetHttpsProxies.setSslCertificates", "parameterOrder": [ @@ -24078,7 +27342,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -24104,6 +27368,7 @@ }, "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": [ @@ -24119,7 +27384,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -24144,6 +27409,7 @@ }, "setUrlMap": { "description": "Changes the URL map for TargetHttpsProxy.", + "flatPath": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", "httpMethod": "POST", "id": "compute.targetHttpsProxies.setUrlMap", "parameterOrder": [ @@ -24159,7 +27425,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -24189,6 +27455,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of target instances.", + "flatPath": "projects/{project}/aggregated/targetInstances", "httpMethod": "GET", "id": "compute.targetInstances.aggregatedList", "parameterOrder": [ @@ -24196,7 +27463,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -24214,7 +27481,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -24248,6 +27515,7 @@ }, "delete": { "description": "Deletes the specified TargetInstance resource.", + "flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", "httpMethod": "DELETE", "id": "compute.targetInstances.delete", "parameterOrder": [ @@ -24264,7 +27532,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -24294,6 +27562,7 @@ }, "get": { "description": "Returns the specified TargetInstance resource. Gets a list of available target instances by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", "httpMethod": "GET", "id": "compute.targetInstances.get", "parameterOrder": [ @@ -24336,6 +27605,7 @@ }, "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": [ @@ -24351,7 +27621,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -24377,6 +27647,7 @@ }, "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": [ @@ -24385,7 +27656,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -24398,7 +27669,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -24443,6 +27714,7 @@ "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": [ @@ -24466,7 +27738,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -24492,6 +27764,7 @@ }, "addInstance": { "description": "Adds an instance to a target pool.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/addInstance", "httpMethod": "POST", "id": "compute.targetPools.addInstance", "parameterOrder": [ @@ -24515,7 +27788,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -24541,6 +27814,7 @@ }, "aggregatedList": { "description": "Retrieves an aggregated list of target pools.", + "flatPath": "projects/{project}/aggregated/targetPools", "httpMethod": "GET", "id": "compute.targetPools.aggregatedList", "parameterOrder": [ @@ -24548,7 +27822,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -24566,7 +27840,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -24600,6 +27874,7 @@ }, "delete": { "description": "Deletes the specified target pool.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}", "httpMethod": "DELETE", "id": "compute.targetPools.delete", "parameterOrder": [ @@ -24623,7 +27898,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -24646,6 +27921,7 @@ }, "get": { "description": "Returns the specified target pool. Gets a list of available target pools by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}", "httpMethod": "GET", "id": "compute.targetPools.get", "parameterOrder": [ @@ -24688,6 +27964,7 @@ }, "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": [ @@ -24733,6 +28010,7 @@ }, "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": [ @@ -24755,7 +28033,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -24774,6 +28052,7 @@ }, "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": [ @@ -24782,7 +28061,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -24795,7 +28074,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -24836,6 +28115,7 @@ }, "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": [ @@ -24859,7 +28139,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -24885,6 +28165,7 @@ }, "removeInstance": { "description": "Removes instance URL from a target pool.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeInstance", "httpMethod": "POST", "id": "compute.targetPools.removeInstance", "parameterOrder": [ @@ -24908,7 +28189,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -24934,6 +28215,7 @@ }, "setBackup": { "description": "Changes a backup target pool's configurations.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/setBackup", "httpMethod": "POST", "id": "compute.targetPools.setBackup", "parameterOrder": [ @@ -24963,7 +28245,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -24993,6 +28275,7 @@ "methods": { "delete": { "description": "Deletes the specified TargetSslProxy resource.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}", "httpMethod": "DELETE", "id": "compute.targetSslProxies.delete", "parameterOrder": [ @@ -25008,7 +28291,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -25031,6 +28314,7 @@ }, "get": { "description": "Returns the specified TargetSslProxy resource. Gets a list of available target SSL proxies by making a list() request.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}", "httpMethod": "GET", "id": "compute.targetSslProxies.get", "parameterOrder": [ @@ -25065,6 +28349,7 @@ }, "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": [ @@ -25079,7 +28364,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -25098,6 +28383,7 @@ }, "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": [ @@ -25105,7 +28391,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -25118,7 +28404,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -25152,6 +28438,7 @@ }, "setBackendService": { "description": "Changes the BackendService for TargetSslProxy.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setBackendService", "httpMethod": "POST", "id": "compute.targetSslProxies.setBackendService", "parameterOrder": [ @@ -25167,7 +28454,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -25193,6 +28480,7 @@ }, "setProxyHeader": { "description": "Changes the ProxyHeaderType for TargetSslProxy.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader", "httpMethod": "POST", "id": "compute.targetSslProxies.setProxyHeader", "parameterOrder": [ @@ -25208,7 +28496,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -25234,6 +28522,7 @@ }, "setSslCertificates": { "description": "Changes SslCertificates for TargetSslProxy.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates", "httpMethod": "POST", "id": "compute.targetSslProxies.setSslCertificates", "parameterOrder": [ @@ -25249,7 +28538,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -25275,6 +28564,7 @@ }, "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 SSL proxy 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": [ @@ -25290,7 +28580,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -25319,6 +28609,7 @@ "methods": { "delete": { "description": "Deletes the specified TargetTcpProxy resource.", + "flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", "httpMethod": "DELETE", "id": "compute.targetTcpProxies.delete", "parameterOrder": [ @@ -25334,7 +28625,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -25357,6 +28648,7 @@ }, "get": { "description": "Returns the specified TargetTcpProxy resource. Gets a list of available target TCP proxies by making a list() request.", + "flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", "httpMethod": "GET", "id": "compute.targetTcpProxies.get", "parameterOrder": [ @@ -25391,6 +28683,7 @@ }, "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": [ @@ -25405,7 +28698,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -25424,6 +28717,7 @@ }, "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": [ @@ -25431,7 +28725,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -25444,7 +28738,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -25478,6 +28772,7 @@ }, "setBackendService": { "description": "Changes the BackendService for TargetTcpProxy.", + "flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService", "httpMethod": "POST", "id": "compute.targetTcpProxies.setBackendService", "parameterOrder": [ @@ -25493,7 +28788,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -25519,6 +28814,7 @@ }, "setProxyHeader": { "description": "Changes the ProxyHeaderType for TargetTcpProxy.", + "flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader", "httpMethod": "POST", "id": "compute.targetTcpProxies.setProxyHeader", "parameterOrder": [ @@ -25534,7 +28830,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -25564,6 +28860,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of target VPN gateways.", + "flatPath": "projects/{project}/aggregated/targetVpnGateways", "httpMethod": "GET", "id": "compute.targetVpnGateways.aggregatedList", "parameterOrder": [ @@ -25571,7 +28868,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -25589,7 +28886,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -25623,6 +28920,7 @@ }, "delete": { "description": "Deletes the specified target VPN gateway.", + "flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", "httpMethod": "DELETE", "id": "compute.targetVpnGateways.delete", "parameterOrder": [ @@ -25646,7 +28944,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -25669,6 +28967,7 @@ }, "get": { "description": "Returns the specified target VPN gateway. Gets a list of available target VPN gateways by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", "httpMethod": "GET", "id": "compute.targetVpnGateways.get", "parameterOrder": [ @@ -25711,6 +29010,7 @@ }, "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": [ @@ -25733,7 +29033,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -25752,6 +29052,7 @@ }, "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": [ @@ -25760,7 +29061,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -25773,7 +29074,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -25818,6 +29119,7 @@ "methods": { "aggregatedList": { "description": "Retrieves the list of all UrlMap resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/urlMaps", "httpMethod": "GET", "id": "compute.urlMaps.aggregatedList", "parameterOrder": [ @@ -25825,7 +29127,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -25843,7 +29145,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -25877,6 +29179,7 @@ }, "delete": { "description": "Deletes the specified UrlMap resource.", + "flatPath": "projects/{project}/global/urlMaps/{urlMap}", "httpMethod": "DELETE", "id": "compute.urlMaps.delete", "parameterOrder": [ @@ -25892,7 +29195,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -25915,6 +29218,7 @@ }, "get": { "description": "Returns the specified UrlMap resource. Gets a list of available URL maps by making a list() request.", + "flatPath": "projects/{project}/global/urlMaps/{urlMap}", "httpMethod": "GET", "id": "compute.urlMaps.get", "parameterOrder": [ @@ -25949,6 +29253,7 @@ }, "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": [ @@ -25963,7 +29268,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -25981,7 +29286,8 @@ ] }, "invalidateCache": { - "description": "Initiates a cache invalidation operation, invalidating the specified path, scoped to the specified UrlMap.\n\nFor more information, see [Invalidating cached content](/cdn/docs/invalidating-cached-content).", + "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": [ @@ -25997,7 +29303,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -26023,6 +29329,7 @@ }, "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": [ @@ -26030,7 +29337,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -26043,7 +29350,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -26077,6 +29384,7 @@ }, "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": [ @@ -26092,7 +29400,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -26118,6 +29426,7 @@ }, "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": [ @@ -26133,7 +29442,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -26159,6 +29468,7 @@ }, "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": [ @@ -26199,6 +29509,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of VPN gateways.", + "flatPath": "projects/{project}/aggregated/vpnGateways", "httpMethod": "GET", "id": "compute.vpnGateways.aggregatedList", "parameterOrder": [ @@ -26206,7 +29517,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -26224,7 +29535,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -26258,6 +29569,7 @@ }, "delete": { "description": "Deletes the specified VPN gateway.", + "flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", "httpMethod": "DELETE", "id": "compute.vpnGateways.delete", "parameterOrder": [ @@ -26281,7 +29593,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -26304,6 +29616,7 @@ }, "get": { "description": "Returns the specified VPN gateway. Gets a list of available VPN gateways by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", "httpMethod": "GET", "id": "compute.vpnGateways.get", "parameterOrder": [ @@ -26346,6 +29659,7 @@ }, "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": [ @@ -26388,6 +29702,7 @@ }, "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": [ @@ -26410,7 +29725,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -26429,6 +29744,7 @@ }, "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": [ @@ -26437,7 +29753,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -26450,7 +29766,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -26491,6 +29807,7 @@ }, "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": [ @@ -26514,7 +29831,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -26540,6 +29857,7 @@ }, "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": [ @@ -26589,6 +29907,7 @@ "methods": { "aggregatedList": { "description": "Retrieves an aggregated list of VPN tunnels.", + "flatPath": "projects/{project}/aggregated/vpnTunnels", "httpMethod": "GET", "id": "compute.vpnTunnels.aggregatedList", "parameterOrder": [ @@ -26596,7 +29915,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -26614,7 +29933,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -26648,6 +29967,7 @@ }, "delete": { "description": "Deletes the specified VpnTunnel resource.", + "flatPath": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", "httpMethod": "DELETE", "id": "compute.vpnTunnels.delete", "parameterOrder": [ @@ -26671,7 +29991,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, @@ -26694,6 +30014,7 @@ }, "get": { "description": "Returns the specified VpnTunnel resource. Gets a list of available VPN tunnels by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", "httpMethod": "GET", "id": "compute.vpnTunnels.get", "parameterOrder": [ @@ -26736,6 +30057,7 @@ }, "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": [ @@ -26758,7 +30080,7 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -26777,6 +30099,7 @@ }, "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": [ @@ -26785,7 +30108,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -26798,7 +30121,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -26843,6 +30166,7 @@ "methods": { "delete": { "description": "Deletes the specified zone-specific Operations resource.", + "flatPath": "projects/{project}/zones/{zone}/operations/{operation}", "httpMethod": "DELETE", "id": "compute.zoneOperations.delete", "parameterOrder": [ @@ -26881,6 +30205,7 @@ }, "get": { "description": "Retrieves the specified zone-specific Operations resource.", + "flatPath": "projects/{project}/zones/{zone}/operations/{operation}", "httpMethod": "GET", "id": "compute.zoneOperations.get", "parameterOrder": [ @@ -26923,6 +30248,7 @@ }, "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": [ @@ -26931,7 +30257,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -26944,7 +30270,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -26984,7 +30310,8 @@ ] }, "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.\n\nThis method is called on a best-effort basis. Specifically: \n- In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. \n- 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`.", + "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": [ @@ -27031,6 +30358,7 @@ "methods": { "get": { "description": "Returns the specified Zone resource. Gets a list of available zones by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}", "httpMethod": "GET", "id": "compute.zones.get", "parameterOrder": [ @@ -27065,6 +30393,7 @@ }, "list": { "description": "Retrieves the list of Zone resources available to the specified project.", + "flatPath": "projects/{project}/zones", "httpMethod": "GET", "id": "compute.zones.list", "parameterOrder": [ @@ -27072,7 +30401,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou 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.\n\nTo 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -27085,7 +30414,7 @@ "type": "integer" }, "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.", + "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" }, @@ -27120,7 +30449,7 @@ } } }, - "revision": "20210316", + "revision": "20220224", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -27140,7 +30469,7 @@ "type": "object" }, "AcceleratorType": { - "description": "Represents an Accelerator Type resource.\n\nGoogle 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. (== resource_for {$api_version}.acceleratorTypes ==)", + "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": { @@ -27254,36 +30583,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -27370,36 +30699,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -27468,36 +30797,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -27527,6 +30856,15 @@ "description": "An access configuration attached to an instance's network interface. Only one access config per instance is supported.", "id": "AccessConfig", "properties": { + "externalIpv6": { + "description": "The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.", + "type": "string" + }, + "externalIpv6PrefixLength": { + "description": "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.", @@ -27541,32 +30879,38 @@ "type": "string" }, "networkTier": { - "description": "This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.\n\nIf an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.\n\nIf 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.", + "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", - "STANDARD" + "STANDARD", + "STANDARD_OVERRIDES_FIXED_STANDARD" ], "enumDescriptions": [ - "", - "" + "Public internet quality with fixed bandwidth.", + "High quality, Google-grade 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" }, "publicPtrDomainName": { - "description": "The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.", + "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 createc for first IP in associated external IPv6 range.", "type": "string" }, "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.", + "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": { "default": "ONE_TO_ONE_NAT", "description": "The type of configuration. The default and only option is ONE_TO_ONE_NAT.", "enum": [ + "DIRECT_IPV6", "ONE_TO_ONE_NAT" ], "enumDescriptions": [ + "", "" ], "type": "string" @@ -27575,7 +30919,7 @@ "type": "object" }, "Address": { - "description": "Use global external addresses for GFE-based external HTTP(S) load balancers in Premium Tier.\n\nUse global internal addresses for reserved peering network range.\n\nUse regional external addresses for the following resources:\n\n- External IP addresses for VM instances - Regional external forwarding rules - Cloud NAT external IP addresses - GFE based LBs in Standard Tier - Network LBs in Premium or Standard Tier - Cloud VPN gateways (both Classic and HA)\n\nUse regional internal IP addresses for subnet IP ranges (primary and secondary). This includes:\n\n- Internal IP addresses for VM instances - Alias IP ranges of VM instances (/32 only) - Regional internal forwarding rules - Internal TCP/UDP load balancer addresses - Internal HTTP(S) load balancer addresses - Cloud DNS inbound forwarding IP addresses\n\nFor more information, read reserved IP address.\n\n(== resource_for {$api_version}.addresses ==) (== resource_for {$api_version}.globalAddresses ==)", + "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/v1/globalAddresses) * [Regional (external and internal)](https://cloud.google.com/compute/docs/reference/rest/v1/addresses) For more information, see Reserving a static external IP address.", "id": "Address", "properties": { "address": { @@ -27590,8 +30934,8 @@ "UNSPECIFIED_TYPE" ], "enumDescriptions": [ - "", - "", + "A publicly visible external IP address.", + "A private network IP address, for use with an Instance or Internal Load Balancer forwarding rule.", "" ], "type": "string" @@ -27643,14 +30987,18 @@ "type": "string" }, "networkTier": { - "description": "This signifies the networking tier used for configuring this address and can only take the following values: PREMIUM or STANDARD. Global forwarding rules can only be Premium Tier. Regional forwarding rules can be either Premium or Standard Tier. Standard Tier addresses applied to regional forwarding rules can be used with any external load balancer. Regional forwarding rules in Premium Tier can only be used with a network load balancer.\n\nIf this field is not specified, it is assumed to be PREMIUM.", + "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", - "STANDARD" + "STANDARD", + "STANDARD_OVERRIDES_FIXED_STANDARD" ], "enumDescriptions": [ - "", - "" + "Public internet quality with fixed bandwidth.", + "High quality, Google-grade 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" }, @@ -27660,7 +31008,7 @@ "type": "integer" }, "purpose": { - "description": "The purpose of this resource, which can be one of the following values: \n- `GCE_ENDPOINT` for addresses that are used by VM instances, alias IP ranges, internal load balancers, and similar resources. \n- `DNS_RESOLVER` for a DNS resolver address in a subnetwork \n- `VPC_PEERING` for addresses that are reserved for VPC peer networks. \n- `NAT_AUTO` for addresses that are external IP addresses automatically reserved for Cloud NAT. \n- `IPSEC_INTERCONNECT` for addresses created from a private IP range that are reserved for a VLAN attachment in an IPsec-encrypted Cloud Interconnect configuration. These addresses are regional resources.", + "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 *IPsec-encrypted Cloud Interconnect* configuration. These addresses are regional resources. Not currently available publicly. - `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", @@ -27671,18 +31019,18 @@ "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 IPsec-encrypted 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 private network IP address that can be shared by multiple Internal Load Balancer forwarding rules.", + "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.", + "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": { @@ -27697,9 +31045,9 @@ "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" }, @@ -27785,36 +31133,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -27901,36 +31249,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -27999,36 +31347,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -28061,6 +31409,15 @@ "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" + }, + "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" } }, "type": "object" @@ -28137,7 +31494,7 @@ "type": "object" }, "AllocationSpecificSKUReservation": { - "description": "This reservation type allows to pre allocate specific instance configuration.", + "description": "This reservation type allows to pre allocate specific instance configuration. Next ID: 5", "id": "AllocationSpecificSKUReservation", "properties": { "count": { @@ -28170,12 +31527,12 @@ "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.\n\nIf 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.", + "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.\n\nIf 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.\n\nIf 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.\n\nIf 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.\n\nInstance templates do not store customer-supplied encryption keys, so you cannot use your own keys to encrypt disks in a managed instance group." + "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. Instance templates do not store customer-supplied encryption keys, so you cannot use your own keys to encrypt disks in a managed instance group." }, "diskSizeGb": { "description": "The size of the disk in GB.", @@ -28183,7 +31540,7 @@ "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.", + "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" }, @@ -28196,7 +31553,7 @@ }, "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.\n\nThis property is mutually exclusive with the source property; you can only define one or the other, but not both." + "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. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance.", @@ -28229,8 +31586,8 @@ "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" }, @@ -28239,7 +31596,7 @@ "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, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required except for local SSD.\n\nIf desired, you can also attach existing non-root persistent disks using this property. This field is only applicable for persistent disks.\n\nNote that for InstanceTemplate, specify the disk name, not the URL for the disk.", + "description": "Specifies a valid partial or full URL to an existing Persistent Disk resource. When creating a new instance, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required except for local SSD. 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": { @@ -28258,7 +31615,7 @@ "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.\n\nThis property is mutually exclusive with the source property; you can only define one or the other, but not both.", + "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.", "id": "AttachedDiskInitializeParams", "properties": { "description": { @@ -28275,7 +31632,7 @@ "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:\nhttps://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard\n\n\nOther values include pd-ssd and local-ssd. If you define this field, you can provide either the full or partial URL. For example, the following are valid values: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType \n- projects/project/zones/zone/diskTypes/diskType \n- zones/zone/diskTypes/diskType Note that for InstanceTemplate, this is the name of the disk type, not URL.", + "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 define this field, you can provide either the full or partial URL. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/diskType - projects/project/zones/zone/diskTypes/diskType - zones/zone/diskTypes/diskType Note that for InstanceTemplate, this is the name of the disk type, not URL.", "type": "string" }, "labels": { @@ -28285,6 +31642,13 @@ "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" }, + "licenses": { + "description": "A list of publicly visible licenses. Reserved for Google's use.", + "items": { + "type": "string" + }, + "type": "array" + }, "onUpdateAction": { "description": "Specifies which action to take on instance update with this disk. Default is to use the existing disk.", "enum": [ @@ -28293,14 +31657,14 @@ "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 must be provisioned for the disk.", + "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" }, @@ -28312,15 +31676,15 @@ "type": "array" }, "sourceImage": { - "description": "The source image to create this disk. When creating a new instance, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required except for local SSD.\n\nTo 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:\nprojects/debian-cloud/global/images/family/debian-9\n\n\nAlternatively, use a specific version of a public operating system image:\nprojects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD\n\n\nTo create a disk with a custom image that you created, specify the image name in the following format:\nglobal/images/my-custom-image\n\n\nYou 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:\nglobal/images/family/my-image-family\n\n\nIf the source image is deleted later, this field will not be set.", + "description": "The source image to create this disk. When creating a new instance, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required except for local SSD. 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.\n\nInstance templates 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." + "description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key. Instance templates 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." }, "sourceSnapshot": { - "description": "The source snapshot to create this disk. When creating a new instance, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required except for local SSD.\n\nTo create a disk with a snapshot that you created, specify the snapshot name in the following format:\nglobal/snapshots/my-backup\n\n\nIf the source snapshot is deleted later, this field will not be set.", + "description": "The source snapshot to create this disk. When creating a new instance, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required except for local SSD. 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.", "type": "string" }, "sourceSnapshotEncryptionKey": { @@ -28331,7 +31695,7 @@ "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.\n\nIf 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.\n\nExample Policy with multiple AuditConfigs:\n\n{ \"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\" ] } ] } ] }\n\nFor 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.", + "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": { @@ -28342,7 +31706,7 @@ "type": "array" }, "exemptedMembers": { - "description": "", + "description": "This is deprecated and has no effect. Do not use.", "items": { "type": "string" }, @@ -28356,18 +31720,18 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions. Example:\n\n{ \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "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][].", + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", "items": { "type": "string" }, "type": "array" }, "ignoreChildExemptions": { - "description": "", + "description": "This is deprecated and has no effect. Do not use.", "type": "boolean" }, "logType": { @@ -28379,10 +31743,10 @@ "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" } @@ -28390,11 +31754,11 @@ "type": "object" }, "AuthorizationLoggingOptions": { - "description": "Authorization-related information used by Cloud Audit Logging.", + "description": "This is deprecated and has no effect. Do not use.", "id": "AuthorizationLoggingOptions", "properties": { "permissionType": { - "description": "The type of the permission that was checked.", + "description": "This is deprecated and has no effect. Do not use.", "enum": [ "ADMIN_READ", "ADMIN_WRITE", @@ -28403,11 +31767,11 @@ "PERMISSION_TYPE_UNSPECIFIED" ], "enumDescriptions": [ - "", - "", - "", - "", - "" + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use." ], "type": "string" } @@ -28415,12 +31779,12 @@ "type": "object" }, "Autoscaler": { - "description": "Represents an Autoscaler resource.\n\nGoogle Compute Engine has two Autoscaler resources:\n\n* [Zonal](/compute/docs/reference/rest/{$api_version}/autoscalers) * [Regional](/compute/docs/reference/rest/{$api_version}/regionAutoscalers)\n\nUse 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.\n\nFor zonal managed instance groups resource, use the autoscaler resource.\n\nFor regional managed instance groups, use the regionAutoscalers resource. (== resource_for {$api_version}.autoscalers ==) (== resource_for {$api_version}.regionAutoscalers ==)", + "description": "Represents an Autoscaler resource. Google Compute Engine has two Autoscaler resources: * [Zonal](/compute/docs/reference/rest/v1/autoscalers) * [Regional](/compute/docs/reference/rest/v1/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 of the policies for an autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization.\n\nIf none of these are specified, the default will be to autoscale based on cpuUtilization to 0.6 or 60%." + "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.", @@ -28471,7 +31835,7 @@ "type": "string" }, "status": { - "description": "[Output Only] The status of the autoscaler configuration. Current set of possible values: \n- PENDING: Autoscaler backend hasn't read new/updated configuration. \n- DELETING: Configuration is being deleted. \n- ACTIVE: Configuration is acknowledged to be effective. Some warnings might be present in the statusDetails field. \n- ERROR: Configuration has errors. Actionable for users. Details are present in the statusDetails field. New values might be added in the future.", + "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", @@ -28479,10 +31843,10 @@ "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" }, @@ -28533,7 +31897,7 @@ "type": "string" }, "unreachables": { - "description": "[Output Only] Unreachable resources.", + "description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", "items": { "type": "string" }, @@ -28572,36 +31936,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -28688,36 +32052,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -28751,7 +32115,7 @@ "type": "string" }, "type": { - "description": "The type of error, warning, or notice returned. Current set of possible values: \n- ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are unhealthy (not in RUNNING state). \n- BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): There is no backend service attached to the instance group. \n- CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends a size greater than maxNumReplicas. \n- CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom metric samples are not exported often enough to be a credible base for autoscaling. \n- CUSTOM_METRIC_INVALID (ERROR): The custom metric that was specified does not exist or does not have the necessary labels. \n- MIN_EQUALS_MAX (WARNING): The minNumReplicas is equal to maxNumReplicas. This means the autoscaler cannot add or remove instances from the instance group. \n- MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive any data from the custom metric configured for autoscaling. \n- 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. \n- MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in the group won't change automatically. The autoscaling configuration is preserved. \n- MODE_ONLY_UP (WARNING): Autoscaling is in the \"Autoscale only out\" mode. The autoscaler can add instances but not remove any. \n- MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be autoscaled because it has more than one backend service attached to it. \n- NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): There is insufficient quota for the necessary resources, such as CPU or number of instances. \n- REGION_RESOURCE_STOCKOUT (ERROR): Shown only for regional autoscalers: there is a resource stockout in the chosen region. \n- SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled does not exist. \n- UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR): Autoscaling does not work with an HTTP/S load balancer that has been configured for maxRate. \n- 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.", + "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", @@ -28775,26 +32139,26 @@ "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" } @@ -28844,36 +32208,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -28904,7 +32268,7 @@ "id": "AutoscalingPolicy", "properties": { "coolDownPeriodSec": { - "description": "The number of seconds that the autoscaler waits before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. The default time autoscaler waits is 60 seconds.\n\nVirtual machine initialization times might vary because of numerous factors. We recommend that you test how long an instance may take to initialize. To do this, create an instance and time the startup process.", + "description": "The number of seconds that the autoscaler waits before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. The default time autoscaler waits is 60 seconds. Virtual machine initialization times might vary because of numerous factors. We recommend that you test how long an instance may take to initialize. To do this, create an instance and time the startup process.", "format": "int32", "type": "integer" }, @@ -28942,10 +32306,10 @@ "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" }, @@ -28967,19 +32331,19 @@ "id": "AutoscalingPolicyCpuUtilization", "properties": { "predictiveMethod": { - "description": "Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are:\n\n* 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.", + "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" ], "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." ], "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.\n\nIf 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.\n\nIf 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.", + "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" } @@ -28991,20 +32355,20 @@ "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.\n\nFor the filter to be valid for autoscaling purposes, the following rules apply: \n- You can only use the AND operator for joining selectors. \n- You can only use direct equality comparison operator (=) without any functions for each selector. \n- 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. \n- 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.\nIf 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.\n\nIf not specified, the type defaults to gce_instance. \n\nTry 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.", + "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.\n\nThe metric must have a value type of INT64 or DOUBLE.", + "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.\n\nA 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.\n\nA 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.", + "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.\n\nFor 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.", + "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" }, @@ -29016,9 +32380,9 @@ "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" } @@ -29080,7 +32444,7 @@ "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: http://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of ?UTC? if left empty.", + "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: http://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of \u201cUTC\u201d if left empty.", "type": "string" } }, @@ -29091,21 +32455,21 @@ "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.", + "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", "RATE", "UTILIZATION" ], "enumDescriptions": [ - "", - "", - "" + "Balance based on the number of simultaneous connections.", + "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.\n\nNot supported by:\n\n- Internal TCP/UDP Load Balancing - Network Load Balancing", + "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.", "format": "float", "type": "number" }, @@ -29118,40 +32482,41 @@ "type": "boolean" }, "group": { - "description": "The fully-qualified URL of an instance group or network endpoint group (NEG) resource. The type of backend that a backend service supports depends on the backend service's loadBalancingScheme.\n\n \n- When the loadBalancingScheme for the backend service is EXTERNAL (except Network Load Balancing), INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED , the backend can be either an instance group or a NEG. The backends on the backend service must be either all instance groups or all NEGs. You cannot mix instance group and NEG backends on the same backend service. \n\n\n- When the loadBalancingScheme for the backend service is EXTERNAL for Network Load Balancing or INTERNAL for Internal TCP/UDP Load Balancing, the backend must be an instance group. NEGs are not supported. \n\nFor regional services, the backend must be in the same region as the backend service.\n\nYou must use the fully-qualified URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported.", + "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. Not supported by:\n\n- Internal TCP/UDP Load Balancing - Network Load Balancing", + "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.\n\nNot available if the backend's balancingMode is RATE. Not supported by:\n\n- Internal TCP/UDP Load Balancing - Network Load Balancing.", + "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.\n\nNot available if the backend's balancingMode is RATE. Not supported by:\n\n- Internal TCP/UDP Load Balancing - Network Load Balancing.", + "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.\n\nNot available if the backend's balancingMode is CONNECTION.", + "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.\n\nNot available if the backend's balancingMode is CONNECTION.", + "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.\n\nNot available if the backend's balancingMode is CONNECTION.", + "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 UTILIZATIONbalancing mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization balancing mode.", "format": "float", "type": "number" } @@ -29159,7 +32524,7 @@ "type": "object" }, "BackendBucket": { - "description": "Represents a Cloud Storage Bucket resource.\n\nThis Cloud Storage bucket resource is referenced by a URL map of a load balancer. For more information, read Backend Buckets.", + "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": { @@ -29185,6 +32550,10 @@ "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" @@ -29222,8 +32591,12 @@ }, "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:\n\nUSE_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.\n\nFORCE_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.\n\nCACHE_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.", + "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.", "enum": [ "CACHE_ALL_STATIC", "FORCE_CACHE_ALL", @@ -29231,15 +32604,15 @@ "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 86400s (1 day).", + "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" }, @@ -29299,6 +32672,27 @@ }, "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. All other parameters will be excluded. '&' 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", @@ -29377,36 +32771,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -29433,11 +32827,11 @@ "type": "object" }, "BackendService": { - "description": "Represents a Backend Service resource.\n\nA 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.\n\nBackend services in Google Compute Engine can be either regionally or globally scoped.\n\n* [Global](/compute/docs/reference/rest/{$api_version}/backendServices) * [Regional](/compute/docs/reference/rest/{$api_version}/regionBackendServices)\n\nFor more information, see Backend Services.\n\n(== resource_for {$api_version}.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/v1/backendServices) * [Regional](https://cloud.google.com/compute/docs/reference/rest/v1/regionBackendServices) For more information, see Backend Services.", "id": "BackendService", "properties": { "affinityCookieTtlSec": { - "description": "Lifetime of cookies in seconds. Only applicable if the loadBalancingScheme is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, the protocol is HTTP or HTTPS, and the sessionAffinity is GENERATED_COOKIE, or HTTP_COOKIE.\n\nIf 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 one day (86,400).\n\nNot 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.", + "description": "Lifetime of cookies in seconds. This setting is applicable to external and internal HTTP(S) 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 one day (86,400). 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" }, @@ -29450,32 +32844,35 @@ }, "cdnPolicy": { "$ref": "BackendServiceCdnPolicy", - "description": "Cloud CDN configuration for this BackendService. Only available for external HTTP(S) Load Balancing." + "description": "Cloud CDN configuration for this BackendService. Only available for specified load balancer types." }, "circuitBreakers": { - "$ref": "CircuitBreakers", - "description": "Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.\n\nThis field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. \n\nNot 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." + "$ref": "CircuitBreakers" }, "connectionDraining": { "$ref": "ConnectionDraining" }, + "connectionTrackingPolicy": { + "$ref": "BackendServiceConnectionTrackingPolicy", + "description": "Connection Tracking configuration for this BackendService. Connection tracking policy settings are only available for Network Load Balancing and Internal TCP/UDP Load Balancing." + }, "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.\n\nThis field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. \n\nNot 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." + "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" }, "customRequestHeaders": { - "description": "Headers that the HTTP/S load balancer should add to proxied requests.", + "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 HTTP/S load balancer should add to proxied responses.", + "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" }, @@ -29485,21 +32882,25 @@ "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. Only applicable if the loadBalancingScheme is EXTERNAL and the protocol is HTTP or HTTPS.", + "description": "If true, enables Cloud CDN for the backend service of an external HTTP(S) load balancer.", "type": "boolean" }, "failoverPolicy": { "$ref": "BackendServiceFailoverPolicy", - "description": "Applicable only to Failover for Internal TCP/UDP Load Balancing and Network Load Balancing. Requires at least one backend instance group to be defined as a backup (failover) backend." + "description": "Requires at least one backend instance group to be defined as a backup (failover) backend. 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)." }, "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a BackendService.", + "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" }, "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.", + "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" }, @@ -29520,25 +32921,27 @@ "type": "string" }, "loadBalancingScheme": { - "description": "Specifies the load balancer type. Choose EXTERNAL for external HTTP(S), SSL Proxy, TCP Proxy and Network Load Balancing. Choose INTERNAL for Internal TCP/UDP Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load Balancing. INTERNAL_SELF_MANAGED for Traffic Director. A backend service created for one type of load balancer cannot be used with another. For more information, refer to Choosing a load balancer.", + "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 external HTTP(S), SSL Proxy, TCP Proxy, or Network Load Balancing", + "Signifies that this will be used for External Managed HTTP(S) Load Balancing.", + "Signifies that this will be used for Internal TCP/UDP Load Balancing.", + "Signifies that this will be used for Internal HTTP(S) Load Balancing.", + "Signifies that this will be used by Traffic Director.", "" ], "type": "string" }, "localityLbPolicy": { - "description": "The load balancing algorithm used within the scope of the locality. The possible values are: \n- ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. \n- LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. \n- 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. \n- RANDOM: The load balancer selects a random healthy host. \n- 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. \n- 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 \n\nThis field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. \n\nIf sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH, session affinity settings will not take effect.\n\nOnly the default ROUND_ROBIN policy is 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.", + "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. If sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH, session affinity settings will not take effect. 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", @@ -29550,12 +32953,12 @@ ], "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." ], "type": "string" }, @@ -29565,7 +32968,7 @@ }, "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.\nIf not specified, there will be no timeout limit, i.e. the maximum duration is infinite.\nThis field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED." + "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." }, "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.", @@ -29578,19 +32981,19 @@ }, "outlierDetection": { "$ref": "OutlierDetection", - "description": "Settings controlling the eviction of unhealthy hosts from the load balancing pool for the backend service. If not set, this feature is considered disabled.\n\nThis field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. \n\nNot 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." + "description": "Settings controlling the eviction of unhealthy hosts from the load balancing pool for the backend service. If not set, this feature is considered disabled. 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. 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": { - "description": "Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80.\n\nBackend services for Internal TCP/UDP Load Balancing and Network Load Balancing require you omit port.", + "description": "Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. For Internal TCP/UDP Load Balancing and Network Load Balancing, 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. Required when the loadBalancingScheme is EXTERNAL (except Network Load Balancing), INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED and the backends are instance groups. The named port must be defined on each backend instance group. This parameter has no meaning if the backends are NEGs.\n\n\n\nBackend services for Internal TCP/UDP Load Balancing and Network Load Balancing require you omit port_name.", + "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 TCP/UDP Load Balancing and Network Load Balancing, omit port_name.", "type": "string" }, "protocol": { - "description": "The protocol this BackendService uses to communicate with backends.\n\nPossible 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 balancer or for Traffic Director for more information.\n\nMust be set to GRPC when the backend service is referenced by a URL map that is bound to target gRPC proxy.", + "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": [ "GRPC", "HTTP", @@ -29598,16 +33001,18 @@ "HTTPS", "SSL", "TCP", - "UDP" + "UDP", + "UNSPECIFIED" ], "enumDescriptions": [ + "gRPC (available for Traffic Director).", "", + "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" }, @@ -29621,14 +33026,14 @@ }, "securitySettings": { "$ref": "SecuritySettings", - "description": "This field specifies the security policy that applies to this backend service. This field is applicable to either: \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED." + "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" }, "sessionAffinity": { - "description": "Type of session affinity to use. The default is NONE.\n\nWhen the loadBalancingScheme is EXTERNAL: * For Network Load Balancing, the possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. * For all other load balancers that use loadBalancingScheme=EXTERNAL, the possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS.\n\nWhen the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.\n\nWhen the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE.\n\nNot 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.", + "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", @@ -29640,19 +33045,22 @@ "NONE" ], "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." ], "type": "string" }, + "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 is 1 - 2,147,483,647 seconds.", + "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 is 1 - 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" } @@ -29728,36 +33136,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -29799,7 +33207,7 @@ "description": "The CacheKeyPolicy for this CdnPolicy." }, "cacheMode": { - "description": "Specifies the cache setting for all responses from this backend. The possible values are:\n\nUSE_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.\n\nFORCE_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.\n\nCACHE_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.", + "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.", "enum": [ "CACHE_ALL_STATIC", "FORCE_CACHE_ALL", @@ -29807,15 +33215,15 @@ "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 86400s (1 day).", + "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" }, @@ -29892,20 +33300,64 @@ }, "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 Network Load Balancing. 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 TCP/UDP Load Balancing: - 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 Network Load Balancer 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" + }, "BackendServiceFailoverPolicy": { - "description": "Applicable only to Failover for Internal TCP/UDP Load Balancing and Network Load Balancing. On failover or failback, this field indicates whether connection draining will be honored. GCP 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).", + "description": "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). 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.\n\nThe default is false.", + "description": "This can be set to true only if the protocol is TCP. The default is false.", "type": "boolean" }, "dropTrafficIfUnhealthy": { - "description": "Applicable only to Failover for Internal TCP/UDP Load Balancing and Network Load Balancing, 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. The default is false.", + "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 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). The default is false.", "type": "boolean" }, "failoverRatio": { - "description": "Applicable only to Failover for Internal TCP/UDP Load Balancing and Network Load Balancing. 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.", + "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" } @@ -29950,7 +33402,7 @@ "type": "string" }, "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.", + "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": { @@ -30021,36 +33473,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -30144,36 +33596,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -30199,33 +33651,277 @@ }, "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" + }, + "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" + }, + "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" + } + }, + "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" + }, "Binding": { - "description": "Associates `members` with a `role`.", + "description": "Associates `members`, or principals, with a `role`.", "id": "Binding", "properties": { "bindingId": { - "description": "", + "description": "This is deprecated and has no effect. Do not use.", "type": "string" }, "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the current request.\n\nIf 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.\n\nTo learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + "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 identities requesting access for a Cloud Platform resource. `members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` .\n\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`.\n\n* `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.\n\n* `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.\n\n* `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.\n\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.", + "description": "Specifies the principals 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`.", + "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" }, "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": { @@ -30238,15 +33934,16 @@ "description": "The instance properties defining the VM instances to be created. Required if sourceInstanceTemplate is not provided." }, "locationPolicy": { - "$ref": "LocationPolicy" + "$ref": "LocationPolicy", + "description": "Policy for chosing target zone." }, "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.", + "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 predefined_names must be set. The pattern should contain one consecutive sequence of placeholder hash characters (#) with each character corresponding to one digit of the generated instance name. Example: name_pattern of inst-#### will generate instance names like inst-0001, inst-0002, ... . If there already exist instance(s) whose names match the name pattern in the same project and zone, then the generated instance numbers will 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-#### will be inst-0051, inst-0052, etc. The name pattern placeholder #...# can contain up to 18 characters.", + "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": { @@ -30257,7 +33954,7 @@ "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.\n\nIt can be a full or partial URL. For example, the following are all valid URLs to an instance template: \n- https://www.googleapis.com/compute/v1/projects/project/global/instanceTemplates/instanceTemplate \n- projects/project/global/instanceTemplates/instanceTemplate \n- global/instanceTemplates/instanceTemplate \n\nThis field is optional.", + "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" } }, @@ -30295,6 +33992,20 @@ "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" @@ -30321,16 +34032,16 @@ "type": "object" }, "CircuitBreakers": { - "description": "Settings controlling the volume of connections to a backend service.", + "description": "Settings controlling the volume of requests, connections and retries to this backend service.", "id": "CircuitBreakers", "properties": { "maxConnections": { - "description": "The maximum number of connections to the backend service. If not specified, there is no limit.", + "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.", + "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" }, @@ -30340,12 +34051,12 @@ "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.", + "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.", + "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" } @@ -30353,9 +34064,13 @@ "type": "object" }, "Commitment": { - "description": "Represents a regional Commitment resource.\n\nCreating 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. (== resource_for {$api_version}.regionCommitments ==)", + "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": [ @@ -30460,6 +34175,34 @@ "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", + "COMPUTE_OPTIMIZED", + "COMPUTE_OPTIMIZED_C2D", + "GENERAL_PURPOSE", + "GENERAL_PURPOSE_E2", + "GENERAL_PURPOSE_N2", + "GENERAL_PURPOSE_N2D", + "GENERAL_PURPOSE_T2D", + "MEMORY_OPTIMIZED", + "TYPE_UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" } }, "type": "object" @@ -30532,36 +34275,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -30648,36 +34391,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -30746,36 +34489,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -30802,11 +34545,11 @@ "type": "object" }, "Condition": { - "description": "A condition to be met.", + "description": "This is deprecated and has no effect. Do not use.", "id": "Condition", "properties": { "iam": { - "description": "Trusted attributes supplied by the IAM system.", + "description": "This is deprecated and has no effect. Do not use.", "enum": [ "APPROVER", "ATTRIBUTION", @@ -30818,19 +34561,19 @@ "SECURITY_REALM" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "" + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use." ], "type": "string" }, "op": { - "description": "An operator to apply the subject with.", + "description": "This is deprecated and has no effect. Do not use.", "enum": [ "DISCHARGED", "EQUALS", @@ -30840,21 +34583,21 @@ "NO_OP" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "" + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use." ], "type": "string" }, "svc": { - "description": "Trusted attributes discharged by the service.", + "description": "This is deprecated and has no effect. Do not use.", "type": "string" }, "sys": { - "description": "Trusted attributes supplied by any service that owns resources and uses the IAM system for access control.", + "description": "This is deprecated and has no effect. Do not use.", "enum": [ "IP", "NAME", @@ -30863,16 +34606,16 @@ "SERVICE" ], "enumDescriptions": [ - "", - "", - "", - "", - "" + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use." ], "type": "string" }, "values": { - "description": "The objects of the condition.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "type": "string" }, @@ -30910,7 +34653,7 @@ "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." + "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.", @@ -30944,11 +34687,11 @@ "type": "object" }, "CorsPolicy": { - "description": "The specification for allowing client side cross-origin requests. Please see W3C Recommendation for Cross Origin Resource Sharing", + "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 translates to the Access-Control-Allow-Credentials header.\nDefault is false.", + "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": { @@ -30966,21 +34709,21 @@ "type": "array" }, "allowOriginRegexes": { - "description": "Specifies the regualar expression patterns that match allowed origins. For regular expression grammar please see github.com/google/re2/wiki/Syntax \nAn origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.", + "description": "Specifies a regular expression that matches allowed origins. For more information about the regular expression syntax, see Syntax. An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.", "items": { "type": "string" }, "type": "array" }, "allowOrigins": { - "description": "Specifies the list of origins that will be allowed to do CORS requests.\nAn origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.", + "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, specifies the CORS policy is disabled. The default value of false, which indicates that the CORS policy is in effect.", + "description": "If true, the setting specifies the CORS policy is disabled. The default value of false, which indicates that the CORS policy is in effect.", "type": "boolean" }, "exposeHeaders": { @@ -30991,7 +34734,7 @@ "type": "array" }, "maxAge": { - "description": "Specifies how long results of a preflight request can be cached in seconds. This translates to the Access-Control-Max-Age header.", + "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" } @@ -31002,15 +34745,19 @@ "id": "CustomerEncryptionKey", "properties": { "kmsKeyName": { - "description": "The name of the encryption key that is stored in Google Cloud KMS.", + "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 ", "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.", + "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.", + "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": { @@ -31028,7 +34775,7 @@ "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.", + "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" } }, @@ -31074,7 +34821,7 @@ "type": "object" }, "Disk": { - "description": "Represents a Persistent Disk resource.\n\nGoogle Compute Engine has two Disk resources:\n\n* [Zonal](/compute/docs/reference/rest/{$api_version}/disks) * [Regional](/compute/docs/reference/rest/{$api_version}/regionDisks)\n\nPersistent 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.\n\nThe disks resource represents a zonal persistent disk. For more information, read Zonal persistent disks.\n\nThe regionDisks resource represents a regional persistent disk. For more information, read Regional resources. (== resource_for {$api_version}.disks ==) (== resource_for {$api_version}.regionDisks ==)", + "description": "Represents a Persistent Disk resource. Google Compute Engine has two Disk resources: * [Zonal](/compute/docs/reference/rest/v1/disks) * [Regional](/compute/docs/reference/rest/v1/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": { "creationTimestamp": { @@ -31087,10 +34834,10 @@ }, "diskEncryptionKey": { "$ref": "CustomerEncryptionKey", - "description": "Encrypts the disk using a customer-supplied encryption key.\n\nAfter you encrypt a disk with a customer-supplied key, you must provide the same key if you use the disk later (e.g. to create a disk snapshot, to create a disk image, to create a machine image, or to attach the disk to a virtual machine).\n\nCustomer-supplied encryption keys do not protect access to metadata of the disk.\n\nIf you do not provide an encryption key when creating the disk, 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." + "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." }, "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.", + "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" }, @@ -31107,7 +34854,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a disk.", + "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" }, @@ -31165,7 +34912,7 @@ "type": "string" }, "provisionedIops": { - "description": "Indicates how many IOPS must be provisioned for the disk.", + "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" }, @@ -31196,12 +34943,12 @@ "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.\n\nIf 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 1 to 65536, inclusive.", + "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 1 to 65536, inclusive.", "format": "int64", "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: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk \n- https://www.googleapis.com/compute/v1/projects/project/regions/region/disks/disk \n- projects/project/zones/zone/disks/disk \n- projects/project/regions/region/disks/disk \n- zones/zone/disks/disk \n- regions/region/disks/disk", + "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": { @@ -31209,7 +34956,7 @@ "type": "string" }, "sourceImage": { - "description": "The source image used to create this disk. If the source image is deleted, this field will not be set.\n\nTo 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:\nprojects/debian-cloud/global/images/family/debian-9\n\n\nAlternatively, use a specific version of a public operating system image:\nprojects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD\n\n\nTo create a disk with a custom image that you created, specify the image name in the following format:\nglobal/images/my-custom-image\n\n\nYou 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:\nglobal/images/family/my-image-family", + "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": { @@ -31221,7 +34968,7 @@ "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: \n- https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot \n- projects/project/global/snapshots/snapshot \n- global/snapshots/snapshot", + "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": { @@ -31237,7 +34984,7 @@ "type": "string" }, "status": { - "description": "[Output Only] The status of disk creation. \n- CREATING: Disk is provisioning. \n- RESTORING: Source data is being copied into the disk. \n- FAILED: Disk creation failed. \n- READY: Disk is ready for use. \n- DELETING: Disk is deleting.", + "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", @@ -31246,16 +34993,16 @@ "RESTORING" ], "enumDescriptions": [ - "", - "", - "", - "", - "" + "Disk is provisioning", + "Disk is deleting.", + "Disk creation failed.", + "Disk is ready for use.", + "Source data is being copied into the disk." ], "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-standard or pd-ssd", + "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" }, "users": { @@ -31340,36 +35087,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -31412,7 +35159,7 @@ "type": "string" }, "instantiateFrom": { - "description": "Specifies whether to include the disk and what image to use. Possible values are: \n- 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. \n- 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. \n- custom-image: to use a user-provided image url for disk creation. Applicable to the boot disk and additional read-write disks. \n- attach-read-only: to attach a read-only disk. Applicable to read-only disks. \n- do-not-include: to exclude a disk from the template. Applicable to additional read-write disks, local SSDs, and read-only disks.", + "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", @@ -31423,13 +35170,13 @@ "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" } @@ -31497,36 +35244,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -31556,18 +35303,18 @@ "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: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone \n- projects/project/zones/zone \n- zones/zone", + "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: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk \n- projects/project/zones/zone/disks/disk \n- zones/zone/disks/disk", + "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" }, "DiskType": { - "description": "Represents a Disk Type resource.\n\nGoogle Compute Engine has two Disk Type resources:\n\n* [Regional](/compute/docs/reference/rest/{$api_version}/regionDiskTypes) * [Zonal](/compute/docs/reference/rest/{$api_version}/diskTypes)\n\nYou can choose from a variety of disk types based on your needs. For more information, read Storage options.\n\nThe diskTypes resource represents disk types for a zonal persistent disk. For more information, read Zonal persistent disks.\n\nThe regionDiskTypes resource represents disk types for a regional persistent disk. For more information, read Regional persistent disks. (== resource_for {$api_version}.diskTypes ==) (== resource_for {$api_version}.regionDiskTypes ==)", + "description": "Represents a Disk Type resource. Google Compute Engine has two Disk Type resources: * [Regional](/compute/docs/reference/rest/v1/regionDiskTypes) * [Zonal](/compute/docs/reference/rest/v1/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": { @@ -31689,36 +35436,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -31805,36 +35552,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -31903,36 +35650,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -31962,7 +35709,7 @@ "id": "DisksAddResourcePoliciesRequest", "properties": { "resourcePolicies": { - "description": "Resource policies to be added to this disk. Currently you can only specify one policy here.", + "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" }, @@ -32038,36 +35785,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -32115,9 +35862,9 @@ "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 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" }, @@ -32191,9 +35938,9 @@ "SUBNET_PEERING_ROUTE" ], "enumDescriptions": [ - "", - "", - "" + "For routes exported from local network.", + "The peering route.", + "The peering route corresponding to subnetwork range." ], "type": "string" } @@ -32260,36 +36007,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -32316,7 +36063,7 @@ "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.\n\nExample (Comparison):\n\ntitle: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\ntitle: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\ntitle: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\ntitle: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\"\n\nThe 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.", + "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": { @@ -32339,7 +36086,7 @@ "type": "object" }, "ExternalVpnGateway": { - "description": "Represents an external VPN gateway.\n\nExternal VPN gateway is the on-premises VPN gateway(s) or another cloud provider's VPN gateway that connects to your Google Cloud VPN gateway.\n\nTo 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.\n\nFor more information about using external VPN gateways, see Creating an HA VPN gateway and tunnel pair to a peer VPN. (== resource_for {$api_version}.externalVpnGateways ==)", + "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": { @@ -32356,7 +36103,7 @@ "type": "string" }, "interfaces": { - "description": "List of interfaces for this external VPN gateway.", + "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" }, @@ -32368,7 +36115,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve an ExternalVpnGateway.", + "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" }, @@ -32397,9 +36144,9 @@ "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" }, @@ -32415,7 +36162,7 @@ "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", + "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" }, @@ -32446,7 +36193,7 @@ }, "kind": { "default": "compute#externalVpnGatewayList", - "description": "[Output Only] Type of resource. Always compute#externalVpnGatewayList for lists of externalVpnGateways.", + "description": "[Output Only] Type of resource. Always compute#externalVpnGatewayList for lists of externalVpnGateways.", "type": "string" }, "nextPageToken": { @@ -32490,36 +36237,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -32571,7 +36318,7 @@ "type": "object" }, "Firewall": { - "description": "Represents a Firewall Rule resource.\n\nFirewall rules allow or deny ingress traffic to, and egress traffic from your instances. For more information, read Firewall rules.", + "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": { @@ -32583,7 +36330,7 @@ "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.\n\nExample inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", + "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" }, @@ -32607,7 +36354,7 @@ "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.\n\nExample inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", + "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" }, @@ -32623,7 +36370,7 @@ "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. Only IPv4 is supported.", + "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" }, @@ -32636,8 +36383,8 @@ "INGRESS" ], "enumDescriptions": [ - "", - "" + "Indicates that firewall should apply to outgoing traffic.", + "Indicates that firewall should apply to incoming traffic." ], "type": "string" }, @@ -32666,12 +36413,12 @@ "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.", + "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:\nglobal/networks/default\nIf 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: \n- https://www.googleapis.com/compute/v1/projects/myproject/global/networks/my-network \n- projects/myproject/global/networks/my-network \n- global/networks/default", + "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": { @@ -32684,7 +36431,7 @@ "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. Only IPv4 is supported.", + "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" }, @@ -32782,36 +36529,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -32879,7 +36626,7 @@ "type": "object" }, "FirewallPolicy": { - "description": "Represents a Firewall Policy resource. (== resource_for {$api_version}.firewallPolicies ==)", + "description": "Represents a Firewall Policy resource.", "id": "FirewallPolicy", "properties": { "associations": { @@ -32898,12 +36645,12 @@ "type": "string" }, "displayName": { - "description": "Depreacted, please use short name instead. User-provided name of the Organization firewall plicy. The name should be unique in the organization in which the firewall policy 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.", + "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 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.\n\nTo see the latest fingerprint, make get() request to the firewall policy.", + "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" }, @@ -32925,6 +36672,10 @@ "description": "[Output Only] The parent of the firewall policy.", "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", @@ -32946,7 +36697,7 @@ "type": "string" }, "shortName": { - "description": "User-provided name of the Organization firewall plicy. The name should be unique in the organization in which the firewall policy 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.", + "description": "User-provided name of the Organization firewall plicy. The name should be unique in the organization in which the firewall policy is created. 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" } @@ -33035,36 +36786,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -33148,10 +36899,10 @@ }, "type": "array" }, - "targetSecureLabels": { - "description": "A list of secure labels that controls which instances the firewall rule applies to. If targetSecureLabel are specified, then the firewall rule applies only to instances in the VPC network that have one of those secure labels. targetSecureLabel may not be set at the same time as targetServiceAccounts. If neither targetServiceAccounts nor targetSecureLabel are specified, the firewall rule applies to all instances on the specified network. Maximum number of target label values allowed is 256.", + "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": { - "type": "string" + "$ref": "FirewallPolicyRuleSecureTag" }, "type": "array" }, @@ -33170,7 +36921,7 @@ "id": "FirewallPolicyRuleMatcher", "properties": { "destIpRanges": { - "description": "CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 256.", + "description": "CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.", "items": { "type": "string" }, @@ -33184,16 +36935,16 @@ "type": "array" }, "srcIpRanges": { - "description": "CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 256.", + "description": "CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.", "items": { "type": "string" }, "type": "array" }, - "srcSecureLabels": { - "description": "List of firewall label values, which should be matched at the source of the traffic. Maximum number of source label values allowed is 256.", + "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": { - "type": "string" + "$ref": "FirewallPolicyRuleSecureTag" }, "type": "array" } @@ -33208,7 +36959,7 @@ "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.\n\nExample inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", + "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" }, @@ -33217,12 +36968,35 @@ }, "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.\n\n \n- If the value is fixed, then the calculated value is equal to the fixed value. \n- 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 up.", + "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" }, @@ -33240,19 +37014,20 @@ "type": "object" }, "ForwardingRule": { - "description": "Represents a Forwarding Rule resource.\n\nForwarding rule resources in GCP can be either regional or global in scope:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/globalForwardingRules) * [Regional](/compute/docs/reference/rest/{$api_version}/forwardingRules)\n\nA forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud Platform load balancer. Forwarding rules can also reference target instances and Cloud VPN Classic gateways (targetVpnGateway).\n\nFor more information, read Forwarding rule concepts and Using protocol forwarding.\n\n(== resource_for {$api_version}.forwardingRules ==) (== resource_for {$api_version}.globalForwardingRules ==) (== resource_for {$api_version}.regionForwardingRules ==)", + "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/v1/globalForwardingRules) * [Regional](https://cloud.google.com/compute/docs/reference/rest/v1/forwardingRules) A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud Platform 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 that this forwarding rule serves. When a client sends traffic to this IP address, the forwarding rule directs the traffic to the target that you specify in the forwarding rule.\n\nIf you don't specify a reserved IP address, an ephemeral IP address is assigned. Methods for specifying an IP address:\n\n* IPv4 dotted decimal, as in `100.1.2.3` * Full URL, as in https://www.googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-name * Partial URL or by name, as in: \n- projects/project_id/regions/region/addresses/address-name \n- regions/region/addresses/address-name \n- global/addresses/address-name \n- address-name \n\nThe loadBalancingScheme and the forwarding rule's target determine the type of IP address that you can use. For detailed information, refer to [IP address specifications](/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).\n\nMust be set to `0.0.0.0` when the target is targetGrpcProxy that has validateForProxyless field set to true.\n\nFor Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.", + "description": "IP address that this forwarding rule serves. When a client sends traffic to this IP address, the forwarding rule directs the traffic to the target that you specify in the forwarding rule. If you don't specify a reserved IP address, an ephemeral IP address is assigned. Methods for specifying an IP address: * IPv4 dotted decimal, as in `100.1.2.3` * Full 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 loadBalancingScheme and the forwarding rule's target 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). Must be set to `0.0.0.0` when the target is targetGrpcProxy that has validateForProxyless field set to true. For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.", "type": "string" }, "IPProtocol": { - "description": "The IP protocol to which this rule applies.\n\nFor protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.\n\nThe valid IP protocols are different for different load balancing products: \n- Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid. \n- Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid. \n- Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid. \n- HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid. \n- Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.", + "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", "ESP", "ICMP", + "L3_DEFAULT", "SCTP", "TCP", "UDP" @@ -33263,12 +37038,13 @@ "", "", "", + "", "" ], "type": "string" }, "allPorts": { - "description": "This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.\n\nWhen the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.", + "description": "This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance. You can only use one of ports and port_range, or allPorts. The three are mutually exclusive. For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.", "type": "boolean" }, "allowGlobalAccess": { @@ -33288,7 +37064,7 @@ "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 ForwardingRule. Include the fingerprint in patch request to ensure that you do not overwrite changes that were applied from another concurrent request.\n\nTo see the latest fingerprint, make a get() request to retrieve a ForwardingRule.", + "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" }, @@ -33321,7 +37097,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a ForwardingRule.", + "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" }, @@ -33333,9 +37109,10 @@ "type": "object" }, "loadBalancingScheme": { - "description": "Specifies the forwarding rule type.\n\n \n- EXTERNAL is used for: \n- Classic Cloud VPN gateways \n- Protocol forwarding to VMs from an external IP address \n- HTTP(S), SSL Proxy, TCP Proxy, and Network Load Balancing \n- INTERNAL is used for: \n- Protocol forwarding to VMs from an internal IP address \n- Internal TCP/UDP Load Balancing \n- INTERNAL_MANAGED is used for: \n- Internal HTTP(S) Load Balancing \n- INTERNAL_SELF_MANAGED is used for: \n- Traffic Director \n\nFor more information about forwarding rules, refer to Forwarding rule concepts.", + "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", @@ -33346,44 +37123,49 @@ "", "", "", + "", "" ], "type": "string" }, "metadataFilters": { - "description": "Opaque filter criteria used by Loadbalancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to Loadbalancer, 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 will not be visible to those proxies.\nFor 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.\nmetadataFilters specified here will be applifed before those specified in the UrlMap that this ForwardingRule references.\nmetadataFilters only applies to Loadbalancers that have their loadBalancingScheme set to INTERNAL_SELF_MANAGED.", + "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.", + "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 external load balancing.\n\nFor Internal TCP/UDP Load Balancing, this field identifies the network that the load balanced IP should belong to for this Forwarding Rule. If this field is not specified, the default network will be used.\n\nFor Private Service Connect forwarding rules that forward traffic to Google APIs, a network must be provided.", + "description": "This field is not used for external load balancing. For Internal TCP/UDP Load Balancing, this field identifies the network that the load balanced IP should belong to for this Forwarding Rule. If this field is not 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.\n\nFor regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.\n\nIf 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.", + "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", - "STANDARD" + "STANDARD", + "STANDARD_OVERRIDES_FIXED_STANDARD" ], "enumDescriptions": [ - "", - "" + "Public internet quality with fixed bandwidth.", + "High quality, Google-grade 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" }, "portRange": { - "description": "This field can be used only if: * Load balancing scheme is one of EXTERNAL, INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.\n\nPackets addressed to ports in the specified range will be forwarded to target or backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.\n\nSome types of forwarding target have constraints on the acceptable ports: \n- TargetHttpProxy: 80, 8080 \n- TargetHttpsProxy: 443 \n- TargetGrpcProxy: no constraints \n- TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetVpnGateway: 500, 4500", + "description": "This field can be used only if: - Load balancing scheme is one of EXTERNAL, INTERNAL_SELF_MANAGED or INTERNAL_MANAGED - IPProtocol is one of TCP, UDP, or SCTP. Packets addressed to ports in the specified range will be forwarded to target or backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports. Some types of forwarding target have constraints on the acceptable ports. For more information, see [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#port_specifications). @pattern: \\\\d+(?:-\\\\d+)?", "type": "string" }, "ports": { - "description": "The ports field is only supported when the forwarding rule references a backend_service directly. Supported load balancing products are Internal TCP/UDP Load Balancing and Network Load Balancing. Only packets addressed to the specified list of ports are forwarded to backends.\n\nYou can only use one of ports and port_range, or allPorts. The three are mutually exclusive.\n\nYou can specify a list of up to five ports, which can be non-contiguous.\n\nFor Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.\n\nFor more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).", + "description": "The ports field is only supported when the forwarding rule references a backend_service directly. Only packets addressed to the [specified list of ports]((https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#port_specifications)) are forwarded to backends. You can only use one of ports and port_range, or allPorts. The three are mutually exclusive. You can specify a list of up to five ports, which can be non-contiguous. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports. @pattern: \\\\d+(?:-\\\\d+)?", "items": { "type": "string" }, @@ -33394,6 +37176,23 @@ "format": "uint64", "type": "string" }, + "pscConnectionStatus": { + "enum": [ + "ACCEPTED", + "CLOSED", + "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 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" @@ -33403,23 +37202,23 @@ "type": "string" }, "serviceDirectoryRegistrations": { - "description": "Service Directory resources to register this forwarding rule with. Currently, only supports a single Service Directory resource.\n\nIt is only supported for Internal TCP/UDP Load Balancing and Internal HTTP(S) Load Balancing.", + "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.\n\nThe 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.\n\nThis field is only used for internal load balancing.", + "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.\n\nThis field is only used for internal load balancing.", + "description": "[Output Only] The internal fully qualified service name for this Forwarding Rule. This field is only used for internal load balancing.", "type": "string" }, "subnetwork": { - "description": "This field is only used for internal load balancing.\n\nFor internal load balancing, this field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule.\n\nIf the network specified is in auto subnet mode, this field is optional. However, if the network is in custom subnet mode, a subnetwork must be specified.", + "description": "This field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule, used in internal load balancing and network load balancing 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": { @@ -33496,36 +37295,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -33612,36 +37411,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -33738,36 +37537,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -33797,7 +37596,7 @@ "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:\n- Empty service_name means the overall status of all services at the backend.\n- Non-empty service_name means the health of that gRPC service, as defined by the owner of the service.\nThe grpc_service_name can only be ASCII.", + "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": { @@ -33810,16 +37609,16 @@ "type": "string" }, "portSpecification": { - "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in port is used for health checking.\nUSE_NAMED_PORT: The portName is used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, gRPC health check follows behavior specified in port and portName fields.", + "description": "Specifies how port is selected for health checking, can be one of following values: USE_FIXED_PORT: The port number in port is used for health checking. USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking. If not specified, gRPC health check follows behavior specified in port and portName fields.", "enum": [ "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT" ], "enumDescriptions": [ - "", - "", - "" + "The port number in port is used for health checking.", + "The portName is used for health checking.", + "For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking." ], "type": "string" } @@ -33924,7 +37723,7 @@ "type": "string" }, "queryPath": { - "description": "The path to be queried. This can be the default namespace ('/') or a nested namespace ('/\\/') or a specified key ('/\\/\\')", + "description": "The path to be queried. This can be the default namespace ('') or a nested namespace ('\\/') or a specified key ('\\/\\').", "type": "string" }, "queryValue": { @@ -33983,7 +37782,7 @@ "id": "GuestOsFeature", "properties": { "type": { - "description": "The ID of a supported feature. Read Enabling guest operating system features to see a list of available options.", + "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 - SECURE_BOOT - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_SNP_CAPABLE For more information, see Enabling guest operating system features.", "enum": [ "FEATURE_TYPE_UNSPECIFIED", "GVNIC", @@ -34026,16 +37825,16 @@ "type": "string" }, "portSpecification": { - "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in port is used for health checking.\nUSE_NAMED_PORT: The portName is used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, HTTP2 health check follows behavior specified in port and portName fields.", + "description": "Specifies how port is selected for health checking, can be one of following values: USE_FIXED_PORT: The port number in port is used for health checking. USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking. If not specified, HTTP2 health check follows behavior specified in port and portName fields.", "enum": [ "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT" ], "enumDescriptions": [ - "", - "", - "" + "The port number in port is used for health checking.", + "The portName is used for health checking.", + "For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking." ], "type": "string" }, @@ -34079,16 +37878,16 @@ "type": "string" }, "portSpecification": { - "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in port is used for health checking.\nUSE_NAMED_PORT: The portName is used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, HTTP health check follows behavior specified in port and portName fields.", + "description": "Specifies how port is selected for health checking, can be one of following values: USE_FIXED_PORT: The port number in port is used for health checking. USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking. If not specified, HTTP health check follows behavior specified in port and portName fields.", "enum": [ "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT" ], "enumDescriptions": [ - "", - "", - "" + "The port number in port is used for health checking.", + "The portName is used for health checking.", + "For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking." ], "type": "string" }, @@ -34132,16 +37931,16 @@ "type": "string" }, "portSpecification": { - "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in port is used for health checking.\nUSE_NAMED_PORT: The portName is used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, HTTPS health check follows behavior specified in port and portName fields.", + "description": "Specifies how port is selected for health checking, can be one of following values: USE_FIXED_PORT: The port number in port is used for health checking. USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking. If not specified, HTTPS health check follows behavior specified in port and portName fields.", "enum": [ "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT" ], "enumDescriptions": [ - "", - "", - "" + "The port number in port is used for health checking.", + "The portName is used for health checking.", + "For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking." ], "type": "string" }, @@ -34169,7 +37968,7 @@ "type": "object" }, "HealthCheck": { - "description": "Represents a Health Check resource.\n\nGoogle Compute Engine has two Health Check resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/healthChecks) * [Regional](/compute/docs/reference/rest/{$api_version}/regionHealthChecks)\n\nInternal HTTP(S) load balancers must use regional health checks (`compute.v1.regionHealthChecks`).\n\nTraffic Director must use global health checks (`compute.v1.HealthChecks`).\n\nInternal TCP/UDP load balancers can use either regional or global health checks (`compute.v1.regionHealthChecks` or `compute.v1.HealthChecks`).\n\nExternal HTTP(S), TCP proxy, and SSL proxy load balancers as well as managed instance group auto-healing must use global health checks (`compute.v1.HealthChecks`).\n\nNetwork load balancers must use legacy HTTP health checks (httpHealthChecks).\n\nFor more information, see Health checks overview.", + "description": "Represents a Health Check resource. Google Compute Engine has two Health Check resources: * [Global](/compute/docs/reference/rest/v1/healthChecks) * [Regional](/compute/docs/reference/rest/v1/regionHealthChecks) Internal HTTP(S) load balancers must use regional health checks (`compute.v1.regionHealthChecks`). Traffic Director must use global health checks (`compute.v1.HealthChecks`). Internal TCP/UDP load balancers can use either regional or global health checks (`compute.v1.regionHealthChecks` or `compute.v1.HealthChecks`). External HTTP(S), TCP proxy, and SSL proxy load balancers as well as managed instance group auto-healing must use global health checks (`compute.v1.HealthChecks`). Backend service-based network load balancers must use regional health checks (`compute.v1.regionHealthChecks`). Target pool-based network load balancers must use legacy HTTP health checks (`compute.v1.httpHealthChecks`). For more information, see Health checks overview.", "id": "HealthCheck", "properties": { "checkIntervalSec": { @@ -34241,7 +38040,7 @@ "type": "integer" }, "type": { - "description": "Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS or HTTP2. If not specified, the default is TCP. Exactly one of the protocol-specific health check field must be specified, which must match type field.", + "description": "Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS or HTTP2. Exactly one of the protocol-specific health check field must be specified, which must match type field.", "enum": [ "GRPC", "HTTP", @@ -34331,36 +38130,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -34398,7 +38197,7 @@ "type": "object" }, "HealthCheckReference": { - "description": "A full or valid partial URL to a health check. For example, the following are valid URLs: \n- https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealthChecks/health-check \n- projects/project-id/global/httpHealthChecks/health-check \n- global/httpHealthChecks/health-check", + "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": { @@ -34408,7 +38207,7 @@ "type": "object" }, "HealthCheckService": { - "description": "Represents a Health-Check as a Service resource.\n\n(== resource_for {$api_version}.regionHealthCheckServices ==)", + "description": "Represents a Health-Check as a Service resource.", "id": "HealthCheckService", "properties": { "creationTimestamp": { @@ -34425,21 +38224,21 @@ "type": "string" }, "healthChecks": { - "description": "List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_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 increment counter /iam/policy/debug_access_count {iam_principal=[value of IAMContext.principal]}", + "description": "This is deprecated and has no effect. Do not use.", "id": "LogConfigCounterOptions", "properties": { "customFields": { - "description": "Custom fields.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "$ref": "LogConfigCounterOptionsCustomField" }, "type": "array" }, "field": { - "description": "The field value to attribute.", + "description": "This is deprecated and has no effect. Do not use.", "type": "string" }, "metric": { - "description": "The metric to update.", + "description": "This is deprecated and has no effect. Do not use.", "type": "string" } }, "type": "object" }, "LogConfigCounterOptionsCustomField": { - "description": "Custom fields. These can be used to create a counter with arbitrary field/value pairs. See: go/rpcsp-custom-fields.", + "description": "This is deprecated and has no effect. Do not use.", "id": "LogConfigCounterOptionsCustomField", "properties": { "name": { - "description": "Name is the field name.", + "description": "This is deprecated and has no effect. Do not use.", "type": "string" }, "value": { - "description": "Value is the field value. It is important that in contrast to the CounterOptions.field, the value here is a constant that is not derived from the IAMContext.", + "description": "This is deprecated and has no effect. Do not use.", "type": "string" } }, "type": "object" }, "LogConfigDataAccessOptions": { - "description": "Write a Data Access (Gin) log", + "description": "This is deprecated and has no effect. Do not use.", "id": "LogConfigDataAccessOptions", "properties": { "logMode": { - "description": "", + "description": "This is deprecated and has no effect. Do not use.", "enum": [ "LOG_FAIL_CLOSED", "LOG_MODE_UNSPECIFIED" ], "enumDescriptions": [ - "", - "" + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use." ], "type": "string" } }, "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" + }, + "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" + }, + "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", + "LARGE_DEPLOYMENT_WARNING", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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.\n\nYou can use specific machine types for your VM instances based on performance and pricing requirements. For more information, read Machine Types. (== resource_for {$api_version}.machineTypes ==)", + "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": { @@ -40837,36 +44975,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -40953,36 +45091,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -41051,36 +45189,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -41111,7 +45249,7 @@ "id": "ManagedInstance", "properties": { "currentAction": { - "description": "[Output Only] The current action that the managed instance group has scheduled for the instance. Possible values: \n- NONE The instance is running, and the managed instance group does not have any scheduled actions for this instance. \n- 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. \n- 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. \n- RECREATING The managed instance group is recreating this instance. \n- DELETING The managed instance group is permanently deleting this instance. \n- 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. \n- RESTARTING The managed instance group is restarting the instance. \n- 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. \n- VERIFYING The managed instance group has created the instance and it is in the process of being verified.", + "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", @@ -41121,18 +45259,26 @@ "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 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 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" }, @@ -41167,16 +45313,16 @@ "TERMINATED" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + "The Nanny is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", + "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" }, @@ -41212,11 +45358,11 @@ "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" }, @@ -41279,13 +45425,14 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve the resource.", + "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": { @@ -41322,27 +45469,27 @@ "type": "object" }, "MetadataFilter": { - "description": "Opaque filter criteria used by loadbalancers to restrict routing configuration to a limited set of loadbalancing proxies. Proxies and sidecars involved in loadbalancing would typically present metadata to the loadbalancers which need to match criteria specified here. If a match takes place, the relevant configuration is made available to those proxies.\nFor 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.\nAn example for using metadataFilters would be: if loadbalancing involves Envoys, they will only receive routing configuration when values in metadataFilters match values supplied in .", "id": "NamedPort", "properties": { "name": { @@ -41381,7 +45528,7 @@ "type": "object" }, "Network": { - "description": "Represents a VPC Network resource.\n\nNetworks connect resources to each other and to the internet. For more information, read Virtual Private Cloud (VPC) Network. (== resource_for {$api_version}.networks ==)", + "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": { @@ -41390,7 +45537,7 @@ "type": "string" }, "autoCreateSubnetworks": { - "description": "Must be set to create a VPC network. If not set, a legacy network is created.\n\nWhen set to true, the VPC network is created in auto mode. When set to false, the VPC network is created in custom mode.\n\nAn 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.\n\nFor custom mode VPC networks, you can add subnets using the subnetworks insert method.", + "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": { @@ -41401,6 +45548,10 @@ "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" + }, "gatewayIPv4": { "description": "[Output Only] The gateway address for default routing out of the network, selected by GCP.", "pattern": "[0-9]{1,3}(?:\\.[0-9]{1,3}){3}", @@ -41411,13 +45562,17 @@ "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 1460 and the maximum value is 1500 bytes.", + "description": "Maximum Transmission Unit in bytes. The minimum value for this field is 1460 and the maximum value is 1500 bytes. If unspecified, defaults to 1460.", "format": "int32", "type": "integer" }, @@ -41431,6 +45586,18 @@ "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" + }, "peerings": { "description": "[Output Only] A list of network peerings for the resource.", "items": { @@ -41446,6 +45613,10 @@ "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": { @@ -41472,7 +45643,7 @@ "type": "string" }, "instance": { - "description": "The name for a specific VM instance that the IP address belongs to. This is required for network endpoints of type GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint group.\n\nThe name must be 1-63 characters long, and comply with RFC1035.", + "description": "The name for a specific VM instance that the IP address belongs to. This is required for network endpoints of type GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint group. The name must be 1-63 characters long, and comply with RFC1035.", "type": "string" }, "ipAddress": { @@ -41488,7 +45659,7 @@ "type": "object" }, "NetworkEndpointGroup": { - "description": "Represents a collection of network endpoints.\n\nA 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, see Setting up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs, or Setting up external HTTP(S) Load Balancing with serverless NEGs. (== resource_for {$api_version}.networkEndpointGroups ==) (== resource_for {$api_version}.globalNetworkEndpointGroups ==) (== resource_for {$api_version}.regionNetworkEndpointGroups ==)", + "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, see Setting up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs, or Setting up external HTTP(S) Load Balancing with serverless NEGs.", "id": "NetworkEndpointGroup", "properties": { "annotations": { @@ -41542,25 +45713,31 @@ "type": "string" }, "networkEndpointType": { - "description": "Type of network endpoints in this network endpoint group. Can be one of GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT, INTERNET_IP_PORT, or SERVERLESS.", + "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.", "enum": [ "GCE_VM_IP", "GCE_VM_IP_PORT", "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 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" }, + "pscTargetService": { + "description": "The target service url used to set up private service connection to a Google API. 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" @@ -41653,36 +45830,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -41709,53 +45886,53 @@ "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.\n\nNote: App Engine service must be in the same project and located in the same region as the Serverless NEG.", + "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.\n\nThe service name is case-sensitive and must be 1-63 characters long.\n\nExample value: \"default\", \"my-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": "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.\n\nFor 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.", + "description": "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.\n\nThe version name is case-sensitive and must be 1-100 characters long.\n\nExample value: \"v1\", \"v2\".", + "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.\n\nNote: Cloud Function must be in the same project and located in the same region as the Serverless NEG.", + "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.\n\nThe function name is case-sensitive and must be 1-63 characters long.\n\nExample value: \"func1\".", + "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": "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.\n\nFor 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.", + "description": "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.\n\nNote: Cloud Run service must be in the same project and located in the same region as the Serverless NEG.", + "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.\n\nThe service must be 1-63 characters long, and comply with RFC1035.\n\nExample value: \"run-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.\n\nThe tag must be 1-63 characters long, and comply with RFC1035.\n\nExample value: \"revision-0010\".", + "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": "A template to parse service and tag 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.\n\nFor 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.", + "description": "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" } }, @@ -41821,36 +45998,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -41912,8 +46089,8 @@ "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" } @@ -41976,36 +46153,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -42074,36 +46251,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -42169,8 +46346,32 @@ "format": "byte", "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": "[Output Only] An IPv6 internal network address for this network interface.", + "description": "An IPv6 internal network address for this network interface.", "type": "string" }, "kind": { @@ -42183,7 +46384,7 @@ "type": "string" }, "network": { - "description": "URL of the 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 network is not specified but the subnetwork is specified, the network is inferred.\n\nIf you specify this property, you can specify the network as a full or partial URL. For example, the following are all valid URLs: \n- https://www.googleapis.com/compute/v1/projects/project/global/networks/network \n- projects/project/global/networks/network \n- global/networks/default", + "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" }, "networkIP": { @@ -42198,14 +46399,31 @@ "VIRTIO_NET" ], "enumDescriptions": [ - "", - "", - "" + "GVNIC", + "No type specified.", + "VIRTIO" + ], + "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 identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at instance creation and update network interface operations.", + "enum": [ + "IPV4_IPV6", + "IPV4_ONLY" + ], + "enumDescriptions": [ + "The network interface can have both IPv4 and IPv6 addresses.", + "The network interface will be assigned IPv4 address." ], "type": "string" }, "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: \n- https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork \n- regions/region/subnetworks/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" } }, @@ -42272,36 +46490,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -42340,19 +46558,19 @@ "type": "boolean" }, "exportCustomRoutes": { - "description": "Whether to export the custom routes to peer network.", + "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. The IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses) are always exported to peers and are not controlled by this field.", + "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.", + "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. The IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses) are always imported from peers and are not controlled by this field.", + "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": { @@ -42375,8 +46593,8 @@ "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" }, @@ -42387,6 +46605,23 @@ }, "type": "object" }, + "NetworkPerformanceConfig": { + "id": "NetworkPerformanceConfig", + "properties": { + "totalEgressBandwidthTier": { + "enum": [ + "DEFAULT", + "TIER_1" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "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", @@ -42512,7 +46747,7 @@ "type": "object" }, "NodeGroup": { - "description": "Represent a sole-tenant Node Group resource.\n\nA 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. (== resource_for {$api_version}.nodeGroups ==)", + "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": { @@ -42546,7 +46781,7 @@ "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.", + "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", @@ -42554,10 +46789,10 @@ "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" }, @@ -42671,36 +46906,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -42740,7 +46975,7 @@ "type": "integer" }, "mode": { - "description": "The autoscaling mode. Set to one of: ON, OFF, or ONLY_SCALE_OUT. For more information, see Autoscaler modes.", + "description": "The autoscaling mode. Set to one of: ON, OFF, or ONLY_SCALE_OUT. For more information, see Autoscaler modes.", "enum": [ "MODE_UNSPECIFIED", "OFF", @@ -42749,9 +46984,9 @@ ], "enumDescriptions": [ "", - "", - "", - "" + "Autoscaling is disabled.", + "Autocaling is fully enabled.", + "Autoscaling will only scale out and will not remove nodes." ], "type": "string" } @@ -42819,36 +47054,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -43051,36 +47286,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -43149,36 +47384,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -43215,7 +47450,7 @@ "type": "object" }, "NodeTemplate": { - "description": "Represent a sole-tenant Node Template resource.\n\nYou can use a template to define properties for nodes in a node group. For more information, read Creating node groups and instances. (== resource_for {$api_version}.nodeTemplates ==)", + "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": { @@ -43279,7 +47514,7 @@ }, "nodeTypeFlexibility": { "$ref": "NodeTemplateNodeTypeFlexibility", - "description": "The flexible properties of the desired node type. Node groups that use this node template will create nodes of a type that matches these properties.\n\nThis field is mutually exclusive with the node_type property; you can only define one or the other, but not both." + "description": "The flexible properties of the desired node type. Node groups that use this node template will create nodes of a type that matches these properties. This field is mutually exclusive with the node_type property; you can only define one or the other, but not both." }, "region": { "description": "[Output Only] The name of the region where the node template resides, such as us-central1.", @@ -43291,7 +47526,7 @@ }, "serverBinding": { "$ref": "ServerBinding", - "description": "Sets the binding properties for the physical server. Valid values include: \n- [Default] RESTART_NODE_ON_ANY_SERVER: Restarts VMs on any available physical server \n- RESTART_NODE_ON_MINIMAL_SERVER: Restarts VMs on the same physical server whenever possible \n\nSee Sole-tenant node options for more information." + "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.", @@ -43302,10 +47537,10 @@ "READY" ], "enumDescriptions": [ - "", - "", - "", - "" + "Resources are being allocated.", + "The node template is currently being deleted.", + "Invalid status.", + "The node template is ready." ], "type": "string" }, @@ -43384,36 +47619,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -43500,36 +47735,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -43613,36 +47848,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -43669,7 +47904,7 @@ "type": "object" }, "NodeType": { - "description": "Represent a sole-tenant Node Type resource.\n\nEach 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. (== resource_for {$api_version}.nodeTypes ==)", + "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": { @@ -43797,36 +48032,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -43913,36 +48148,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -44011,36 +48246,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -44067,7 +48302,7 @@ "type": "object" }, "NotificationEndpoint": { - "description": "Represents a notification endpoint.\n\nA notification endpoint resource defines an endpoint to receive notifications when there are status changes detected by the associated health check service.\n\nFor more information, see Health checks overview. (== resource_for {$api_version}.notificationEndpoint ==) (== resource_for {$api_version}.regionNotificationEndpoints ==)", + "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": { @@ -44196,36 +48431,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -44252,7 +48487,7 @@ "type": "object" }, "Operation": { - "description": "Represents an Operation resource.\n\nGoogle Compute Engine has three Operation resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations)\n\nYou can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses.\n\nOperations can be global, regional or zonal. \n- For global operations, use the `globalOperations` resource. \n- For regional operations, use the `regionOperations` resource. \n- For zonal operations, use the `zonalOperations` resource. \n\nFor more information, read Global, Regional, and Zonal Resources. (== resource_for {$api_version}.globalOperations ==) (== resource_for {$api_version}.regionOperations ==) (== resource_for {$api_version}.zoneOperations ==)", + "description": "Represents an Operation resource. Google Compute Engine has three Operation resources: * [Global](/compute/docs/reference/rest/v1/globalOperations) * [Regional](/compute/docs/reference/rest/v1/regionOperations) * [Zonal](/compute/docs/reference/rest/v1/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 `zonalOperations` resource. For more information, read Global, Regional, and Zonal Resources.", "id": "Operation", "properties": { "clientOperationId": { @@ -44415,36 +48650,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -44544,36 +48779,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -44660,36 +48895,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -44758,36 +48993,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -44873,8 +49108,67 @@ }, "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.\n\nPacket 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. (== resource_for {$api_version}.packetMirrorings ==)", + "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": { @@ -44890,7 +49184,7 @@ "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.\n\nThe default is TRUE.", + "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" @@ -44939,7 +49233,7 @@ "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.\n\nDefault value is 1000. Valid range is 0 through 65535.", + "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" }, @@ -45023,36 +49317,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -45103,9 +49397,9 @@ "INGRESS" ], "enumDescriptions": [ - "", - "", - "" + "Default, both directions are mirrored.", + "Only egress traffic is mirrored.", + "Only ingress traffic is mirrored." ], "type": "string" } @@ -45187,36 +49481,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -45246,14 +49540,14 @@ "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.\n\nNote that this config will apply only to those network interfaces of the Instances that belong to the network specified in this packetMirroring.\n\nYou may specify a maximum of 50 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.\n\nYou may specify a maximum of 5 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" }, @@ -45354,36 +49648,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -45410,20 +49704,20 @@ "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 will be used.", + "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": { "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.\nOnly one of defaultRouteAction or defaultUrlRedirect must be set.\nUrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a pathMatcher's defaultRouteAction." + "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. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a path matcher's defaultRouteAction." }, "defaultService": { - "description": "The full or partial URL to the BackendService resource. This will be 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: \n- https://www.googleapis.com/compute/v1/projects/project/global/backendServices/backendService \n- compute/v1/projects/project/global/backendServices/backendService \n- global/backendServices/backendService If defaultRouteAction is additionally specified, advanced routing actions like URL Rewrites, etc. take effect prior to sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if defaultRouteAction specifies any weightedBackendServices, defaultService must not be specified.\nOnly one of defaultService, defaultUrlRedirect or defaultRouteAction.weightedBackendService must be set.\nAuthorization requires one or more of the following Google IAM permissions on the specified resource default_service: \n- compute.backendBuckets.use \n- compute.backendServices.use", + "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. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if defaultRouteAction specifies any weightedBackendServices, defaultService must not be specified. Only one of defaultService, defaultUrlRedirect , or defaultRouteAction.weightedBackendService must 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.\nIf defaultUrlRedirect is specified, defaultService or defaultRouteAction must not be set.\nNot supported when the URL map is bound to target gRPC proxy." + "description": "When none of the specified pathRules or routeRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or defaultRouteAction must not 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.", @@ -45431,21 +49725,21 @@ }, "headerAction": { "$ref": "HttpHeaderAction", - "description": "Specifies changes to request and response headers that need to take effect for the selected backendService.\nHeaderAction specified here are applied after the matching HttpRouteRule HeaderAction and before the HeaderAction in the UrlMap \nNote that headerAction is not supported for Loadbalancers that have their loadBalancingScheme set to EXTERNAL.\nNot supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true." + "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.\nFor 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.\nWithin a given pathMatcher, only one of pathRules or routeRules must be set.", + "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.\nWithin a given pathMatcher, you can set only one of pathRules or 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" }, @@ -45467,15 +49761,15 @@ }, "routeAction": { "$ref": "HttpRouteAction", - "description": "In response to a matching path, the load balancer performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices.\nOnly one of routeAction or urlRedirect must be set.\nUrlMaps for external HTTP(S) load balancers support only the urlRewrite action within a pathRule's routeAction." + "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. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for external HTTP(S) load balancers support only 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 additionally specified, advanced routing actions like URL Rewrites, etc. take effect prior to sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendService s. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified.\nOnly one of urlRedirect, service or routeAction.weightedBackendService must be set.", + "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. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.", "type": "string" }, "urlRedirect": { "$ref": "HttpRedirectAction", - "description": "When a path pattern is matched, the request is redirected to a URL specified by urlRedirect.\nIf urlRedirect is specified, service or routeAction must not be set.\nNot supported when the URL map is bound to target gRPC proxy." + "description": "When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. If urlRedirect is specified, service or routeAction must not be set. Not supported when the URL map is bound to a target gRPC proxy." } }, "type": "object" @@ -45507,12 +49801,12 @@ "UNAPPLIED_DELETION" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "" + "The per-instance config is being applied to the instance, but is not yet effective, possibly waiting for the instance to, for example, REFRESH.", + "The per-instance config deletion is being applied on the instance, possibly waiting for the instance to, for example, REFRESH.", + "The per-instance config is effective on the instance, meaning that all disks, ips and metadata specified in this config are attached or set on the instance.", + "*[Default]* The default status, when no per-instance config exists.", + "The per-instance config is set on an instance but not been applied yet.", + "The per-instance config has been deleted, but the deletion is not yet applied." ], "type": "string" } @@ -45520,7 +49814,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.\n\n\n\nA `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.\n\nFor 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).\n\n**JSON example:**\n\n{ \"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 }\n\n**YAML example:**\n\nbindings: - 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\n\nFor a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "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": { @@ -45531,30 +49825,26 @@ "type": "array" }, "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.", + "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.\n\n**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.", + "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" }, - "iamOwned": { - "description": "", - "type": "boolean" - }, "rules": { - "description": "If more than one rule is specified, the rules are applied in the following manner: - All matching LOG rules are always applied. - If any DENY/DENY_WITH_LOG rule matches, permission is denied. Logging will be applied if one or more matching rule requires logging. - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is granted. Logging will be applied if one or more matching rule requires logging. - Otherwise, if no rule applies, permission is denied.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "$ref": "Rule" }, "type": "array" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected.\n\nAny operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations:\n\n* 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\n\n**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.\n\nIf a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "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" } @@ -45617,8 +49907,8 @@ "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" }, @@ -45630,7 +49920,7 @@ "type": "object" }, "Project": { - "description": "Represents a Project resource.\n\nA project is used to organize resources in a Google Cloud Platform environment. For more information, read about the Resource Hierarchy. (== resource_for {$api_version}.projects ==)", + "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": { "commonInstanceMetadata": { @@ -45644,12 +49934,16 @@ "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", - "STANDARD" + "STANDARD", + "STANDARD_OVERRIDES_FIXED_STANDARD" ], "enumDescriptions": [ - "", - "" + "Public internet quality with fixed bandwidth.", + "High quality, Google-grade 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" }, @@ -45669,7 +49963,7 @@ "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.", + "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" }, @@ -45770,12 +50064,16 @@ "networkTier": { "description": "Default network tier to be set.", "enum": [ + "FIXED_STANDARD", "PREMIUM", - "STANDARD" + "STANDARD", + "STANDARD_OVERRIDES_FIXED_STANDARD" ], "enumDescriptions": [ - "", - "" + "Public internet quality with fixed bandwidth.", + "High quality, Google-grade 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" } @@ -45799,7 +50097,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a PublicAdvertisedPrefix.", + "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" }, @@ -45843,7 +50141,7 @@ "type": "string" }, "status": { - "description": "The status of the public advertised prefix.", + "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": [ "INITIAL", "PREFIX_CONFIGURATION_COMPLETE", @@ -45854,13 +50152,13 @@ "VALIDATED" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" + "RPKI validation is complete.", + "The prefix is fully configured.", + "The prefix is being configured.", + "The prefix is being removed.", + "User has configured the PTR.", + "Reverse DNS lookup failed.", + "Reverse DNS lookup is successful." ], "type": "string" } @@ -45927,36 +50225,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -46022,7 +50320,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a PublicDelegatedPrefix.", + "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" }, @@ -46074,16 +50372,18 @@ "type": "string" }, "status": { - "description": "[Output Only] The status of the public delegated prefix.", + "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", "DELETING", - "INITIALIZING" + "INITIALIZING", + "READY_TO_ANNOUNCE" ], "enumDescriptions": [ - "", - "", - "" + "The public delegated prefix is active.", + "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" } @@ -46158,36 +50458,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -46273,36 +50573,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -46414,36 +50714,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -46488,15 +50788,19 @@ "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_GPUS", @@ -46505,15 +50809,19 @@ "COMMITTED_NVIDIA_P4_GPUS", "COMMITTED_NVIDIA_T4_GPUS", "COMMITTED_NVIDIA_V100_GPUS", + "COMMITTED_T2A_CPUS", + "COMMITTED_T2D_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_FORWARDING_RULES", "GLOBAL_INTERNAL_ADDRESSES", "GPUS_ALL_REGIONS", "HEALTH_CHECKS", @@ -46535,7 +50843,9 @@ "LOCAL_SSD_TOTAL_GB", "M1_CPUS", "M2_CPUS", + "M3_CPUS", "MACHINE_IMAGES", + "N2A_CPUS", "N2D_CPUS", "N2_CPUS", "NETWORKS", @@ -46566,6 +50876,7 @@ "PREEMPTIBLE_NVIDIA_T4_VWS_GPUS", "PREEMPTIBLE_NVIDIA_V100_GPUS", "PSC_ILB_CONSUMER_FORWARDING_RULES_PER_PRODUCER_NETWORK", + "PSC_INTERNAL_LB_FORWARDING_RULES", "PUBLIC_ADVERTISED_PREFIXES", "PUBLIC_DELEGATED_PREFIXES", "REGIONAL_AUTOSCALERS", @@ -46575,14 +50886,19 @@ "ROUTERS", "ROUTES", "SECURITY_POLICIES", + "SECURITY_POLICIES_PER_REGION", "SECURITY_POLICY_CEVAL_RULES", "SECURITY_POLICY_RULES", + "SECURITY_POLICY_RULES_PER_REGION", + "SERVICE_ATTACHMENTS", "SNAPSHOTS", "SSD_TOTAL_GB", "SSL_CERTIFICATES", "STATIC_ADDRESSES", "STATIC_BYOIP_ADDRESSES", "SUBNETWORKS", + "T2A_CPUS", + "T2D_CPUS", "TARGET_HTTPS_PROXIES", "TARGET_HTTP_PROXIES", "TARGET_INSTANCES", @@ -46626,6 +50942,7 @@ "", "", "", + "Guest CPUs", "", "", "", @@ -46705,6 +51022,21 @@ "", "", "", + "The total number of snapshots allowed for a single project.", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "", "", "", @@ -46734,7 +51066,7 @@ "type": "string" }, "referenceType": { - "description": "A description of the reference type with no implied semantics. Possible values include: \n- MEMBER_OF", + "description": "A description of the reference type with no implied semantics. Possible values include: 1. MEMBER_OF ", "type": "string" }, "referrer": { @@ -46749,7 +51081,7 @@ "type": "object" }, "Region": { - "description": "Represents a Region resource.\n\nA region is a geographical area where a resource is located. For more information, read Regions and Zones. (== resource_for {$api_version}.regions ==)", + "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": { @@ -46876,36 +51208,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -46991,36 +51323,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -47144,36 +51476,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -47274,36 +51606,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -47375,7 +51707,7 @@ "id": "RegionInstanceGroupManagersApplyUpdatesRequest", "properties": { "allInstances": { - "description": "Flag to update all instances instead of specified list of ?instances?. If the flag is set to true then the instances may not be specified in the request.", + "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": { @@ -47386,7 +51718,7 @@ "type": "array" }, "minimalAction": { - "description": "The minimal action that you want to perform on each instance during the update: \n- REPLACE: At minimum, delete the instance and create it again. \n- RESTART: Stop the instance and start it again. \n- REFRESH: Do not stop the instance. \n- 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.", + "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. - 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", @@ -47394,15 +51726,15 @@ "RESTART" ], "enumDescriptions": [ - "", - "", - "", - "" + "Do not perform any action.", + "Updates applied in runtime, instances will not be disrupted.", + "Old instances will be deleted. New instances will be created from the target template.", + "Every instance will be restarted." ], "type": "string" }, "mostDisruptiveAllowedAction": { - "description": "The most disruptive action that you want to perform on each instance during the update: \n- REPLACE: Delete the instance and create it again. \n- RESTART: Stop the instance and start it again. \n- REFRESH: Do not stop the instance. \n- 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.", + "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. - 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", @@ -47410,10 +51742,10 @@ "RESTART" ], "enumDescriptions": [ - "", - "", - "", - "" + "Do not perform any action.", + "Updates applied in runtime, instances will not be disrupted.", + "Old instances will be deleted. New instances will be created from the target template.", + "Every instance will be restarted." ], "type": "string" } @@ -47443,6 +51775,10 @@ "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" @@ -47511,36 +51847,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -47684,36 +52020,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -47749,8 +52085,8 @@ "RUNNING" ], "enumDescriptions": [ - "", - "" + "Matches any status of the instances, running, non-running and others.", + "Instance is in RUNNING state if it is running." ], "type": "string" }, @@ -47841,36 +52177,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -47896,6 +52232,63 @@ }, "type": "object" }, + "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse": { + "id": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse", + "properties": { + "firewallPolicys": { + "description": "Effective firewalls from firewall policy.", + "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" + }, + "rules": { + "description": "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.", + "enum": [ + "HIERARCHY", + "NETWORK", + "NETWORK_REGIONAL", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "RegionSetLabelsRequest": { "id": "RegionSetLabelsRequest", "properties": { @@ -47960,7 +52353,7 @@ "type": "object" }, "RequestMirrorPolicy": { - "description": "A policy that specifies how requests intended for the route's backends are shadowed to a separate mirrored backend service. Loadbalancer does not wait for responses from the shadow service. Prior to sending traffic to the shadow service, the host / authority header is suffixed with -shadow.", + "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": { @@ -47971,7 +52364,7 @@ "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. (== resource_for {$api_version}.reservations ==)", + "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": { "commitment": { @@ -48014,6 +52407,10 @@ "description": "[Output Only] Server-defined fully-qualified URL for this resource.", "type": "string" }, + "shareSettings": { + "$ref": "ShareSettings", + "description": "Share-settings for shared-reservation" + }, "specificReservation": { "$ref": "AllocationSpecificSKUReservation", "description": "Reservation for instances with specific machine shapes." @@ -48032,11 +52429,11 @@ "UPDATING" ], "enumDescriptions": [ + "Resources are being allocated for the reservation.", + "Reservation is currently being deleted.", "", - "", - "", - "", - "" + "Reservation has allocated all its resources.", + "Reservation is currently being resized." ], "type": "string" }, @@ -48052,7 +52449,7 @@ "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.", + "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", @@ -48060,9 +52457,9 @@ "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.", "" ], "type": "string" @@ -48072,7 +52469,7 @@ "type": "string" }, "values": { - "description": "Corresponds to the label values of a reservation resource.", + "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" }, @@ -48150,36 +52547,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -48265,36 +52662,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -48374,36 +52771,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -48516,36 +52913,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -48572,7 +52969,7 @@ "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.\n\n(== resource_for {$api_version}.resourcePolicies ==)", + "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": { @@ -48635,11 +53032,11 @@ "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" } @@ -48718,36 +53115,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -48778,7 +53175,7 @@ "id": "ResourcePolicyDailyCycle", "properties": { "daysInCycle": { - "description": "Defines a schedule with units measured in months. The value determines how many months pass between the start of each cycle.", + "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" }, @@ -48943,36 +53340,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -49166,9 +53563,16 @@ "type": "object" }, "Route": { - "description": "Represents a Route resource.\n\nA 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. (== resource_for {$api_version}.routes ==)", + "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": { + "asPaths": { + "description": "[Output Only] AS path.", + "items": { + "$ref": "RouteAsPath" + }, + "type": "array" + }, "creationTimestamp": { "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" @@ -49216,15 +53620,15 @@ "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", + "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" }, "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: \n- 10.128.0.56 \n- https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule \n- regions/region/forwardingRules/forwardingRule", + "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: - 10.128.0.56 - https://www.googleapis.com/compute/v1/projects/project/regions/region /forwardingRules/forwardingRule - regions/region/forwardingRules/forwardingRule ", "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:\nhttps://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/", + "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" }, "nextHopIp": { @@ -49253,6 +53657,22 @@ "format": "uint32", "type": "integer" }, + "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" @@ -49303,36 +53723,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -49360,6 +53780,36 @@ }, "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", @@ -49421,36 +53871,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -49477,7 +53927,7 @@ "type": "object" }, "Router": { - "description": "Represents a Cloud Router resource.\n\nFor more information about Cloud Router, read the Cloud Router overview.", + "description": "Represents a Cloud Router resource. For more information about Cloud Router, read the Cloud Router overview.", "id": "Router", "properties": { "bgp": { @@ -49500,7 +53950,7 @@ "type": "string" }, "encryptedInterconnectRouter": { - "description": "Field to indicate if a router is dedicated to use with encrypted Interconnect Attachment (IPsec-encrypted Cloud Interconnect feature).\nNot currently available in all Interconnect locations.", + "description": "Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments). Not currently available publicly. ", "type": "boolean" }, "id": { @@ -49642,36 +54092,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -49719,7 +54169,7 @@ "ALL_SUBNETS" ], "enumDescriptions": [ - "" + "Advertise all available subnets (including peer VPC subnets)." ], "type": "string" }, @@ -49736,6 +54186,11 @@ "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" + }, + "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" @@ -49756,13 +54211,13 @@ "type": "string" }, "advertisedGroups": { - "description": "User-specified list of prefix groups to advertise in custom mode, which can take one of the following options: \n- ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets. \n- ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. 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.", + "description": "User-specified list of prefix groups to advertise in custom mode, which can take one of the following options: - ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets. - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. 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_SUBNETS" ], "enumDescriptions": [ - "" + "Advertise all available subnets (including peer VPC subnets)." ], "type": "string" }, @@ -49780,6 +54235,26 @@ "format": "uint32", "type": "integer" }, + "bfd": { + "$ref": "RouterBgpPeerBfd", + "description": "BFD configuration for the BGP peering." + }, + "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" + }, + "enableIpv6": { + "description": "Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.", + "type": "boolean" + }, "interfaceName": { "description": "Name of the interface the BGP peer is associated with.", "type": "string" @@ -49788,15 +54263,19 @@ "description": "IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.", "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. \n- MANAGED_BY_USER is the default value and can be managed by you or other users \n- 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.", + "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" }, @@ -49823,6 +54302,49 @@ "peerIpAddress": { "description": "IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.", "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" + }, + "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" + }, + "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" } }, "type": "object" @@ -49843,14 +54365,14 @@ "type": "string" }, "managementType": { - "description": "[Output Only] The resource that configures and manages this interface. \n- MANAGED_BY_USER is the default value and can be managed directly by users. \n- 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.", + "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" }, @@ -49863,6 +54385,19 @@ "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" @@ -49928,36 +54463,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -49994,6 +54529,10 @@ }, "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" }, @@ -50006,6 +54545,11 @@ "$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", @@ -50017,14 +54561,14 @@ "type": "string" }, "natIpAllocateOption": { - "description": "Specify the NatIpAllocateOption, which can take one of the following values: \n- 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. \n- 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.", + "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" }, @@ -50035,17 +54579,24 @@ }, "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: \n- ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. \n- ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. \n- 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 or ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any other Router.Nat section in any Router for this network in this region.", + "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 or ALL_SUBNETWORKS_ALL_PRIMARY_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" }, @@ -50061,6 +54612,11 @@ "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", @@ -50083,22 +54639,65 @@ "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: \n- ERRORS_ONLY: Export logs only for connection failures. \n- TRANSLATIONS_ONLY: Export logs only for successful connections. \n- ALL: Export logs for all connections, successful and unsuccessful.", + "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 == 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/global/hub/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" + }, + "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" + } + }, + "type": "object" + }, "RouterNatSubnetworkToNat": { "description": "Defines the IP ranges that want to use NAT for a subnetwork.", "id": "RouterNatSubnetworkToNat", @@ -50123,9 +54722,9 @@ "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" }, @@ -50180,6 +54779,9 @@ }, "type": "array" }, + "bfdStatus": { + "$ref": "BfdStatus" + }, "ipAddress": { "description": "IP address of the local BGP interface.", "type": "string" @@ -50201,8 +54803,12 @@ "description": "IP 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": "BGP state as specified in RFC1771.", + "description": "The state of the BGP session. For a list of possible values for this field, see BGP session states.", "type": "string" }, "status": { @@ -50269,6 +54875,13 @@ "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": { @@ -50286,6 +54899,42 @@ }, "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": { @@ -50353,36 +55002,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -50409,11 +55058,11 @@ "type": "object" }, "Rule": { - "description": "A rule to be applied in a Policy.", + "description": "This is deprecated and has no effect. Do not use.", "id": "Rule", "properties": { "action": { - "description": "Required", + "description": "This is deprecated and has no effect. Do not use.", "enum": [ "ALLOW", "ALLOW_WITH_LOG", @@ -50423,49 +55072,49 @@ "NO_ACTION" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "" + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use.", + "This is deprecated and has no effect. Do not use." ], "type": "string" }, "conditions": { - "description": "Additional restrictions that must be met. All conditions must pass for the rule to match.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "$ref": "Condition" }, "type": "array" }, "description": { - "description": "Human-readable description of the rule.", + "description": "This is deprecated and has no effect. Do not use.", "type": "string" }, "ins": { - "description": "If one or more 'in' clauses are specified, the rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "type": "string" }, "type": "array" }, "logConfigs": { - "description": "The config returned to callers of tech.iam.IAM.CheckPolicy for any entries that match the LOG action.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "$ref": "LogConfig" }, "type": "array" }, "notIns": { - "description": "If one or more 'not_in' clauses are specified, the rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "type": "string" }, "type": "array" }, "permissions": { - "description": "A permission is a string of form '..' (e.g., 'storage.buckets.list'). A value of '*' matches all permissions, and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.", + "description": "This is deprecated and has no effect. Do not use.", "items": { "type": "string" }, @@ -50487,16 +55136,16 @@ "type": "string" }, "portSpecification": { - "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in port is used for health checking.\nUSE_NAMED_PORT: The portName is used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, SSL health check follows behavior specified in port and portName fields.", + "description": "Specifies how port is selected for health checking, can be one of following values: USE_FIXED_PORT: The port number in port is used for health checking. USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking. If not specified, SSL health check follows behavior specified in port and portName fields.", "enum": [ "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT" ], "enumDescriptions": [ - "", - "", - "" + "The port number in port is used for health checking.", + "The portName is used for health checking.", + "For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking." ], "type": "string" }, @@ -50523,6 +55172,152 @@ }, "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": [ + "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": { + "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": { @@ -50543,10 +55338,10 @@ "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" } @@ -50554,13 +55349,27 @@ "type": "object" }, "Scheduling": { - "description": "Sets the scheduling options for an Instance. NextID: 20", + "description": "Sets the scheduling options for an Instance. NextID: 21", "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.\n\nBy default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.", + "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" }, + "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" + }, "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" @@ -50578,20 +55387,32 @@ "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 Setting Instance Scheduling Options.", + "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 availability policies.", "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" }, "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": [ + "SPOT", + "STANDARD" + ], + "enumDescriptions": [ + "Heavily discounted, no guaranteed runtime.", + "Standard provisioning with user controlled runtime, no discounts." + ], + "type": "string" } }, "type": "object" @@ -50612,8 +55433,8 @@ "OPERATOR_UNSPECIFIED" ], "enumDescriptions": [ - "", - "", + "Requires Compute Engine to seek for matched nodes.", + "Requires Compute Engine to avoid certain nodes.", "" ], "type": "string" @@ -50663,9 +55484,15 @@ "type": "object" }, "SecurityPolicy": { - "description": "Represents a Google Cloud Armor security policy resource.\n\nOnly external backend services that use load balancers can reference a security policy. For more information, see Google Cloud Armor security policy overview. (== resource_for {$api_version}.securityPolicies ==)", + "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" + }, "creationTimestamp": { "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" @@ -50675,7 +55502,7 @@ "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.\n\nTo see the latest fingerprint, make get() request to the security policy.", + "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" }, @@ -50694,6 +55521,9 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "recaptchaOptionsConfig": { + "$ref": "SecurityPolicyRecaptchaOptionsConfig" + }, "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 security policy, a default rule with action \"allow\" will be added.", "items": { @@ -50704,6 +55534,80 @@ "selfLink": { "description": "[Output Only] Server-defined URL for the resource.", "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. This field can be set only at resource creation time.", + "enum": [ + "CLOUD_ARMOR", + "CLOUD_ARMOR_EDGE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "SecurityPolicyAdaptiveProtectionConfig": { + "description": "Configuration options for Cloud Armor Adaptive Protection (CAAP).", + "id": "SecurityPolicyAdaptiveProtectionConfig", + "properties": { + "layer7DdosDefenseConfig": { + "$ref": "SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig", + "description": "If set to true, enables Cloud Armor Machine Learning." + } + }, + "type": "object" + }, + "SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig": { + "description": "Configuration options for L7 DDoS detection.", + "id": "SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig", + "properties": { + "enable": { + "description": "If set to true, enables CAAP for L7 DDoS detection.", + "type": "boolean" + }, + "ruleVisibility": { + "description": "Rule visibility can be one of the following: STANDARD - opaque rules. (default) PREMIUM - transparent rules.", + "enum": [ + "PREMIUM", + "STANDARD" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "SecurityPolicyAdvancedOptionsConfig": { + "id": "SecurityPolicyAdvancedOptionsConfig", + "properties": { + "jsonParsing": { + "enum": [ + "DISABLED", + "STANDARD" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "logLevel": { + "enum": [ + "NORMAL", + "VERBOSE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" } }, "type": "object" @@ -50764,36 +55668,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -50819,6 +55723,16 @@ }, "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.", + "type": "string" + } + }, + "type": "object" + }, "SecurityPolicyReference": { "id": "SecurityPolicyReference", "properties": { @@ -50833,13 +55747,17 @@ "id": "SecurityPolicyRule", "properties": { "action": { - "description": "The Action to perform when the client connection triggers the rule. Can currently be either \"allow\" or \"deny()\" where valid values for status are 403, 404, and 502.", + "description": "The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(): deny access to target, returns the HTTP response code specified (valid values 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. - 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" }, + "headerAction": { + "$ref": "SecurityPolicyRuleHttpHeaderAction", + "description": "Optional, additional actions that are performed on headers." + }, "kind": { "default": "compute#securityPolicyRule", "description": "[Output only] Type of the resource. Always compute#securityPolicyRule for security policy rules", @@ -50857,6 +55775,41 @@ "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." + } + }, + "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" @@ -50879,7 +55832,7 @@ "SRC_IPS_V1" ], "enumDescriptions": [ - "" + "Matches the source IP address of a request to the IP ranges supplied in config." ], "type": "string" } @@ -50899,16 +55852,107 @@ }, "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 this field 'enforce_on_key' 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 \"enforce_on_key_name\". 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 \"enforce_on_key_name\". 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. ", + "enum": [ + "ALL", + "HTTP_COOKIE", + "HTTP_HEADER", + "IP", + "XFF_IP" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "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.", + "type": "string" + }, + "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." + }, + "rateLimitThreshold": { + "$ref": "SecurityPolicyRuleRateLimitOptionsThreshold", + "description": "Threshold at which to begin ratelimiting." + } + }, + "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" + }, "SecuritySettings": { "description": "The authentication and authorization settings for a BackendService.", "id": "SecuritySettings", "properties": { "clientTlsPolicy": { - "description": "Optional. A URL referring to a networksecurity.ClientTlsPolicy resource that describes how clients should authenticate with this service's backends.\nclientTlsPolicy only applies to a global BackendService with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.\nIf left blank, communications are not encrypted.\nNote: This field currently has no impact.", + "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. Note: This field currently has no impact.", "type": "string" }, "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.\nNote that the contents of the server certificate's subjectAltName field are configured by the Public Key Infrastructure which provisions server identities.\nOnly applies to a global BackendService with loadBalancingScheme set to INTERNAL_SELF_MANAGED. Only applies when BackendService has an attached clientTlsPolicy with clientCertificate (mTLS mode).\nNote: This field currently has no impact.", + "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). Note: This field currently has no impact.", "items": { "type": "string" }, @@ -50918,7 +55962,7 @@ "type": "object" }, "SerialPortOutput": { - "description": "An instance's serial console output.", + "description": "An instance serial console output.", "id": "SerialPortOutput", "properties": { "contents": { @@ -50957,8 +56001,8 @@ "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" @@ -50984,6 +56028,544 @@ }, "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. next tag = 20", + "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": "Projects that are allowed to connect to this service attachment.", + "items": { + "$ref": "ServiceAttachmentConsumerProjectLimit" + }, + "type": "array" + }, + "consumerRejectLists": { + "description": "Projects that are not allowed to connect to this service attachment. The project can be specified using its id or number.", + "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": { + "description": "The URL of a forwarding rule with loadBalancingScheme INTERNAL* that is serving the endpoint identified by this service attachment.", + "type": "string" + }, + "pscServiceAttachmentId": { + "$ref": "Uint128", + "description": "[Output Only] An 128-bit global unique ID of the PSC service attachment." + }, + "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" + } + }, + "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", + "LARGE_DEPLOYMENT_WARNING", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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": { + "endpoint": { + "description": "The url of a connected endpoint.", + "type": "string" + }, + "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", + "PENDING", + "REJECTED", + "STATUS_UNSPECIFIED" + ], + "enumDescriptions": [ + "The connection has been accepted by the producer.", + "The connection has been closed by the producer.", + "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" + }, + "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", + "LARGE_DEPLOYMENT_WARNING", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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" + }, + "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", + "LARGE_DEPLOYMENT_WARNING", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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" + }, + "ShareSettings": { + "description": "The share setting for reservations and sole tenancy node groups.", + "id": "ShareSettings", + "properties": { + "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" + }, + "shareType": { + "description": "Type of sharing for this shared-reservation", + "enum": [ + "LOCAL", + "SHARE_TYPE_UNSPECIFIED", + "SPECIFIC_PROJECTS" + ], + "enumDescriptions": [ + "Default value.", + "Default value. This value is unused.", + "Shared-reservation is open to specific projects" + ], + "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", @@ -51004,7 +56586,7 @@ "type": "object" }, "ShieldedInstanceIdentity": { - "description": "A shielded Instance identity entry.", + "description": "A Shielded Instance Identity.", "id": "ShieldedInstanceIdentity", "properties": { "encryptionKey": { @@ -51066,7 +56648,7 @@ "type": "object" }, "Snapshot": { - "description": "Represents a Persistent Disk Snapshot resource.\n\nYou can use snapshots to back up data on a regular interval. For more information, read Creating persistent disk snapshots. (== resource_for {$api_version}.snapshots ==)", + "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": { "autoCreated": { @@ -51106,7 +56688,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve a snapshot.", + "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" }, @@ -51137,6 +56719,11 @@ "type": "string" }, "name": { + "annotations": { + "required": [ + "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" @@ -51151,7 +56738,7 @@ }, "snapshotEncryptionKey": { "$ref": "CustomerEncryptionKey", - "description": "Encrypts the snapshot using a customer-supplied encryption key.\n\nAfter 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.\n\nCustomer-supplied encryption keys do not protect access to metadata of the snapshot.\n\nIf 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." + "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." }, "sourceDisk": { "description": "The source disk used to create this snapshot.", @@ -51175,11 +56762,11 @@ "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" }, @@ -51271,36 +56858,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -51326,6 +56913,20 @@ }, "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", @@ -51340,8 +56941,82 @@ }, "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" + }, + "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" + }, + "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.\n\nGoogle Compute Engine has two SSL Certificate resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/sslCertificates) * [Regional](/compute/docs/reference/rest/{$api_version}/regionSslCertificates)\n\n\n\nThe sslCertificates are used by: \n- external HTTPS load balancers \n- SSL proxy load balancers \n\nThe regionSslCertificates are used by internal HTTPS load balancers.\n\nOptionally, 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. (== resource_for {$api_version}.sslCertificates ==) (== resource_for {$api_version}.regionSslCertificates ==)", + "description": "Represents an SSL Certificate resource. Google Compute Engine has two SSL Certificate resources: * [Global](/compute/docs/reference/rest/v1/sslCertificates) * [Regional](/compute/docs/reference/rest/v1/regionSslCertificates) The sslCertificates are used by: - external HTTPS load balancers - SSL proxy load balancers The regionSslCertificates are used by internal HTTPS 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": { @@ -51410,8 +57085,8 @@ "TYPE_UNSPECIFIED" ], "enumDescriptions": [ - "", - "", + "Google-managed SSLCertificate.", + "Certificate uploaded by user.", "" ], "type": "string" @@ -51487,36 +57162,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -51603,36 +57278,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -51674,13 +57349,13 @@ "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" }, @@ -51705,12 +57380,12 @@ "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" } @@ -51775,36 +57450,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -51890,36 +57565,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -51958,7 +57633,7 @@ "type": "object" }, "SslPolicy": { - "description": "Represents an SSL Policy resource.\n\nUse SSL policies to control the SSL features, such as versions and cipher suites, offered by an HTTPS or SSL Proxy load balancer. For more information, read SSL Policy Concepts. (== resource_for {$api_version}.sslPolicies ==)", + "description": "Represents an SSL Policy resource. Use SSL policies to control the SSL features, such as versions and cipher suites, offered by an HTTPS or SSL Proxy load balancer. For more information, read SSL Policy Concepts.", "id": "SslPolicy", "properties": { "creationTimestamp": { @@ -51966,7 +57641,7 @@ "type": "string" }, "customFeatures": { - "description": "A list of features enabled when the selected profile is CUSTOM. The\n- method returns the set of features that can be specified in this list. This field must be empty if the profile is not CUSTOM.", + "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" }, @@ -51984,7 +57659,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve an SslPolicy.", + "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" }, @@ -52006,9 +57681,9 @@ "TLS_1_2" ], "enumDescriptions": [ - "", - "", - "" + "TLS 1.0", + "TLS 1.1", + "TLS 1.2" ], "type": "string" }, @@ -52026,10 +57701,10 @@ "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" }, @@ -52071,36 +57746,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -52180,7 +57855,7 @@ "type": "object" }, "Subnetwork": { - "description": "Represents a Subnetwork resource.\n\nA 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. (== resource_for {$api_version}.subnetworks ==)", + "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": { "creationTimestamp": { @@ -52192,11 +57867,15 @@ "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 to disable flow logging. This field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.", + "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 with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.", "type": "boolean" }, + "externalIpv6Prefix": { + "description": "[Output Only] The range of external IPv6 addresses that are 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.\n\nTo see the latest fingerprint, make a get() request to retrieve a Subnetwork.", + "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" }, @@ -52209,12 +57888,28 @@ "format": "uint64", "type": "string" }, + "internalIpv6Prefix": { + "description": "[Output Only] The range of internal IPv6 addresses that are owned by this subnetwork. Note this is for general VM to VM communication, not to be confused with the ipv6_cidr_range field.", + "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" }, + "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. If the ipv6_type is EXTERNAL then this subnet cannot enable direct path.", + "enum": [ + "EXTERNAL", + "INTERNAL" + ], + "enumDescriptions": [ + "VMs on this subnet will be assigned IPv6 addresses that are accesible 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] The range of internal IPv6 addresses that are owned by this subnetwork.", + "description": "[Output Only] The range of internal IPv6 addresses that are owned by this subnetwork. Note this will be for private google access only eventually.", "type": "string" }, "kind": { @@ -52232,7 +57927,7 @@ "type": "string" }, "network": { - "description": "The URL of the network to which this subnetwork belongs, provided by the client when initially creating the subnetwork. Only networks that are in the distributed mode can have subnetworks. This field can be set only at resource creation time.", + "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": { @@ -52240,16 +57935,16 @@ "type": "boolean" }, "privateIpv6GoogleAccess": { - "description": "The private IPv6 google access type for the VMs in this subnet. This is an expanded field of enablePrivateV6Access. If both fields are set, privateIpv6GoogleAccess will take priority.\n\nThis field can be both set at resource creation time and updated using patch.", + "description": "The private IPv6 google access type for the VMs in this subnet. This is an expanded field of enablePrivateV6Access. If both fields are set, privateIpv6GoogleAccess will take priority. 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" }, @@ -52258,12 +57953,16 @@ "enum": [ "INTERNAL_HTTPS_LOAD_BALANCER", "PRIVATE", - "PRIVATE_RFC_1918" + "PRIVATE_RFC_1918", + "PRIVATE_SERVICE_CONNECT", + "REGIONAL_MANAGED_PROXY" ], "enumDescriptions": [ - "", - "", - "" + "Subnet reserved for Internal HTTP(S) Load Balancing.", + "Regular user created or automatically created subnet.", + "Regular user created or automatically created subnet.", + "Subnetworks created for Private Service Connect in the producer network.", + "Subnetwork used for Regional Internal/External HTTP(S) Load Balancing." ], "type": "string" }, @@ -52278,8 +57977,8 @@ "BACKUP" ], "enumDescriptions": [ - "", - "" + "The ACTIVE subnet that is currently used.", + "The BACKUP subnet that could be promoted to ACTIVE." ], "type": "string" }, @@ -52294,15 +57993,27 @@ "description": "[Output Only] Server-defined URL for the resource.", "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" + ], + "enumDescriptions": [ + "New VMs in this subnet can have both IPv4 and IPv6 addresses.", + "New VMs in this subnet will only be assigned IPv4 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 CREATING: Subnetwork is provisioning DELETING: Subnetwork is being deleted UPDATING: Subnetwork is being updated", + "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" } @@ -52377,36 +58088,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -52493,36 +58204,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -52573,15 +58284,15 @@ "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 to disable flow logging.", + "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.", "type": "boolean" }, "filterExpr": { - "description": "Can only be specified if VPC flow logs for this subnetwork is enabled. Export filter used to define which VPC flow logs should be logged.", + "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, which means half of all collected logs are reported.", + "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" }, @@ -52677,36 +58388,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -52741,6 +58452,24 @@ }, "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" + } + }, + "type": "object" + }, "TCPHealthCheck": { "id": "TCPHealthCheck", "properties": { @@ -52754,16 +58483,16 @@ "type": "string" }, "portSpecification": { - "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in port is used for health checking.\nUSE_NAMED_PORT: The portName is used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, TCP health check follows behavior specified in port and portName fields.", + "description": "Specifies how port is selected for health checking, can be one of following values: USE_FIXED_PORT: The port number in port is used for health checking. USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking. If not specified, TCP health check follows behavior specified in port and portName fields.", "enum": [ "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT" ], "enumDescriptions": [ - "", - "", - "" + "The port number in port is used for health checking.", + "The portName is used for health checking.", + "For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking." ], "type": "string" }, @@ -52795,7 +58524,7 @@ "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.\n\nTo see the latest fingerprint, make get() request to the instance.", + "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" }, @@ -52804,13 +58533,14 @@ "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.\n\nA 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. (== resource_for {$api_version}.targetGrpcProxies ==)", + "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": { @@ -52925,36 +58655,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -53023,36 +58753,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -53079,7 +58809,7 @@ "type": "object" }, "TargetHttpProxy": { - "description": "Represents a Target HTTP Proxy resource.\n\nGoogle Compute Engine has two Target HTTP Proxy resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/targetHttpProxies) * [Regional](/compute/docs/reference/rest/{$api_version}/regionTargetHttpProxies)\n\nA target HTTP proxy is a component of GCP HTTP load balancers.\n\n* targetHttpProxies are used by external HTTP load balancers and Traffic Director. * regionTargetHttpProxies are used by internal HTTP load balancers.\n\nForwarding 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. (== resource_for {$api_version}.targetHttpProxies ==) (== resource_for {$api_version}.regionTargetHttpProxies ==)", + "description": "Represents a Target HTTP Proxy resource. Google Compute Engine has two Target HTTP Proxy resources: * [Global](/compute/docs/reference/rest/v1/targetHttpProxies) * [Regional](/compute/docs/reference/rest/v1/regionTargetHttpProxies) A target HTTP proxy is a component of GCP HTTP load balancers. * targetHttpProxies are used by external HTTP load balancers and Traffic Director. * regionTargetHttpProxies are used by internal HTTP 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": { @@ -53111,7 +58841,7 @@ "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.\n\nWhen 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.\n\nThe default is false.", + "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": { @@ -53228,36 +58958,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -53326,36 +59056,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -53392,9 +59122,9 @@ "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" } @@ -53405,7 +59135,7 @@ "id": "TargetHttpsProxiesSetSslCertificatesRequest", "properties": { "sslCertificates": { - "description": "New set of SslCertificate resources to associate with this TargetHttpsProxy resource. Currently exactly one SslCertificate resource must be specified.", + "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" }, @@ -53415,11 +59145,11 @@ "type": "object" }, "TargetHttpsProxy": { - "description": "Represents a Target HTTPS Proxy resource.\n\nGoogle Compute Engine has two Target HTTPS Proxy resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/{$api_version}/regionTargetHttpsProxies)\n\nA target HTTPS proxy is a component of GCP HTTPS load balancers.\n\n* targetHttpsProxies are used by external HTTPS load balancers. * regionTargetHttpsProxies are used by internal HTTPS load balancers.\n\nForwarding 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. (== resource_for {$api_version}.targetHttpsProxies ==) (== resource_for {$api_version}.regionTargetHttpsProxies ==)", + "description": "Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/v1/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/v1/regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS load balancers. * targetHttpsProxies are used by external HTTPS load balancers. * regionTargetHttpsProxies are used by internal HTTPS 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": { "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.\nRefer to the AuthorizationPolicy resource for additional details.\nauthorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.\nNote: This field currently has no impact.", + "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" }, "creationTimestamp": { @@ -53451,20 +59181,20 @@ "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.\n\nWhen 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.\n\nThe default is false.", + "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. \n- When quic-override is set to NONE, Google manages whether QUIC is used. \n- When quic-override is set to ENABLE, the load balancer uses QUIC when possible. \n- When quic-override is set to DISABLE, the load balancer doesn't use QUIC. \n- If the quic-override flag is not specified, NONE is implied.", + "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" }, @@ -53477,11 +59207,11 @@ "type": "string" }, "serverTlsPolicy": { - "description": "Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic.\nserverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.\nIf left blank, communications are not encrypted.\nNote: This field currently has no impact.", + "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. If left blank, communications are not encrypted. Note: This field currently has no impact.", "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. Currently, you may specify up to 15 SSL certificates.", + "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. 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" }, @@ -53492,7 +59222,7 @@ "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: \n- https://www.googleapis.compute/v1/projects/project/global/urlMaps/url-map \n- projects/project/global/urlMaps/url-map \n- global/urlMaps/url-map", + "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" } }, @@ -53566,36 +59296,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -53682,36 +59412,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -53738,7 +59468,7 @@ "type": "object" }, "TargetInstance": { - "description": "Represents a Target Instance resource.\n\nYou 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. (== resource_for {$api_version}.targetInstances ==)", + "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": { @@ -53755,7 +59485,7 @@ "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: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance \n- projects/project/zones/zone/instances/instance \n- zones/zone/instances/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": { @@ -53774,10 +59504,14 @@ "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" + }, "selfLink": { "description": "[Output Only] Server-defined URL for the resource.", "type": "string" @@ -53857,36 +59591,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -53973,36 +59707,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -54071,36 +59805,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -54127,11 +59861,11 @@ "type": "object" }, "TargetPool": { - "description": "Represents a Target Pool resource.\n\nTarget pools are used for network TCP/UDP load balancing. A target pool references member instances, an associated legacy HttpHealthCheck resource, and, optionally, a backup target pool. For more information, read Using target pools. (== resource_for {$api_version}.targetPools ==)", + "description": "Represents a Target Pool resource. Target pools are used for network TCP/UDP load balancing. 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].\n\nbackupPool 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.\n\nIn 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.", + "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": { @@ -54143,7 +59877,7 @@ "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].\n\nIf 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.\n\nIn 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.", + "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" }, @@ -54185,7 +59919,7 @@ "type": "string" }, "sessionAffinity": { - "description": "Session affinity option, must be one of the following values:\nNONE: Connections from the same client IP may go to any instance in the pool.\nCLIENT_IP: Connections from the same client IP will go to the same instance in the pool while that instance remains healthy.\nCLIENT_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.", + "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", @@ -54197,14 +59931,14 @@ "NONE" ], "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." ], "type": "string" } @@ -54279,36 +60013,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -54412,36 +60146,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -54484,7 +60218,7 @@ "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: \n- https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-name \n- projects/project-id/zones/zone/instances/instance-name \n- zones/zone/instances/instance-name", + "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" }, @@ -54497,7 +60231,7 @@ "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: \n- https://www.googleapis.com/compute/beta/projects/project/global/httpHealthChecks/health-check \n- projects/project/global/httpHealthChecks/health-check \n- global/httpHealthChecks/health-check", + "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" }, @@ -54562,36 +60296,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -54658,7 +60392,7 @@ "id": "TargetSslProxiesSetSslCertificatesRequest", "properties": { "sslCertificates": { - "description": "New set of URLs to SslCertificate resources to associate with this TargetSslProxy. Currently exactly one ssl certificate must be specified.", + "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" }, @@ -54668,7 +60402,7 @@ "type": "object" }, "TargetSslProxy": { - "description": "Represents a Target SSL Proxy resource.\n\nA target SSL proxy is a component of a SSL Proxy load balancer. Global forwarding rules reference a target SSL proxy, and the target proxy then references an external backend service. For more information, read Using Target Proxies. (== resource_for {$api_version}.targetSslProxies ==)", + "description": "Represents a Target SSL Proxy resource. A target SSL proxy is a component of a SSL Proxy load balancer. Global forwarding rules reference a target SSL proxy, and the target proxy then references an external backend service. For more information, read Using Target Proxies.", "id": "TargetSslProxy", "properties": { "creationTimestamp": { @@ -54715,7 +60449,7 @@ "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.", + "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" }, @@ -54789,36 +60523,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -54873,7 +60607,7 @@ "type": "object" }, "TargetTcpProxy": { - "description": "Represents a Target TCP Proxy resource.\n\nA target TCP proxy is a component of a TCP Proxy load balancer. Global forwarding rules reference target TCP proxy, and the target proxy then references an external backend service. For more information, read TCP Proxy Load Balancing overview. (== resource_for {$api_version}.targetTcpProxies ==)", + "description": "Represents a Target TCP Proxy resource. A target TCP proxy is a component of a TCP Proxy load balancer. Global forwarding rules reference target TCP proxy, and the target proxy then references an external backend service. For more information, read TCP Proxy Load Balancing overview.", "id": "TargetTcpProxy", "properties": { "creationTimestamp": { @@ -54900,7 +60634,7 @@ "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.\n\nWhen 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.\n\nThe default is false.", + "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": { @@ -54987,36 +60721,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -55043,7 +60777,7 @@ "type": "object" }, "TargetVpnGateway": { - "description": "Represents a Target VPN Gateway resource.\n\nThe target VPN gateway resource represents a Classic Cloud VPN gateway. For more information, read the the Cloud VPN Overview. (== resource_for {$api_version}.targetVpnGateways ==)", + "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": { @@ -55192,36 +60926,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -55308,36 +61042,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -55406,36 +61140,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -55465,7 +61199,7 @@ "id": "TestFailure", "properties": { "actualOutputUrl": { - "description": "The actual output URL evaluated by load balancer containing the scheme, host, path and query parameters.", + "description": "The actual output URL evaluated by a load balancer containing the scheme, host, path and query parameters.", "type": "string" }, "actualRedirectResponseCode": { @@ -55478,7 +61212,7 @@ "type": "string" }, "expectedOutputUrl": { - "description": "The expected output URL evaluated by load balancer containing the scheme, host, path and query parameters.", + "description": "The expected output URL evaluated by a load balancer containing the scheme, host, path and query parameters.", "type": "string" }, "expectedRedirectResponseCode": { @@ -55534,8 +61268,22 @@ }, "type": "object" }, + "Uint128": { + "id": "Uint128", + "properties": { + "high": { + "format": "uint64", + "type": "string" + }, + "low": { + "format": "uint64", + "type": "string" + } + }, + "type": "object" + }, "UrlMap": { - "description": "Represents a URL Map resource.\n\nGoogle Compute Engine has two URL Map resources:\n\n* [Global](/compute/docs/reference/rest/{$api_version}/urlMaps) * [Regional](/compute/docs/reference/rest/{$api_version}/regionUrlMaps)\n\nA URL map resource is a component of certain types of GCP load balancers and Traffic Director.\n\n* urlMaps are used by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used by internal HTTP(S) load balancers.\n\nFor a list of supported URL map features by load balancer type, see the Load balancing features: Routing and traffic management table.\n\nFor a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table.\n\nThis resource defines mappings from host names and URL paths to either a backend service or a backend bucket.\n\nTo use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL 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.", + "description": "Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used by internal HTTP(S) 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 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": { @@ -55544,31 +61292,31 @@ }, "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.\nOnly one of defaultRouteAction or defaultUrlRedirect must be set.\nUrlMaps for external HTTP(S) load balancers support only the urlRewrite action within defaultRouteAction.\ndefaultRouteAction has no effect when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true." + "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. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers support only 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 additionally specified, advanced routing actions like URL Rewrites, etc. take effect prior to sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified.\nOnly one of defaultService, defaultUrlRedirect or defaultRouteAction.weightedBackendService must be set.\ndefaultService has no effect when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.", + "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. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of defaultService, defaultUrlRedirect , or defaultRouteAction.weightedBackendService must 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.\nIf defaultUrlRedirect is specified, defaultService or defaultRouteAction must not be set.\nNot supported when the URL map is bound to target gRPC proxy." + "description": "When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or defaultRouteAction must not 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 will be 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.\n\nTo see the latest fingerprint, make a get() request to retrieve a UrlMap.", + "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.\nThe headerAction specified here take effect after headerAction specified under pathMatcher.\nNote that headerAction is not supported for Loadbalancers that have their loadBalancingScheme set to EXTERNAL.\nNot supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true." + "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 HostRules to use against the URL.", + "description": "The list of host rules to use against the URL.", "items": { "$ref": "HostRule" }, @@ -55605,7 +61353,7 @@ "type": "string" }, "tests": { - "description": "The list of expected URL mapping tests. Request to update this UrlMap will succeed only if all of the test cases pass. You can specify a maximum of 100 tests per UrlMap.\nNot supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.", + "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" }, @@ -55675,36 +61423,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -55748,11 +61496,11 @@ "type": "string" }, "expectedOutputUrl": { - "description": "The expected output URL evaluated by load balancer containing the scheme, host, path and query parameters.\nFor rules that forward requests to backends, the test passes only when expectedOutputUrl matches the request forwarded by 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.\nFor 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.\nexpectedOutputUrl is optional when service is specified.", + "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.\nexpectedRedirectResponseCode cannot be set when service is set.", + "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" }, @@ -55772,7 +61520,7 @@ "type": "string" }, "service": { - "description": "Expected BackendService or BackendBucket resource the given URL should be mapped to.\nservice cannot be set if expectedRedirectResponseCode is set.", + "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" } }, @@ -55888,36 +61636,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -55986,36 +61734,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -56044,6 +61792,23 @@ "UrlMapsValidateRequest": { "id": "UrlMapsValidateRequest", "properties": { + "loadBalancingSchemes": { + "description": "Specifies the load balancer type(s) this validation request is for. Use EXTERNAL_MANAGED for HTTP/HTTPS External Global Load Balancer with Advanced Traffic Management. Use EXTERNAL for Classic HTTP/HTTPS External Global Load Balancer. Other load balancer types are not supported. 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 L7 External Load Balancing.", + "Signifies that this will be used for Envoy-based L7 External Load Balancing.", + "If unspecified, the validation will try to infer the scheme from the backend service resources this Url map references. If the inferrence 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." @@ -56065,11 +61830,11 @@ "id": "UrlRewrite", "properties": { "hostRewrite": { - "description": "Prior to forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite.\nThe value must be between 1 and 255 characters.", + "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": "Prior to forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite.\nThe value must be between 1 and 1024 characters.", + "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" } }, @@ -56136,7 +61901,7 @@ "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.", + "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" }, "selfLink": { @@ -56176,36 +61941,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -56240,7 +62005,7 @@ "type": "string" }, "reportNamePrefix": { - "description": "An optional prefix for the name of the usage report object stored in bucketName. If not supplied, defaults to usage. 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.", + "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" } }, @@ -56363,36 +62128,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -56419,7 +62184,7 @@ "type": "object" }, "VpnGateway": { - "description": "Represents a HA VPN gateway.\n\nHA 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 . (== resource_for {$api_version}.vpnGateways ==)", + "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": { @@ -56441,7 +62206,7 @@ "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.\n\nTo see the latest fingerprint, make a get() request to retrieve an VpnGateway.", + "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 an VpnGateway.", "format": "byte", "type": "string" }, @@ -56479,8 +62244,20 @@ "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. If not specified, IPV4_ONLY will be used.", + "enum": [ + "IPV4_IPV6", + "IPV4_ONLY" + ], + "enumDescriptions": [ + "Enable VPN gateway with both IPv4 and IPv6 protocols.", + "Enable VPN gateway with only IPv4 protocol." + ], + "type": "string" + }, "vpnInterfaces": { - "description": "A list of interfaces on this VPN gateway.", + "description": "The list of VPN interfaces associated with this VPN gateway.", "items": { "$ref": "VpnGatewayVpnGatewayInterface" }, @@ -56557,36 +62334,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -56673,36 +62450,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -56752,8 +62529,8 @@ "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" }, @@ -56822,16 +62599,16 @@ "id": "VpnGatewayVpnGatewayInterface", "properties": { "id": { - "description": "The numeric ID of this VPN gateway interface.", + "description": "[Output Only] Numeric identifier for this VPN interface associated with the VPN gateway.", "format": "uint32", "type": "integer" }, "interconnectAttachment": { - "description": "URL of the interconnect attachment resource. When the value of this field is present, the VPN Gateway will be used for IPsec-encrypted Cloud Interconnect; all Egress or Ingress traffic for this VPN Gateway interface will go through the specified interconnect attachment resource.\nNot currently available in all Interconnect locations.", + "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 IPsec-encrypted Cloud Interconnect; all egress or ingress traffic for this VPN gateway interface goes through the specified VLAN attachment resource. Not currently available publicly. ", "type": "string" }, "ipAddress": { - "description": "[Output Only] The external IP address for this VPN gateway interface.", + "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 IPsec-encrypted Cloud Interconnect, the IP addresses for both interfaces could either be regional internal IP addresses or regional external IP addresses. For regular (non IPsec-encrypted Cloud Interconnect) HA VPN tunnels, the IP address must be a regional external IP address.", "type": "string" } }, @@ -56889,36 +62666,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -56945,7 +62722,7 @@ "type": "object" }, "VpnTunnel": { - "description": "Represents a Cloud VPN Tunnel resource.\n\nFor more information about VPN, read the the Cloud VPN Overview. (== resource_for {$api_version}.vpnTunnels ==)", + "description": "Represents a Cloud VPN Tunnel resource. For more information about VPN, read the the Cloud VPN Overview.", "id": "VpnTunnel", "properties": { "creationTimestamp": { @@ -57037,7 +62814,7 @@ "type": "string" }, "status": { - "description": "[Output Only] The status of the VPN tunnel, which can be one of the following: \n- PROVISIONING: Resource is being allocated for the VPN tunnel. \n- 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. \n- FIRST_HANDSHAKE: Successful first handshake with the peer VPN. \n- ESTABLISHED: Secure session is successfully established with the peer VPN. \n- NETWORK_ERROR: Deprecated, replaced by NO_INCOMING_PACKETS \n- AUTHORIZATION_ERROR: Auth error (for example, bad shared secret). \n- NEGOTIATION_FAILURE: Handshake failed. \n- DEPROVISIONING: Resources are being deallocated for the VPN tunnel. \n- FAILED: Tunnel creation has failed and the tunnel is not ready to be used. \n- NO_INCOMING_PACKETS: No incoming packets from peer. \n- REJECTED: Tunnel configuration was rejected, can be result of being denied access. \n- ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required resources. \n- STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for Classic VPN tunnels or the project is in frozen state. \n- PEER_IDENTITY_MISMATCH: Peer identity does not match peer IP, probably behind NAT. \n- TS_NARROWING_NOT_ALLOWED: Traffic selector narrowing not allowed for an HA-VPN tunnel.", + "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", @@ -57054,19 +62831,19 @@ "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" }, @@ -57154,36 +62931,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -57270,36 +63047,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -57368,36 +63145,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -57441,7 +63218,7 @@ "type": "array" }, "id": { - "description": "Google specified expression set ID. The format should be: - E.g. XSS-20170329", + "description": "Google specified expression set ID. The format should be: - E.g. XSS-20170329 required", "type": "string" } }, @@ -57451,26 +63228,26 @@ "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.", + "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" } }, "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 BackendServices. The volume of traffic for each BackendService is proportional to the weight specified in each 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 loadbalancer applies any relevant headerActions specified as part of this backendServiceWeight.", + "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.\nheaderAction specified here take effect before headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.\nNote that headerAction is not supported for Loadbalancers that have their loadBalancingScheme set to EXTERNAL.\nNot supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true." + "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 backendService, computed as weight / (sum of all weightedBackendService weights in routeAction) .\nThe selection of a backend service is determined only for new traffic. Once a user's request has been directed to a backendService, subsequent requests will be sent to the same backendService as determined by the BackendService's session affinity policy.\nThe value must be between 0 and 1000", + "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. The value must be from 0 to 1000.", "format": "uint32", "type": "integer" } @@ -57537,36 +63314,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { @@ -57616,7 +63393,7 @@ "type": "object" }, "Zone": { - "description": "Represents a Zone resource.\n\nA zone is a deployment area. These deployment areas are subsets of a region. For example the zone us-east1-a is located in the us-east1 region. For more information, read Regions and Zones. (== resource_for {$api_version}.zones ==)", + "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-a is located in the us-east1 region. For more information, read Regions and Zones.", "id": "Zone", "properties": { "availableCpuPlatforms": { @@ -57740,36 +63517,36 @@ "UNREACHABLE" ], "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.", + "When deploying a deployment with a exceedingly large number of resources", + "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 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", + "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:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { "key": { diff --git a/etc/api/connectors/v1/connectors-api.json b/etc/api/connectors/v1/connectors-api.json new file mode 100644 index 0000000000..86880144db --- /dev/null +++ b/etc/api/connectors/v1/connectors-api.json @@ -0,0 +1,2831 @@ +{ + "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://connectors.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Connectors", + "description": "Enables users to create and manage connections to Google Cloud services and third-party business applications using the Connectors interface.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/apigee/docs/api-platform/connectors/about-connectors", + "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": "connectors:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://connectors.mtls.googleapis.com/", + "name": "connectors", + "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": "connectors.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" + ] + }, + "getRuntimeConfig": { + "description": "Gets the runtimeConfig of a location. RuntimeConfig is a singleton resource for each location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimeConfig", + "httpMethod": "GET", + "id": "connectors.projects.locations.getRuntimeConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the form: `projects/*/locations/*/runtimeConfig`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/runtimeConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "RuntimeConfig" + }, + "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": "connectors.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. If not set, the service selects a default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "connections": { + "methods": { + "create": { + "description": "Creates a new Connection in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections", + "httpMethod": "POST", + "id": "connectors.projects.locations.connections.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "connectionId": { + "description": "Required. Identifier to assign to the Connection. Must be unique within scope of the parent resource.", + "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", + "request": { + "$ref": "Connection" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single Connection.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}", + "httpMethod": "DELETE", + "id": "connectors.projects.locations.connections.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the form: `projects/*/locations/*/connections/*`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Connection.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}", + "httpMethod": "GET", + "id": "connectors.projects.locations.connections.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the form: `projects/*/locations/*/connections/*`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Specifies which fields of the Connection are returned in the response. Defaults to `BASIC` view.", + "enum": [ + "CONNECTION_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "CONNECTION_UNSPECIFIED.", + "Do not include runtime required configs.", + "Include runtime required configs." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Connection" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getConnectionSchemaMetadata": { + "description": "Gets schema metadata of a connection. SchemaMetadata is a singleton resource for each connection.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/connectionSchemaMetadata", + "httpMethod": "GET", + "id": "connectors.projects.locations.connections.getConnectionSchemaMetadata", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Connection 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": "ConnectionSchemaMetadata" + }, + "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}/connections/{connectionsId}:getIamPolicy", + "httpMethod": "GET", + "id": "connectors.projects.locations.connections.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "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": "connectors.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" + }, + "view": { + "description": "Specifies which fields of the Connection are returned in the response. Defaults to `BASIC` view.", + "enum": [ + "CONNECTION_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "CONNECTION_UNSPECIFIED.", + "Do not include runtime required configs.", + "Include runtime required configs." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/connections", + "response": { + "$ref": "ListConnectionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single Connection.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}", + "httpMethod": "PATCH", + "id": "connectors.projects.locations.connections.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Resource name of the Connection. Format: projects/{project}/locations/{location}/connections/{connection}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Field mask is used to specify the fields to be overwritten in the Connection resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Connection" + }, + "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}/connections/{connectionsId}:setIamPolicy", + "httpMethod": "POST", + "id": "connectors.projects.locations.connections.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/[^/]+/connections/[^/]+$", + "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}/connections/{connectionsId}:testIamPermissions", + "httpMethod": "POST", + "id": "connectors.projects.locations.connections.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/[^/]+/connections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "runtimeActionSchemas": { + "methods": { + "list": { + "description": "List schema of a runtime actions filtered by action name.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/runtimeActionSchemas", + "httpMethod": "GET", + "id": "connectors.projects.locations.connections.runtimeActionSchemas.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Required. Filter Format: action=\"{actionId}\" Only action field is supported with literal equality operator. Accepted filter example: action=\"CancelOrder\" Wildcards are not supported in the filter currently.", + "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": "ListRuntimeActionSchemasResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "runtimeEntitySchemas": { + "methods": { + "list": { + "description": "List schema of a runtime entities filtered by entity name.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/runtimeEntitySchemas", + "httpMethod": "GET", + "id": "connectors.projects.locations.connections.runtimeEntitySchemas.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Required. Filter Format: entity=\"{entityId}\" Only entity field is supported with literal equality operator. Accepted filter example: entity=\"Order\" Wildcards are not supported in the filter currently.", + "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": "ListRuntimeEntitySchemasResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "global": { + "resources": { + "providers": { + "methods": { + "get": { + "description": "Gets details of a single Provider.", + "flatPath": "v1/projects/{projectsId}/locations/global/providers/{providersId}", + "httpMethod": "GET", + "id": "connectors.projects.locations.global.providers.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/providers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Provider" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Providers in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/global/providers", + "httpMethod": "GET", + "id": "connectors.projects.locations.global.providers.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent resource of the API, of the form: `projects/*/locations/*`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/providers", + "response": { + "$ref": "ListProvidersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "connectors": { + "methods": { + "get": { + "description": "Gets details of a single Connector.", + "flatPath": "v1/projects/{projectsId}/locations/global/providers/{providersId}/connectors/{connectorsId}", + "httpMethod": "GET", + "id": "connectors.projects.locations.global.providers.connectors.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*/connectors/*`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/providers/[^/]+/connectors/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Connector" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Connectors in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/global/providers/{providersId}/connectors", + "httpMethod": "GET", + "id": "connectors.projects.locations.global.providers.connectors.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "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 connectors, of the form: `projects/*/locations/*/providers/*`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/providers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/connectors", + "response": { + "$ref": "ListConnectorsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "versions": { + "methods": { + "get": { + "description": "Gets details of a single connector version.", + "flatPath": "v1/projects/{projectsId}/locations/global/providers/{providersId}/connectors/{connectorsId}/versions/{versionsId}", + "httpMethod": "GET", + "id": "connectors.projects.locations.global.providers.connectors.versions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the form: `projects/*/locations/*/providers/*/connectors/*/versions/*`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/providers/[^/]+/connectors/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Specifies which fields of the ConnectorVersion are returned in the response. Defaults to `CUSTOMER` view.", + "enum": [ + "CONNECTOR_VERSION_VIEW_UNSPECIFIED", + "CONNECTOR_VERSION_VIEW_BASIC", + "CONNECTOR_VERSION_VIEW_FULL" + ], + "enumDescriptions": [ + "CONNECTOR_VERSION_VIEW_UNSPECIFIED.", + "Do not include role grant configs.", + "Include role grant configs." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "ConnectorVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Connector Versions in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/global/providers/{providersId}/connectors/{connectorsId}/versions", + "httpMethod": "GET", + "id": "connectors.projects.locations.global.providers.connectors.versions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "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 connectors, of the form: `projects/*/locations/*/providers/*/connectors/*`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/providers/[^/]+/connectors/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Specifies which fields of the ConnectorVersion are returned in the response. Defaults to `CUSTOMER` view.", + "enum": [ + "CONNECTOR_VERSION_VIEW_UNSPECIFIED", + "CONNECTOR_VERSION_VIEW_BASIC", + "CONNECTOR_VERSION_VIEW_FULL" + ], + "enumDescriptions": [ + "CONNECTOR_VERSION_VIEW_UNSPECIFIED.", + "Do not include role grant configs.", + "Include role grant configs." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/versions", + "response": { + "$ref": "ListConnectorVersionsResponse" + }, + "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": "connectors.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": "connectors.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": "connectors.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`. 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": "v1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "connectors.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" + ] + } + } + }, + "providers": { + "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}/providers/{providersId}:getIamPolicy", + "httpMethod": "GET", + "id": "connectors.projects.locations.providers.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}:setIamPolicy", + "httpMethod": "POST", + "id": "connectors.projects.locations.providers.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/[^/]+/providers/[^/]+$", + "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}/providers/{providersId}:testIamPermissions", + "httpMethod": "POST", + "id": "connectors.projects.locations.providers.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/[^/]+/providers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20220214", + "rootUrl": "https://connectors.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" + }, + "AuthConfig": { + "description": "AuthConfig defines details of a authentication type.", + "id": "AuthConfig", + "properties": { + "additionalVariables": { + "description": "List containing additional auth configs.", + "items": { + "$ref": "ConfigVariable" + }, + "type": "array" + }, + "authType": { + "description": "The type of authentication configured.", + "enum": [ + "AUTH_TYPE_UNSPECIFIED", + "USER_PASSWORD", + "OAUTH2_JWT_BEARER", + "OAUTH2_CLIENT_CREDENTIALS" + ], + "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" + ], + "type": "string" + }, + "oauth2ClientCredentials": { + "$ref": "Oauth2ClientCredentials", + "description": "Oauth2ClientCredentials." + }, + "oauth2JwtBearer": { + "$ref": "Oauth2JwtBearer", + "description": "Oauth2JwtBearer." + }, + "userPassword": { + "$ref": "UserPassword", + "description": "UserPassword." + } + }, + "type": "object" + }, + "AuthConfigTemplate": { + "description": "AuthConfigTemplate defines required field over an authentication type.", + "id": "AuthConfigTemplate", + "properties": { + "authType": { + "description": "The type of authentication configured.", + "enum": [ + "AUTH_TYPE_UNSPECIFIED", + "USER_PASSWORD", + "OAUTH2_JWT_BEARER", + "OAUTH2_CLIENT_CREDENTIALS" + ], + "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" + ], + "type": "string" + }, + "configVariableTemplates": { + "description": "Config variables to describe an `AuthConfig` for a `Connection`.", + "items": { + "$ref": "ConfigVariableTemplate" + }, + "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 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 the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "ConfigVariable": { + "description": "ConfigVariable represents a configuration variable present in a Connection. or AuthConfig.", + "id": "ConfigVariable", + "properties": { + "boolValue": { + "description": "Value is a bool.", + "type": "boolean" + }, + "intValue": { + "description": "Value is an integer", + "format": "int64", + "type": "string" + }, + "key": { + "description": "Key of the config variable.", + "type": "string" + }, + "secretValue": { + "$ref": "Secret", + "description": "Value is a secret." + }, + "stringValue": { + "description": "Value is a string.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigVariableTemplate": { + "description": "ConfigVariableTemplate provides metadata about a `ConfigVariable` that is used in a Connection.", + "id": "ConfigVariableTemplate", + "properties": { + "description": { + "description": "Description.", + "type": "string" + }, + "displayName": { + "description": "Display name of the parameter.", + "type": "string" + }, + "key": { + "description": "Key of the config variable.", + "type": "string" + }, + "required": { + "description": "Flag represents that this `ConfigVariable` must be provided for a connection.", + "type": "boolean" + }, + "roleGrant": { + "$ref": "RoleGrant", + "description": "Role grant configuration for the config variable." + }, + "validationRegex": { + "description": "Regular expression in RE2 syntax used for validating the `value` of a `ConfigVariable`.", + "type": "string" + }, + "valueType": { + "description": "Type of the parameter: string, int, bool etc. consider custom type for the benefit for the validation.", + "enum": [ + "VALUE_TYPE_UNSPECIFIED", + "STRING", + "INT", + "BOOL", + "SECRET" + ], + "enumDescriptions": [ + "Value type is not specified.", + "Value type is string.", + "Value type is integer.", + "Value type is boolean.", + "Value type is secret." + ], + "type": "string" + } + }, + "type": "object" + }, + "Connection": { + "description": "Connection represents an instance of connector.", + "id": "Connection", + "properties": { + "authConfig": { + "$ref": "AuthConfig", + "description": "Optional. Configuration for establishing the connection's authentication with an external system." + }, + "configVariables": { + "description": "Optional. Configuration for configuring the connection with an external system.", + "items": { + "$ref": "ConfigVariable" + }, + "type": "array" + }, + "connectorVersion": { + "description": "Required. Connector version on which the connection is created. The format is: projects/*/locations/global/providers/*/connectors/*/versions/*", + "type": "string" + }, + "createTime": { + "description": "Output only. Created time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the resource.", + "type": "string" + }, + "egressBackends": { + "description": "Output only. Outbound domains/hosts needs to be allowlisted.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "envoyImageLocation": { + "description": "Output only. GCR location where the envoy image is stored. formatted like: gcr.io/{bucketName}/{imageName}", + "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" + }, + "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": "LockConfig", + "description": "Optional. Configuration that indicates whether or not the Connection can be edited." + }, + "name": { + "description": "Output only. Resource name of the Connection. Format: projects/{project}/locations/{location}/connections/{connection}", + "readOnly": true, + "type": "string" + }, + "serviceAccount": { + "description": "Optional. Service account needed for runtime plane to access GCP 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" + }, + "status": { + "$ref": "ConnectionStatus", + "description": "Output only. Current status of the connection.", + "readOnly": true + }, + "suspended": { + "description": "Optional. Suspended indicates if a user has suspended a connection or not.", + "type": "boolean" + }, + "updateTime": { + "description": "Output only. Updated time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ConnectionSchemaMetadata": { + "description": "Metadata of connection schema.", + "id": "ConnectionSchemaMetadata", + "properties": { + "actions": { + "description": "Output only. List of actions.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "entities": { + "description": "Output only. List of entity names.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "ConnectionStatus": { + "description": "ConnectionStatus indicates the state of the connection.", + "id": "ConnectionStatus", + "properties": { + "description": { + "description": "Description.", + "type": "string" + }, + "state": { + "description": "State.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "INACTIVE", + "DELETING", + "UPDATING", + "ERROR" + ], + "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." + ], + "type": "string" + }, + "status": { + "description": "Status provides detailed information for the state.", + "type": "string" + } + }, + "type": "object" + }, + "Connector": { + "description": "Connectors indicates a specific connector type, e.x. Salesforce, SAP etc.", + "id": "Connector", + "properties": { + "createTime": { + "description": "Output only. Created time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Output only. Description of the resource.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. Display name.", + "readOnly": true, + "type": "string" + }, + "documentationUri": { + "description": "Output only. Link to documentation page.", + "readOnly": true, + "type": "string" + }, + "externalUri": { + "description": "Output only. Link to external page.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources", + "readOnly": true, + "type": "object" + }, + "launchStage": { + "description": "Output only. Flag to mark the version indicating the launch stage.", + "enum": [ + "LAUNCH_STAGE_UNSPECIFIED", + "PREVIEW", + "GA", + "DEPRECATED" + ], + "enumDescriptions": [ + "LAUNCH_STAGE_UNSPECIFIED.", + "PREVIEW.", + "GA.", + "DEPRECATED." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Resource name of the Connector. Format: projects/{project}/locations/{location}/providers/{provider}/connectors/{connector}", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Updated time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "webAssetsLocation": { + "description": "Output only. Cloud storage location of icons etc consumed by UI.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ConnectorVersion": { + "description": "ConnectorVersion indicates a specific version of a connector.", + "id": "ConnectorVersion", + "properties": { + "authConfigTemplates": { + "description": "Output only. List of auth configs supported by the Connector Version.", + "items": { + "$ref": "AuthConfigTemplate" + }, + "readOnly": true, + "type": "array" + }, + "configVariableTemplates": { + "description": "Output only. List of config variables needed to create a connection.", + "items": { + "$ref": "ConfigVariableTemplate" + }, + "readOnly": true, + "type": "array" + }, + "createTime": { + "description": "Output only. Created time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. Display name.", + "readOnly": true, + "type": "string" + }, + "egressControlConfig": { + "$ref": "EgressControlConfig", + "description": "Output only. Configuration for Egress Control.", + "readOnly": true + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources", + "readOnly": true, + "type": "object" + }, + "launchStage": { + "description": "Output only. Flag to mark the version indicating the launch stage.", + "enum": [ + "LAUNCH_STAGE_UNSPECIFIED", + "PREVIEW", + "GA", + "DEPRECATED" + ], + "enumDescriptions": [ + "LAUNCH_STAGE_UNSPECIFIED.", + "PREVIEW.", + "GA.", + "DEPRECATED." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Resource name of the Version. Format: projects/{project}/locations/{location}/providers/{provider}/connectors/{connector}/versions/{version}", + "readOnly": true, + "type": "string" + }, + "releaseVersion": { + "description": "Output only. ReleaseVersion of the connector, for example: \"1.0.1-alpha\".", + "readOnly": true, + "type": "string" + }, + "roleGrant": { + "$ref": "RoleGrant", + "description": "Output only. Role grant configuration for this config variable. It will be DEPRECATED soon.", + "readOnly": true + }, + "roleGrants": { + "description": "Output only. Role grant configurations for this connector version.", + "items": { + "$ref": "RoleGrant" + }, + "readOnly": true, + "type": "array" + }, + "supportedRuntimeFeatures": { + "$ref": "SupportedRuntimeFeatures", + "description": "Output only. Information about the runtime features supported by the Connector.", + "readOnly": true + }, + "updateTime": { + "description": "Output only. Updated time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EgressControlConfig": { + "description": "Egress control config for connector runtime. These configurations define the rules to identify which outbound domains/hosts needs to be whitelisted. It may be a static information for a particular connector version or it is derived from the configurations provided by the customer in Connection resource.", + "id": "EgressControlConfig", + "properties": { + "backends": { + "description": "Static Comma separated backends which are common for all Connection resources. Supported formats for each backend are host:port or just host (host can be ip address or domain name).", + "type": "string" + }, + "extractionRules": { + "$ref": "ExtractionRules", + "description": "Extractions Rules to extract the backends from customer provided configuration." + } + }, + "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" + }, + "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" + }, + "ExtractionRule": { + "description": "Extraction Rule.", + "id": "ExtractionRule", + "properties": { + "extractionRegex": { + "description": "Regex used to extract backend details from source. If empty, whole source value will be used.", + "type": "string" + }, + "source": { + "$ref": "Source", + "description": "Source on which the rule is applied." + } + }, + "type": "object" + }, + "ExtractionRules": { + "description": "Extraction Rules to identity the backends from customer provided configuration in Connection resource.", + "id": "ExtractionRules", + "properties": { + "extractionRule": { + "description": "Collection of Extraction Rule.", + "items": { + "$ref": "ExtractionRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "Field": { + "description": "Metadata of an entity field.", + "id": "Field", + "properties": { + "additionalDetails": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The following map contains fields that are not explicitly mentioned above,this give connectors the flexibility to add new metadata fields.", + "type": "object" + }, + "dataType": { + "description": "The data type of the Field.", + "enum": [ + "DATA_TYPE_UNSPECIFIED", + "DATA_TYPE_INT", + "DATA_TYPE_SMALLINT", + "DATA_TYPE_DOUBLE", + "DATA_TYPE_DATE", + "DATA_TYPE_DATETIME", + "DATA_TYPE_TIME", + "DATA_TYPE_STRING", + "DATA_TYPE_LONG", + "DATA_TYPE_BOOLEAN", + "DATA_TYPE_DECIMAL", + "DATA_TYPE_UUID", + "DATA_TYPE_BLOB", + "DATA_TYPE_BIT", + "DATA_TYPE_TINYINT", + "DATA_TYPE_INTEGER", + "DATA_TYPE_BIGINT", + "DATA_TYPE_FLOAT", + "DATA_TYPE_REAL", + "DATA_TYPE_NUMERIC", + "DATA_TYPE_CHAR", + "DATA_TYPE_VARCHAR", + "DATA_TYPE_LONGVARCHAR", + "DATA_TYPE_TIMESTAMP", + "DATA_TYPE_NCHAR", + "DATA_TYPE_NVARCHAR", + "DATA_TYPE_LONGNVARCHAR", + "DATA_TYPE_NULL", + "DATA_TYPE_OTHER", + "DATA_TYPE_JAVA_OBJECT", + "DATA_TYPE_DISTINCT", + "DATA_TYPE_STRUCT", + "DATA_TYPE_ARRAY", + "DATA_TYPE_CLOB", + "DATA_TYPE_REF", + "DATA_TYPE_DATALINK", + "DATA_TYPE_ROWID", + "DATA_TYPE_BINARY", + "DATA_TYPE_VARBINARY", + "DATA_TYPE_LONGVARBINARY", + "DATA_TYPE_NCLOB", + "DATA_TYPE_SQLXML", + "DATA_TYPE_REF_CURSOR", + "DATA_TYPE_TIME_WITH_TIMEZONE", + "DATA_TYPE_TIMESTAMP_WITH_TIMEZONE" + ], + "enumDescriptions": [ + "Data type is not specified.", + "DEPRECATED! Use DATA_TYPE_INTEGER.", + "Short integer(int16) data type.", + "Double data type.", + "Date data type.", + "DEPRECATED! Use DATA_TYPE_TIMESTAMP.", + "Time data type.", + "DEPRECATED! Use DATA_TYPE_VARCHAR.", + "DEPRECATED! Use DATA_TYPE_BIGINT.", + "Boolean data type.", + "Decimal data type.", + "DEPRECATED! Use DATA_TYPE_VARCHAR.", + "UNSUPPORTED! Binary data type.", + "Bit data type.", + "Small integer(int8) data type.", + "Integer(int32) data type.", + "Long integer(int64) data type.", + "Float data type.", + "Real data type.", + "Numeric data type.", + "Char data type.", + "Varchar data type.", + "Longvarchar data type.", + "Timestamp data type.", + "Nchar data type.", + "Nvarchar data type.", + "Longnvarchar data type.", + "Null data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Row id data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Variable binary data type.", + "UNSUPPORTED! Long variable binary data type.", + "UNSUPPORTED! NCLOB data type.", + "UNSUPPORTED! SQL XML data type is not supported.", + "UNSUPPORTED! Cursor reference type is not supported.", + "UNSUPPORTED! Use TIME or TIMESTAMP instead.", + "UNSUPPORTED! Use TIMESTAMP instead." + ], + "type": "string" + }, + "defaultValue": { + "description": "The following field specifies the default value of the Field provided by the external system if a value is not provided.", + "type": "any" + }, + "description": { + "description": "A brief description of the Field.", + "type": "string" + }, + "field": { + "description": "Name of the Field.", + "type": "string" + }, + "key": { + "description": "The following boolean field specifies if the current Field acts as a primary key or id if the parent is of type entity.", + "type": "boolean" + }, + "nullable": { + "description": "Specifies whether a null value is allowed.", + "type": "boolean" + }, + "readonly": { + "description": "Specifies if the Field is readonly.", + "type": "boolean" + } + }, + "type": "object" + }, + "InputParameter": { + "description": "Metadata of an input parameter.", + "id": "InputParameter", + "properties": { + "dataType": { + "description": "The data type of the Parameter.", + "enum": [ + "DATA_TYPE_UNSPECIFIED", + "DATA_TYPE_INT", + "DATA_TYPE_SMALLINT", + "DATA_TYPE_DOUBLE", + "DATA_TYPE_DATE", + "DATA_TYPE_DATETIME", + "DATA_TYPE_TIME", + "DATA_TYPE_STRING", + "DATA_TYPE_LONG", + "DATA_TYPE_BOOLEAN", + "DATA_TYPE_DECIMAL", + "DATA_TYPE_UUID", + "DATA_TYPE_BLOB", + "DATA_TYPE_BIT", + "DATA_TYPE_TINYINT", + "DATA_TYPE_INTEGER", + "DATA_TYPE_BIGINT", + "DATA_TYPE_FLOAT", + "DATA_TYPE_REAL", + "DATA_TYPE_NUMERIC", + "DATA_TYPE_CHAR", + "DATA_TYPE_VARCHAR", + "DATA_TYPE_LONGVARCHAR", + "DATA_TYPE_TIMESTAMP", + "DATA_TYPE_NCHAR", + "DATA_TYPE_NVARCHAR", + "DATA_TYPE_LONGNVARCHAR", + "DATA_TYPE_NULL", + "DATA_TYPE_OTHER", + "DATA_TYPE_JAVA_OBJECT", + "DATA_TYPE_DISTINCT", + "DATA_TYPE_STRUCT", + "DATA_TYPE_ARRAY", + "DATA_TYPE_CLOB", + "DATA_TYPE_REF", + "DATA_TYPE_DATALINK", + "DATA_TYPE_ROWID", + "DATA_TYPE_BINARY", + "DATA_TYPE_VARBINARY", + "DATA_TYPE_LONGVARBINARY", + "DATA_TYPE_NCLOB", + "DATA_TYPE_SQLXML", + "DATA_TYPE_REF_CURSOR", + "DATA_TYPE_TIME_WITH_TIMEZONE", + "DATA_TYPE_TIMESTAMP_WITH_TIMEZONE" + ], + "enumDescriptions": [ + "Data type is not specified.", + "DEPRECATED! Use DATA_TYPE_INTEGER.", + "Short integer(int16) data type.", + "Double data type.", + "Date data type.", + "DEPRECATED! Use DATA_TYPE_TIMESTAMP.", + "Time data type.", + "DEPRECATED! Use DATA_TYPE_VARCHAR.", + "DEPRECATED! Use DATA_TYPE_BIGINT.", + "Boolean data type.", + "Decimal data type.", + "DEPRECATED! Use DATA_TYPE_VARCHAR.", + "UNSUPPORTED! Binary data type.", + "Bit data type.", + "Small integer(int8) data type.", + "Integer(int32) data type.", + "Long integer(int64) data type.", + "Float data type.", + "Real data type.", + "Numeric data type.", + "Char data type.", + "Varchar data type.", + "Longvarchar data type.", + "Timestamp data type.", + "Nchar data type.", + "Nvarchar data type.", + "Longnvarchar data type.", + "Null data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Row id data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Variable binary data type.", + "UNSUPPORTED! Long variable binary data type.", + "UNSUPPORTED! NCLOB data type.", + "UNSUPPORTED! SQL XML data type is not supported.", + "UNSUPPORTED! Cursor reference type is not supported.", + "UNSUPPORTED! Use TIME or TIMESTAMP instead.", + "UNSUPPORTED! Use TIMESTAMP instead." + ], + "type": "string" + }, + "defaultValue": { + "description": "The following field specifies the default value of the Parameter provided by the external system if a value is not provided.", + "type": "any" + }, + "description": { + "description": "A brief description of the Parameter.", + "type": "string" + }, + "nullable": { + "description": "Specifies whether a null value is allowed.", + "type": "boolean" + }, + "parameter": { + "description": "Name of the Parameter.", + "type": "string" + } + }, + "type": "object" + }, + "JwtClaims": { + "description": "JWT claims used for the jwt-bearer authorization grant.", + "id": "JwtClaims", + "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" + }, + "ListConnectionsResponse": { + "description": "Response message for ConnectorsService.ListConnections", + "id": "ListConnectionsResponse", + "properties": { + "connections": { + "description": "Connections.", + "items": { + "$ref": "Connection" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Next page token.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListConnectorVersionsResponse": { + "description": "Response message for Connectors.ListConnectorVersions.", + "id": "ListConnectorVersionsResponse", + "properties": { + "connectorVersions": { + "description": "A list of connector versions.", + "items": { + "$ref": "ConnectorVersion" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Next page token.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListConnectorsResponse": { + "description": "Response message for Connectors.ListConnectors.", + "id": "ListConnectorsResponse", + "properties": { + "connectors": { + "description": "A list of connectors.", + "items": { + "$ref": "Connector" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Next page token.", + "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" + }, + "ListProvidersResponse": { + "description": "Response message for Connectors.ListProviders.", + "id": "ListProvidersResponse", + "properties": { + "nextPageToken": { + "description": "Next page token.", + "type": "string" + }, + "providers": { + "description": "A list of providers.", + "items": { + "$ref": "Provider" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListRuntimeActionSchemasResponse": { + "description": "Response message for ConnectorsService.ListRuntimeActionSchemas.", + "id": "ListRuntimeActionSchemasResponse", + "properties": { + "nextPageToken": { + "description": "Next page token.", + "type": "string" + }, + "runtimeActionSchemas": { + "description": "Runtime action schemas.", + "items": { + "$ref": "RuntimeActionSchema" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListRuntimeEntitySchemasResponse": { + "description": "Response message for ConnectorsService.ListRuntimeEntitySchemas.", + "id": "ListRuntimeEntitySchemasResponse", + "properties": { + "nextPageToken": { + "description": "Next page token.", + "type": "string" + }, + "runtimeEntitySchemas": { + "description": "Runtime entity schemas.", + "items": { + "$ref": "RuntimeEntitySchema" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform 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" + }, + "LockConfig": { + "description": "Determines whether or no a connection is locked. If locked, a reason must be specified.", + "id": "LockConfig", + "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" + }, + "Oauth2ClientCredentials": { + "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": "Oauth2ClientCredentials", + "properties": { + "clientId": { + "description": "The client identifier.", + "type": "string" + }, + "clientSecret": { + "$ref": "Secret", + "description": "Secret version reference containing the client secret." + } + }, + "type": "object" + }, + "Oauth2JwtBearer": { + "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": "Oauth2JwtBearer", + "properties": { + "clientKey": { + "$ref": "Secret", + "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": "JwtClaims", + "description": "JwtClaims providers fields to generate the token." + } + }, + "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" + }, + "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" + }, + "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" + }, + "Provider": { + "description": "Provider indicates the owner who provides the connectors.", + "id": "Provider", + "properties": { + "createTime": { + "description": "Output only. Created time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Output only. Description of the resource.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. Display name.", + "readOnly": true, + "type": "string" + }, + "documentationUri": { + "description": "Output only. Link to documentation page.", + "readOnly": true, + "type": "string" + }, + "externalUri": { + "description": "Output only. Link to external page.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources", + "readOnly": true, + "type": "object" + }, + "launchStage": { + "description": "Output only. Flag to mark the version indicating the launch stage.", + "enum": [ + "LAUNCH_STAGE_UNSPECIFIED", + "PREVIEW", + "GA", + "DEPRECATED" + ], + "enumDescriptions": [ + "LAUNCH_STAGE_UNSPECIFIED.", + "PREVIEW.", + "GA.", + "DEPRECATED." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Resource name of the Provider. Format: projects/{project}/locations/{location}/providers/{provider}", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Updated time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "webAssetsLocation": { + "description": "Output only. Cloud storage location of icons etc consumed by UI.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Resource": { + "description": "Resource definition", + "id": "Resource", + "properties": { + "pathTemplate": { + "description": "Template to uniquely represent a GCP resource in a format IAM expects This is a template that can have references to other values provided in the config variable template.", + "type": "string" + }, + "type": { + "description": "Different types of resource supported.", + "enum": [ + "TYPE_UNSPECIFIED", + "GCP_PROJECT", + "GCP_RESOURCE", + "GCP_SECRETMANAGER_SECRET", + "GCP_SECRETMANAGER_SECRET_VERSION" + ], + "enumDescriptions": [ + "Value type is not specified.", + "GCP Project Resource.", + "Any GCP Resource which is identified uniquely by IAM.", + "GCP Secret Resource.", + "GCP Secret Version Resource." + ], + "type": "string" + } + }, + "type": "object" + }, + "ResultMetadata": { + "description": "Metadata of result field.", + "id": "ResultMetadata", + "properties": { + "dataType": { + "description": "The data type of the field.", + "enum": [ + "DATA_TYPE_UNSPECIFIED", + "DATA_TYPE_INT", + "DATA_TYPE_SMALLINT", + "DATA_TYPE_DOUBLE", + "DATA_TYPE_DATE", + "DATA_TYPE_DATETIME", + "DATA_TYPE_TIME", + "DATA_TYPE_STRING", + "DATA_TYPE_LONG", + "DATA_TYPE_BOOLEAN", + "DATA_TYPE_DECIMAL", + "DATA_TYPE_UUID", + "DATA_TYPE_BLOB", + "DATA_TYPE_BIT", + "DATA_TYPE_TINYINT", + "DATA_TYPE_INTEGER", + "DATA_TYPE_BIGINT", + "DATA_TYPE_FLOAT", + "DATA_TYPE_REAL", + "DATA_TYPE_NUMERIC", + "DATA_TYPE_CHAR", + "DATA_TYPE_VARCHAR", + "DATA_TYPE_LONGVARCHAR", + "DATA_TYPE_TIMESTAMP", + "DATA_TYPE_NCHAR", + "DATA_TYPE_NVARCHAR", + "DATA_TYPE_LONGNVARCHAR", + "DATA_TYPE_NULL", + "DATA_TYPE_OTHER", + "DATA_TYPE_JAVA_OBJECT", + "DATA_TYPE_DISTINCT", + "DATA_TYPE_STRUCT", + "DATA_TYPE_ARRAY", + "DATA_TYPE_CLOB", + "DATA_TYPE_REF", + "DATA_TYPE_DATALINK", + "DATA_TYPE_ROWID", + "DATA_TYPE_BINARY", + "DATA_TYPE_VARBINARY", + "DATA_TYPE_LONGVARBINARY", + "DATA_TYPE_NCLOB", + "DATA_TYPE_SQLXML", + "DATA_TYPE_REF_CURSOR", + "DATA_TYPE_TIME_WITH_TIMEZONE", + "DATA_TYPE_TIMESTAMP_WITH_TIMEZONE" + ], + "enumDescriptions": [ + "Data type is not specified.", + "DEPRECATED! Use DATA_TYPE_INTEGER.", + "Short integer(int16) data type.", + "Double data type.", + "Date data type.", + "DEPRECATED! Use DATA_TYPE_TIMESTAMP.", + "Time data type.", + "DEPRECATED! Use DATA_TYPE_VARCHAR.", + "DEPRECATED! Use DATA_TYPE_BIGINT.", + "Boolean data type.", + "Decimal data type.", + "DEPRECATED! Use DATA_TYPE_VARCHAR.", + "UNSUPPORTED! Binary data type.", + "Bit data type.", + "Small integer(int8) data type.", + "Integer(int32) data type.", + "Long integer(int64) data type.", + "Float data type.", + "Real data type.", + "Numeric data type.", + "Char data type.", + "Varchar data type.", + "Longvarchar data type.", + "Timestamp data type.", + "Nchar data type.", + "Nvarchar data type.", + "Longnvarchar data type.", + "Null data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Row id data type.", + "UNSUPPORTED! Binary data type.", + "UNSUPPORTED! Variable binary data type.", + "UNSUPPORTED! Long variable binary data type.", + "UNSUPPORTED! NCLOB data type.", + "UNSUPPORTED! SQL XML data type is not supported.", + "UNSUPPORTED! Cursor reference type is not supported.", + "UNSUPPORTED! Use TIME or TIMESTAMP instead.", + "UNSUPPORTED! Use TIMESTAMP instead." + ], + "type": "string" + }, + "description": { + "description": "A brief description of the field.", + "type": "string" + }, + "field": { + "description": "Name of the result field.", + "type": "string" + } + }, + "type": "object" + }, + "RoleGrant": { + "description": "This configuration defines all the Cloud IAM roles that needs to be granted to a particular GCP resource for the selected prinicpal like service account. These configurations will let UI display to customers what IAM roles need to be granted by them. Or these configurations can be used by the UI to render a 'grant' button to do the same on behalf of the user.", + "id": "RoleGrant", + "properties": { + "helperTextTemplate": { + "description": "Template that UI can use to provide helper text to customers.", + "type": "string" + }, + "principal": { + "description": "Prinicipal/Identity for whom the role need to assigned.", + "enum": [ + "PRINCIPAL_UNSPECIFIED", + "CONNECTOR_SA" + ], + "enumDescriptions": [ + "Value type is not specified.", + "Service Account used for Connector workload identity This is either the default service account if unspecified or Service Account provided by Customers through BYOSA." + ], + "type": "string" + }, + "resource": { + "$ref": "Resource", + "description": "Resource on which the roles needs to be granted for the principal." + }, + "roles": { + "description": "List of roles that need to be granted.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "RuntimeActionSchema": { + "description": "Schema of a runtime action.", + "id": "RuntimeActionSchema", + "properties": { + "action": { + "description": "Output only. Name of the action.", + "readOnly": true, + "type": "string" + }, + "inputParameters": { + "description": "Output only. List of input parameter metadata for the action.", + "items": { + "$ref": "InputParameter" + }, + "readOnly": true, + "type": "array" + }, + "resultMetadata": { + "description": "Output only. List of result field metadata.", + "items": { + "$ref": "ResultMetadata" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "RuntimeConfig": { + "description": "RuntimeConfig is the singleton resource of each location. It includes generic resource configs consumed by control plane and runtime plane like: pub/sub topic/subscription resource name, Cloud Storage location storing schema etc.", + "id": "RuntimeConfig", + "properties": { + "conndSubscription": { + "description": "Output only. Pub/Sub subscription for connd to receive message. E.g. projects/{project-id}/subscriptions/{topic-id}", + "readOnly": true, + "type": "string" + }, + "conndTopic": { + "description": "Output only. Pub/Sub topic for connd to send message. E.g. projects/{project-id}/topics/{topic-id}", + "readOnly": true, + "type": "string" + }, + "controlPlaneSubscription": { + "description": "Output only. Pub/Sub subscription for control plane to receive message. E.g. projects/{project-id}/subscriptions/{topic-id}", + "readOnly": true, + "type": "string" + }, + "controlPlaneTopic": { + "description": "Output only. Pub/Sub topic for control plne to send message. communication. E.g. projects/{project-id}/topics/{topic-id}", + "readOnly": true, + "type": "string" + }, + "locationId": { + "description": "Output only. location_id of the runtime location. E.g. \"us-west1\".", + "readOnly": true, + "type": "string" + }, + "runtimeEndpoint": { + "description": "Output only. The endpoint of the connectors runtime ingress.", + "readOnly": true, + "type": "string" + }, + "schemaGcsBucket": { + "description": "Output only. The Cloud Storage bucket that stores connector's schema reports.", + "readOnly": true, + "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" + }, + "state": { + "description": "Output only. The state of the location.", + "enum": [ + "STATE_UNSPECIFIED", + "INACTIVE", + "ACTIVATING", + "ACTIVE", + "CREATING", + "DELETING", + "UPDATING" + ], + "enumDescriptions": [ + "STATE_UNSPECIFIED.", + "INACTIVE.", + "ACTIVATING.", + "ACTIVE.", + "CREATING.", + "DELETING.", + "UPDATING." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "RuntimeEntitySchema": { + "description": "Schema of a runtime entity.", + "id": "RuntimeEntitySchema", + "properties": { + "entity": { + "description": "Output only. Name of the entity.", + "readOnly": true, + "type": "string" + }, + "fields": { + "description": "Output only. List of fields in the entity.", + "items": { + "$ref": "Field" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "Secret": { + "description": "Secret provides a reference to entries in Secret Manager.", + "id": "Secret", + "properties": { + "secretVersion": { + "description": "The resource name of the secret version in the format, format as: `projects/*/secrets/*/versions/*`.", + "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 Cloud Platform 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": "Source to extract the backend from.", + "id": "Source", + "properties": { + "fieldId": { + "description": "Field identifier. For example config vaiable name.", + "type": "string" + }, + "sourceType": { + "description": "Type of the source.", + "enum": [ + "SOURCE_TYPE_UNSPECIFIED", + "CONFIG_VARIABLE" + ], + "enumDescriptions": [ + "Default SOURCE.", + "Config Variable source type." + ], + "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" + }, + "SupportedRuntimeFeatures": { + "description": "Supported runtime features of a connector version. This is passed to the management layer to add a new connector version by the connector developer. Details about how this proto is passed to the management layer is covered in this doc - go/runtime-manifest.", + "id": "SupportedRuntimeFeatures", + "properties": { + "actionApis": { + "description": "Specifies if the connector supports action apis like 'executeAction'.", + "type": "boolean" + }, + "entityApis": { + "description": "Specifies if the connector supports entity apis like 'createEntity'.", + "type": "boolean" + }, + "sqlQuery": { + "description": "Specifies if the connector supports 'ExecuteSqlQuery' operation.", + "type": "boolean" + } + }, + "type": "object" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "UserPassword": { + "description": "Parameters to support Username and Password Authentication.", + "id": "UserPassword", + "properties": { + "password": { + "$ref": "Secret", + "description": "Secret version reference containing the password." + }, + "username": { + "description": "Username.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Connectors API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/contactcenterinsights/v1/contactcenterinsights-api.json b/etc/api/contactcenterinsights/v1/contactcenterinsights-api.json new file mode 100644 index 0000000000..be48ca3668 --- /dev/null +++ b/etc/api/contactcenterinsights/v1/contactcenterinsights-api.json @@ -0,0 +1,3569 @@ +{ + "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://contactcenterinsights.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Contactcenterinsights", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/contact-center/insights/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": "contactcenterinsights:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://contactcenterinsights.mtls.googleapis.com/", + "name": "contactcenterinsights", + "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": { + "getSettings": { + "description": "Gets project-level settings.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/settings", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.getSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the settings resource to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/settings$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1Settings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateSettings": { + "description": "Updates project-level settings.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/settings", + "httpMethod": "PATCH", + "id": "contactcenterinsights.projects.locations.updateSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The resource name of the settings resource. Format: projects/{project}/locations/{location}/settings", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/settings$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1Settings" + }, + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1Settings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "conversations": { + "methods": { + "calculateStats": { + "description": "Gets conversation statistics.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations:calculateStats", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.conversations.calculateStats", + "parameterOrder": [ + "location" + ], + "parameters": { + "filter": { + "description": "A filter to reduce results to a specific subset. This field is useful for getting statistics about conversations with specific properties.", + "location": "query", + "type": "string" + }, + "location": { + "description": "Required. The location of the conversations.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+location}/conversations:calculateStats", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1CalculateStatsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a conversation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.conversations.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "conversationId": { + "description": "A unique ID for the new conversation. This ID will become the final component of the conversation's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z0-9-]{4,64}$`. Valid characters are `a-z-`", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the conversation.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/conversations", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1Conversation" + }, + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1Conversation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a conversation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}", + "httpMethod": "DELETE", + "id": "contactcenterinsights.projects.locations.conversations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "If set to true, all of this conversation's analyses will also be deleted. Otherwise, the request will only succeed if the conversation has no analyses.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The name of the conversation to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a conversation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.conversations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the conversation to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "The level of details of the conversation. Default is `FULL`.", + "enum": [ + "CONVERSATION_VIEW_UNSPECIFIED", + "FULL", + "BASIC" + ], + "enumDescriptions": [ + "The conversation view is not specified. * Defaults to `FULL` in `GetConversationRequest`. * Defaults to `BASIC` in `ListConversationsRequest`.", + "Populates all fields in the conversation.", + "Populates all fields in the conversation except the transcript." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1Conversation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists conversations.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.conversations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "A filter to reduce results to a specific subset. Useful for querying conversations with specific properties.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of conversations to return in the response. A valid page size ranges from 0 to 1,000 inclusive. If the page size is zero or unspecified, a default page size of 100 will be chosen. Note that a call might return fewer results than the requested page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListConversationsResponse`. This value indicates that this is a continuation of a prior `ListConversations` call and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the conversation.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "The level of details of the conversation. Default is `BASIC`.", + "enum": [ + "CONVERSATION_VIEW_UNSPECIFIED", + "FULL", + "BASIC" + ], + "enumDescriptions": [ + "The conversation view is not specified. * Defaults to `FULL` in `GetConversationRequest`. * Defaults to `BASIC` in `ListConversationsRequest`.", + "Populates all fields in the conversation.", + "Populates all fields in the conversation except the transcript." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/conversations", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1ListConversationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a conversation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}", + "httpMethod": "PATCH", + "id": "contactcenterinsights.projects.locations.conversations.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The resource name of the conversation. Format: projects/{project}/locations/{location}/conversations/{conversation}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$", + "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": "GoogleCloudContactcenterinsightsV1Conversation" + }, + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1Conversation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "analyses": { + "methods": { + "create": { + "description": "Creates an analysis. The long running operation is done when the analysis has completed.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/analyses", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.conversations.analyses.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the analysis.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/analyses", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1Analysis" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an analysis.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/analyses/{analysesId}", + "httpMethod": "DELETE", + "id": "contactcenterinsights.projects.locations.conversations.analyses.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the analysis to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+/analyses/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets an analysis.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/analyses/{analysesId}", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.conversations.analyses.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the analysis to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+/analyses/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1Analysis" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists analyses.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/analyses", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.conversations.analyses.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "A filter to reduce results to a specific subset. Useful for querying conversations with specific properties.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of analyses to return in the response. If this value is zero, the service will select a default size. A call might 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 `ListAnalysesResponse`; indicates that this is a continuation of a prior `ListAnalyses` call and the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the analyses.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/analyses", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1ListAnalysesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "insightsdata": { + "methods": { + "export": { + "description": "Export insights data to a destination defined in the request body.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/insightsdata:export", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.insightsdata.export", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource to export data from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/insightsdata:export", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "issueModels": { + "methods": { + "calculateIssueModelStats": { + "description": "Gets an issue model's statistics.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}:calculateIssueModelStats", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.issueModels.calculateIssueModelStats", + "parameterOrder": [ + "issueModel" + ], + "parameters": { + "issueModel": { + "description": "Required. The resource name of the issue model to query against.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+issueModel}:calculateIssueModelStats", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1CalculateIssueModelStatsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates an issue model.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.issueModels.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the issue model.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/issueModels", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueModel" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an issue model.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}", + "httpMethod": "DELETE", + "id": "contactcenterinsights.projects.locations.issueModels.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the issue model to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "deploy": { + "description": "Deploys an issue model. Returns an error if a model is already deployed. An issue model can only be used in analysis after it has been deployed.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}:deploy", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.issueModels.deploy", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The issue model to deploy.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:deploy", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1DeployIssueModelRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets an issue model.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.issueModels.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the issue model to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueModel" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists issue models.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.issueModels.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the issue model.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/issueModels", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1ListIssueModelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an issue model.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}", + "httpMethod": "PATCH", + "id": "contactcenterinsights.projects.locations.issueModels.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The resource name of the issue model. Format: projects/{project}/locations/{location}/issueModels/{issue_model}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+$", + "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": "GoogleCloudContactcenterinsightsV1IssueModel" + }, + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueModel" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "undeploy": { + "description": "Undeploys an issue model. An issue model can not be used in analysis after it has been undeployed.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}:undeploy", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.issueModels.undeploy", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The issue model to undeploy.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:undeploy", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "issues": { + "methods": { + "get": { + "description": "Gets an issue.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}/issues/{issuesId}", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.issueModels.issues.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the issue to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+/issues/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1Issue" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists issues.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}/issues", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.issueModels.issues.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the issue.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/issues", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1ListIssuesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an issue.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}/issues/{issuesId}", + "httpMethod": "PATCH", + "id": "contactcenterinsights.projects.locations.issueModels.issues.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The resource name of the issue. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+/issues/[^/]+$", + "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": "GoogleCloudContactcenterinsightsV1Issue" + }, + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1Issue" + }, + "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": "contactcenterinsights.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state 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": "contactcenterinsights.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. 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": "v1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/operations", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "phraseMatchers": { + "methods": { + "create": { + "description": "Creates a phrase matcher.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/phraseMatchers", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.phraseMatchers.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the phrase matcher. Required. The location to create a phrase matcher for. Format: `projects//locations/` or `projects//locations/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/phraseMatchers", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatcher" + }, + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatcher" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a phrase matcher.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/phraseMatchers/{phraseMatchersId}", + "httpMethod": "DELETE", + "id": "contactcenterinsights.projects.locations.phraseMatchers.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the phrase matcher to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/phraseMatchers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a phrase matcher.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/phraseMatchers/{phraseMatchersId}", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.phraseMatchers.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the phrase matcher to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/phraseMatchers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatcher" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists phrase matchers.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/phraseMatchers", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.phraseMatchers.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "A filter to reduce results to a specific subset. Useful for querying phrase matchers with specific properties.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of phrase matchers to return in the response. If this value is zero, the service will select a default size. A call might 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 `ListPhraseMatchersResponse`. This value indicates that this is a continuation of a prior `ListPhraseMatchers` call and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the phrase matcher.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/phraseMatchers", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1ListPhraseMatchersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a phrase matcher.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/phraseMatchers/{phraseMatchersId}", + "httpMethod": "PATCH", + "id": "contactcenterinsights.projects.locations.phraseMatchers.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the phrase matcher. Format: projects/{project}/locations/{location}/phraseMatchers/{phrase_matcher}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/phraseMatchers/[^/]+$", + "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": "GoogleCloudContactcenterinsightsV1PhraseMatcher" + }, + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatcher" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "views": { + "methods": { + "create": { + "description": "Creates a view.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/views", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.views.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the view. Required. The location to create a view for. Format: `projects//locations/` or `projects//locations/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/views", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1View" + }, + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1View" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a view.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/views/{viewsId}", + "httpMethod": "DELETE", + "id": "contactcenterinsights.projects.locations.views.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the view to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/views/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a view.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/views/{viewsId}", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.views.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the view to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/views/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1View" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists views.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/views", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.views.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of views 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 `ListViewsResponse`; indicates that this is a continuation of a prior `ListViews` call and the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the views.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/views", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1ListViewsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a view.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/views/{viewsId}", + "httpMethod": "PATCH", + "id": "contactcenterinsights.projects.locations.views.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The resource name of the view. Format: projects/{project}/locations/{location}/views/{view}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/views/[^/]+$", + "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": "GoogleCloudContactcenterinsightsV1View" + }, + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1View" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20220227", + "rootUrl": "https://contactcenterinsights.googleapis.com/", + "schemas": { + "GoogleCloudContactcenterinsightsV1Analysis": { + "description": "The analysis resource.", + "id": "GoogleCloudContactcenterinsightsV1Analysis", + "properties": { + "analysisResult": { + "$ref": "GoogleCloudContactcenterinsightsV1AnalysisResult", + "description": "Output only. The result of the analysis, which is populated when the analysis finishes.", + "readOnly": true + }, + "createTime": { + "description": "Output only. The time at which the analysis was created, which occurs when the long-running operation completes.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Immutable. The resource name of the analysis. Format: projects/{project}/locations/{location}/conversations/{conversation}/analyses/{analysis}", + "type": "string" + }, + "requestTime": { + "description": "Output only. The time at which the analysis was requested.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1AnalysisResult": { + "description": "The result of an analysis.", + "id": "GoogleCloudContactcenterinsightsV1AnalysisResult", + "properties": { + "callAnalysisMetadata": { + "$ref": "GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadata", + "description": "Call-specific metadata created by the analysis." + }, + "endTime": { + "description": "The time at which the analysis ended.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadata": { + "description": "Call-specific metadata created during analysis.", + "id": "GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadata", + "properties": { + "annotations": { + "description": "A list of call annotations that apply to this call.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1CallAnnotation" + }, + "type": "array" + }, + "entities": { + "additionalProperties": { + "$ref": "GoogleCloudContactcenterinsightsV1Entity" + }, + "description": "All the entities in the call.", + "type": "object" + }, + "intents": { + "additionalProperties": { + "$ref": "GoogleCloudContactcenterinsightsV1Intent" + }, + "description": "All the matched intents in the call.", + "type": "object" + }, + "issueModelResult": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueModelResult", + "description": "Overall conversation-level issue modeling result." + }, + "phraseMatchers": { + "additionalProperties": { + "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatchData" + }, + "description": "All the matched phrase matchers in the call.", + "type": "object" + }, + "sentiments": { + "description": "Overall conversation-level sentiment for each channel of the call.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1ConversationLevelSentiment" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1AnnotationBoundary": { + "description": "A point in a conversation that marks the start or the end of an annotation.", + "id": "GoogleCloudContactcenterinsightsV1AnnotationBoundary", + "properties": { + "transcriptIndex": { + "description": "The index in the sequence of transcribed pieces of the conversation where the boundary is located. This index starts at zero.", + "format": "int32", + "type": "integer" + }, + "wordIndex": { + "description": "The word index of this boundary with respect to the first word in the transcript piece. This index starts at zero.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1AnswerFeedback": { + "description": "The feedback that the customer has about a certain answer in the conversation.", + "id": "GoogleCloudContactcenterinsightsV1AnswerFeedback", + "properties": { + "clicked": { + "description": "Indicates whether an answer or item was clicked by the human agent.", + "type": "boolean" + }, + "correctnessLevel": { + "description": "The correctness level of an answer.", + "enum": [ + "CORRECTNESS_LEVEL_UNSPECIFIED", + "NOT_CORRECT", + "PARTIALLY_CORRECT", + "FULLY_CORRECT" + ], + "enumDescriptions": [ + "Correctness level unspecified.", + "Answer is totally wrong.", + "Answer is partially correct.", + "Answer is fully correct." + ], + "type": "string" + }, + "displayed": { + "description": "Indicates whether an answer or item was displayed to the human agent in the agent desktop UI.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ArticleSuggestionData": { + "description": "Agent Assist Article Suggestion data.", + "id": "GoogleCloudContactcenterinsightsV1ArticleSuggestionData", + "properties": { + "confidenceScore": { + "description": "The system's confidence score that this article is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", + "format": "float", + "type": "number" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Map that contains metadata about the Article Suggestion and the document that it originates from.", + "type": "object" + }, + "queryRecord": { + "description": "Name of the query record. Format: projects/{project}/locations/{location}/queryRecords/{query_record}", + "type": "string" + }, + "source": { + "description": "The knowledge document that this answer was extracted from. Format: projects/{project}/knowledgeBases/{knowledge_base}/documents/{document}", + "type": "string" + }, + "title": { + "description": "Article title.", + "type": "string" + }, + "uri": { + "description": "Article URI.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1CalculateIssueModelStatsResponse": { + "description": "Response of querying an issue model's statistics.", + "id": "GoogleCloudContactcenterinsightsV1CalculateIssueModelStatsResponse", + "properties": { + "currentStats": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueModelLabelStats", + "description": "The latest label statistics for the queried issue model. Includes results on both training data and data labeled after deployment." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1CalculateStatsResponse": { + "description": "The response for calculating conversation statistics.", + "id": "GoogleCloudContactcenterinsightsV1CalculateStatsResponse", + "properties": { + "averageDuration": { + "description": "The average duration of all conversations. The average is calculated using only conversations that have a time duration.", + "format": "google-duration", + "type": "string" + }, + "averageTurnCount": { + "description": "The average number of turns per conversation.", + "format": "int32", + "type": "integer" + }, + "conversationCount": { + "description": "The total number of conversations.", + "format": "int32", + "type": "integer" + }, + "conversationCountTimeSeries": { + "$ref": "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeries", + "description": "A time series representing the count of conversations created over time that match that requested filter criteria." + }, + "customHighlighterMatches": { + "additionalProperties": { + "format": "int32", + "type": "integer" + }, + "description": "A map associating each custom highlighter resource name with its respective number of matches in the set of conversations.", + "type": "object" + }, + "issueMatches": { + "additionalProperties": { + "format": "int32", + "type": "integer" + }, + "description": "A map associating each issue resource name with its respective number of matches in the set of conversations. Key has the format: `projects//locations//issueModels//issues/` Deprecated, use `issue_matches_stats` field instead.", + "type": "object" + }, + "issueMatchesStats": { + "additionalProperties": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats" + }, + "description": "A map associating each issue resource name with its respective number of matches in the set of conversations. Key has the format: `projects//locations//issueModels//issues/`", + "type": "object" + }, + "smartHighlighterMatches": { + "additionalProperties": { + "format": "int32", + "type": "integer" + }, + "description": "A map associating each smart highlighter display name with its respective number of matches in the set of conversations.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeries": { + "description": "A time series representing conversations over time.", + "id": "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeries", + "properties": { + "intervalDuration": { + "description": "The duration of each interval.", + "format": "google-duration", + "type": "string" + }, + "points": { + "description": "An ordered list of intervals from earliest to latest, where each interval represents the number of conversations that transpired during the time window.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeriesInterval" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeriesInterval": { + "description": "A single interval in a time series.", + "id": "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeriesInterval", + "properties": { + "conversationCount": { + "description": "The number of conversations created in this interval.", + "format": "int32", + "type": "integer" + }, + "startTime": { + "description": "The start time of this interval.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1CallAnnotation": { + "description": "A piece of metadata that applies to a window of a call.", + "id": "GoogleCloudContactcenterinsightsV1CallAnnotation", + "properties": { + "annotationEndBoundary": { + "$ref": "GoogleCloudContactcenterinsightsV1AnnotationBoundary", + "description": "The boundary in the conversation where the annotation ends, inclusive." + }, + "annotationStartBoundary": { + "$ref": "GoogleCloudContactcenterinsightsV1AnnotationBoundary", + "description": "The boundary in the conversation where the annotation starts, inclusive." + }, + "channelTag": { + "description": "The channel of the audio where the annotation occurs. For single-channel audio, this field is not populated.", + "format": "int32", + "type": "integer" + }, + "entityMentionData": { + "$ref": "GoogleCloudContactcenterinsightsV1EntityMentionData", + "description": "Data specifying an entity mention." + }, + "holdData": { + "$ref": "GoogleCloudContactcenterinsightsV1HoldData", + "description": "Data specifying a hold." + }, + "intentMatchData": { + "$ref": "GoogleCloudContactcenterinsightsV1IntentMatchData", + "description": "Data specifying an intent match." + }, + "interruptionData": { + "$ref": "GoogleCloudContactcenterinsightsV1InterruptionData", + "description": "Data specifying an interruption." + }, + "phraseMatchData": { + "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatchData", + "description": "Data specifying a phrase match." + }, + "sentimentData": { + "$ref": "GoogleCloudContactcenterinsightsV1SentimentData", + "description": "Data specifying sentiment." + }, + "silenceData": { + "$ref": "GoogleCloudContactcenterinsightsV1SilenceData", + "description": "Data specifying silence." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1Conversation": { + "description": "The conversation resource.", + "id": "GoogleCloudContactcenterinsightsV1Conversation", + "properties": { + "agentId": { + "description": "An opaque, user-specified string representing the human agent who handled the conversation.", + "type": "string" + }, + "callMetadata": { + "$ref": "GoogleCloudContactcenterinsightsV1ConversationCallMetadata", + "description": "Call-specific metadata." + }, + "createTime": { + "description": "Output only. The time at which the conversation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataSource": { + "$ref": "GoogleCloudContactcenterinsightsV1ConversationDataSource", + "description": "The source of the audio and transcription for the conversation." + }, + "dialogflowIntents": { + "additionalProperties": { + "$ref": "GoogleCloudContactcenterinsightsV1DialogflowIntent" + }, + "description": "Output only. All the matched Dialogflow intents in the call. The key corresponds to a Dialogflow intent, format: projects/{project}/agent/{agent}/intents/{intent}", + "readOnly": true, + "type": "object" + }, + "duration": { + "description": "Output only. The duration of the conversation.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "expireTime": { + "description": "The time at which this conversation should expire. After this time, the conversation data and any associated analyses will be deleted.", + "format": "google-datetime", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "A map for the user to specify any custom fields. A maximum of 20 labels per conversation is allowed, with a maximum of 256 characters per entry.", + "type": "object" + }, + "languageCode": { + "description": "A user-specified language code for the conversation.", + "type": "string" + }, + "latestAnalysis": { + "$ref": "GoogleCloudContactcenterinsightsV1Analysis", + "description": "Output only. The conversation's latest analysis, if one exists.", + "readOnly": true + }, + "medium": { + "description": "Immutable. The conversation medium, if unspecified will default to PHONE_CALL.", + "enum": [ + "MEDIUM_UNSPECIFIED", + "PHONE_CALL", + "CHAT" + ], + "enumDescriptions": [ + "Default value, if unspecified will default to PHONE_CALL.", + "The format for conversations that took place over the phone.", + "The format for conversations that took place over chat." + ], + "type": "string" + }, + "name": { + "description": "Immutable. The resource name of the conversation. Format: projects/{project}/locations/{location}/conversations/{conversation}", + "type": "string" + }, + "obfuscatedUserId": { + "description": "Obfuscated user ID which the customer sent to us.", + "type": "string" + }, + "runtimeAnnotations": { + "description": "Output only. The annotations that were generated during the customer and agent interaction.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1RuntimeAnnotation" + }, + "readOnly": true, + "type": "array" + }, + "startTime": { + "description": "The time at which the conversation started.", + "format": "google-datetime", + "type": "string" + }, + "transcript": { + "$ref": "GoogleCloudContactcenterinsightsV1ConversationTranscript", + "description": "Output only. The conversation transcript.", + "readOnly": true + }, + "ttl": { + "description": "Input only. The TTL for this resource. If specified, then this TTL will be used to calculate the expire time.", + "format": "google-duration", + "type": "string" + }, + "turnCount": { + "description": "Output only. The number of turns in the conversation.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "updateTime": { + "description": "Output only. The most recent time at which the conversation was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ConversationCallMetadata": { + "description": "Call-specific metadata.", + "id": "GoogleCloudContactcenterinsightsV1ConversationCallMetadata", + "properties": { + "agentChannel": { + "description": "The audio channel that contains the agent.", + "format": "int32", + "type": "integer" + }, + "customerChannel": { + "description": "The audio channel that contains the customer.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ConversationDataSource": { + "description": "The conversation source, which is a combination of transcript and audio.", + "id": "GoogleCloudContactcenterinsightsV1ConversationDataSource", + "properties": { + "dialogflowSource": { + "$ref": "GoogleCloudContactcenterinsightsV1DialogflowSource", + "description": "The source when the conversation comes from Dialogflow." + }, + "gcsSource": { + "$ref": "GoogleCloudContactcenterinsightsV1GcsSource", + "description": "A Cloud Storage location specification for the audio and transcript." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ConversationLevelSentiment": { + "description": "One channel of conversation-level sentiment data.", + "id": "GoogleCloudContactcenterinsightsV1ConversationLevelSentiment", + "properties": { + "channelTag": { + "description": "The channel of the audio that the data applies to.", + "format": "int32", + "type": "integer" + }, + "sentimentData": { + "$ref": "GoogleCloudContactcenterinsightsV1SentimentData", + "description": "Data specifying sentiment." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ConversationParticipant": { + "description": "The call participant speaking for a given utterance.", + "id": "GoogleCloudContactcenterinsightsV1ConversationParticipant", + "properties": { + "dialogflowParticipant": { + "description": "Deprecated. Use `dialogflow_participant_name` instead. The name of the Dialogflow participant. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}", + "type": "string" + }, + "dialogflowParticipantName": { + "description": "The name of the participant provided by Dialogflow. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}", + "type": "string" + }, + "obfuscatedExternalUserId": { + "description": "Obfuscated user ID from Dialogflow.", + "type": "string" + }, + "role": { + "description": "The role of the participant.", + "enum": [ + "ROLE_UNSPECIFIED", + "HUMAN_AGENT", + "AUTOMATED_AGENT", + "END_USER", + "ANY_AGENT" + ], + "enumDescriptions": [ + "Participant's role is not set.", + "Participant is a human agent.", + "Participant is an automated agent.", + "Participant is an end user who conversed with the contact center.", + "Participant is either a human or automated agent." + ], + "type": "string" + }, + "userId": { + "description": "A user-specified ID representing the participant.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ConversationTranscript": { + "description": "A message representing the transcript of a conversation.", + "id": "GoogleCloudContactcenterinsightsV1ConversationTranscript", + "properties": { + "transcriptSegments": { + "description": "A list of sequential transcript segments that comprise the conversation.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegment" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegment": { + "description": "A segment of a full transcript.", + "id": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegment", + "properties": { + "channelTag": { + "description": "For conversations derived from multi-channel audio, this is the channel number corresponding to the audio from that channel. For audioChannelCount = N, its output values can range from '1' to 'N'. A channel tag of 0 indicates that the audio is mono.", + "format": "int32", + "type": "integer" + }, + "confidence": { + "description": "A confidence estimate between 0.0 and 1.0 of the fidelity of this segment. A default value of 0.0 indicates that the value is unset.", + "format": "float", + "type": "number" + }, + "dialogflowSegmentMetadata": { + "$ref": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata", + "description": "CCAI metadata relating to the current transcript segment." + }, + "languageCode": { + "description": "The language code of this segment as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: \"en-US\".", + "type": "string" + }, + "messageTime": { + "description": "The time that the message occurred, if provided.", + "format": "google-datetime", + "type": "string" + }, + "segmentParticipant": { + "$ref": "GoogleCloudContactcenterinsightsV1ConversationParticipant", + "description": "The participant of this segment." + }, + "sentiment": { + "$ref": "GoogleCloudContactcenterinsightsV1SentimentData", + "description": "The sentiment for this transcript segment." + }, + "text": { + "description": "The text of this segment.", + "type": "string" + }, + "words": { + "description": "A list of the word-specific information for each word in the segment.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata": { + "description": "Metadata from Dialogflow relating to the current transcript segment.", + "id": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata", + "properties": { + "smartReplyAllowlistCovered": { + "description": "Whether the transcript segment was covered under the configured smart reply allowlist in Agent Assist.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfo": { + "description": "Word-level info for words in a transcript.", + "id": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfo", + "properties": { + "confidence": { + "description": "A confidence estimate between 0.0 and 1.0 of the fidelity of this word. A default value of 0.0 indicates that the value is unset.", + "format": "float", + "type": "number" + }, + "endOffset": { + "description": "Time offset of the end of this word relative to the beginning of the total conversation.", + "format": "google-duration", + "type": "string" + }, + "startOffset": { + "description": "Time offset of the start of this word relative to the beginning of the total conversation.", + "format": "google-duration", + "type": "string" + }, + "word": { + "description": "The word itself. Includes punctuation marks that surround the word.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1CreateAnalysisOperationMetadata": { + "description": "Metadata for a create analysis operation.", + "id": "GoogleCloudContactcenterinsightsV1CreateAnalysisOperationMetadata", + "properties": { + "conversation": { + "description": "Output only. The Conversation that this Analysis Operation belongs to.", + "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" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1CreateIssueModelMetadata": { + "description": "Metadata for creating an issue model.", + "id": "GoogleCloudContactcenterinsightsV1CreateIssueModelMetadata", + "properties": { + "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" + }, + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1CreateIssueModelRequest", + "description": "The original request for creation." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1CreateIssueModelRequest": { + "description": "The request to create an issue model.", + "id": "GoogleCloudContactcenterinsightsV1CreateIssueModelRequest", + "properties": { + "issueModel": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueModel", + "description": "Required. The issue model to create." + }, + "parent": { + "description": "Required. The parent resource of the issue model.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1DeleteIssueModelMetadata": { + "description": "Metadata for deleting an issue model.", + "id": "GoogleCloudContactcenterinsightsV1DeleteIssueModelMetadata", + "properties": { + "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" + }, + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1DeleteIssueModelRequest", + "description": "The original request for deletion." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1DeleteIssueModelRequest": { + "description": "The request to delete an issue model.", + "id": "GoogleCloudContactcenterinsightsV1DeleteIssueModelRequest", + "properties": { + "name": { + "description": "Required. The name of the issue model to delete.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1DeployIssueModelMetadata": { + "description": "Metadata for deploying an issue model.", + "id": "GoogleCloudContactcenterinsightsV1DeployIssueModelMetadata", + "properties": { + "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" + }, + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1DeployIssueModelRequest", + "description": "The original request for deployment." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1DeployIssueModelRequest": { + "description": "The request to deploy an issue model.", + "id": "GoogleCloudContactcenterinsightsV1DeployIssueModelRequest", + "properties": { + "name": { + "description": "Required. The issue model to deploy.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1DeployIssueModelResponse": { + "description": "The response to deploy an issue model.", + "id": "GoogleCloudContactcenterinsightsV1DeployIssueModelResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1DialogflowIntent": { + "description": "The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE.", + "id": "GoogleCloudContactcenterinsightsV1DialogflowIntent", + "properties": { + "displayName": { + "description": "The human-readable name of the intent.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1DialogflowInteractionData": { + "description": "Dialogflow interaction data.", + "id": "GoogleCloudContactcenterinsightsV1DialogflowInteractionData", + "properties": { + "confidence": { + "description": "The confidence of the match ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", + "format": "float", + "type": "number" + }, + "dialogflowIntentId": { + "description": "The Dialogflow intent resource path. Format: projects/{project}/agent/{agent}/intents/{intent}", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1DialogflowSource": { + "description": "A Dialogflow source of conversation data.", + "id": "GoogleCloudContactcenterinsightsV1DialogflowSource", + "properties": { + "audioUri": { + "description": "Cloud Storage URI that points to a file that contains the conversation audio.", + "type": "string" + }, + "dialogflowConversation": { + "description": "Output only. The name of the Dialogflow conversation that this conversation resource is derived from. Format: projects/{project}/locations/{location}/conversations/{conversation}", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1Entity": { + "description": "The data for an entity annotation. Represents a phrase in the conversation that is a known entity, such as a person, an organization, or location.", + "id": "GoogleCloudContactcenterinsightsV1Entity", + "properties": { + "displayName": { + "description": "The representative name for the entity.", + "type": "string" + }, + "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" + }, + "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": "GoogleCloudContactcenterinsightsV1SentimentData", + "description": "The aggregate sentiment expressed for this entity in the conversation." + }, + "type": { + "description": "The entity type.", + "enum": [ + "TYPE_UNSPECIFIED", + "PERSON", + "LOCATION", + "ORGANIZATION", + "EVENT", + "WORK_OF_ART", + "CONSUMER_GOOD", + "OTHER", + "PHONE_NUMBER", + "ADDRESS", + "DATE", + "NUMBER", + "PRICE" + ], + "enumDescriptions": [ + "Unspecified.", + "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 according to 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" + }, + "GoogleCloudContactcenterinsightsV1EntityMentionData": { + "description": "The data for an entity mention annotation. This represents a mention of an `Entity` in the conversation.", + "id": "GoogleCloudContactcenterinsightsV1EntityMentionData", + "properties": { + "entityUniqueId": { + "description": "The key of this entity in conversation entities. Can be used to retrieve the exact `Entity` this mention is attached to.", + "type": "string" + }, + "sentiment": { + "$ref": "GoogleCloudContactcenterinsightsV1SentimentData", + "description": "Sentiment expressed for this mention of the entity." + }, + "type": { + "description": "The type of the entity mention.", + "enum": [ + "MENTION_TYPE_UNSPECIFIED", + "PROPER", + "COMMON" + ], + "enumDescriptions": [ + "Unspecified.", + "Proper noun.", + "Common noun (or noun compound)." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ExactMatchConfig": { + "description": "Exact match configuration.", + "id": "GoogleCloudContactcenterinsightsV1ExactMatchConfig", + "properties": { + "caseSensitive": { + "description": "Whether to consider case sensitivity when performing an exact match.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ExportInsightsDataMetadata": { + "description": "Metadata for an export insights operation.", + "id": "GoogleCloudContactcenterinsightsV1ExportInsightsDataMetadata", + "properties": { + "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" + }, + "partialErrors": { + "description": "Partial errors during export operation that might cause the operation output to be incomplete.", + "items": { + "$ref": "GoogleRpcStatus" + }, + "type": "array" + }, + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest", + "description": "The original request for export." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest": { + "description": "The request to export insights.", + "id": "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest", + "properties": { + "bigQueryDestination": { + "$ref": "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination", + "description": "Specified if sink is a BigQuery table." + }, + "filter": { + "description": "A filter to reduce results to a specific subset. Useful for exporting conversations with specific properties.", + "type": "string" + }, + "kmsKey": { + "description": "A fully qualified KMS key name for BigQuery tables protected by CMEK. Format: projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}/cryptoKeyVersions/{version}", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource to export data from.", + "type": "string" + }, + "writeDisposition": { + "description": "Options for what to do if the destination table already exists.", + "enum": [ + "WRITE_DISPOSITION_UNSPECIFIED", + "WRITE_TRUNCATE", + "WRITE_APPEND" + ], + "enumDescriptions": [ + "Write disposition is not specified. Defaults to WRITE_TRUNCATE.", + "If the table already exists, BigQuery will overwrite the table data and use the schema from the load.", + "If the table already exists, BigQuery will append data to the table." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination": { + "description": "A BigQuery Table Reference.", + "id": "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination", + "properties": { + "dataset": { + "description": "Required. The name of the BigQuery dataset that the snapshot result should be exported to. If this dataset does not exist, the export call returns an INVALID_ARGUMENT error.", + "type": "string" + }, + "projectId": { + "description": "A project ID or number. If specified, then export will attempt to write data to this project instead of the resource project. Otherwise, the resource project will be used.", + "type": "string" + }, + "table": { + "description": "The BigQuery table name to which the insights data should be written. If this table does not exist, the export call returns an INVALID_ARGUMENT error.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ExportInsightsDataResponse": { + "description": "Response for an export insights operation.", + "id": "GoogleCloudContactcenterinsightsV1ExportInsightsDataResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1FaqAnswerData": { + "description": "Agent Assist frequently-asked-question answer data.", + "id": "GoogleCloudContactcenterinsightsV1FaqAnswerData", + "properties": { + "answer": { + "description": "The piece of text from the `source` knowledge base document.", + "type": "string" + }, + "confidenceScore": { + "description": "The system's confidence score that this answer is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", + "format": "float", + "type": "number" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Map that contains metadata about the FAQ answer and the document that it originates from.", + "type": "object" + }, + "queryRecord": { + "description": "Name of the query record. Format: projects/{project}/locations/{location}/queryRecords/{query_record}.", + "type": "string" + }, + "question": { + "description": "The corresponding FAQ question.", + "type": "string" + }, + "source": { + "description": "The knowledge document that this answer was extracted from. Format: projects/{project}/knowledgeBases/{knowledge_base}/documents/{document}.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1GcsSource": { + "description": "A Cloud Storage source of conversation data.", + "id": "GoogleCloudContactcenterinsightsV1GcsSource", + "properties": { + "audioUri": { + "description": "Cloud Storage URI that points to a file that contains the conversation audio.", + "type": "string" + }, + "transcriptUri": { + "description": "Immutable. Cloud Storage URI that points to a file that contains the conversation transcript.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1HoldData": { + "description": "The data for a hold annotation.", + "id": "GoogleCloudContactcenterinsightsV1HoldData", + "properties": {}, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1Intent": { + "description": "The data for an intent. Represents a detected intent in the conversation, for example MAKES_PROMISE.", + "id": "GoogleCloudContactcenterinsightsV1Intent", + "properties": { + "displayName": { + "description": "The human-readable name of the intent.", + "type": "string" + }, + "id": { + "description": "The unique identifier of the intent.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1IntentMatchData": { + "description": "The data for an intent match. Represents an intent match for a text segment in the conversation. A text segment can be part of a sentence, a complete sentence, or an utterance with multiple sentences.", + "id": "GoogleCloudContactcenterinsightsV1IntentMatchData", + "properties": { + "intentUniqueId": { + "description": "The id of the matched intent. Can be used to retrieve the corresponding intent information.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1InterruptionData": { + "description": "The data for an interruption annotation.", + "id": "GoogleCloudContactcenterinsightsV1InterruptionData", + "properties": {}, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1Issue": { + "description": "The issue resource.", + "id": "GoogleCloudContactcenterinsightsV1Issue", + "properties": { + "createTime": { + "description": "Output only. The time at which this issue was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The representative name for the issue.", + "type": "string" + }, + "name": { + "description": "Immutable. The resource name of the issue. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue}", + "type": "string" + }, + "updateTime": { + "description": "Output only. The most recent time that this issue was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1IssueAssignment": { + "description": "Information about the issue.", + "id": "GoogleCloudContactcenterinsightsV1IssueAssignment", + "properties": { + "displayName": { + "description": "Immutable. Display name of the assigned issue. This field is set at time of analyis and immutable since then.", + "type": "string" + }, + "issue": { + "description": "Resource name of the assigned issue.", + "type": "string" + }, + "score": { + "description": "Score indicating the likelihood of the issue assignment. currently bounded on [0,1].", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1IssueModel": { + "description": "The issue model resource.", + "id": "GoogleCloudContactcenterinsightsV1IssueModel", + "properties": { + "createTime": { + "description": "Output only. The time at which this issue model was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The representative name for the issue model.", + "type": "string" + }, + "inputDataConfig": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig", + "description": "Configs for the input data that used to create the issue model." + }, + "name": { + "description": "Immutable. The resource name of the issue model. Format: projects/{project}/locations/{location}/issueModels/{issue_model}", + "type": "string" + }, + "state": { + "description": "Output only. State of the model.", + "enum": [ + "STATE_UNSPECIFIED", + "UNDEPLOYED", + "DEPLOYING", + "DEPLOYED", + "UNDEPLOYING", + "DELETING" + ], + "enumDescriptions": [ + "Unspecified.", + "Model is not deployed but is ready to deploy.", + "Model is being deployed.", + "Model is deployed and is ready to be used. A model can only be used in analysis if it's in this state.", + "Model is being undeployed.", + "Model is being deleted." + ], + "readOnly": true, + "type": "string" + }, + "trainingStats": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueModelLabelStats", + "description": "Output only. Immutable. The issue model's label statistics on its training data.", + "readOnly": true + }, + "updateTime": { + "description": "Output only. The most recent time at which the issue model was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig": { + "description": "Configs for the input data used to create the issue model.", + "id": "GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig", + "properties": { + "filter": { + "description": "A filter to reduce the conversations used for training the model to a specific subset.", + "type": "string" + }, + "medium": { + "description": "Medium of conversations used in training data. This field is being deprecated. To specify the medium to be used in training a new issue model, set the `medium` field on `filter`.", + "enum": [ + "MEDIUM_UNSPECIFIED", + "PHONE_CALL", + "CHAT" + ], + "enumDescriptions": [ + "Default value, if unspecified will default to PHONE_CALL.", + "The format for conversations that took place over the phone.", + "The format for conversations that took place over chat." + ], + "type": "string" + }, + "trainingConversationsCount": { + "description": "Output only. Number of conversations used in training. Output only.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1IssueModelLabelStats": { + "description": "Aggregated statistics about an issue model.", + "id": "GoogleCloudContactcenterinsightsV1IssueModelLabelStats", + "properties": { + "analyzedConversationsCount": { + "description": "Number of conversations the issue model has analyzed at this point in time.", + "format": "int64", + "type": "string" + }, + "issueStats": { + "additionalProperties": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats" + }, + "description": "Statistics on each issue. Key is the issue's resource name.", + "type": "object" + }, + "unclassifiedConversationsCount": { + "description": "Number of analyzed conversations for which no issue was applicable at this point in time.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats": { + "description": "Aggregated statistics about an issue.", + "id": "GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats", + "properties": { + "displayName": { + "description": "Display name of the issue.", + "type": "string" + }, + "issue": { + "description": "Issue resource. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue}", + "type": "string" + }, + "labeledConversationsCount": { + "description": "Number of conversations attached to the issue at this point in time.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1IssueModelResult": { + "description": "Issue Modeling result on a conversation.", + "id": "GoogleCloudContactcenterinsightsV1IssueModelResult", + "properties": { + "issueModel": { + "description": "Issue model that generates the result. Format: projects/{project}/locations/{location}/issueModels/{issue_model}", + "type": "string" + }, + "issues": { + "description": "All the matched issues.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueAssignment" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ListAnalysesResponse": { + "description": "The response to list analyses.", + "id": "GoogleCloudContactcenterinsightsV1ListAnalysesResponse", + "properties": { + "analyses": { + "description": "The analyses that match the request.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1Analysis" + }, + "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" + }, + "GoogleCloudContactcenterinsightsV1ListConversationsResponse": { + "description": "The response of listing conversations.", + "id": "GoogleCloudContactcenterinsightsV1ListConversationsResponse", + "properties": { + "conversations": { + "description": "The conversations that match the request.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1Conversation" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token which can be sent as `page_token` to retrieve the next page. If this field is set, it means there is another page available. If it is not set, it means no other pages are available.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ListIssueModelsResponse": { + "description": "The response of listing issue models.", + "id": "GoogleCloudContactcenterinsightsV1ListIssueModelsResponse", + "properties": { + "issueModels": { + "description": "The issue models that match the request.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueModel" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ListIssuesResponse": { + "description": "The response of listing issues.", + "id": "GoogleCloudContactcenterinsightsV1ListIssuesResponse", + "properties": { + "issues": { + "description": "The issues that match the request.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1Issue" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ListPhraseMatchersResponse": { + "description": "The response of listing phrase matchers.", + "id": "GoogleCloudContactcenterinsightsV1ListPhraseMatchersResponse", + "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" + }, + "phraseMatchers": { + "description": "The phrase matchers that match the request.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatcher" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ListViewsResponse": { + "description": "The response of listing views.", + "id": "GoogleCloudContactcenterinsightsV1ListViewsResponse", + "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" + }, + "views": { + "description": "The views that match the request.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1View" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1PhraseMatchData": { + "description": "The data for a matched phrase matcher. Represents information identifying a phrase matcher for a given match.", + "id": "GoogleCloudContactcenterinsightsV1PhraseMatchData", + "properties": { + "displayName": { + "description": "The human-readable name of the phrase matcher.", + "type": "string" + }, + "phraseMatcher": { + "description": "The unique identifier (the resource name) of the phrase matcher.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1PhraseMatchRule": { + "description": "The data for a phrase match rule.", + "id": "GoogleCloudContactcenterinsightsV1PhraseMatchRule", + "properties": { + "config": { + "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatchRuleConfig", + "description": "Provides additional information about the rule that specifies how to apply the rule." + }, + "negated": { + "description": "Specifies whether the phrase must be missing from the transcript segment or present in the transcript segment.", + "type": "boolean" + }, + "query": { + "description": "Required. The phrase to be matched.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1PhraseMatchRuleConfig": { + "description": "Configuration information of a phrase match rule.", + "id": "GoogleCloudContactcenterinsightsV1PhraseMatchRuleConfig", + "properties": { + "exactMatchConfig": { + "$ref": "GoogleCloudContactcenterinsightsV1ExactMatchConfig", + "description": "The configuration for the exact match rule." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1PhraseMatchRuleGroup": { + "description": "A message representing a rule in the phrase matcher.", + "id": "GoogleCloudContactcenterinsightsV1PhraseMatchRuleGroup", + "properties": { + "phraseMatchRules": { + "description": "A list of phase match rules that are included in this group.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatchRule" + }, + "type": "array" + }, + "type": { + "description": "Required. The type of this phrase match rule group.", + "enum": [ + "PHRASE_MATCH_RULE_GROUP_TYPE_UNSPECIFIED", + "ALL_OF", + "ANY_OF" + ], + "enumDescriptions": [ + "Unspecified.", + "Must meet all phrase match rules or there is no match.", + "If any of the phrase match rules are met, there is a match." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1PhraseMatcher": { + "description": "The phrase matcher resource.", + "id": "GoogleCloudContactcenterinsightsV1PhraseMatcher", + "properties": { + "activationUpdateTime": { + "description": "Output only. The most recent time at which the activation status was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "active": { + "description": "Applies the phrase matcher only when it is active.", + "type": "boolean" + }, + "displayName": { + "description": "The human-readable name of the phrase matcher.", + "type": "string" + }, + "name": { + "description": "The resource name of the phrase matcher. Format: projects/{project}/locations/{location}/phraseMatchers/{phrase_matcher}", + "type": "string" + }, + "phraseMatchRuleGroups": { + "description": "A list of phase match rule groups that are included in this matcher.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatchRuleGroup" + }, + "type": "array" + }, + "revisionCreateTime": { + "description": "Output only. The timestamp of when the revision was created. It is also the create time when a new matcher is added.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "revisionId": { + "description": "Output only. Immutable. The revision ID of the phrase matcher. A new revision is committed whenever the matcher is changed, except when it is activated or deactivated. A server generated random ID will be used. Example: locations/global/phraseMatchers/my-first-matcher@1234567", + "readOnly": true, + "type": "string" + }, + "roleMatch": { + "description": "The role whose utterances the phrase matcher should be matched against. If the role is ROLE_UNSPECIFIED it will be matched against any utterances in the transcript.", + "enum": [ + "ROLE_UNSPECIFIED", + "HUMAN_AGENT", + "AUTOMATED_AGENT", + "END_USER", + "ANY_AGENT" + ], + "enumDescriptions": [ + "Participant's role is not set.", + "Participant is a human agent.", + "Participant is an automated agent.", + "Participant is an end user who conversed with the contact center.", + "Participant is either a human or automated agent." + ], + "type": "string" + }, + "type": { + "description": "Required. The type of this phrase matcher.", + "enum": [ + "PHRASE_MATCHER_TYPE_UNSPECIFIED", + "ALL_OF", + "ANY_OF" + ], + "enumDescriptions": [ + "Unspecified.", + "Must meet all phrase match rule groups or there is no match.", + "If any of the phrase match rule groups are met, there is a match." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. The most recent time at which the phrase matcher was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "versionTag": { + "description": "The customized version tag to use for the phrase matcher. If not specified, it will default to `revision_id`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1RuntimeAnnotation": { + "description": "An annotation that was generated during the customer and agent interaction.", + "id": "GoogleCloudContactcenterinsightsV1RuntimeAnnotation", + "properties": { + "annotationId": { + "description": "The unique identifier of the annotation. Format: projects/{project}/locations/{location}/conversationDatasets/{dataset}/conversationDataItems/{data_item}/conversationAnnotations/{annotation}", + "type": "string" + }, + "answerFeedback": { + "$ref": "GoogleCloudContactcenterinsightsV1AnswerFeedback", + "description": "The feedback that the customer has about the answer in `data`." + }, + "articleSuggestion": { + "$ref": "GoogleCloudContactcenterinsightsV1ArticleSuggestionData", + "description": "Agent Assist Article Suggestion data." + }, + "createTime": { + "description": "The time at which this annotation was created.", + "format": "google-datetime", + "type": "string" + }, + "dialogflowInteraction": { + "$ref": "GoogleCloudContactcenterinsightsV1DialogflowInteractionData", + "description": "Dialogflow interaction data." + }, + "endBoundary": { + "$ref": "GoogleCloudContactcenterinsightsV1AnnotationBoundary", + "description": "The boundary in the conversation where the annotation ends, inclusive." + }, + "faqAnswer": { + "$ref": "GoogleCloudContactcenterinsightsV1FaqAnswerData", + "description": "Agent Assist FAQ answer data." + }, + "smartComposeSuggestion": { + "$ref": "GoogleCloudContactcenterinsightsV1SmartComposeSuggestionData", + "description": "Agent Assist Smart Compose suggestion data." + }, + "smartReply": { + "$ref": "GoogleCloudContactcenterinsightsV1SmartReplyData", + "description": "Agent Assist Smart Reply data." + }, + "startBoundary": { + "$ref": "GoogleCloudContactcenterinsightsV1AnnotationBoundary", + "description": "The boundary in the conversation where the annotation starts, inclusive." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1SentimentData": { + "description": "The data for a sentiment annotation.", + "id": "GoogleCloudContactcenterinsightsV1SentimentData", + "properties": { + "magnitude": { + "description": "A non-negative number from 0 to infinity which represents the abolute magnitude of sentiment regardless of score.", + "format": "float", + "type": "number" + }, + "score": { + "description": "The sentiment score between -1.0 (negative) and 1.0 (positive).", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1Settings": { + "description": "The settings resource.", + "id": "GoogleCloudContactcenterinsightsV1Settings", + "properties": { + "analysisConfig": { + "$ref": "GoogleCloudContactcenterinsightsV1SettingsAnalysisConfig", + "description": "Default analysis settings." + }, + "conversationTtl": { + "description": "The default TTL for newly-created conversations. If a conversation has a specified expiration, that value will be used instead. Changing this value will not change the expiration of existing conversations. Conversations with no expire time persist until they are deleted.", + "format": "google-duration", + "type": "string" + }, + "createTime": { + "description": "Output only. The time at which the settings was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "languageCode": { + "description": "A language code to be applied to each transcript segment unless the segment already specifies a language code. Language code defaults to \"en-US\" if it is neither specified on the segment nor here.", + "type": "string" + }, + "name": { + "description": "Immutable. The resource name of the settings resource. Format: projects/{project}/locations/{location}/settings", + "type": "string" + }, + "pubsubNotificationSettings": { + "additionalProperties": { + "type": "string" + }, + "description": "A map that maps a notification trigger to a Pub/Sub topic. Each time a specified trigger occurs, Insights will notify the corresponding Pub/Sub topic. Keys are notification triggers. Supported keys are: * \"all-triggers\": Notify each time any of the supported triggers occurs. * \"create-analysis\": Notify each time an analysis is created. * \"create-conversation\": Notify each time a conversation is created. * \"export-insights-data\": Notify each time an export is complete. * \"update-conversation\": Notify each time a conversation is updated via UpdateConversation. Values are Pub/Sub topics. The format of each Pub/Sub topic is: projects/{project}/topics/{topic}", + "type": "object" + }, + "updateTime": { + "description": "Output only. The time at which the settings were last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1SettingsAnalysisConfig": { + "description": "Default configuration when creating Analyses in Insights.", + "id": "GoogleCloudContactcenterinsightsV1SettingsAnalysisConfig", + "properties": { + "runtimeIntegrationAnalysisPercentage": { + "description": "Percentage of conversations created using Dialogflow runtime integration to analyze automatically, between [0, 100].", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1SilenceData": { + "description": "The data for a silence annotation.", + "id": "GoogleCloudContactcenterinsightsV1SilenceData", + "properties": {}, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1SmartComposeSuggestionData": { + "description": "Agent Assist Smart Compose suggestion data.", + "id": "GoogleCloudContactcenterinsightsV1SmartComposeSuggestionData", + "properties": { + "confidenceScore": { + "description": "The system's confidence score that this suggestion is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", + "format": "double", + "type": "number" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Map that contains metadata about the Smart Compose suggestion and the document from which it originates.", + "type": "object" + }, + "queryRecord": { + "description": "Name of the query record. Format: projects/{project}/locations/{location}/queryRecords/{query_record}", + "type": "string" + }, + "suggestion": { + "description": "The content of the suggestion.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1SmartReplyData": { + "description": "Agent Assist Smart Reply data.", + "id": "GoogleCloudContactcenterinsightsV1SmartReplyData", + "properties": { + "confidenceScore": { + "description": "The system's confidence score that this reply is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", + "format": "double", + "type": "number" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Map that contains metadata about the Smart Reply and the document from which it originates.", + "type": "object" + }, + "queryRecord": { + "description": "Name of the query record. Format: projects/{project}/locations/{location}/queryRecords/{query_record}", + "type": "string" + }, + "reply": { + "description": "The content of the reply.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1UndeployIssueModelMetadata": { + "description": "Metadata for undeploying an issue model.", + "id": "GoogleCloudContactcenterinsightsV1UndeployIssueModelMetadata", + "properties": { + "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" + }, + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest", + "description": "The original request for undeployment." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest": { + "description": "The request to undeploy an issue model.", + "id": "GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest", + "properties": { + "name": { + "description": "Required. The issue model to undeploy.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1UndeployIssueModelResponse": { + "description": "The response to undeploy an issue model.", + "id": "GoogleCloudContactcenterinsightsV1UndeployIssueModelResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1View": { + "description": "The View resource.", + "id": "GoogleCloudContactcenterinsightsV1View", + "properties": { + "createTime": { + "description": "Output only. The time at which this view was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The human-readable display name of the view.", + "type": "string" + }, + "name": { + "description": "Immutable. The resource name of the view. Format: projects/{project}/locations/{location}/views/{view}", + "type": "string" + }, + "updateTime": { + "description": "Output only. The most recent time at which the view was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "String with specific view properties.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1CreateAnalysisOperationMetadata": { + "description": "Metadata for a create analysis operation.", + "id": "GoogleCloudContactcenterinsightsV1alpha1CreateAnalysisOperationMetadata", + "properties": { + "conversation": { + "description": "Output only. The Conversation that this Analysis Operation belongs to.", + "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" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelMetadata": { + "description": "Metadata for creating an issue model.", + "id": "GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelMetadata", + "properties": { + "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" + }, + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelRequest", + "description": "The original request for creation." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelRequest": { + "description": "The request to create an issue model.", + "id": "GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelRequest", + "properties": { + "issueModel": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueModel", + "description": "Required. The issue model to create." + }, + "parent": { + "description": "Required. The parent resource of the issue model.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelMetadata": { + "description": "Metadata for deleting an issue model.", + "id": "GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelMetadata", + "properties": { + "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" + }, + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelRequest", + "description": "The original request for deletion." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelRequest": { + "description": "The request to delete an issue model.", + "id": "GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelRequest", + "properties": { + "name": { + "description": "Required. The name of the issue model to delete.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelMetadata": { + "description": "Metadata for deploying an issue model.", + "id": "GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelMetadata", + "properties": { + "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" + }, + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelRequest", + "description": "The original request for deployment." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelRequest": { + "description": "The request to deploy an issue model.", + "id": "GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelRequest", + "properties": { + "name": { + "description": "Required. The issue model to deploy.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelResponse": { + "description": "The response to deploy an issue model.", + "id": "GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataMetadata": { + "description": "Metadata for an export insights operation.", + "id": "GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataMetadata", + "properties": { + "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" + }, + "partialErrors": { + "description": "Partial errors during export operation that might cause the operation output to be incomplete.", + "items": { + "$ref": "GoogleRpcStatus" + }, + "type": "array" + }, + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequest", + "description": "The original request for export." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequest": { + "description": "The request to export insights.", + "id": "GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequest", + "properties": { + "bigQueryDestination": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequestBigQueryDestination", + "description": "Specified if sink is a BigQuery table." + }, + "filter": { + "description": "A filter to reduce results to a specific subset. Useful for exporting conversations with specific properties.", + "type": "string" + }, + "kmsKey": { + "description": "A fully qualified KMS key name for BigQuery tables protected by CMEK. Format: projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}/cryptoKeyVersions/{version}", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource to export data from.", + "type": "string" + }, + "writeDisposition": { + "description": "Options for what to do if the destination table already exists.", + "enum": [ + "WRITE_DISPOSITION_UNSPECIFIED", + "WRITE_TRUNCATE", + "WRITE_APPEND" + ], + "enumDescriptions": [ + "Write disposition is not specified. Defaults to WRITE_TRUNCATE.", + "If the table already exists, BigQuery will overwrite the table data and use the schema from the load.", + "If the table already exists, BigQuery will append data to the table." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequestBigQueryDestination": { + "description": "A BigQuery Table Reference.", + "id": "GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequestBigQueryDestination", + "properties": { + "dataset": { + "description": "Required. The name of the BigQuery dataset that the snapshot result should be exported to. If this dataset does not exist, the export call returns an INVALID_ARGUMENT error.", + "type": "string" + }, + "projectId": { + "description": "A project ID or number. If specified, then export will attempt to write data to this project instead of the resource project. Otherwise, the resource project will be used.", + "type": "string" + }, + "table": { + "description": "The BigQuery table name to which the insights data should be written. If this table does not exist, the export call returns an INVALID_ARGUMENT error.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataResponse": { + "description": "Response for an export insights operation.", + "id": "GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1IssueModel": { + "description": "The issue model resource.", + "id": "GoogleCloudContactcenterinsightsV1alpha1IssueModel", + "properties": { + "createTime": { + "description": "Output only. The time at which this issue model was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The representative name for the issue model.", + "type": "string" + }, + "inputDataConfig": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueModelInputDataConfig", + "description": "Configs for the input data that used to create the issue model." + }, + "name": { + "description": "Immutable. The resource name of the issue model. Format: projects/{project}/locations/{location}/issueModels/{issue_model}", + "type": "string" + }, + "state": { + "description": "Output only. State of the model.", + "enum": [ + "STATE_UNSPECIFIED", + "UNDEPLOYED", + "DEPLOYING", + "DEPLOYED", + "UNDEPLOYING", + "DELETING" + ], + "enumDescriptions": [ + "Unspecified.", + "Model is not deployed but is ready to deploy.", + "Model is being deployed.", + "Model is deployed and is ready to be used. A model can only be used in analysis if it's in this state.", + "Model is being undeployed.", + "Model is being deleted." + ], + "readOnly": true, + "type": "string" + }, + "trainingStats": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStats", + "description": "Output only. Immutable. The issue model's label statistics on its training data.", + "readOnly": true + }, + "updateTime": { + "description": "Output only. The most recent time at which the issue model was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1IssueModelInputDataConfig": { + "description": "Configs for the input data used to create the issue model.", + "id": "GoogleCloudContactcenterinsightsV1alpha1IssueModelInputDataConfig", + "properties": { + "filter": { + "description": "A filter to reduce the conversations used for training the model to a specific subset.", + "type": "string" + }, + "medium": { + "description": "Medium of conversations used in training data. This field is being deprecated. To specify the medium to be used in training a new issue model, set the `medium` field on `filter`.", + "enum": [ + "MEDIUM_UNSPECIFIED", + "PHONE_CALL", + "CHAT" + ], + "enumDescriptions": [ + "Default value, if unspecified will default to PHONE_CALL.", + "The format for conversations that took place over the phone.", + "The format for conversations that took place over chat." + ], + "type": "string" + }, + "trainingConversationsCount": { + "description": "Output only. Number of conversations used in training. Output only.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStats": { + "description": "Aggregated statistics about an issue model.", + "id": "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStats", + "properties": { + "analyzedConversationsCount": { + "description": "Number of conversations the issue model has analyzed at this point in time.", + "format": "int64", + "type": "string" + }, + "issueStats": { + "additionalProperties": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStatsIssueStats" + }, + "description": "Statistics on each issue. Key is the issue's resource name.", + "type": "object" + }, + "unclassifiedConversationsCount": { + "description": "Number of analyzed conversations for which no issue was applicable at this point in time.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStatsIssueStats": { + "description": "Aggregated statistics about an issue.", + "id": "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStatsIssueStats", + "properties": { + "displayName": { + "description": "Display name of the issue.", + "type": "string" + }, + "issue": { + "description": "Issue resource. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue}", + "type": "string" + }, + "labeledConversationsCount": { + "description": "Number of conversations attached to the issue at this point in time.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelMetadata": { + "description": "Metadata for undeploying an issue model.", + "id": "GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelMetadata", + "properties": { + "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" + }, + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelRequest", + "description": "The original request for undeployment." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelRequest": { + "description": "The request to undeploy an issue model.", + "id": "GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelRequest", + "properties": { + "name": { + "description": "Required. The issue model to undeploy.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelResponse": { + "description": "The response to undeploy an issue model.", + "id": "GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelResponse", + "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 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" + }, + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", + "id": "GoogleProtobufEmpty", + "properties": {}, + "type": "object" + }, + "GoogleRpcStatus": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "GoogleRpcStatus", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Contact Center AI Insights API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/container/v1/container-api.json b/etc/api/container/v1/container-api.json index ad637d17a5..684d9997f9 100644 --- a/etc/api/container/v1/container-api.json +++ b/etc/api/container/v1/container-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -207,7 +207,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster id) of the cluster to complete IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to complete IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -343,7 +343,7 @@ ], "parameters": { "parent": { - "description": "The cluster (project, location, cluster id) to get keys for. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The cluster (project, location, cluster name) to get keys for. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -428,7 +428,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster id) of the cluster to set legacy abac. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to set legacy abac. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -512,7 +512,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster id) of the cluster to set maintenance policy. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to set maintenance policy. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -596,7 +596,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster id) of the cluster to set networking policy. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to set networking policy. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -624,7 +624,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster id) of the cluster to set labels. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to set labels. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -652,7 +652,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster id) of the cluster to start IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to start IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -740,7 +740,7 @@ ], "parameters": { "parent": { - "description": "The parent (project, location, cluster id) where the node pool will be created. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The parent (project, location, cluster name) where the node pool will be created. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -863,7 +863,7 @@ "type": "string" }, "parent": { - "description": "The parent (project, location, cluster id) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The parent (project, location, cluster name) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -1042,7 +1042,7 @@ ], "parameters": { "parent": { - "description": "The cluster (project, location, cluster id) to get the discovery document for. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The cluster (project, location, cluster name) to get the discovery document for. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -2109,7 +2109,7 @@ "type": "string" }, "parent": { - "description": "The parent (project, location, cluster id) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The parent (project, location, cluster name) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "query", "type": "string" }, @@ -2459,7 +2459,7 @@ } } }, - "revision": "20210314", + "revision": "20220215", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -2474,6 +2474,10 @@ "acceleratorType": { "description": "The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)", "type": "string" + }, + "gpuPartitionSize": { + "description": "Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).", + "type": "string" } }, "type": "object" @@ -2498,6 +2502,10 @@ "$ref": "GcePersistentDiskCsiDriverConfig", "description": "Configuration for the Compute Engine Persistent Disk CSI driver." }, + "gcpFilestoreCsiDriverConfig": { + "$ref": "GcpFilestoreCsiDriverConfig", + "description": "Configuration for the GCP Filestore CSI driver." + }, "horizontalPodAutoscaling": { "$ref": "HorizontalPodAutoscaling", "description": "Configuration for the horizontal pod autoscaling feature, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods." @@ -2517,6 +2525,18 @@ }, "type": "object" }, + "AdvancedMachineFeatures": { + "description": "Specifies options for controlling advanced machine features.", + "id": "AdvancedMachineFeatures", + "properties": { + "threadsPerCore": { + "description": "The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "AuthenticatorGroupsConfig": { "description": "Configuration for returning group information from authenticators.", "id": "AuthenticatorGroupsConfig", @@ -2575,12 +2595,16 @@ "description": "Type of the disk attached to each node (e.g. 'pd-standard', 'pd-ssd' or 'pd-balanced') If unspecified, the default disk type is 'pd-standard'", "type": "string" }, + "imageType": { + "description": "The image type to use for NAP created node.", + "type": "string" + }, "management": { "$ref": "NodeManagement", "description": "Specifies the node management options for NAP created node-pools." }, "minCpuPlatform": { - "description": "Minimum CPU platform to be used for NAP created node pools. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: Intel Haswell or minCpuPlatform: Intel Sandy Bridge. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) To unset the min cpu platform field pass \"automatic\" as field value.", + "description": "Deprecated. Minimum CPU platform to be used for NAP created node pools. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: Intel Haswell or minCpuPlatform: Intel Sandy Bridge. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) This field is deprecated, min_cpu_platform should be specified using cloud.google.com/requested-min-cpu-platform label selector on the pod. To unset the min cpu platform field pass \"automatic\" as field value.", "type": "string" }, "oauthScopes": { @@ -2736,6 +2760,10 @@ }, "type": "array" }, + "confidentialNodes": { + "$ref": "ConfidentialNodes", + "description": "Configuration of Confidential Nodes. All the nodes in the cluster will be Confidential VM once enabled." + }, "createTime": { "description": "[Output only] The time the cluster was created, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", "type": "string" @@ -2781,6 +2809,15 @@ "description": "[Output only] The time the cluster will be automatically deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", "type": "string" }, + "id": { + "description": "Output only. Unique id for the cluster.", + "readOnly": true, + "type": "string" + }, + "identityServiceConfig": { + "$ref": "IdentityServiceConfig", + "description": "Configuration for Identity Service component." + }, "initialClusterVersion": { "description": "The initial Kubernetes version for this cluster. Valid versions are those found in validMasterVersions returned by getServerConfig. The version can be upgraded over time; such upgrades are reflected in currentMasterVersion and currentNodeVersion. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"\",\"-\": picks the default Kubernetes version", "type": "string" @@ -2820,6 +2857,10 @@ }, "type": "array" }, + "loggingConfig": { + "$ref": "LoggingConfig", + "description": "Logging configuration for the cluster." + }, "loggingService": { "description": "The logging service the cluster should use to write logs. Currently available options: * `logging.googleapis.com/kubernetes` - The Cloud Logging service with a Kubernetes-native resource model * `logging.googleapis.com` - The legacy Cloud Logging service (no longer available as of GKE 1.15). * `none` - no logs will be exported from the cluster. If left as an empty string,`logging.googleapis.com/kubernetes` will be used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.", "type": "string" @@ -2836,6 +2877,14 @@ "$ref": "MasterAuthorizedNetworksConfig", "description": "The configuration options for master authorized networks feature." }, + "meshCertificates": { + "$ref": "MeshCertificates", + "description": "Configuration for issuance of mTLS keys and certificates to Kubernetes pods." + }, + "monitoringConfig": { + "$ref": "MonitoringConfig", + "description": "Monitoring configuration for the cluster." + }, "monitoringService": { "description": "The monitoring service the cluster should use to write metrics. Currently available options: * \"monitoring.googleapis.com/kubernetes\" - The Cloud Monitoring service with a Kubernetes-native resource model * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no longer available as of GKE 1.15). * `none` - No metrics will be exported from the cluster. If left as an empty string,`monitoring.googleapis.com/kubernetes` will be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.", "type": "string" @@ -2865,6 +2914,14 @@ "format": "int32", "type": "integer" }, + "nodePoolAutoConfig": { + "$ref": "NodePoolAutoConfig", + "description": "Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters." + }, + "nodePoolDefaults": { + "$ref": "NodePoolDefaults", + "description": "Default NodePool settings for the entire cluster. These settings are overridden if specified on the specific NodePool object." + }, "nodePools": { "description": "The node pools associated with this cluster. This field should not be set if \"node_config\" or \"initial_node_count\" are specified.", "items": { @@ -2971,6 +3028,20 @@ "$ref": "AutoprovisioningNodePoolDefaults", "description": "AutoprovisioningNodePoolDefaults contains defaults for a node pool created by NAP." }, + "autoscalingProfile": { + "description": "Defines autoscaling behaviour.", + "enum": [ + "PROFILE_UNSPECIFIED", + "OPTIMIZE_UTILIZATION", + "BALANCED" + ], + "enumDescriptions": [ + "No change to autoscaling configuration.", + "Prioritize optimizing utilization of resources.", + "Use default (balanced) autoscaling configuration." + ], + "type": "string" + }, "enableNodeAutoprovisioning": { "description": "Enables automatic node pool creation and deletion.", "type": "boolean" @@ -2993,6 +3064,10 @@ "$ref": "AddonsConfig", "description": "Configurations for the various addons available to run in the cluster." }, + "desiredAuthenticatorGroupsConfig": { + "$ref": "AuthenticatorGroupsConfig", + "description": "The desired authenticator groups config for the cluster." + }, "desiredBinaryAuthorization": { "$ref": "BinaryAuthorization", "description": "The desired configuration options for the Binary Authorization feature." @@ -3005,10 +3080,36 @@ "$ref": "DatabaseEncryption", "description": "Configuration of etcd encryption." }, + "desiredDatapathProvider": { + "description": "The desired datapath provider for the cluster.", + "enum": [ + "DATAPATH_PROVIDER_UNSPECIFIED", + "LEGACY_DATAPATH", + "ADVANCED_DATAPATH" + ], + "enumDescriptions": [ + "Default value.", + "Use the IPTables implementation based on kube-proxy.", + "Use the eBPF based GKE Dataplane V2 with additional features. See the [GKE Dataplane V2 documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/dataplane-v2) for more." + ], + "type": "string" + }, "desiredDefaultSnatStatus": { "$ref": "DefaultSnatStatus", "description": "The desired status of whether to disable default sNAT for this cluster." }, + "desiredDnsConfig": { + "$ref": "DNSConfig", + "description": "DNSConfig contains clusterDNS config for this cluster." + }, + "desiredGcfsConfig": { + "$ref": "GcfsConfig", + "description": "The desired GCFS config for the cluster" + }, + "desiredIdentityServiceConfig": { + "$ref": "IdentityServiceConfig", + "description": "The desired Identity Service component configuration." + }, "desiredImageType": { "description": "The desired image type for the node pool. NOTE: Set the \"desired_node_pool\" field as well.", "type": "string" @@ -3017,6 +3118,10 @@ "$ref": "IntraNodeVisibilityConfig", "description": "The desired config of Intra-node visibility." }, + "desiredL4ilbSubsettingConfig": { + "$ref": "ILBSubsettingConfig", + "description": "The desired L4 Internal Load Balancer Subsetting configuration." + }, "desiredLocations": { "description": "The desired list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes should be located. This list must always include the cluster's primary zone. Warning: changing cluster locations will update the locations of all node pools and will result in nodes being added and/or removed.", "items": { @@ -3024,6 +3129,10 @@ }, "type": "array" }, + "desiredLoggingConfig": { + "$ref": "LoggingConfig", + "description": "The desired logging configuration." + }, "desiredLoggingService": { "description": "The logging service the cluster should use to write logs. Currently available options: * `logging.googleapis.com/kubernetes` - The Cloud Logging service with a Kubernetes-native resource model * `logging.googleapis.com` - The legacy Cloud Logging service (no longer available as of GKE 1.15). * `none` - no logs will be exported from the cluster. If left as an empty string,`logging.googleapis.com/kubernetes` will be used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.", "type": "string" @@ -3036,10 +3145,22 @@ "description": "The Kubernetes version to change the master to. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"-\": picks the default Kubernetes version", "type": "string" }, + "desiredMeshCertificates": { + "$ref": "MeshCertificates", + "description": "Configuration for issuance of mTLS keys and certificates to Kubernetes pods." + }, + "desiredMonitoringConfig": { + "$ref": "MonitoringConfig", + "description": "The desired monitoring configuration." + }, "desiredMonitoringService": { "description": "The monitoring service the cluster should use to write metrics. Currently available options: * \"monitoring.googleapis.com/kubernetes\" - The Cloud Monitoring service with a Kubernetes-native resource model * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no longer available as of GKE 1.15). * `none` - No metrics will be exported from the cluster. If left as an empty string,`monitoring.googleapis.com/kubernetes` will be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.", "type": "string" }, + "desiredNodePoolAutoConfigNetworkTags": { + "$ref": "NetworkTags", + "description": "The desired network tags that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters." + }, "desiredNodePoolAutoscaling": { "$ref": "NodePoolAutoscaling", "description": "Autoscaler configuration for the node pool specified in desired_node_pool_id. If there is only one pool in the cluster and desired_node_pool_id is not provided then the change applies to that single node pool." @@ -3084,6 +3205,10 @@ "$ref": "ResourceUsageExportConfig", "description": "The desired configuration for exporting resource usage." }, + "desiredServiceExternalIpsConfig": { + "$ref": "ServiceExternalIPsConfig", + "description": "ServiceExternalIPsConfig specifies the config for the use of Services with ExternalIPs field." + }, "desiredShieldedNodes": { "$ref": "ShieldedNodes", "description": "Configuration for Shielded Nodes." @@ -3108,7 +3233,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster id) of the cluster to complete IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to complete IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -3122,6 +3247,17 @@ }, "type": "object" }, + "ConfidentialNodes": { + "description": "ConfidentialNodes is configuration for the confidential nodes feature, which makes nodes run on confidential VMs.", + "id": "ConfidentialNodes", + "properties": { + "enabled": { + "description": "Whether Confidential Nodes feature is enabled.", + "type": "boolean" + } + }, + "type": "object" + }, "ConfigConnectorConfig": { "description": "Configuration options for the Config Connector add-on.", "id": "ConfigConnectorConfig", @@ -3180,7 +3316,7 @@ "description": "Required. The node pool to create." }, "parent": { - "description": "The parent (project, location, cluster id) where the node pool will be created. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The parent (project, location, cluster name) where the node pool will be created. Specified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -3194,6 +3330,43 @@ }, "type": "object" }, + "DNSConfig": { + "description": "DNSConfig contains the desired set of options for configuring clusterDNS.", + "id": "DNSConfig", + "properties": { + "clusterDns": { + "description": "cluster_dns indicates which in-cluster DNS provider should be used.", + "enum": [ + "PROVIDER_UNSPECIFIED", + "PLATFORM_DEFAULT", + "CLOUD_DNS" + ], + "enumDescriptions": [ + "Default value", + "Use GKE default DNS provider(kube-dns) for DNS resolution.", + "Use CloudDNS for DNS resolution." + ], + "type": "string" + }, + "clusterDnsDomain": { + "description": "cluster_dns_domain is the suffix used for all cluster service records.", + "type": "string" + }, + "clusterDnsScope": { + "description": "cluster_dns_scope indicates the scope of access to cluster DNS records.", + "enum": [ + "DNS_SCOPE_UNSPECIFIED", + "VPC_SCOPE" + ], + "enumDescriptions": [ + "Default value, will be inferred as cluster scope.", + "DNS records are accessible from within the VPC." + ], + "type": "string" + } + }, + "type": "object" + }, "DailyMaintenanceWindow": { "description": "Time window specified for daily maintenance operations.", "id": "DailyMaintenanceWindow", @@ -3262,6 +3435,32 @@ "properties": {}, "type": "object" }, + "Filter": { + "description": "Allows filtering to one or more specific event types. If event types are present, those and only those event types will be transmitted to the cluster. Other types will be skipped. If no filter is specified, or no event types are present, all event types will be sent", + "id": "Filter", + "properties": { + "eventType": { + "description": "Event types to allowlist.", + "items": { + "enum": [ + "EVENT_TYPE_UNSPECIFIED", + "UPGRADE_AVAILABLE_EVENT", + "UPGRADE_EVENT", + "SECURITY_BULLETIN_EVENT" + ], + "enumDescriptions": [ + "Not set, will be ignored.", + "Corresponds with UpgradeAvailableEvent.", + "Corresponds with UpgradeEvent.", + "Corresponds with SecurityBulletinEvent." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GcePersistentDiskCsiDriverConfig": { "description": "Configuration for the Compute Engine PD CSI driver.", "id": "GcePersistentDiskCsiDriverConfig", @@ -3273,6 +3472,28 @@ }, "type": "object" }, + "GcfsConfig": { + "description": "GcfsConfig contains configurations of Google Container File System (image streaming).", + "id": "GcfsConfig", + "properties": { + "enabled": { + "description": "Whether to use GCFS.", + "type": "boolean" + } + }, + "type": "object" + }, + "GcpFilestoreCsiDriverConfig": { + "description": "Configuration for the GCP Filestore CSI driver.", + "id": "GcpFilestoreCsiDriverConfig", + "properties": { + "enabled": { + "description": "Whether the GCP Filestore CSI driver is enabled for this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, "GetJSONWebKeysResponse": { "description": "GetJSONWebKeysResponse is a valid JSON Web Key Set as specififed in rfc 7517", "id": "GetJSONWebKeysResponse", @@ -3387,6 +3608,17 @@ }, "type": "object" }, + "ILBSubsettingConfig": { + "description": "ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer subsetting on this cluster.", + "id": "ILBSubsettingConfig", + "properties": { + "enabled": { + "description": "Enables l4 ILB subsetting for this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, "IPAllocationPolicy": { "description": "Configuration for controlling how IPs are allocated in the cluster.", "id": "IPAllocationPolicy", @@ -3446,6 +3678,17 @@ }, "type": "object" }, + "IdentityServiceConfig": { + "description": "IdentityServiceConfig is configuration for Identity Service which allows customers to use external identity providers with the K8S API", + "id": "IdentityServiceConfig", + "properties": { + "enabled": { + "description": "Whether to enable the Identity Service component", + "type": "boolean" + } + }, + "type": "object" + }, "IntraNodeVisibilityConfig": { "description": "IntraNodeVisibilityConfig contains the desired config of the intra-node visibility on this cluster.", "id": "IntraNodeVisibilityConfig", @@ -3610,6 +3853,62 @@ }, "type": "object" }, + "LoggingComponentConfig": { + "description": "LoggingComponentConfig is cluster logging component configuration.", + "id": "LoggingComponentConfig", + "properties": { + "enableComponents": { + "description": "Select components to collect logs. An empty set would disable all logging.", + "items": { + "enum": [ + "COMPONENT_UNSPECIFIED", + "SYSTEM_COMPONENTS", + "WORKLOADS" + ], + "enumDescriptions": [ + "Default value. This shouldn't be used.", + "system components", + "workloads" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "LoggingConfig": { + "description": "LoggingConfig is cluster logging configuration.", + "id": "LoggingConfig", + "properties": { + "componentConfig": { + "$ref": "LoggingComponentConfig", + "description": "Logging components configuration" + } + }, + "type": "object" + }, + "MaintenanceExclusionOptions": { + "description": "Represents the Maintenance exclusion option.", + "id": "MaintenanceExclusionOptions", + "properties": { + "scope": { + "description": "Scope specifies the upgrade scope which upgrades are blocked by the exclusion.", + "enum": [ + "NO_UPGRADES", + "NO_MINOR_UPGRADES", + "NO_MINOR_OR_NODE_UPGRADES" + ], + "enumDescriptions": [ + "NO_UPGRADES excludes all upgrades, including patch upgrades and minor upgrades across control planes and nodes. This is the default exclusion behavior.", + "NO_MINOR_UPGRADES excludes all minor upgrades for the cluster, only patches are allowed.", + "NO_MINOR_OR_NODE_UPGRADES excludes all minor upgrades for the cluster, and also exclude all node pool upgrades. Only control plane patches are allowed." + ], + "type": "string" + } + }, + "type": "object" + }, "MaintenancePolicy": { "description": "MaintenancePolicy defines the maintenance policy to be used for the cluster.", "id": "MaintenancePolicy", @@ -3708,6 +4007,17 @@ }, "type": "object" }, + "MeshCertificates": { + "description": "Configuration for issuance of mTLS keys and certificates to Kubernetes pods.", + "id": "MeshCertificates", + "properties": { + "enableCertificates": { + "description": "enable_certificates controls issuance of workload mTLS certificates. If set, the GKE Workload Identity Certificates controller and node agent will be deployed in the cluster, which can then be configured by creating a WorkloadCertificateConfig Custom Resource. Requires Workload Identity (workload_pool must be non-empty).", + "type": "boolean" + } + }, + "type": "object" + }, "Metric": { "description": "Progress metric is (string, int|float|string) pair.", "id": "Metric", @@ -3733,18 +4043,73 @@ }, "type": "object" }, + "MonitoringComponentConfig": { + "description": "MonitoringComponentConfig is cluster monitoring component configuration.", + "id": "MonitoringComponentConfig", + "properties": { + "enableComponents": { + "description": "Select components to collect metrics. An empty set would disable all monitoring.", + "items": { + "enum": [ + "COMPONENT_UNSPECIFIED", + "SYSTEM_COMPONENTS" + ], + "enumDescriptions": [ + "Default value. This shouldn't be used.", + "system components" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MonitoringConfig": { + "description": "MonitoringConfig is cluster monitoring configuration.", + "id": "MonitoringConfig", + "properties": { + "componentConfig": { + "$ref": "MonitoringComponentConfig", + "description": "Monitoring components configuration" + } + }, + "type": "object" + }, "NetworkConfig": { "description": "NetworkConfig reports the relative names of network & subnetwork.", "id": "NetworkConfig", "properties": { + "datapathProvider": { + "description": "The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.", + "enum": [ + "DATAPATH_PROVIDER_UNSPECIFIED", + "LEGACY_DATAPATH", + "ADVANCED_DATAPATH" + ], + "enumDescriptions": [ + "Default value.", + "Use the IPTables implementation based on kube-proxy.", + "Use the eBPF based GKE Dataplane V2 with additional features. See the [GKE Dataplane V2 documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/dataplane-v2) for more." + ], + "type": "string" + }, "defaultSnatStatus": { "$ref": "DefaultSnatStatus", "description": "Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic." }, + "dnsConfig": { + "$ref": "DNSConfig", + "description": "DNSConfig contains clusterDNS config for this cluster." + }, "enableIntraNodeVisibility": { "description": "Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.", "type": "boolean" }, + "enableL4ilbSubsetting": { + "description": "Whether L4ILB Subsetting is enabled for this cluster.", + "type": "boolean" + }, "network": { "description": "Output only. The relative name of the Google Compute Engine network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. Example: projects/my-project/global/networks/my-network", "type": "string" @@ -3765,6 +4130,10 @@ ], "type": "string" }, + "serviceExternalIpsConfig": { + "$ref": "ServiceExternalIPsConfig", + "description": "ServiceExternalIPsConfig specifies if services with externalIPs field are blocked or not." + }, "subnetwork": { "description": "Output only. The relative name of the Google Compute Engine [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the cluster is connected. Example: projects/my-project/regions/us-central1/subnetworks/my-subnet", "type": "string" @@ -3806,6 +4175,20 @@ }, "type": "object" }, + "NetworkTags": { + "description": "Collection of Compute Engine network tags that can be applied to a node's underlying VM instance.", + "id": "NetworkTags", + "properties": { + "tags": { + "description": "List of network tags.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "NodeConfig": { "description": "Parameters that describe the nodes in a cluster.", "id": "NodeConfig", @@ -3817,6 +4200,10 @@ }, "type": "array" }, + "advancedMachineFeatures": { + "$ref": "AdvancedMachineFeatures", + "description": "Advanced features for the Compute Engine VM." + }, "bootDiskKmsKey": { "description": " The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption", "type": "string" @@ -3830,6 +4217,14 @@ "description": "Type of the disk attached to each node (e.g. 'pd-standard', 'pd-ssd' or 'pd-balanced') If unspecified, the default disk type is 'pd-standard'", "type": "string" }, + "gcfsConfig": { + "$ref": "GcfsConfig", + "description": "Google Container File System (image streaming) configs." + }, + "gvnic": { + "$ref": "VirtualNIC", + "description": "Enable or disable gvnic in the node pool." + }, "imageType": { "description": "The image type to use for this node. Note that for a given image type, the latest version of it will be used.", "type": "string" @@ -3862,7 +4257,7 @@ "additionalProperties": { "type": "string" }, - "description": "The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the reserved keys: - \"cluster-location\" - \"cluster-name\" - \"cluster-uid\" - \"configure-sh\" - \"containerd-configure-sh\" - \"enable-os-login\" - \"gci-ensure-gke-docker\" - \"gci-metrics-enabled\" - \"gci-update-strategy\" - \"instance-template\" - \"kube-env\" - \"startup-script\" - \"user-data\" - \"disable-address-manager\" - \"windows-startup-script-ps1\" - \"common-psm1\" - \"k8s-node-setup-psm1\" - \"install-ssh-psm1\" - \"user-profile-psm1\" The following keys are reserved for Windows nodes: - \"serial-port-logging-enable\" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB.", + "description": "The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the reserved keys: - \"cluster-location\" - \"cluster-name\" - \"cluster-uid\" - \"configure-sh\" - \"containerd-configure-sh\" - \"enable-os-login\" - \"gci-ensure-gke-docker\" - \"gci-metrics-enabled\" - \"gci-update-strategy\" - \"instance-template\" - \"kube-env\" - \"startup-script\" - \"user-data\" - \"disable-address-manager\" - \"windows-startup-script-ps1\" - \"common-psm1\" - \"k8s-node-setup-psm1\" - \"install-ssh-psm1\" - \"user-profile-psm1\" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB.", "type": "object" }, "minCpuPlatform": { @@ -3900,6 +4295,10 @@ "$ref": "ShieldedInstanceConfig", "description": "Shielded Instance options." }, + "spot": { + "description": "Spot flag for enabling Spot VM, which is a rebrand of the existing preemptible flag.", + "type": "boolean" + }, "tags": { "description": "The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during cluster or node pool creation. Each tag within the list must comply with RFC1035.", "items": { @@ -3921,6 +4320,17 @@ }, "type": "object" }, + "NodeConfigDefaults": { + "description": "Subset of NodeConfig message that has defaults.", + "id": "NodeConfigDefaults", + "properties": { + "gcfsConfig": { + "$ref": "GcfsConfig", + "description": "GCFS (Google Container File System, a.k.a Riptide) options." + } + }, + "type": "object" + }, "NodeKubeletConfig": { "description": "Node kubelet configs.", "id": "NodeKubeletConfig", @@ -3934,7 +4344,7 @@ "type": "string" }, "cpuManagerPolicy": { - "description": "Control the CPU management policy on the node. See https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ The following values are allowed. - \"none\": the default, which represents the existing scheduling behavior. - \"static\": allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node. The default value is 'none' if unspecified.", + "description": "Control the CPU management policy on the node. See https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ The following values are allowed. * \"none\": the default, which represents the existing scheduling behavior. * \"static\": allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node. The default value is 'none' if unspecified.", "type": "string" } }, @@ -3959,6 +4369,25 @@ }, "type": "object" }, + "NodeNetworkConfig": { + "description": "Parameters for node pool-level network config.", + "id": "NodeNetworkConfig", + "properties": { + "createPodRange": { + "description": "Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created.", + "type": "boolean" + }, + "podIpv4CidrBlock": { + "description": "The IP address range for pod IPs in this node pool. Only applicable if `create_pod_range` is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. `/14`) to have a range chosen with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) to pick a specific range to use. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created.", + "type": "string" + }, + "podRange": { + "description": "The ID of the secondary range for pod IPs. If `create_pod_range` is true, this ID is used for the new range. If `create_pod_range` is false, uses an existing secondary range with this ID. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created.", + "type": "string" + } + }, + "type": "object" + }, "NodePool": { "description": "NodePool contains the name and configuration for a cluster's node pool. Node pools are a set of nodes (i.e. VM's), with a common configuration and specification, under the control of the cluster master. They may have a set of Kubernetes labels applied to them, which may be used to reference them during pod scheduling. They may also be resized up or down, to accommodate the workload.", "id": "NodePool", @@ -4009,6 +4438,10 @@ "description": "The name of the node pool.", "type": "string" }, + "networkConfig": { + "$ref": "NodeNetworkConfig", + "description": "Networking configuration for this NodePool. If specified, it overrides the cluster-level defaults." + }, "podIpv4CidrSize": { "description": "[Output only] The pod CIDR block size per node in this node pool.", "format": "int32", @@ -4055,6 +4488,17 @@ }, "type": "object" }, + "NodePoolAutoConfig": { + "description": "Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters.", + "id": "NodePoolAutoConfig", + "properties": { + "networkTags": { + "$ref": "NetworkTags", + "description": "The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during cluster creation. Each tag within the list must comply with RFC1035." + } + }, + "type": "object" + }, "NodePoolAutoscaling": { "description": "NodePoolAutoscaling contains information required by cluster autoscaler to adjust the size of the node pool to the current cluster usage.", "id": "NodePoolAutoscaling", @@ -4068,18 +4512,29 @@ "type": "boolean" }, "maxNodeCount": { - "description": "Maximum number of nodes in the NodePool. Must be >= min_node_count. There has to enough quota to scale up the cluster.", + "description": "Maximum number of nodes for one location in the NodePool. Must be >= min_node_count. There has to be enough quota to scale up the cluster.", "format": "int32", "type": "integer" }, "minNodeCount": { - "description": "Minimum number of nodes in the NodePool. Must be >= 1 and <= max_node_count.", + "description": "Minimum number of nodes for one location in the NodePool. Must be >= 1 and <= max_node_count.", "format": "int32", "type": "integer" } }, "type": "object" }, + "NodePoolDefaults": { + "description": "Subset of Nodepool message that has defaults.", + "id": "NodePoolDefaults", + "properties": { + "nodeConfigDefaults": { + "$ref": "NodeConfigDefaults", + "description": "Subset of NodeConfig message that has defaults." + } + }, + "type": "object" + }, "NodeTaint": { "description": "Kubernetes taint is comprised of three fields: key, value, and effect. Effect can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. See [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration) for more information, including usage and the valid values.", "id": "NodeTaint", @@ -4346,6 +4801,10 @@ "description": "Enable notifications for Pub/Sub.", "type": "boolean" }, + "filter": { + "$ref": "Filter", + "description": "Allows filtering to one or more specific event types. If no filter is specified, or if a filter is specified with no event types, all event types will be sent" + }, "topic": { "description": "The desired Pub/Sub topic to which notifications will be sent by GKE. Format is `projects/{project}/topics/{topic}`.", "type": "string" @@ -4545,6 +5004,62 @@ }, "type": "object" }, + "SecurityBulletinEvent": { + "description": "SecurityBulletinEvent is a notification sent to customers when a security bulletin has been posted that they are vulnerable to.", + "id": "SecurityBulletinEvent", + "properties": { + "affectedSupportedMinors": { + "description": "The GKE minor versions affected by this vulnerability.", + "items": { + "type": "string" + }, + "type": "array" + }, + "briefDescription": { + "description": "A brief description of the bulletin. See the bulletin pointed to by the bulletin_uri field for an expanded description.", + "type": "string" + }, + "bulletinId": { + "description": "The ID of the bulletin corresponding to the vulnerability.", + "type": "string" + }, + "bulletinUri": { + "description": "The URI link to the bulletin on the website for more information.", + "type": "string" + }, + "cveIds": { + "description": "The CVEs associated with this bulletin.", + "items": { + "type": "string" + }, + "type": "array" + }, + "manualStepsRequired": { + "description": "If this field is specified, it means there are manual steps that the user must take to make their clusters safe.", + "type": "boolean" + }, + "patchedVersions": { + "description": "The GKE versions where this vulnerability is patched.", + "items": { + "type": "string" + }, + "type": "array" + }, + "resourceTypeAffected": { + "description": "The resource type (node/control plane) that has the vulnerability. Multiple notifications (1 notification per resource type) will be sent for a vulnerability that affects > 1 resource type.", + "type": "string" + }, + "severity": { + "description": "The severity of this bulletin as it relates to GKE.", + "type": "string" + }, + "suggestedUpgradeTarget": { + "description": "This represents a version selected from the patched_versions field that the cluster receiving this notification should most likely want to upgrade to based on its current version. Note that if this notification is being received by a given cluster, it means that this version is currently available as an upgrade target in that cluster's location.", + "type": "string" + } + }, + "type": "object" + }, "ServerConfig": { "description": "Kubernetes Engine service configuration.", "id": "ServerConfig", @@ -4588,6 +5103,17 @@ }, "type": "object" }, + "ServiceExternalIPsConfig": { + "description": "Config to block services with externalIPs field.", + "id": "ServiceExternalIPsConfig", + "properties": { + "enabled": { + "description": "Whether Services with ExternalIPs field are allowed or not.", + "type": "boolean" + } + }, + "type": "object" + }, "SetAddonsConfigRequest": { "description": "SetAddonsConfigRequest sets the addons associated with the cluster.", "id": "SetAddonsConfigRequest", @@ -4628,7 +5154,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster id) of the cluster to set labels. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to set labels. Specified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4662,7 +5188,7 @@ "type": "boolean" }, "name": { - "description": "The name (project, location, cluster id) of the cluster to set legacy abac. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to set legacy abac. Specified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4746,7 +5272,7 @@ "description": "Required. The maintenance policy to be set for the cluster. An empty field clears the existing maintenance policy." }, "name": { - "description": "The name (project, location, cluster id) of the cluster to set maintenance policy. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to set maintenance policy. Specified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -4839,7 +5365,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster id) of the cluster to set networking policy. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to set networking policy. Specified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "networkPolicy": { @@ -4986,7 +5512,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster id) of the cluster to start IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to start IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -5067,7 +5593,7 @@ "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 (e.g., 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. E.g., 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 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", @@ -5085,7 +5611,8 @@ "GKE_SERVICE_ACCOUNT_DELETED", "GCE_QUOTA_EXCEEDED", "SET_BY_OPERATOR", - "CLOUD_KMS_KEY_ERROR" + "CLOUD_KMS_KEY_ERROR", + "CA_EXPIRING" ], "enumDescriptions": [ "UNKNOWN indicates a generic condition.", @@ -5093,7 +5620,8 @@ "GKE_SERVICE_ACCOUNT_DELETED indicates that the user deleted their robot service account.", "Google Compute Engine quota was exceeded.", "Cluster state was manually changed by an SRE due to a system logic error.", - "Unable to perform an encrypt operation against the CloudKMS key used for etcd level encryption. More codes TBA" + "Unable to perform an encrypt operation against the CloudKMS key used for etcd level encryption.", + "Cluster CA is expiring soon." ], "type": "string" }, @@ -5113,6 +5641,10 @@ "format": "google-datetime", "type": "string" }, + "maintenanceExclusionOptions": { + "$ref": "MaintenanceExclusionOptions", + "description": "MaintenanceExclusionOptions provides maintenance exclusion related options." + }, "startTime": { "description": "The time that the window first starts.", "format": "google-datetime", @@ -5183,6 +5715,14 @@ "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.", "type": "string" }, + "gcfsConfig": { + "$ref": "GcfsConfig", + "description": "GCFS config." + }, + "gvnic": { + "$ref": "VirtualNIC", + "description": "Enable or disable gvnic on the node pool." + }, "imageType": { "description": "Required. The desired image type for the node pool.", "type": "string" @@ -5233,6 +5773,39 @@ }, "type": "object" }, + "UpgradeAvailableEvent": { + "description": "UpgradeAvailableEvent is a notification sent to customers when a new available version is released.", + "id": "UpgradeAvailableEvent", + "properties": { + "releaseChannel": { + "$ref": "ReleaseChannel", + "description": "The release channel of the version. If empty, it means a non-channel release." + }, + "resource": { + "description": "Optional relative path to the resource. For example, the relative path of the node pool.", + "type": "string" + }, + "resourceType": { + "description": "The resource type of the release version.", + "enum": [ + "UPGRADE_RESOURCE_TYPE_UNSPECIFIED", + "MASTER", + "NODE_POOL" + ], + "enumDescriptions": [ + "Default value. This shouldn't be used.", + "Master / control plane", + "Node pool" + ], + "type": "string" + }, + "version": { + "description": "The release version available for upgrade.", + "type": "string" + } + }, + "type": "object" + }, "UpgradeEvent": { "description": "UpgradeEvent is a notification sent to customers by the cluster server when a resource is upgrading.", "id": "UpgradeEvent", @@ -5366,6 +5939,17 @@ }, "type": "object" }, + "VirtualNIC": { + "description": "Configuration of gVNIC feature.", + "id": "VirtualNIC", + "properties": { + "enabled": { + "description": "Whether gVNIC features are enabled in the node pool.", + "type": "boolean" + } + }, + "type": "object" + }, "WorkloadIdentityConfig": { "description": "Configuration for the use of Kubernetes Service Accounts in GCP IAM policies.", "id": "WorkloadIdentityConfig", diff --git a/etc/api/container/v1beta1/container-api.json b/etc/api/container/v1beta1/container-api.json index 2c5d965b90..381cec0808 100644 --- a/etc/api/container/v1beta1/container-api.json +++ b/etc/api/container/v1beta1/container-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -232,7 +232,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster id) of the cluster to complete IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to complete IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -368,7 +368,7 @@ ], "parameters": { "parent": { - "description": "The cluster (project, location, cluster id) to get keys for. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The cluster (project, location, cluster name) to get keys for. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -453,7 +453,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster id) of the cluster to set legacy abac. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to set legacy abac. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -537,7 +537,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster id) of the cluster to set maintenance policy. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to set maintenance policy. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -621,7 +621,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster id) of the cluster to set networking policy. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to set networking policy. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -649,7 +649,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster id) of the cluster to set labels. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to set labels. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -677,7 +677,7 @@ ], "parameters": { "name": { - "description": "The name (project, location, cluster id) of the cluster to start IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to start IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -765,7 +765,7 @@ ], "parameters": { "parent": { - "description": "The parent (project, location, cluster id) where the node pool will be created. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The parent (project, location, cluster name) where the node pool will be created. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -888,7 +888,7 @@ "type": "string" }, "parent": { - "description": "The parent (project, location, cluster id) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The parent (project, location, cluster name) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -1067,7 +1067,7 @@ ], "parameters": { "parent": { - "description": "The cluster (project, location, cluster id) to get the discovery document for. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The cluster (project, location, cluster name) to get the discovery document for. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", "required": true, @@ -2134,7 +2134,7 @@ "type": "string" }, "parent": { - "description": "The parent (project, location, cluster id) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The parent (project, location, cluster name) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.", "location": "query", "type": "string" }, @@ -2484,7 +2484,7 @@ } } }, - "revision": "20210314", + "revision": "20220215", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -2499,6 +2499,10 @@ "acceleratorType": { "description": "The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)", "type": "string" + }, + "gpuPartitionSize": { + "description": "Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).", + "type": "string" } }, "type": "object" @@ -2523,6 +2527,14 @@ "$ref": "GcePersistentDiskCsiDriverConfig", "description": "Configuration for the Compute Engine Persistent Disk CSI driver." }, + "gcpFilestoreCsiDriverConfig": { + "$ref": "GcpFilestoreCsiDriverConfig", + "description": "Configuration for the GCP Filestore CSI driver." + }, + "gkeBackupAgentConfig": { + "$ref": "GkeBackupAgentConfig", + "description": "Configuration for the Backup for GKE agent addon." + }, "horizontalPodAutoscaling": { "$ref": "HorizontalPodAutoscaling", "description": "Configuration for the horizontal pod autoscaling feature, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods." @@ -2550,6 +2562,18 @@ }, "type": "object" }, + "AdvancedMachineFeatures": { + "description": "Specifies options for controlling advanced machine features.", + "id": "AdvancedMachineFeatures", + "properties": { + "threadsPerCore": { + "description": "The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "AuthenticatorGroupsConfig": { "description": "Configuration for returning group information from authenticators.", "id": "AuthenticatorGroupsConfig", @@ -2608,12 +2632,16 @@ "description": "Type of the disk attached to each node (e.g. 'pd-standard', 'pd-ssd' or 'pd-balanced') If unspecified, the default disk type is 'pd-standard'", "type": "string" }, + "imageType": { + "description": "The image type to use for NAP created node.", + "type": "string" + }, "management": { "$ref": "NodeManagement", "description": "NodeManagement configuration for this NodePool." }, "minCpuPlatform": { - "description": "Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: \"Intel Haswell\"` or `minCpuPlatform: \"Intel Sandy Bridge\"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) To unset the min cpu platform field pass \"automatic\" as field value.", + "description": "Deprecated. Minimum CPU platform to be used for NAP created node pools. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: Intel Haswell or minCpuPlatform: Intel Sandy Bridge. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) This field is deprecated, min_cpu_platform should be specified using cloud.google.com/requested-min-cpu-platform label selector on the pod. To unset the min cpu platform field pass \"automatic\" as field value.", "type": "string" }, "oauthScopes": { @@ -2790,7 +2818,7 @@ }, "confidentialNodes": { "$ref": "ConfidentialNodes", - "description": "Configuration of Confidential Nodes" + "description": "Configuration of Confidential Nodes. All the nodes in the cluster will be Confidential VM once enabled." }, "createTime": { "description": "[Output only] The time the cluster was created, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", @@ -2837,6 +2865,15 @@ "description": "[Output only] The time the cluster will be automatically deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", "type": "string" }, + "id": { + "description": "Output only. Unique id for the cluster.", + "readOnly": true, + "type": "string" + }, + "identityServiceConfig": { + "$ref": "IdentityServiceConfig", + "description": "Configuration for Identity Service component." + }, "initialClusterVersion": { "description": "The initial Kubernetes version for this cluster. Valid versions are those found in validMasterVersions returned by getServerConfig. The version can be upgraded over time; such upgrades are reflected in currentMasterVersion and currentNodeVersion. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"\",\"-\": picks the default Kubernetes version", "type": "string" @@ -2876,6 +2913,10 @@ }, "type": "array" }, + "loggingConfig": { + "$ref": "LoggingConfig", + "description": "Logging configuration for the cluster." + }, "loggingService": { "description": "The logging service the cluster should use to write logs. Currently available options: * `logging.googleapis.com/kubernetes` - The Cloud Logging service with a Kubernetes-native resource model * `logging.googleapis.com` - The legacy Cloud Logging service (no longer available as of GKE 1.15). * `none` - no logs will be exported from the cluster. If left as an empty string,`logging.googleapis.com/kubernetes` will be used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.", "type": "string" @@ -2900,6 +2941,14 @@ "description": "The IP prefix in CIDR notation to use for the hosted master network. This prefix will be used for assigning private IP addresses to the master or set of masters, as well as the ILB VIP. This field is deprecated, use private_cluster_config.master_ipv4_cidr_block instead.", "type": "string" }, + "meshCertificates": { + "$ref": "MeshCertificates", + "description": "Configuration for issuance of mTLS keys and certificates to Kubernetes pods." + }, + "monitoringConfig": { + "$ref": "MonitoringConfig", + "description": "Monitoring configuration for the cluster." + }, "monitoringService": { "description": "The monitoring service the cluster should use to write metrics. Currently available options: * \"monitoring.googleapis.com/kubernetes\" - The Cloud Monitoring service with a Kubernetes-native resource model * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no longer available as of GKE 1.15). * `none` - No metrics will be exported from the cluster. If left as an empty string,`monitoring.googleapis.com/kubernetes` will be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.", "type": "string" @@ -2929,6 +2978,14 @@ "format": "int32", "type": "integer" }, + "nodePoolAutoConfig": { + "$ref": "NodePoolAutoConfig", + "description": "Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters." + }, + "nodePoolDefaults": { + "$ref": "NodePoolDefaults", + "description": "Default NodePool settings for the entire cluster. These settings are overridden if specified on the specific NodePool object." + }, "nodePools": { "description": "The node pools associated with this cluster. This field should not be set if \"node_config\" or \"initial_node_count\" are specified.", "items": { @@ -3021,6 +3078,14 @@ "$ref": "VerticalPodAutoscaling", "description": "Cluster-level Vertical Pod Autoscaling configuration." }, + "workloadAltsConfig": { + "$ref": "WorkloadALTSConfig", + "description": "Configuration for direct-path (via ALTS) with workload identity." + }, + "workloadCertificates": { + "$ref": "WorkloadCertificates", + "description": "Configuration for issuance of mTLS keys and certificates to Kubernetes pods." + }, "workloadIdentityConfig": { "$ref": "WorkloadIdentityConfig", "description": "Configuration for the use of Kubernetes Service Accounts in GCP IAM policies." @@ -3106,6 +3171,10 @@ "$ref": "AddonsConfig", "description": "Configurations for the various addons available to run in the cluster." }, + "desiredAuthenticatorGroupsConfig": { + "$ref": "AuthenticatorGroupsConfig", + "description": "AuthenticatorGroupsConfig specifies the config for the cluster security groups settings." + }, "desiredBinaryAuthorization": { "$ref": "BinaryAuthorization", "description": "The desired configuration options for the Binary Authorization feature." @@ -3140,6 +3209,18 @@ "$ref": "DefaultSnatStatus", "description": "The desired status of whether to disable default sNAT for this cluster." }, + "desiredDnsConfig": { + "$ref": "DNSConfig", + "description": "DNSConfig contains clusterDNS config for this cluster." + }, + "desiredGcfsConfig": { + "$ref": "GcfsConfig", + "description": "The desired GCFS config for the cluster." + }, + "desiredIdentityServiceConfig": { + "$ref": "IdentityServiceConfig", + "description": "The desired Identity Service component configuration." + }, "desiredImageType": { "description": "The desired image type for the node pool. NOTE: Set the \"desired_node_pool\" field as well.", "type": "string" @@ -3159,6 +3240,10 @@ }, "type": "array" }, + "desiredLoggingConfig": { + "$ref": "LoggingConfig", + "description": "The desired logging configuration." + }, "desiredLoggingService": { "description": "The logging service the cluster should use to write logs. Currently available options: * `logging.googleapis.com/kubernetes` - The Cloud Logging service with a Kubernetes-native resource model * `logging.googleapis.com` - The legacy Cloud Logging service (no longer available as of GKE 1.15). * `none` - no logs will be exported from the cluster. If left as an empty string,`logging.googleapis.com/kubernetes` will be used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.", "type": "string" @@ -3175,10 +3260,22 @@ "description": "The Kubernetes version to change the master to. The only valid value is the latest supported version. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"-\": picks the default Kubernetes version", "type": "string" }, + "desiredMeshCertificates": { + "$ref": "MeshCertificates", + "description": "Configuration for issuance of mTLS keys and certificates to Kubernetes pods." + }, + "desiredMonitoringConfig": { + "$ref": "MonitoringConfig", + "description": "The desired monitoring configuration." + }, "desiredMonitoringService": { "description": "The monitoring service the cluster should use to write metrics. Currently available options: * \"monitoring.googleapis.com/kubernetes\" - The Cloud Monitoring service with a Kubernetes-native resource model * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no longer available as of GKE 1.15). * `none` - No metrics will be exported from the cluster. If left as an empty string,`monitoring.googleapis.com/kubernetes` will be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.", "type": "string" }, + "desiredNodePoolAutoConfigNetworkTags": { + "$ref": "NetworkTags", + "description": "The desired network tags that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters." + }, "desiredNodePoolAutoscaling": { "$ref": "NodePoolAutoscaling", "description": "Autoscaler configuration for the node pool specified in desired_node_pool_id. If there is only one pool in the cluster and desired_node_pool_id is not provided then the change applies to that single node pool." @@ -3227,6 +3324,10 @@ "$ref": "ResourceUsageExportConfig", "description": "The desired configuration for exporting resource usage." }, + "desiredServiceExternalIpsConfig": { + "$ref": "ServiceExternalIPsConfig", + "description": "ServiceExternalIPsConfig specifies the config for the use of Services with ExternalIPs field." + }, "desiredShieldedNodes": { "$ref": "ShieldedNodes", "description": "Configuration for Shielded Nodes." @@ -3239,6 +3340,14 @@ "$ref": "VerticalPodAutoscaling", "description": "Cluster-level Vertical Pod Autoscaling configuration." }, + "desiredWorkloadAltsConfig": { + "$ref": "WorkloadALTSConfig", + "description": "Configuration for direct-path (via ALTS) with workload identity." + }, + "desiredWorkloadCertificates": { + "$ref": "WorkloadCertificates", + "description": "Configuration for issuance of mTLS keys and certificates to Kubernetes pods." + }, "desiredWorkloadIdentityConfig": { "$ref": "WorkloadIdentityConfig", "description": "Configuration for Workload Identity." @@ -3255,7 +3364,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster id) of the cluster to complete IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to complete IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -3274,7 +3383,7 @@ "id": "ConfidentialNodes", "properties": { "enabled": { - "description": "Whether Confidential Nodes feature is enabled for all nodes in this cluster.", + "description": "Whether Confidential Nodes feature is enabled.", "type": "boolean" } }, @@ -3338,7 +3447,7 @@ "description": "Required. The node pool to create." }, "parent": { - "description": "The parent (project, location, cluster id) where the node pool will be created. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The parent (project, location, cluster name) where the node pool will be created. Specified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -3352,6 +3461,45 @@ }, "type": "object" }, + "DNSConfig": { + "description": "DNSConfig contains the desired set of options for configuring clusterDNS.", + "id": "DNSConfig", + "properties": { + "clusterDns": { + "description": "cluster_dns indicates which in-cluster DNS provider should be used.", + "enum": [ + "PROVIDER_UNSPECIFIED", + "PLATFORM_DEFAULT", + "CLOUD_DNS" + ], + "enumDescriptions": [ + "Default value", + "Use GKE default DNS provider(kube-dns) for DNS resolution.", + "Use CloudDNS for DNS resolution." + ], + "type": "string" + }, + "clusterDnsDomain": { + "description": "cluster_dns_domain is the suffix used for all cluster service records.", + "type": "string" + }, + "clusterDnsScope": { + "description": "cluster_dns_scope indicates the scope of access to cluster DNS records.", + "enum": [ + "DNS_SCOPE_UNSPECIFIED", + "CLUSTER_SCOPE", + "VPC_SCOPE" + ], + "enumDescriptions": [ + "Default value, will be inferred as cluster scope.", + "DNS records are accessible from within the cluster.", + "DNS records are accessible from within the VPC." + ], + "type": "string" + } + }, + "type": "object" + }, "DailyMaintenanceWindow": { "description": "Time window specified for daily maintenance operations.", "id": "DailyMaintenanceWindow", @@ -3392,6 +3540,28 @@ }, "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "id": "Date", + "properties": { + "day": { + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "format": "int32", + "type": "integer" + }, + "year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "DefaultSnatStatus": { "description": "DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster.", "id": "DefaultSnatStatus", @@ -3432,6 +3602,32 @@ }, "type": "object" }, + "Filter": { + "description": "Allows filtering to one or more specific event types. If event types are present, those and only those event types will be transmitted to the cluster. Other types will be skipped. If no filter is specified, or no event types are present, all event types will be sent", + "id": "Filter", + "properties": { + "eventType": { + "description": "Event types to allowlist.", + "items": { + "enum": [ + "EVENT_TYPE_UNSPECIFIED", + "UPGRADE_AVAILABLE_EVENT", + "UPGRADE_EVENT", + "SECURITY_BULLETIN_EVENT" + ], + "enumDescriptions": [ + "Not set, will be ignored.", + "Corresponds with UpgradeAvailableEvent.", + "Corresponds with UpgradeEvent.", + "Corresponds with SecurityBulletinEvent." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GcePersistentDiskCsiDriverConfig": { "description": "Configuration for the Compute Engine PD CSI driver.", "id": "GcePersistentDiskCsiDriverConfig", @@ -3443,6 +3639,28 @@ }, "type": "object" }, + "GcfsConfig": { + "description": "GcfsConfig contains configurations of Google Container File System.", + "id": "GcfsConfig", + "properties": { + "enabled": { + "description": "Whether to use GCFS.", + "type": "boolean" + } + }, + "type": "object" + }, + "GcpFilestoreCsiDriverConfig": { + "description": "Configuration for the GCP Filestore CSI driver.", + "id": "GcpFilestoreCsiDriverConfig", + "properties": { + "enabled": { + "description": "Whether the GCP Filestore CSI driver is enabled for this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, "GetJSONWebKeysResponse": { "description": "GetJSONWebKeysResponse is a valid JSON Web Key Set as specififed in rfc 7517", "id": "GetJSONWebKeysResponse", @@ -3515,6 +3733,17 @@ }, "type": "object" }, + "GkeBackupAgentConfig": { + "description": "Configuration for the Backup for GKE Agent.", + "id": "GkeBackupAgentConfig", + "properties": { + "enabled": { + "description": "Whether the Backup for GKE agent is enabled for this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, "HorizontalPodAutoscaling": { "description": "Configuration options for the horizontal pod autoscaling feature, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods.", "id": "HorizontalPodAutoscaling", @@ -3631,6 +3860,17 @@ }, "type": "object" }, + "IdentityServiceConfig": { + "description": "IdentityServiceConfig is configuration for Identity Service which allows customers to use external identity providers with the K8S API", + "id": "IdentityServiceConfig", + "properties": { + "enabled": { + "description": "Whether to enable the Identity Service component", + "type": "boolean" + } + }, + "type": "object" + }, "IntraNodeVisibilityConfig": { "description": "IntraNodeVisibilityConfig contains the desired config of the intra-node visibility on this cluster.", "id": "IntraNodeVisibilityConfig", @@ -3876,6 +4116,62 @@ }, "type": "object" }, + "LoggingComponentConfig": { + "description": "LoggingComponentConfig is cluster logging component configuration.", + "id": "LoggingComponentConfig", + "properties": { + "enableComponents": { + "description": "Select components to collect logs. An empty set would disable all logging.", + "items": { + "enum": [ + "COMPONENT_UNSPECIFIED", + "SYSTEM_COMPONENTS", + "WORKLOADS" + ], + "enumDescriptions": [ + "Default value. This shouldn't be used.", + "system components", + "workloads" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "LoggingConfig": { + "description": "LoggingConfig is cluster logging configuration.", + "id": "LoggingConfig", + "properties": { + "componentConfig": { + "$ref": "LoggingComponentConfig", + "description": "Logging components configuration" + } + }, + "type": "object" + }, + "MaintenanceExclusionOptions": { + "description": "Represents the Maintenance exclusion option.", + "id": "MaintenanceExclusionOptions", + "properties": { + "scope": { + "description": "Scope specifies the upgrade scope which upgrades are blocked by the exclusion.", + "enum": [ + "NO_UPGRADES", + "NO_MINOR_UPGRADES", + "NO_MINOR_OR_NODE_UPGRADES" + ], + "enumDescriptions": [ + "NO_UPGRADES excludes all upgrades, including patch upgrades and minor upgrades across control planes and nodes. This is the default exclusion behavior.", + "NO_MINOR_UPGRADES excludes all minor upgrades for the cluster, only patches are allowed.", + "NO_MINOR_OR_NODE_UPGRADES excludes all minor upgrades for the cluster, and also exclude all node pool upgrades. Only control plane patches are allowed." + ], + "type": "string" + } + }, + "type": "object" + }, "MaintenancePolicy": { "description": "MaintenancePolicy defines the maintenance policy to be used for the cluster.", "id": "MaintenancePolicy", @@ -3913,6 +4209,17 @@ }, "type": "object" }, + "ManagedPrometheusConfig": { + "description": "ManagedPrometheusConfig defines the configuration for Google Cloud Managed Service for Prometheus.", + "id": "ManagedPrometheusConfig", + "properties": { + "enabled": { + "description": "Enable Managed Collection.", + "type": "boolean" + } + }, + "type": "object" + }, "Master": { "description": "Master is the configuration for components on master.", "id": "Master", @@ -3979,6 +4286,17 @@ }, "type": "object" }, + "MeshCertificates": { + "description": "Configuration for issuance of mTLS keys and certificates to Kubernetes pods.", + "id": "MeshCertificates", + "properties": { + "enableCertificates": { + "description": "enable_certificates controls issuance of workload mTLS certificates. If set, the GKE Workload Identity Certificates controller and node agent will be deployed in the cluster, which can then be configured by creating a WorkloadCertificateConfig Custom Resource. Requires Workload Identity (workload_pool must be non-empty).", + "type": "boolean" + } + }, + "type": "object" + }, "Metric": { "description": "Progress metric is (string, int|float|string) pair.", "id": "Metric", @@ -4004,6 +4322,45 @@ }, "type": "object" }, + "MonitoringComponentConfig": { + "description": "MonitoringComponentConfig is cluster monitoring component configuration.", + "id": "MonitoringComponentConfig", + "properties": { + "enableComponents": { + "description": "Select components to collect metrics. An empty set would disable all monitoring.", + "items": { + "enum": [ + "COMPONENT_UNSPECIFIED", + "SYSTEM_COMPONENTS", + "WORKLOADS" + ], + "enumDescriptions": [ + "Default value. This shouldn't be used.", + "system components", + "workloads" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MonitoringConfig": { + "description": "MonitoringConfig is cluster monitoring configuration.", + "id": "MonitoringConfig", + "properties": { + "componentConfig": { + "$ref": "MonitoringComponentConfig", + "description": "Monitoring components configuration" + }, + "managedPrometheusConfig": { + "$ref": "ManagedPrometheusConfig", + "description": "Enable Google Cloud Managed Service for Prometheus in the cluster." + } + }, + "type": "object" + }, "NetworkConfig": { "description": "NetworkConfig reports the relative names of network & subnetwork.", "id": "NetworkConfig", @@ -4026,6 +4383,10 @@ "$ref": "DefaultSnatStatus", "description": "Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic." }, + "dnsConfig": { + "$ref": "DNSConfig", + "description": "DNSConfig contains clusterDNS config for this cluster." + }, "enableIntraNodeVisibility": { "description": "Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.", "type": "boolean" @@ -4054,6 +4415,10 @@ ], "type": "string" }, + "serviceExternalIpsConfig": { + "$ref": "ServiceExternalIPsConfig", + "description": "ServiceExternalIPsConfig specifies if services with externalIPs field are blocked or not." + }, "subnetwork": { "description": "Output only. The relative name of the Google Compute Engine [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the cluster is connected. Example: projects/my-project/regions/us-central1/subnetworks/my-subnet", "type": "string" @@ -4096,7 +4461,7 @@ "type": "object" }, "NetworkTags": { - "description": "Collection of Compute Engine network tags that can be applied to a node's underyling VM instance. (See `tags` field in [`NodeConfig`](/kubernetes-engine/docs/reference/rest/v1/NodeConfig)).", + "description": "Collection of Compute Engine network tags that can be applied to a node's underlying VM instance. (See `tags` field in [`NodeConfig`](/kubernetes-engine/docs/reference/rest/v1/NodeConfig)).", "id": "NetworkTags", "properties": { "tags": { @@ -4120,6 +4485,10 @@ }, "type": "array" }, + "advancedMachineFeatures": { + "$ref": "AdvancedMachineFeatures", + "description": "Advanced features for the Compute Engine VM." + }, "bootDiskKmsKey": { "description": " The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption", "type": "string" @@ -4137,6 +4506,14 @@ "$ref": "EphemeralStorageConfig", "description": "Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk." }, + "gcfsConfig": { + "$ref": "GcfsConfig", + "description": "GCFS (Google Container File System) configs." + }, + "gvnic": { + "$ref": "VirtualNIC", + "description": "Enable or disable gvnic on the node pool." + }, "imageType": { "description": "The image type to use for this node. Note that for a given image type, the latest version of it will be used.", "type": "string" @@ -4169,7 +4546,7 @@ "additionalProperties": { "type": "string" }, - "description": "The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the reserved keys: - \"cluster-location\" - \"cluster-name\" - \"cluster-uid\" - \"configure-sh\" - \"containerd-configure-sh\" - \"enable-oslogin\" - \"gci-ensure-gke-docker\" - \"gci-metrics-enabled\" - \"gci-update-strategy\" - \"instance-template\" - \"kube-env\" - \"startup-script\" - \"user-data\" - \"disable-address-manager\" - \"windows-startup-script-ps1\" - \"common-psm1\" - \"k8s-node-setup-psm1\" - \"install-ssh-psm1\" - \"user-profile-psm1\" The following keys are reserved for Windows nodes: - \"serial-port-logging-enable\" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB.", + "description": "The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the reserved keys: - \"cluster-location\" - \"cluster-name\" - \"cluster-uid\" - \"configure-sh\" - \"containerd-configure-sh\" - \"enable-oslogin\" - \"gci-ensure-gke-docker\" - \"gci-metrics-enabled\" - \"gci-update-strategy\" - \"instance-template\" - \"kube-env\" - \"startup-script\" - \"user-data\" - \"disable-address-manager\" - \"windows-startup-script-ps1\" - \"common-psm1\" - \"k8s-node-setup-psm1\" - \"install-ssh-psm1\" - \"user-profile-psm1\" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB.", "type": "object" }, "minCpuPlatform": { @@ -4207,6 +4584,10 @@ "$ref": "ShieldedInstanceConfig", "description": "Shielded Instance options." }, + "spot": { + "description": "Spot flag for enabling Spot VM, which is a rebrand of the existing preemptible flag.", + "type": "boolean" + }, "tags": { "description": "The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during cluster or node pool creation. Each tag within the list must comply with RFC1035.", "items": { @@ -4228,6 +4609,17 @@ }, "type": "object" }, + "NodeConfigDefaults": { + "description": "Subset of NodeConfig message that has defaults.", + "id": "NodeConfigDefaults", + "properties": { + "gcfsConfig": { + "$ref": "GcfsConfig", + "description": "GCFS (Google Container File System, a.k.a Riptide) options." + } + }, + "type": "object" + }, "NodeKubeletConfig": { "description": "Node kubelet configs.", "id": "NodeKubeletConfig", @@ -4241,7 +4633,7 @@ "type": "string" }, "cpuManagerPolicy": { - "description": "Control the CPU management policy on the node. See https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ The following values are allowed. - \"none\": the default, which represents the existing scheduling behavior. - \"static\": allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node. The default value is 'none' if unspecified.", + "description": "Control the CPU management policy on the node. See https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ The following values are allowed. * \"none\": the default, which represents the existing scheduling behavior. * \"static\": allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node. The default value is 'none' if unspecified.", "type": "string" } }, @@ -4281,26 +4673,26 @@ "type": "object" }, "NodeNetworkConfig": { - "description": "Parameters for node pool-level network config. Only applicable if `ip_allocation_policy.use_ip_aliases` is true.", + "description": "Parameters for node pool-level network config.", "id": "NodeNetworkConfig", "properties": { "createPodRange": { - "description": "Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used.", + "description": "Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created.", "type": "boolean" }, "podIpv4CidrBlock": { - "description": "The IP address range for pod IPs in this node pool. Only applicable if `create_pod_range` is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. `/14`) to have a range chosen with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) to pick a specific range to use.", + "description": "The IP address range for pod IPs in this node pool. Only applicable if `create_pod_range` is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. `/14`) to have a range chosen with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) to pick a specific range to use. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created.", "type": "string" }, "podRange": { - "description": "The ID of the secondary range for pod IPs. If `create_pod_range` is true, this ID is used for the new range. If `create_pod_range` is false, uses an existing secondary range with this ID.", + "description": "The ID of the secondary range for pod IPs. If `create_pod_range` is true, this ID is used for the new range. If `create_pod_range` is false, uses an existing secondary range with this ID. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created.", "type": "string" } }, "type": "object" }, "NodePool": { - "description": "NodePool contains the name and configuration for a cluster's node pool. Node pools are a set of nodes (i.e. VM's), with a common configuration and specification, under the control of the cluster master. They may have a set of Kubernetes labels applied to them, which may be used to reference them during pod scheduling. They may also be resized up or down, to accommodate the workload.", + "description": "NodePool contains the name and configuration for a cluster's node pool. Node pools are a set of nodes (i.e. VM's), with a common configuration and specification, under the control of the cluster master. They may have a set of Kubernetes labels applied to them, which may be used to reference them during pod scheduling. They may also be resized up or down, to accommodate the workload. These upgrade settings control the level of parallelism and the level of disruption caused by an upgrade. maxUnavailable controls the number of nodes that can be simultaneously unavailable. maxSurge controls the number of additional nodes that can be added to the node pool temporarily for the time of the upgrade to increase the number of available nodes. (maxUnavailable + maxSurge) determines the level of parallelism (how many nodes are being upgraded at the same time). Note: upgrades inevitably introduce some disruption since workloads need to be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the same time. This ensures that there are always at least 4 nodes available.", "id": "NodePool", "properties": { "autoscaling": { @@ -4353,6 +4745,10 @@ "$ref": "NodeNetworkConfig", "description": "Networking configuration for this NodePool. If specified, it overrides the cluster-level defaults." }, + "placementPolicy": { + "$ref": "PlacementPolicy", + "description": "Specifies the node placement policy." + }, "podIpv4CidrSize": { "description": "[Output only] The pod CIDR block size per node in this node pool.", "format": "int32", @@ -4399,6 +4795,17 @@ }, "type": "object" }, + "NodePoolAutoConfig": { + "description": "node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters", + "id": "NodePoolAutoConfig", + "properties": { + "networkTags": { + "$ref": "NetworkTags", + "description": "The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during cluster creation. Each tag within the list must comply with RFC1035." + } + }, + "type": "object" + }, "NodePoolAutoscaling": { "description": "NodePoolAutoscaling contains information required by cluster autoscaler to adjust the size of the node pool to the current cluster usage.", "id": "NodePoolAutoscaling", @@ -4412,18 +4819,29 @@ "type": "boolean" }, "maxNodeCount": { - "description": "Maximum number of nodes in the NodePool. Must be >= min_node_count. There has to enough quota to scale up the cluster.", + "description": "Maximum number of nodes for one location in the NodePool. Must be >= min_node_count. There has to be enough quota to scale up the cluster.", "format": "int32", "type": "integer" }, "minNodeCount": { - "description": "Minimum number of nodes in the NodePool. Must be >= 1 and <= max_node_count.", + "description": "Minimum number of nodes for one location in the NodePool. Must be >= 1 and <= max_node_count.", "format": "int32", "type": "integer" } }, "type": "object" }, + "NodePoolDefaults": { + "description": "Subset of Nodepool message that has defaults.", + "id": "NodePoolDefaults", + "properties": { + "nodeConfigDefaults": { + "$ref": "NodeConfigDefaults", + "description": "Subset of NodeConfig message that has defaults." + } + }, + "type": "object" + }, "NodeTaint": { "description": "Kubernetes taint is comprised of three fields: key, value, and effect. Effect can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. See [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration) for more information, including usage and the valid values.", "id": "NodeTaint", @@ -4650,6 +5068,25 @@ }, "type": "object" }, + "PlacementPolicy": { + "description": "PlacementPolicy defines the placement policy used by the node pool.", + "id": "PlacementPolicy", + "properties": { + "type": { + "description": "The type of placement.", + "enum": [ + "TYPE_UNSPECIFIED", + "COMPACT" + ], + "enumDescriptions": [ + "TYPE_UNSPECIFIED specifies no requirements on nodes placement.", + "COMPACT specifies node placement in the same availability domain to ensure low communication latency." + ], + "type": "string" + } + }, + "type": "object" + }, "PodSecurityPolicyConfig": { "description": "Configuration for the PodSecurityPolicy feature.", "id": "PodSecurityPolicyConfig", @@ -4715,6 +5152,10 @@ "description": "Enable notifications for Pub/Sub.", "type": "boolean" }, + "filter": { + "$ref": "Filter", + "description": "Allows filtering to one or more specific event types. If no filter is specified, or if a filter is specified with no event types, all event types will be sent" + }, "topic": { "description": "The desired Pub/Sub topic to which notifications will be sent by GKE. Format is `projects/{project}/topics/{topic}`.", "type": "string" @@ -4925,6 +5366,62 @@ }, "type": "object" }, + "SecurityBulletinEvent": { + "description": "SecurityBulletinEvent is a notification sent to customers when a security bulletin has been posted that they are vulnerable to.", + "id": "SecurityBulletinEvent", + "properties": { + "affectedSupportedMinors": { + "description": "The GKE minor versions affected by this vulnerability.", + "items": { + "type": "string" + }, + "type": "array" + }, + "briefDescription": { + "description": "A brief description of the bulletin. See the bulletin pointed to by the bulletin_uri field for an expanded description.", + "type": "string" + }, + "bulletinId": { + "description": "The ID of the bulletin corresponding to the vulnerability.", + "type": "string" + }, + "bulletinUri": { + "description": "The URI link to the bulletin on the website for more information.", + "type": "string" + }, + "cveIds": { + "description": "The CVEs associated with this bulletin.", + "items": { + "type": "string" + }, + "type": "array" + }, + "manualStepsRequired": { + "description": "If this field is specified, it means there are manual steps that the user must take to make their clusters safe.", + "type": "boolean" + }, + "patchedVersions": { + "description": "The GKE versions where this vulnerability is patched.", + "items": { + "type": "string" + }, + "type": "array" + }, + "resourceTypeAffected": { + "description": "The resource type (node/control plane) that has the vulnerability. Multiple notifications (1 notification per resource type) will be sent for a vulnerability that affects > 1 resource type.", + "type": "string" + }, + "severity": { + "description": "The severity of this bulletin as it relates to GKE.", + "type": "string" + }, + "suggestedUpgradeTarget": { + "description": "This represents a version selected from the patched_versions field that the cluster receiving this notification should most likely want to upgrade to based on its current version. Note that if this notification is being received by a given cluster, it means that this version is currently available as an upgrade target in that cluster's location.", + "type": "string" + } + }, + "type": "object" + }, "ServerConfig": { "description": "Kubernetes Engine service configuration.", "id": "ServerConfig", @@ -4964,6 +5461,24 @@ "type": "string" }, "type": "array" + }, + "windowsVersionMaps": { + "additionalProperties": { + "$ref": "WindowsVersions" + }, + "description": "Maps of Kubernetes version and supported Windows server versions.", + "type": "object" + } + }, + "type": "object" + }, + "ServiceExternalIPsConfig": { + "description": "Config to block services with externalIPs field.", + "id": "ServiceExternalIPsConfig", + "properties": { + "enabled": { + "description": "Whether Services with ExternalIPs field are allowed or not.", + "type": "boolean" } }, "type": "object" @@ -5008,7 +5523,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster id) of the cluster to set labels. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to set labels. Specified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -5042,7 +5557,7 @@ "type": "boolean" }, "name": { - "description": "The name (project, location, cluster id) of the cluster to set legacy abac. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to set legacy abac. Specified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -5126,7 +5641,7 @@ "description": "Required. The maintenance policy to be set for the cluster. An empty field clears the existing maintenance policy." }, "name": { - "description": "The name (project, location, cluster id) of the cluster to set maintenance policy. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to set maintenance policy. Specified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -5219,7 +5734,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster id) of the cluster to set networking policy. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to set networking policy. Specified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "networkPolicy": { @@ -5366,7 +5881,7 @@ "type": "string" }, "name": { - "description": "The name (project, location, cluster id) of the cluster to start IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.", + "description": "The name (project, location, cluster name) of the cluster to start IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.", "type": "string" }, "projectId": { @@ -5447,7 +5962,7 @@ "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 (e.g., 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. E.g., 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 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", @@ -5465,7 +5980,8 @@ "GKE_SERVICE_ACCOUNT_DELETED", "GCE_QUOTA_EXCEEDED", "SET_BY_OPERATOR", - "CLOUD_KMS_KEY_ERROR" + "CLOUD_KMS_KEY_ERROR", + "CA_EXPIRING" ], "enumDescriptions": [ "UNKNOWN indicates a generic condition.", @@ -5473,7 +5989,8 @@ "GKE_SERVICE_ACCOUNT_DELETED indicates that the user deleted their robot service account.", "Google Compute Engine quota was exceeded.", "Cluster state was manually changed by an SRE due to a system logic error.", - "Unable to perform an encrypt operation against the CloudKMS key used for etcd level encryption. More codes TBA" + "Unable to perform an encrypt operation against the CloudKMS key used for etcd level encryption.", + "Cluster CA is expiring soon. More codes TBA" ], "type": "string" }, @@ -5493,6 +6010,10 @@ "format": "google-datetime", "type": "string" }, + "maintenanceExclusionOptions": { + "$ref": "MaintenanceExclusionOptions", + "description": "MaintenanceExclusionOptions provides maintenance exclusion related options." + }, "startTime": { "description": "The time that the window first starts.", "format": "google-datetime", @@ -5582,6 +6103,14 @@ "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.", "type": "string" }, + "gcfsConfig": { + "$ref": "GcfsConfig", + "description": "GCFS config." + }, + "gvnic": { + "$ref": "VirtualNIC", + "description": "Enable or disable gvnic on the node pool." + }, "imageType": { "description": "Required. The desired image type for the node pool.", "type": "string" @@ -5653,7 +6182,7 @@ "description": "The release channel of the version. If empty, it means a non-channel release." }, "resource": { - "description": "Optional. Optional relative path to the resource. For example, the relative path of the node pool.", + "description": "Optional relative path to the resource. For example, the relative path of the node pool.", "type": "string" }, "resourceType": { @@ -5673,6 +6202,10 @@ "version": { "description": "The release version available for upgrade.", "type": "string" + }, + "windowsVersions": { + "$ref": "WindowsVersions", + "description": "Windows node versions info." } }, "type": "object" @@ -5720,7 +6253,6 @@ "type": "object" }, "UpgradeSettings": { - "description": "These upgrade settings control the level of parallelism and the level of disruption caused by an upgrade. maxUnavailable controls the number of nodes that can be simultaneously unavailable. maxSurge controls the number of additional nodes that can be added to the node pool temporarily for the time of the upgrade to increase the number of available nodes. (maxUnavailable + maxSurge) determines the level of parallelism (how many nodes are being upgraded at the same time). Note: upgrades inevitably introduce some disruption since workloads need to be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the same time. This ensures that there are always at least 4 nodes available.", "id": "UpgradeSettings", "properties": { "maxSurge": { @@ -5810,6 +6342,72 @@ }, "type": "object" }, + "VirtualNIC": { + "description": "Configuration of gVNIC feature.", + "id": "VirtualNIC", + "properties": { + "enabled": { + "description": "Whether gVNIC features are enabled in the node pool.", + "type": "boolean" + } + }, + "type": "object" + }, + "WindowsVersion": { + "description": "Windows server version.", + "id": "WindowsVersion", + "properties": { + "imageType": { + "description": "Windows server image type", + "type": "string" + }, + "osVersion": { + "description": "Windows server build number", + "type": "string" + }, + "supportEndDate": { + "$ref": "Date", + "description": "Mainstream support end date" + } + }, + "type": "object" + }, + "WindowsVersions": { + "description": "Windows server versions.", + "id": "WindowsVersions", + "properties": { + "windowsVersions": { + "description": "List of Windows server versions.", + "items": { + "$ref": "WindowsVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "WorkloadALTSConfig": { + "description": "Configuration for direct-path (via ALTS) with workload identity.", + "id": "WorkloadALTSConfig", + "properties": { + "enableAlts": { + "description": "enable_alts controls whether the alts handshaker should be enabled or not for direct-path. Requires Workload Identity (workload_pool must be non-empty).", + "type": "boolean" + } + }, + "type": "object" + }, + "WorkloadCertificates": { + "description": "Configuration for issuance of mTLS keys and certificates to Kubernetes pods.", + "id": "WorkloadCertificates", + "properties": { + "enableCertificates": { + "description": "enable_certificates controls issuance of workload mTLS certificates. If set, the GKE Workload Identity Certificates controller and node agent will be deployed in the cluster, which can then be configured by creating a WorkloadCertificateConfig Custom Resource. Requires Workload Identity (workload_pool must be non-empty).", + "type": "boolean" + } + }, + "type": "object" + }, "WorkloadIdentityConfig": { "description": "Configuration for the use of Kubernetes Service Accounts in GCP IAM policies.", "id": "WorkloadIdentityConfig", diff --git a/etc/api/containeranalysis/v1/containeranalysis-api.json b/etc/api/containeranalysis/v1/containeranalysis-api.json new file mode 100644 index 0000000000..68af99b03c --- /dev/null +++ b/etc/api/containeranalysis/v1/containeranalysis-api.json @@ -0,0 +1,4366 @@ +{ + "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://containeranalysis.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Container Analysis", + "description": "An implementation of the Grafeas API, which stores, and enables querying and retrieval of critical metadata about all of your software artifacts.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/container-analysis/api/reference/rest/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "containeranalysis:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://containeranalysis.mtls.googleapis.com/", + "name": "containeranalysis", + "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": { + "notes": { + "methods": { + "batchCreate": { + "description": "Creates new notes in batch.", + "flatPath": "v1/projects/{projectsId}/notes:batchCreate", + "httpMethod": "POST", + "id": "containeranalysis.projects.notes.batchCreate", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the project in the form of `projects/[PROJECT_ID]`, under which the notes are to be created.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/notes:batchCreate", + "request": { + "$ref": "BatchCreateNotesRequest" + }, + "response": { + "$ref": "BatchCreateNotesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a new note.", + "flatPath": "v1/projects/{projectsId}/notes", + "httpMethod": "POST", + "id": "containeranalysis.projects.notes.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "noteId": { + "description": "Required. The ID to use for this note.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the project in the form of `projects/[PROJECT_ID]`, under which the note is to be created.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/notes", + "request": { + "$ref": "Note" + }, + "response": { + "$ref": "Note" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified note.", + "flatPath": "v1/projects/{projectsId}/notes/{notesId}", + "httpMethod": "DELETE", + "id": "containeranalysis.projects.notes.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the note in the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.", + "location": "path", + "pattern": "^projects/[^/]+/notes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the specified note.", + "flatPath": "v1/projects/{projectsId}/notes/{notesId}", + "httpMethod": "GET", + "id": "containeranalysis.projects.notes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the note in the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.", + "location": "path", + "pattern": "^projects/[^/]+/notes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Note" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a note or an occurrence resource. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or occurrence, respectively. The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences.", + "flatPath": "v1/projects/{projectsId}/notes/{notesId}:getIamPolicy", + "httpMethod": "POST", + "id": "containeranalysis.projects.notes.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "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/[^/]+/notes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists notes for the specified project.", + "flatPath": "v1/projects/{projectsId}/notes", + "httpMethod": "GET", + "id": "containeranalysis.projects.notes.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "The filter expression.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Number of notes to return in the list. Must be positive. Max allowed page size is 1000. If not specified, page size defaults to 20.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token to provide to skip to a particular spot in the list.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the project to list notes for in the form of `projects/[PROJECT_ID]`.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/notes", + "response": { + "$ref": "ListNotesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified note.", + "flatPath": "v1/projects/{projectsId}/notes/{notesId}", + "httpMethod": "PATCH", + "id": "containeranalysis.projects.notes.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the note in the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.", + "location": "path", + "pattern": "^projects/[^/]+/notes/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Note" + }, + "response": { + "$ref": "Note" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified note or occurrence. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or an occurrence, respectively. The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences.", + "flatPath": "v1/projects/{projectsId}/notes/{notesId}:setIamPolicy", + "httpMethod": "POST", + "id": "containeranalysis.projects.notes.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/[^/]+/notes/[^/]+$", + "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 the permissions that a caller has on the specified note or occurrence. Requires list permission on the project (for example, `containeranalysis.notes.list`). The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences.", + "flatPath": "v1/projects/{projectsId}/notes/{notesId}:testIamPermissions", + "httpMethod": "POST", + "id": "containeranalysis.projects.notes.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/[^/]+/notes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "occurrences": { + "methods": { + "list": { + "description": "Lists occurrences referencing the specified note. Provider projects can use this method to get all occurrences across consumer projects referencing the specified note.", + "flatPath": "v1/projects/{projectsId}/notes/{notesId}/occurrences", + "httpMethod": "GET", + "id": "containeranalysis.projects.notes.occurrences.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The filter expression.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the note to list occurrences for in the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.", + "location": "path", + "pattern": "^projects/[^/]+/notes/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Number of occurrences to return in the list.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token to provide to skip to a particular spot in the list.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/occurrences", + "response": { + "$ref": "ListNoteOccurrencesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "occurrences": { + "methods": { + "batchCreate": { + "description": "Creates new occurrences in batch.", + "flatPath": "v1/projects/{projectsId}/occurrences:batchCreate", + "httpMethod": "POST", + "id": "containeranalysis.projects.occurrences.batchCreate", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the project in the form of `projects/[PROJECT_ID]`, under which the occurrences are to be created.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/occurrences:batchCreate", + "request": { + "$ref": "BatchCreateOccurrencesRequest" + }, + "response": { + "$ref": "BatchCreateOccurrencesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a new occurrence.", + "flatPath": "v1/projects/{projectsId}/occurrences", + "httpMethod": "POST", + "id": "containeranalysis.projects.occurrences.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the project in the form of `projects/[PROJECT_ID]`, under which the occurrence is to be created.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/occurrences", + "request": { + "$ref": "Occurrence" + }, + "response": { + "$ref": "Occurrence" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified occurrence. For example, use this method to delete an occurrence when the occurrence is no longer applicable for the given resource.", + "flatPath": "v1/projects/{projectsId}/occurrences/{occurrencesId}", + "httpMethod": "DELETE", + "id": "containeranalysis.projects.occurrences.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the occurrence in the form of `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.", + "location": "path", + "pattern": "^projects/[^/]+/occurrences/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the specified occurrence.", + "flatPath": "v1/projects/{projectsId}/occurrences/{occurrencesId}", + "httpMethod": "GET", + "id": "containeranalysis.projects.occurrences.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the occurrence in the form of `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.", + "location": "path", + "pattern": "^projects/[^/]+/occurrences/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Occurrence" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a note or an occurrence resource. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or occurrence, respectively. The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences.", + "flatPath": "v1/projects/{projectsId}/occurrences/{occurrencesId}:getIamPolicy", + "httpMethod": "POST", + "id": "containeranalysis.projects.occurrences.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "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/[^/]+/occurrences/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getNotes": { + "description": "Gets the note attached to the specified occurrence. Consumer projects can use this method to get a note that belongs to a provider project.", + "flatPath": "v1/projects/{projectsId}/occurrences/{occurrencesId}/notes", + "httpMethod": "GET", + "id": "containeranalysis.projects.occurrences.getNotes", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the occurrence in the form of `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.", + "location": "path", + "pattern": "^projects/[^/]+/occurrences/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/notes", + "response": { + "$ref": "Note" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getVulnerabilitySummary": { + "description": "Gets a summary of the number and severity of occurrences.", + "flatPath": "v1/projects/{projectsId}/occurrences:vulnerabilitySummary", + "httpMethod": "GET", + "id": "containeranalysis.projects.occurrences.getVulnerabilitySummary", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "The filter expression.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the project to get a vulnerability summary for in the form of `projects/[PROJECT_ID]`.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/occurrences:vulnerabilitySummary", + "response": { + "$ref": "VulnerabilityOccurrencesSummary" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists occurrences for the specified project.", + "flatPath": "v1/projects/{projectsId}/occurrences", + "httpMethod": "GET", + "id": "containeranalysis.projects.occurrences.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "The filter expression.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Number of occurrences to return in the list. Must be positive. Max allowed page size is 1000. If not specified, page size defaults to 20.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token to provide to skip to a particular spot in the list.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the project to list occurrences for in the form of `projects/[PROJECT_ID]`.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/occurrences", + "response": { + "$ref": "ListOccurrencesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified occurrence.", + "flatPath": "v1/projects/{projectsId}/occurrences/{occurrencesId}", + "httpMethod": "PATCH", + "id": "containeranalysis.projects.occurrences.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the occurrence in the form of `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.", + "location": "path", + "pattern": "^projects/[^/]+/occurrences/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Occurrence" + }, + "response": { + "$ref": "Occurrence" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified note or occurrence. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or an occurrence, respectively. The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences.", + "flatPath": "v1/projects/{projectsId}/occurrences/{occurrencesId}:setIamPolicy", + "httpMethod": "POST", + "id": "containeranalysis.projects.occurrences.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/[^/]+/occurrences/[^/]+$", + "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 the permissions that a caller has on the specified note or occurrence. Requires list permission on the project (for example, `containeranalysis.notes.list`). The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences.", + "flatPath": "v1/projects/{projectsId}/occurrences/{occurrencesId}:testIamPermissions", + "httpMethod": "POST", + "id": "containeranalysis.projects.occurrences.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/[^/]+/occurrences/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + }, + "revision": "20220225", + "rootUrl": "https://containeranalysis.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" + }, + "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" + }, + "AttestationNote": { + "description": "Note kind that represents a logical attestation \"role\" or \"authority\". For example, an organization might have one `Authority` for \"QA\" and one for \"build\". This note is intended to act strictly as a grouping mechanism for the attached occurrences (Attestations). This grouping mechanism also provides a security boundary, since IAM ACLs gate the ability for a principle to attach an occurrence to a given note. It also provides a single point of lookup to find all attached attestation occurrences, even if they don't all live in the same project.", + "id": "AttestationNote", + "properties": { + "hint": { + "$ref": "Hint", + "description": "Hint hints at the purpose of the attestation authority." + } + }, + "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" + }, + "BatchCreateNotesRequest": { + "description": "Request to create notes in batch.", + "id": "BatchCreateNotesRequest", + "properties": { + "notes": { + "additionalProperties": { + "$ref": "Note" + }, + "description": "Required. The notes to create. Max allowed length is 1000.", + "type": "object" + } + }, + "type": "object" + }, + "BatchCreateNotesResponse": { + "description": "Response for creating notes in batch.", + "id": "BatchCreateNotesResponse", + "properties": { + "notes": { + "description": "The notes that were created.", + "items": { + "$ref": "Note" + }, + "type": "array" + } + }, + "type": "object" + }, + "BatchCreateOccurrencesRequest": { + "description": "Request to create occurrences in batch.", + "id": "BatchCreateOccurrencesRequest", + "properties": { + "occurrences": { + "description": "Required. The occurrences to create. Max allowed length is 1000.", + "items": { + "$ref": "Occurrence" + }, + "type": "array" + } + }, + "type": "object" + }, + "BatchCreateOccurrencesResponse": { + "description": "Response for creating occurrences in batch.", + "id": "BatchCreateOccurrencesResponse", + "properties": { + "occurrences": { + "description": "The occurrences that were created.", + "items": { + "$ref": "Occurrence" + }, + "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 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 the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "BuildNote": { + "description": "Note holding the version of the provider's builder and the signature of the provenance message in the build details occurrence.", + "id": "BuildNote", + "properties": { + "builderVersion": { + "description": "Required. Immutable. Version of the builder which produced this build.", + "type": "string" + } + }, + "type": "object" + }, + "BuildOccurrence": { + "description": "Details of a build occurrence.", + "id": "BuildOccurrence", + "properties": { + "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 multiple versions of CVSS. The intention is that as new versions of CVSS scores get added, we will be able to modify this message rather than adding new protos for each new version of the score.", + "id": "CVSS", + "properties": { + "attackComplexity": { + "enum": [ + "ATTACK_COMPLEXITY_UNSPECIFIED", + "ATTACK_COMPLEXITY_LOW", + "ATTACK_COMPLEXITY_HIGH" + ], + "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" + ], + "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" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "exploitabilityScore": { + "format": "float", + "type": "number" + }, + "impactScore": { + "format": "float", + "type": "number" + }, + "integrityImpact": { + "enum": [ + "IMPACT_UNSPECIFIED", + "IMPACT_HIGH", + "IMPACT_LOW", + "IMPACT_NONE" + ], + "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" + }, + "CVSSv3": { + "description": "Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document", + "id": "CVSSv3", + "properties": { + "attackComplexity": { + "enum": [ + "ATTACK_COMPLEXITY_UNSPECIFIED", + "ATTACK_COMPLEXITY_LOW", + "ATTACK_COMPLEXITY_HIGH" + ], + "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" + }, + "availabilityImpact": { + "enum": [ + "IMPACT_UNSPECIFIED", + "IMPACT_HIGH", + "IMPACT_LOW", + "IMPACT_NONE" + ], + "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" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "exploitabilityScore": { + "format": "float", + "type": "number" + }, + "impactScore": { + "format": "float", + "type": "number" + }, + "integrityImpact": { + "enum": [ + "IMPACT_UNSPECIFIED", + "IMPACT_HIGH", + "IMPACT_LOW", + "IMPACT_NONE" + ], + "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" + }, + "CisBenchmark": { + "description": "A compliance check that is a CIS benchmark.", + "id": "CisBenchmark", + "properties": { + "profileLevel": { + "format": "int32", + "type": "integer" + }, + "severity": { + "enum": [ + "SEVERITY_UNSPECIFIED", + "MINIMAL", + "LOW", + "MEDIUM", + "HIGH", + "CRITICAL" + ], + "enumDescriptions": [ + "Unknown.", + "Minimal severity.", + "Low severity.", + "Medium severity.", + "High severity.", + "Critical severity." + ], + "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" + }, + "ComplianceNote": { + "id": "ComplianceNote", + "properties": { + "cisBenchmark": { + "$ref": "CisBenchmark" + }, + "description": { + "description": "A description about this compliance check.", + "type": "string" + }, + "rationale": { + "description": "A rationale for the existence of this compliance check.", + "type": "string" + }, + "remediation": { + "description": "A description of remediation steps if the compliance check fails.", + "type": "string" + }, + "scanInstructions": { + "description": "Serialized scan instructions with a predefined format.", + "format": "byte", + "type": "string" + }, + "title": { + "description": "The title that identifies this compliance check.", + "type": "string" + }, + "version": { + "description": "The OS and config versions the benchmark applies to.", + "items": { + "$ref": "ComplianceVersion" + }, + "type": "array" + } + }, + "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" + } + }, + "type": "object" + }, + "ComplianceVersion": { + "description": "Describes the CIS benchmark version that is applicable to a given OS and os version.", + "id": "ComplianceVersion", + "properties": { + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig": { + "description": "ApprovalConfig describes configuration for manual approval of a build.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult": { + "description": "ApprovalResult describes the decision and associated metadata of a manual approval of a build.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts": { + "description": "Artifacts produced by a build that should be uploaded upon successful completion of all build steps.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts", + "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" + }, + "objects": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects", + "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." + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects": { + "description": "Files in the workspace to upload to Cloud Storage upon successful completion of all build steps.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", + "description": "Output only. Stores timing information for pushing all artifact objects.", + "readOnly": true + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Build": { + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1Build", + "properties": { + "approval": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval", + "description": "Output only. Describes this build's approval configuration, status, and result.", + "readOnly": true + }, + "artifacts": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts", + "description": "Artifacts produced by the build that should be uploaded upon successful completion of all build steps." + }, + "availableSecrets": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1Results", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1Secret" + }, + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1Source", + "description": "The location of the source files to build." + }, + "sourceProvenance": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep" + }, + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan" + }, + "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 specified images. * 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": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval": { + "description": "BuildApproval describes a build's approval configuration, state, and result.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval", + "properties": { + "config": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig", + "description": "Output only. Configuration for manual approval of this build.", + "readOnly": true + }, + "result": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo": { + "description": "A fatal problem encountered during the execution of the build.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions": { + "description": "Optional arguments to enable specific features of builds.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions", + "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 1000GB; 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": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption", + "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. (default)", + "Verified build." + ], + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1Volume" + }, + "type": "array" + }, + "workerPool": { + "description": "This field deprecated; please use `pool.name` instead.", + "type": "string" + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption": { + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep": { + "description": "A step in the build pipeline.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep", + "properties": { + "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" + }, + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1Volume" + }, + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning": { + "description": "A non-fatal problem encountered during the execution of the build.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage": { + "description": "An image built by the pipeline.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", + "description": "Output only. Stores timing information for pushing the specified image.", + "readOnly": true + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes": { + "description": "Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes", + "properties": { + "fileHash": { + "description": "Collection of file hashes.", + "items": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1Hash" + }, + "type": "array" + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Hash": { + "description": "Container message for hash values.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Hash", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret": { + "description": "Pairs a set of secret environment variables mapped to encrypted values with the Cloud KMS key to use to decrypt the value.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource": { + "description": "Location of the source in a Google Cloud Source Repository.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Results": { + "description": "Artifacts created by the build pipeline.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Results", + "properties": { + "artifactManifest": { + "description": "Path to the artifact manifest. Only populated when artifacts are uploaded.", + "type": "string" + }, + "artifactTiming": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", + "description": "Time to push all non-container artifacts." + }, + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage" + }, + "type": "array" + }, + "numArtifacts": { + "description": "Number of artifacts uploaded. Only populated when artifacts are uploaded.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Secret": { + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1Secret", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret": { + "description": "Pairs a secret environment variable with a SecretVersion in Secret Manager.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets": { + "description": "Secrets and secret environment variables.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets", + "properties": { + "inline": { + "description": "Secrets encrypted with KMS key and the associated secret environment variable.", + "items": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret" + }, + "type": "array" + }, + "secretManager": { + "description": "Secrets in Secret Manager and associated secret environment variable.", + "items": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret" + }, + "type": "array" + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Source": { + "description": "Location of the source in a supported storage service.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Source", + "properties": { + "repoSource": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource", + "description": "If provided, get the source from this location in a Cloud Source Repository." + }, + "storageSource": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource", + "description": "If provided, get the source from this location in Google Cloud Storage." + }, + "storageSourceManifest": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance": { + "description": "Provenance of the source. Ways to find the original source, or verify that some source was used for this build.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance", + "properties": { + "fileHashes": { + "additionalProperties": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes" + }, + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource", + "description": "A copy of the build's `source.repo_source`, if exists, with any revisions resolved." + }, + "resolvedStorageSource": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource", + "description": "A copy of the build's `source.storage_source`, if exists, with any generations resolved." + }, + "resolvedStorageSourceManifest": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest", + "description": "A copy of the build's `source.storage_source_manifest`, if exists, with any revisions resolved. This feature is in Preview." + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource": { + "description": "Location of the source in an archive file in Google Cloud Storage.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest": { + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan": { + "description": "Start and end times for a build execution phase.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Volume": { + "description": "Volume describes a Docker container volume which is mounted into build steps in order to persist files across build step execution.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Volume", + "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" + }, + "DSSEAttestationNote": { + "id": "DSSEAttestationNote", + "properties": { + "hint": { + "$ref": "DSSEHint", + "description": "DSSEHint hints at the purpose of the attestation authority." + } + }, + "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" + }, + "DSSEHint": { + "description": "This submessage provides human-readable hints about the purpose of the authority. Because the name of a note acts as its resource reference, it is important to disambiguate the canonical name of the Note (which might be a UUID for security purposes) from \"readable\" names more suitable for debug output. Note that these hints should not be used to look up authorities in security sensitive contexts, such as when looking up attestations to verify.", + "id": "DSSEHint", + "properties": { + "humanReadableName": { + "description": "Required. The human readable name of this attestation authority, for example \"cloudbuild-prod\".", + "type": "string" + } + }, + "type": "object" + }, + "DeploymentNote": { + "description": "An artifact that can be deployed in some runtime.", + "id": "DeploymentNote", + "properties": { + "resourceUri": { + "description": "Required. Resource URI for the artifact being deployed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "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" + }, + "Detail": { + "description": "A detail for a distro and package affected by this vulnerability and its associated fix (if one is available).", + "id": "Detail", + "properties": { + "affectedCpeUri": { + "description": "Required. The [CPE URI](https://cpe.mitre.org/specification/) this vulnerability affects.", + "type": "string" + }, + "affectedPackage": { + "description": "Required. The package this vulnerability affects.", + "type": "string" + }, + "affectedVersionEnd": { + "$ref": "Version", + "description": "The version number at the end of an interval in which this vulnerability exists. A vulnerability can affect a package between version numbers that are disjoint sets of intervals (example: [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its own Detail. If a specific affected version is provided by a vulnerability database, affected_version_start and affected_version_end will be the same in that Detail." + }, + "affectedVersionStart": { + "$ref": "Version", + "description": "The version number at the start of an interval in which this vulnerability exists. A vulnerability can affect a package between version numbers that are disjoint sets of intervals (example: [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its own Detail. If a specific affected version is provided by a vulnerability database, affected_version_start and affected_version_end will be the same in that Detail." + }, + "description": { + "description": "A vendor-specific description of this vulnerability.", + "type": "string" + }, + "fixedCpeUri": { + "description": "The distro recommended [CPE URI](https://cpe.mitre.org/specification/) to update to that contains a fix for this vulnerability. It is possible for this to be different from the affected_cpe_uri.", + "type": "string" + }, + "fixedPackage": { + "description": "The distro recommended package to update to that contains a fix for this vulnerability. It is possible for this to be different from the affected_package.", + "type": "string" + }, + "fixedVersion": { + "$ref": "Version", + "description": "The distro recommended version to update to that contains a fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no such version is yet available." + }, + "isObsolete": { + "description": "Whether this detail is obsolete. Occurrences are expected not to point to obsolete details.", + "type": "boolean" + }, + "packageType": { + "description": "The type of package; whether native or non native (e.g., ruby gems, node.js packages, etc.).", + "type": "string" + }, + "severityName": { + "description": "The distro assigned severity of this vulnerability.", + "type": "string" + }, + "source": { + "description": "The source from which the information in this Detail was obtained.", + "type": "string" + }, + "sourceUpdateTime": { + "description": "The time this information was last changed at the source. This is an upstream timestamp from the underlying information source - e.g. Ubuntu security tracker.", + "format": "google-datetime", + "type": "string" + }, + "vendor": { + "description": "The name of the vendor of the product.", + "type": "string" + } + }, + "type": "object" + }, + "DiscoveryNote": { + "description": "A note that indicates a type of analysis a provider would perform. This note exists in a provider's project. A `Discovery` occurrence is created in a consumer's project at the start of analysis.", + "id": "DiscoveryNote", + "properties": { + "analysisKind": { + "description": "Required. Immutable. The kind of analysis that is handled by this discovery.", + "enum": [ + "NOTE_KIND_UNSPECIFIED", + "VULNERABILITY", + "BUILD", + "IMAGE", + "PACKAGE", + "DEPLOYMENT", + "DISCOVERY", + "ATTESTATION", + "UPGRADE", + "COMPLIANCE", + "DSSE_ATTESTATION" + ], + "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" + ], + "type": "string" + } + }, + "type": "object" + }, + "DiscoveryOccurrence": { + "description": "Provides information about the analysis status of a discovered resource.", + "id": "DiscoveryOccurrence", + "properties": { + "analysisStatus": { + "description": "The status of discovery for the resource.", + "enum": [ + "ANALYSIS_STATUS_UNSPECIFIED", + "PENDING", + "SCANNING", + "FINISHED_SUCCESS", + "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 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" + } + }, + "type": "object" + }, + "Distribution": { + "description": "This represents a particular channel of distribution for a given package. E.g., Debian's jessie-backports dpkg mirror.", + "id": "Distribution", + "properties": { + "architecture": { + "description": "The CPU architecture for which packages in this distribution channel were built.", + "enum": [ + "ARCHITECTURE_UNSPECIFIED", + "X86", + "X64" + ], + "enumDescriptions": [ + "Unknown architecture.", + "X86 architecture.", + "X64 architecture." + ], + "type": "string" + }, + "cpeUri": { + "description": "Required. The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) denoting the package manager version distributing a package.", + "type": "string" + }, + "description": { + "description": "The distribution channel-specific description of this package.", + "type": "string" + }, + "latestVersion": { + "$ref": "Version", + "description": "The latest available version of this package in this distribution channel." + }, + "maintainer": { + "description": "A freeform string denoting the maintainer of this package.", + "type": "string" + }, + "url": { + "description": "The distribution channel-specific homepage for this package.", + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "FixableTotalByDigest": { + "description": "Per resource and severity counts of fixable and total vulnerabilities.", + "id": "FixableTotalByDigest", + "properties": { + "fixableCount": { + "description": "The number of fixable vulnerabilities associated with this resource.", + "format": "int64", + "type": "string" + }, + "resourceUri": { + "description": "The affected resource.", + "type": "string" + }, + "severity": { + "description": "The severity for this count. SEVERITY_UNSPECIFIED indicates total across all severities.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "MINIMAL", + "LOW", + "MEDIUM", + "HIGH", + "CRITICAL" + ], + "enumDescriptions": [ + "Unknown.", + "Minimal severity.", + "Low severity.", + "Medium severity.", + "High severity.", + "Critical severity." + ], + "type": "string" + }, + "totalCount": { + "description": "The total number of vulnerabilities associated with this resource.", + "format": "int64", + "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" + }, + "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" + }, + "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" + }, + "GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata": { + "description": "Metadata for all operations used and required for all operations that created by Container Analysis Providers", + "id": "GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata", + "properties": { + "createTime": { + "description": "Output only. The time this operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "Output only. The time that this operation was marked completed or failed.", + "format": "google-datetime", + "type": "string" + } + }, + "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" + }, + "Hint": { + "description": "This submessage provides human-readable hints about the purpose of the authority. Because the name of a note acts as its resource reference, it is important to disambiguate the canonical name of the Note (which might be a UUID for security purposes) from \"readable\" names more suitable for debug output. Note that these hints should not be used to look up authorities in security sensitive contexts, such as when looking up attestations to verify.", + "id": "Hint", + "properties": { + "humanReadableName": { + "description": "Required. The human readable name of this attestation authority, for example \"qa\".", + "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" + }, + "ImageNote": { + "description": "Basis describes the base image portion (Note) of the DockerImage relationship. Linked occurrences are derived from this or an equivalent image via: FROM Or an equivalent reference, e.g., a tag of the resource_url.", + "id": "ImageNote", + "properties": { + "fingerprint": { + "$ref": "Fingerprint", + "description": "Required. Immutable. The fingerprint of the base image." + }, + "resourceUrl": { + "description": "Required. Immutable. The resource_url for the resource representing the basis of associated occurrence images.", + "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" + }, + "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" + }, + "subject": { + "items": { + "$ref": "Subject" + }, + "type": "array" + } + }, + "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" + }, + "KnowledgeBase": { + "id": "KnowledgeBase", + "properties": { + "name": { + "description": "The KB name (generally of the form KB[0-9]+ (e.g., KB123456)).", + "type": "string" + }, + "url": { + "description": "A link to the KB in the [Windows update catalog] (https://www.catalog.update.microsoft.com/).", + "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" + }, + "ListNoteOccurrencesResponse": { + "description": "Response for listing occurrences for a note.", + "id": "ListNoteOccurrencesResponse", + "properties": { + "nextPageToken": { + "description": "Token to provide to skip to a particular spot in the list.", + "type": "string" + }, + "occurrences": { + "description": "The occurrences attached to the specified note.", + "items": { + "$ref": "Occurrence" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListNotesResponse": { + "description": "Response for listing notes.", + "id": "ListNotesResponse", + "properties": { + "nextPageToken": { + "description": "The next pagination token in the list response. It should be used as `page_token` for the following request. An empty value means no more results.", + "type": "string" + }, + "notes": { + "description": "The notes requested.", + "items": { + "$ref": "Note" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListOccurrencesResponse": { + "description": "Response for listing occurrences.", + "id": "ListOccurrencesResponse", + "properties": { + "nextPageToken": { + "description": "The next pagination token in the list response. It should be used as `page_token` for the following request. An empty value means no more results.", + "type": "string" + }, + "occurrences": { + "description": "The occurrences requested.", + "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": "Required. The CPE URI in [CPE format](https://cpe.mitre.org/specification/) denoting the package manager version distributing a package.", + "type": "string" + }, + "path": { + "description": "The path from which we gathered that this package/version is installed.", + "type": "string" + }, + "version": { + "$ref": "Version", + "description": "The version installed at this location." + } + }, + "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" + }, + "Note": { + "description": "A type of analysis that can be done for a resource.", + "id": "Note", + "properties": { + "attestation": { + "$ref": "AttestationNote", + "description": "A note describing an attestation role." + }, + "build": { + "$ref": "BuildNote", + "description": "A note describing build provenance for a verifiable build." + }, + "compliance": { + "$ref": "ComplianceNote", + "description": "A note describing a compliance check." + }, + "createTime": { + "description": "Output only. The time this note was created. This field can be used as a filter in list requests.", + "format": "google-datetime", + "type": "string" + }, + "deployment": { + "$ref": "DeploymentNote", + "description": "A note describing something that can be deployed." + }, + "discovery": { + "$ref": "DiscoveryNote", + "description": "A note describing the initial analysis of a resource." + }, + "dsseAttestation": { + "$ref": "DSSEAttestationNote", + "description": "A note describing a dsse attestation note." + }, + "expirationTime": { + "description": "Time of expiration for this note. Empty if note does not expire.", + "format": "google-datetime", + "type": "string" + }, + "image": { + "$ref": "ImageNote", + "description": "A note describing a base image." + }, + "kind": { + "description": "Output only. The type of analysis. 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" + ], + "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" + ], + "type": "string" + }, + "longDescription": { + "description": "A detailed description of this note.", + "type": "string" + }, + "name": { + "description": "Output only. The name of the note in the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.", + "type": "string" + }, + "package": { + "$ref": "PackageNote", + "description": "A note describing a package hosted by various package managers." + }, + "relatedNoteNames": { + "description": "Other notes related to this note.", + "items": { + "type": "string" + }, + "type": "array" + }, + "relatedUrl": { + "description": "URLs associated with this note.", + "items": { + "$ref": "RelatedUrl" + }, + "type": "array" + }, + "shortDescription": { + "description": "A one sentence description of this note.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The time this note was last updated. This field can be used as a filter in list requests.", + "format": "google-datetime", + "type": "string" + }, + "upgrade": { + "$ref": "UpgradeNote", + "description": "A note describing available package upgrades." + }, + "vulnerability": { + "$ref": "VulnerabilityNote", + "description": "A note describing a package vulnerability." + } + }, + "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" + ], + "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" + ], + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "PackageNote": { + "description": "This represents a particular package that is distributed over various channels. E.g., glibc (aka libc6) is distributed by many, at various versions.", + "id": "PackageNote", + "properties": { + "distribution": { + "description": "The various channels by which a package is distributed.", + "items": { + "$ref": "Distribution" + }, + "type": "array" + }, + "name": { + "description": "Required. Immutable. The name of the package.", + "type": "string" + } + }, + "type": "object" + }, + "PackageOccurrence": { + "description": "Details on how a particular software package was installed on a system.", + "id": "PackageOccurrence", + "properties": { + "location": { + "description": "Required. All of the places within the filesystem versions of this package have been found.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "name": { + "description": "Output only. The name of the installed package.", + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "UpgradeNote": { + "description": "An Upgrade Note represents a potential upgrade of a package to a given version. For each package version combination (i.e. bash 4.0, bash 4.1, bash 4.1.2), there will be an Upgrade Note. For Windows, windows_update field represents the information related to the update.", + "id": "UpgradeNote", + "properties": { + "distributions": { + "description": "Metadata about the upgrade for each specific operating system.", + "items": { + "$ref": "UpgradeDistribution" + }, + "type": "array" + }, + "package": { + "description": "Required for non-Windows OS. The package this Upgrade is for.", + "type": "string" + }, + "version": { + "$ref": "Version", + "description": "Required for non-Windows OS. The version of the package in machine + human readable form." + }, + "windowsUpdate": { + "$ref": "WindowsUpdate", + "description": "Required for Windows OS. Represents the metadata about the Windows update." + } + }, + "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" + }, + "VulnerabilityNote": { + "description": "A security vulnerability that can be found in resources.", + "id": "VulnerabilityNote", + "properties": { + "cvssScore": { + "description": "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" + }, + "cvssV3": { + "$ref": "CVSSv3", + "description": "The full description of the CVSSv3 for this vulnerability." + }, + "details": { + "description": "Details of all known distros and packages affected by this vulnerability.", + "items": { + "$ref": "Detail" + }, + "type": "array" + }, + "severity": { + "description": "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" + }, + "sourceUpdateTime": { + "description": "The time this information was last changed at the source. This is an upstream timestamp from the underlying information source - e.g. Ubuntu security tracker.", + "format": "google-datetime", + "type": "string" + }, + "windowsDetails": { + "description": "Windows details get their own format because the information format and model don't match a normal detail. Specifically Windows updates are done as patches, thus Windows vulnerabilities really are a missing package, rather than a package being at an incorrect version.", + "items": { + "$ref": "WindowsDetail" + }, + "type": "array" + } + }, + "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" + }, + "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" + }, + "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" + } + }, + "type": "object" + }, + "VulnerabilityOccurrencesSummary": { + "description": "A summary of how many vulnerability occurrences there are per resource and severity type.", + "id": "VulnerabilityOccurrencesSummary", + "properties": { + "counts": { + "description": "A listing by resource of the number of fixable and total vulnerabilities.", + "items": { + "$ref": "FixableTotalByDigest" + }, + "type": "array" + } + }, + "type": "object" + }, + "WindowsDetail": { + "id": "WindowsDetail", + "properties": { + "cpeUri": { + "description": "Required. The [CPE URI](https://cpe.mitre.org/specification/) this vulnerability affects.", + "type": "string" + }, + "description": { + "description": "The description of this vulnerability.", + "type": "string" + }, + "fixingKbs": { + "description": "Required. The names of the KBs which have hotfixes to mitigate this vulnerability. Note that there may be multiple hotfixes (and thus multiple KBs) that mitigate a given vulnerability. Currently any listed KBs presence is considered a fix.", + "items": { + "$ref": "KnowledgeBase" + }, + "type": "array" + }, + "name": { + "description": "Required. The name of this vulnerability.", + "type": "string" + } + }, + "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": "Container Analysis API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/containeranalysis/v1alpha1/containeranalysis-api.json b/etc/api/containeranalysis/v1alpha1/containeranalysis-api.json index f4b45a2b66..7e590ce818 100644 --- a/etc/api/containeranalysis/v1alpha1/containeranalysis-api.json +++ b/etc/api/containeranalysis/v1alpha1/containeranalysis-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -603,7 +603,13 @@ "DEPLOYABLE", "DISCOVERY", "ATTESTATION_AUTHORITY", - "UPGRADE" + "UPGRADE", + "COMPLIANCE", + "SBOM", + "SPDX_PACKAGE", + "SPDX_FILE", + "SPDX_RELATIONSHIP", + "DSSE_ATTESTATION" ], "enumDescriptions": [ "Unknown", @@ -614,7 +620,13 @@ "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 software upgrade." + "This represents an available software upgrade.", + "This represents a compliance check that can be applied to a resource.", + "This represents a software bill of materials.", + "This represents an SPDX Package.", + "This represents an SPDX File.", + "This represents an SPDX Relationship.", + "This represents a DSSE attestation Note" ], "location": "query", "type": "string" @@ -1217,7 +1229,7 @@ } } }, - "revision": "20210326", + "revision": "20220225", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "Artifact": { @@ -1293,22 +1305,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -1318,6 +1330,14 @@ "description": "Message encapsulating build provenance details.", "id": "BuildDetails", "properties": { + "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" @@ -1448,6 +1468,199 @@ }, "type": "object" }, + "BuilderConfig": { + "id": "BuilderConfig", + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "CVSS": { + "description": "Common Vulnerability Scoring System.", + "id": "CVSS", + "properties": { + "attackComplexity": { + "enum": [ + "ATTACK_COMPLEXITY_UNSPECIFIED", + "ATTACK_COMPLEXITY_LOW", + "ATTACK_COMPLEXITY_HIGH" + ], + "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" + ], + "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" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "exploitabilityScore": { + "format": "float", + "type": "number" + }, + "impactScore": { + "format": "float", + "type": "number" + }, + "integrityImpact": { + "enum": [ + "IMPACT_UNSPECIFIED", + "IMPACT_HIGH", + "IMPACT_LOW", + "IMPACT_NONE" + ], + "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" + }, + "CisBenchmark": { + "description": "A compliance check that is a CIS benchmark.", + "id": "CisBenchmark", + "properties": { + "profileLevel": { + "description": "The profile level of this CIS benchmark check.", + "format": "int32", + "type": "integer" + }, + "severity": { + "description": "The severity level of this CIS benchmark check.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "MINIMAL", + "LOW", + "MEDIUM", + "HIGH", + "CRITICAL" + ], + "enumDescriptions": [ + "Unknown Impact", + "Minimal Impact", + "Low Impact", + "Medium Impact", + "High Impact", + "Critical Impact" + ], + "type": "string" + } + }, + "type": "object" + }, "Command": { "description": "Command describes a step performed as part of the build pipeline.", "id": "Command", @@ -1488,6 +1701,1065 @@ }, "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" + }, + "ComplianceNote": { + "description": "ComplianceNote encapsulates all information about a specific compliance check.", + "id": "ComplianceNote", + "properties": { + "cisBenchmark": { + "$ref": "CisBenchmark", + "description": "Right now we only have one compliance type, but we may add additional types in the future." + }, + "description": { + "description": "A description about this compliance check.", + "type": "string" + }, + "rationale": { + "description": "A rationale for the existence of this compliance check.", + "type": "string" + }, + "remediation": { + "description": "A description of remediation steps if the compliance check fails.", + "type": "string" + }, + "scanInstructions": { + "description": "Serialized scan instructions with a predefined format.", + "format": "byte", + "type": "string" + }, + "title": { + "description": "The title that identifies this compliance check.", + "type": "string" + }, + "version": { + "description": "The OS and config versions the benchmark applies to.", + "items": { + "$ref": "ComplianceVersion" + }, + "type": "array" + } + }, + "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": { + "description": "The reason for non compliance of these files.", + "type": "string" + }, + "nonCompliantFiles": { + "description": "A list of files which are violating compliance checks.", + "items": { + "$ref": "NonCompliantFile" + }, + "type": "array" + } + }, + "type": "object" + }, + "ComplianceVersion": { + "description": "Describes the CIS benchmark version that is applicable to a given OS and os version.", + "id": "ComplianceVersion", + "properties": { + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig": { + "description": "ApprovalConfig describes configuration for manual approval of a build.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult": { + "description": "ApprovalResult describes the decision and associated metadata of a manual approval of a build.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts": { + "description": "Artifacts produced by a build that should be uploaded upon successful completion of all build steps.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts", + "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" + }, + "objects": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects", + "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." + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects": { + "description": "Files in the workspace to upload to Cloud Storage upon successful completion of all build steps.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", + "description": "Output only. Stores timing information for pushing all artifact objects.", + "readOnly": true + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Build": { + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1Build", + "properties": { + "approval": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval", + "description": "Output only. Describes this build's approval configuration, status, and result.", + "readOnly": true + }, + "artifacts": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts", + "description": "Artifacts produced by the build that should be uploaded upon successful completion of all build steps." + }, + "availableSecrets": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1Results", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1Secret" + }, + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1Source", + "description": "The location of the source files to build." + }, + "sourceProvenance": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep" + }, + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan" + }, + "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 specified images. * 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": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval": { + "description": "BuildApproval describes a build's approval configuration, state, and result.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval", + "properties": { + "config": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig", + "description": "Output only. Configuration for manual approval of this build.", + "readOnly": true + }, + "result": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo": { + "description": "A fatal problem encountered during the execution of the build.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions": { + "description": "Optional arguments to enable specific features of builds.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions", + "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 1000GB; 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": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption", + "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. (default)", + "Verified build." + ], + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1Volume" + }, + "type": "array" + }, + "workerPool": { + "description": "This field deprecated; please use `pool.name` instead.", + "type": "string" + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption": { + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep": { + "description": "A step in the build pipeline.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep", + "properties": { + "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" + }, + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1Volume" + }, + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning": { + "description": "A non-fatal problem encountered during the execution of the build.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage": { + "description": "An image built by the pipeline.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", + "description": "Output only. Stores timing information for pushing the specified image.", + "readOnly": true + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes": { + "description": "Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes", + "properties": { + "fileHash": { + "description": "Collection of file hashes.", + "items": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1Hash" + }, + "type": "array" + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Hash": { + "description": "Container message for hash values.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Hash", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret": { + "description": "Pairs a set of secret environment variables mapped to encrypted values with the Cloud KMS key to use to decrypt the value.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource": { + "description": "Location of the source in a Google Cloud Source Repository.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Results": { + "description": "Artifacts created by the build pipeline.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Results", + "properties": { + "artifactManifest": { + "description": "Path to the artifact manifest. Only populated when artifacts are uploaded.", + "type": "string" + }, + "artifactTiming": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", + "description": "Time to push all non-container artifacts." + }, + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage" + }, + "type": "array" + }, + "numArtifacts": { + "description": "Number of artifacts uploaded. Only populated when artifacts are uploaded.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Secret": { + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1Secret", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret": { + "description": "Pairs a secret environment variable with a SecretVersion in Secret Manager.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets": { + "description": "Secrets and secret environment variables.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets", + "properties": { + "inline": { + "description": "Secrets encrypted with KMS key and the associated secret environment variable.", + "items": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret" + }, + "type": "array" + }, + "secretManager": { + "description": "Secrets in Secret Manager and associated secret environment variable.", + "items": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret" + }, + "type": "array" + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Source": { + "description": "Location of the source in a supported storage service.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Source", + "properties": { + "repoSource": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource", + "description": "If provided, get the source from this location in a Cloud Source Repository." + }, + "storageSource": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource", + "description": "If provided, get the source from this location in Google Cloud Storage." + }, + "storageSourceManifest": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance": { + "description": "Provenance of the source. Ways to find the original source, or verify that some source was used for this build.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance", + "properties": { + "fileHashes": { + "additionalProperties": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes" + }, + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource", + "description": "A copy of the build's `source.repo_source`, if exists, with any revisions resolved." + }, + "resolvedStorageSource": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource", + "description": "A copy of the build's `source.storage_source`, if exists, with any generations resolved." + }, + "resolvedStorageSourceManifest": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest", + "description": "A copy of the build's `source.storage_source_manifest`, if exists, with any revisions resolved. This feature is in Preview." + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource": { + "description": "Location of the source in an archive file in Google Cloud Storage.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest": { + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan": { + "description": "Start and end times for a build execution phase.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Volume": { + "description": "Volume describes a Docker container volume which is mounted into build steps in order to persist files across build step execution.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Volume", + "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" + }, "CreateOperationRequest": { "description": "Request for creating an operation", "id": "CreateOperationRequest", @@ -1503,6 +2775,42 @@ }, "type": "object" }, + "DSSEAttestationNote": { + "description": "A note describing an attestation", + "id": "DSSEAttestationNote", + "properties": { + "hint": { + "$ref": "DSSEHint", + "description": "DSSEHint hints at the purpose of the attestation authority." + } + }, + "type": "object" + }, + "DSSEAttestationOccurrence": { + "description": "An occurrence describing an attestation on a resource", + "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" + }, + "DSSEHint": { + "description": "This submessage provides human-readable hints about the purpose of the authority. Because the name of a note acts as its resource reference, it is important to disambiguate the canonical name of the Note (which might be a UUID for security purposes) from \"readable\" names more suitable for debug output. Note that these hints should not be used to look up authorities in security sensitive contexts, such as when looking up attestations to verify.", + "id": "DSSEHint", + "properties": { + "humanReadableName": { + "description": "Required. The human readable name of this attestation authority, for example \"cloudbuild-prod\".", + "type": "string" + } + }, + "type": "object" + }, "Deployable": { "description": "An artifact that can be deployed in some runtime.", "id": "Deployable", @@ -1639,6 +2947,10 @@ "source": { "description": "The source from which the information in this Detail was obtained.", "type": "string" + }, + "vendor": { + "description": "The vendor of the product. e.g. \"google\"", + "type": "string" } }, "type": "object" @@ -1671,6 +2983,11 @@ "$ref": "Status", "description": "When an error is encountered this will contain a LocalizedMessage under details to show to the user. The LocalizedMessage output only and populated by the API." }, + "archiveTime": { + "description": "The time occurrences related to this discovery occurrence were archived.", + "format": "google-datetime", + "type": "string" + }, "continuousAnalysis": { "description": "Whether the resource is continuously analyzed.", "enum": [ @@ -1689,6 +3006,11 @@ "description": "The CPE of the resource being scanned.", "type": "string" }, + "lastScanTime": { + "description": "The last time this resource was scanned.", + "format": "google-datetime", + "type": "string" + }, "operation": { "$ref": "Operation", "description": "Output only. An operation that indicates the status of the current scan. This field is deprecated, do not use." @@ -1711,7 +3033,13 @@ "DEPLOYABLE", "DISCOVERY", "ATTESTATION_AUTHORITY", - "UPGRADE" + "UPGRADE", + "COMPLIANCE", + "SBOM", + "SPDX_PACKAGE", + "SPDX_FILE", + "SPDX_RELATIONSHIP", + "DSSE_ATTESTATION" ], "enumDescriptions": [ "Unknown", @@ -1722,7 +3050,13 @@ "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 software upgrade." + "This represents an available software upgrade.", + "This represents a compliance check that can be applied to a resource.", + "This represents a software bill of materials.", + "This represents an SPDX Package.", + "This represents an SPDX File.", + "This represents an SPDX Relationship.", + "This represents a DSSE attestation Note" ], "type": "string" } @@ -1770,12 +3104,116 @@ }, "type": "object" }, + "DocumentNote": { + "description": "DocumentNote represents an SPDX Document Creation Infromation section: https://spdx.github.io/spdx-spec/2-document-creation-information/", + "id": "DocumentNote", + "properties": { + "dataLicence": { + "description": "Compliance with the SPDX specification includes populating the SPDX fields therein with data related to such fields (\"SPDX-Metadata\")", + "type": "string" + }, + "spdxVersion": { + "description": "Provide a reference number that can be used to understand how to parse and interpret the rest of the file", + "type": "string" + } + }, + "type": "object" + }, + "DocumentOccurrence": { + "description": "DocumentOccurrence represents an SPDX Document Creation Information section: https://spdx.github.io/spdx-spec/2-document-creation-information/", + "id": "DocumentOccurrence", + "properties": { + "createTime": { + "description": "Identify when the SPDX file was originally created. The date is to be specified according to combined date and time in UTC format as specified in ISO 8601 standard", + "format": "google-datetime", + "type": "string" + }, + "creatorComment": { + "description": "A field for creators of the SPDX file to provide general comments about the creation of the SPDX file or any other relevant comment not included in the other fields", + "type": "string" + }, + "creators": { + "description": "Identify who (or what, in the case of a tool) created the SPDX file. If the SPDX file was created by an individual, indicate the person's name", + "items": { + "type": "string" + }, + "type": "array" + }, + "documentComment": { + "description": "A field for creators of the SPDX file content to provide comments to the consumers of the SPDX document", + "type": "string" + }, + "externalDocumentRefs": { + "description": "Identify any external SPDX documents referenced within this SPDX document", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "Identify the current SPDX document which may be referenced in relationships by other files, packages internally and documents externally", + "type": "string" + }, + "licenseListVersion": { + "description": "A field for creators of the SPDX file to provide the version of the SPDX License List used when the SPDX file was created", + "type": "string" + }, + "namespace": { + "description": "Provide an SPDX document specific namespace as a unique absolute Uniform Resource Identifier (URI) as specified in RFC-3986, with the exception of the \u2018#\u2019 delimiter", + "type": "string" + }, + "title": { + "description": "Identify name of this document as designated by creator", + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", "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": { + "description": "The bytes being signed", + "format": "byte", + "type": "string" + }, + "payloadType": { + "description": "The type of payload being signed", + "type": "string" + }, + "signatures": { + "description": "The signatures over the payload", + "items": { + "$ref": "EnvelopeSignature" + }, + "type": "array" + } + }, + "type": "object" + }, + "EnvelopeSignature": { + "description": "A DSSE signature", + "id": "EnvelopeSignature", + "properties": { + "keyid": { + "description": "A reference id to the key being used for signing", + "type": "string" + }, + "sig": { + "description": "The signature itself", + "format": "byte", + "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", @@ -1799,6 +3237,43 @@ }, "type": "object" }, + "ExternalRef": { + "description": "An External Reference allows a Package to reference an external source of additional information, metadata, enumerations, asset identifiers, or downloadable content believed to be relevant to the Package", + "id": "ExternalRef", + "properties": { + "category": { + "description": "An External Reference allows a Package to reference an external source of additional information, metadata, enumerations, asset identifiers, or downloadable content believed to be relevant to the Package", + "enum": [ + "CATEGORY_UNSPECIFIED", + "SECURITY", + "PACKAGE_MANAGER", + "PERSISTENT_ID", + "OTHER" + ], + "enumDescriptions": [ + "Unspecified", + "Security (e.g. cpe22Type, cpe23Type)", + "Package Manager (e.g. maven-central, npm, nuget, bower, purl)", + "Persistent-Id (e.g. swh)", + "Other" + ], + "type": "string" + }, + "comment": { + "description": "Human-readable information about the purpose and target of the reference", + "type": "string" + }, + "locator": { + "description": "The unique string with no spaces necessary to access the package-specific information, metadata, or content within the target location", + "type": "string" + }, + "type": { + "description": "Type of category (e.g. 'npm' for the PACKAGE_MANAGER category)", + "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", @@ -1813,6 +3288,104 @@ }, "type": "object" }, + "FileNote": { + "description": "FileNote represents an SPDX File Information section: https://spdx.github.io/spdx-spec/4-file-information/", + "id": "FileNote", + "properties": { + "checksum": { + "description": "Provide a unique identifier to match analysis information on each specific file in a package", + "items": { + "type": "string" + }, + "type": "array" + }, + "fileType": { + "description": "This field provides information about the type of file identified", + "enum": [ + "FILE_TYPE_UNSPECIFIED", + "SOURCE", + "BINARY", + "ARCHIVE", + "APPLICATION", + "AUDIO", + "IMAGE", + "TEXT", + "VIDEO", + "DOCUMENTATION", + "SPDX", + "OTHER" + ], + "enumDescriptions": [ + "Unspecified", + "The file is human readable source code (.c, .html, etc.)", + "The file is a compiled object, target image or binary executable (.o, .a, etc.)", + "The file represents an archive (.tar, .jar, etc.)", + "The file is associated with a specific application type (MIME type of application/*)", + "The file is associated with an audio file (MIME type of audio/* , e.g. .mp3)", + "The file is associated with an picture image file (MIME type of image/*, e.g., .jpg, .gif)", + "The file is human readable text file (MIME type of text/*)", + "The file is associated with a video file type (MIME type of video/*)", + "The file serves as documentation", + "The file is an SPDX document", + "The file doesn't fit into the above categories (generated artifacts, data files, etc.)" + ], + "type": "string" + }, + "title": { + "description": "Identify the full path and filename that corresponds to the file information in this section", + "type": "string" + } + }, + "type": "object" + }, + "FileOccurrence": { + "description": "FileOccurrence represents an SPDX File Information section: https://spdx.github.io/spdx-spec/4-file-information/", + "id": "FileOccurrence", + "properties": { + "attributions": { + "description": "This field provides a place for the SPDX data creator to record, at the file level, acknowledgements that may be needed to be communicated in some contexts", + "items": { + "type": "string" + }, + "type": "array" + }, + "comment": { + "description": "This field provides a place for the SPDX file creator to record any general comments about the file", + "type": "string" + }, + "contributors": { + "description": "This field provides a place for the SPDX file creator to record file contributors", + "items": { + "type": "string" + }, + "type": "array" + }, + "copyright": { + "description": "Identify the copyright holder of the file, as well as any dates present", + "type": "string" + }, + "filesLicenseInfo": { + "description": "This field contains the license information actually found in the file, if any", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "Uniquely identify any element in an SPDX document which may be referenced by other elements", + "type": "string" + }, + "licenseConcluded": { + "$ref": "License", + "description": "This field contains the license the SPDX file creator has concluded as governing the file or alternative values if the governing license cannot be determined" + }, + "notice": { + "description": "This field provides a place for the SPDX file creator to record license notices or other such related notices found in the file", + "type": "string" + } + }, + "type": "object" + }, "Fingerprint": { "description": "A set of properties that uniquely identify a given Docker image.", "id": "Fingerprint", @@ -1851,7 +3424,7 @@ "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).", + "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" } @@ -2053,6 +3626,60 @@ }, "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" + }, + "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", + "description": "provenance is a predicate of type intotoprovenance" + }, + "slsaProvenance": { + "$ref": "SlsaProvenance", + "description": "slsa_provenance is a predicate of type slsaProvenance" + }, + "subject": { + "description": "subject is the subjects of the intoto statement", + "items": { + "$ref": "Subject" + }, + "type": "array" + } + }, + "type": "object" + }, "Installation": { "description": "This represents how a particular software package may be installed on a system.", "id": "Installation", @@ -2126,6 +3753,21 @@ }, "type": "object" }, + "License": { + "description": "License information: https://spdx.github.io/spdx-spec/3-package-information/#315-declared-license", + "id": "License", + "properties": { + "comments": { + "description": "Comments", + "type": "string" + }, + "expression": { + "description": "Expression: https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/", + "type": "string" + } + }, + "type": "object" + }, "ListNoteOccurrencesResponse": { "description": "Response including listed occurrences for a note.", "id": "ListNoteOccurrencesResponse", @@ -2217,6 +3859,72 @@ }, "type": "object" }, + "Material": { + "description": "Material is a material used in the generation of the provenance", + "id": "Material", + "properties": { + "digest": { + "additionalProperties": { + "type": "string" + }, + "description": "digest is a map from a hash algorithm (e.g. sha256) to the value in the material", + "type": "object" + }, + "uri": { + "description": "uri is the uri of the material", + "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.", + "id": "NonCompliantFile", + "properties": { + "displayCommand": { + "description": "Command to display the non-compliant files.", + "type": "string" + }, + "path": { + "description": "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'. 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" + }, "Note": { "description": "Provides a detailed description of a `Note`.", "id": "Note", @@ -2233,6 +3941,10 @@ "$ref": "BuildType", "description": "Build provenance type for a verifiable build." }, + "compliance": { + "$ref": "ComplianceNote", + "description": "A note describing a compliance check." + }, "createTime": { "description": "Output only. The time this note was created. This field can be used as a filter in list requests.", "format": "google-datetime", @@ -2246,6 +3958,10 @@ "$ref": "Discovery", "description": "A note describing a provider/analysis type." }, + "dsseAttestation": { + "$ref": "DSSEAttestationNote", + "description": "A note describing a dsse attestation note." + }, "expirationTime": { "description": "Time of expiration for this note, null if note does not expire.", "format": "google-datetime", @@ -2262,7 +3978,13 @@ "DEPLOYABLE", "DISCOVERY", "ATTESTATION_AUTHORITY", - "UPGRADE" + "UPGRADE", + "COMPLIANCE", + "SBOM", + "SPDX_PACKAGE", + "SPDX_FILE", + "SPDX_RELATIONSHIP", + "DSSE_ATTESTATION" ], "enumDescriptions": [ "Unknown", @@ -2273,7 +3995,13 @@ "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 software upgrade." + "This represents an available software upgrade.", + "This represents a compliance check that can be applied to a resource.", + "This represents a software bill of materials.", + "This represents an SPDX Package.", + "This represents an SPDX File.", + "This represents an SPDX Relationship.", + "This represents a DSSE attestation Note" ], "type": "string" }, @@ -2296,10 +4024,26 @@ }, "type": "array" }, + "sbom": { + "$ref": "DocumentNote", + "description": "A note describing a software bill of materials." + }, "shortDescription": { "description": "A one sentence description of this `Note`.", "type": "string" }, + "spdxFile": { + "$ref": "FileNote", + "description": "A note describing an SPDX File." + }, + "spdxPackage": { + "$ref": "PackageInfoNote", + "description": "A note describing an SPDX Package." + }, + "spdxRelationship": { + "$ref": "RelationshipNote", + "description": "A note describing a relationship between SPDX elements." + }, "updateTime": { "description": "Output only. The time this note was last updated. This field can be used as a filter in list requests.", "format": "google-datetime", @@ -2328,6 +4072,10 @@ "$ref": "BuildDetails", "description": "Build details for a verifiable build." }, + "compliance": { + "$ref": "ComplianceOccurrence", + "description": "Describes whether or not a resource passes compliance checks." + }, "createTime": { "description": "Output only. The time this `Occurrence` was created.", "format": "google-datetime", @@ -2345,6 +4093,14 @@ "$ref": "Discovered", "description": "Describes the initial scan status for this resource." }, + "dsseAttestation": { + "$ref": "DSSEAttestationOccurrence", + "description": "This represents a DSSE attestation occurrence" + }, + "envelope": { + "$ref": "Envelope", + "description": "https://github.com/secure-systems-lab/dsse" + }, "installation": { "$ref": "Installation", "description": "Describes the installation of a package on the linked resource." @@ -2360,7 +4116,13 @@ "DEPLOYABLE", "DISCOVERY", "ATTESTATION_AUTHORITY", - "UPGRADE" + "UPGRADE", + "COMPLIANCE", + "SBOM", + "SPDX_PACKAGE", + "SPDX_FILE", + "SPDX_RELATIONSHIP", + "DSSE_ATTESTATION" ], "enumDescriptions": [ "Unknown", @@ -2371,7 +4133,13 @@ "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 software upgrade." + "This represents an available software upgrade.", + "This represents a compliance check that can be applied to a resource.", + "This represents a software bill of materials.", + "This represents an SPDX Package.", + "This represents an SPDX File.", + "This represents an SPDX Relationship.", + "This represents a DSSE attestation Note" ], "type": "string" }, @@ -2395,6 +4163,22 @@ "description": "The unique URL of the image or the container for which the `Occurrence` applies. For example, https://gcr.io/project/image@sha256:foo This field can be used as a filter in list requests.", "type": "string" }, + "sbom": { + "$ref": "DocumentOccurrence", + "description": "Describes a specific software bill of materials document." + }, + "spdxFile": { + "$ref": "FileOccurrence", + "description": "Describes a specific SPDX File." + }, + "spdxPackage": { + "$ref": "PackageInfoOccurrence", + "description": "Describes a specific SPDX Package." + }, + "spdxRelationship": { + "$ref": "RelationshipOccurrence", + "description": "Describes a specific relationship between SPDX elements." + }, "updateTime": { "description": "Output only. The time this `Occurrence` was last updated.", "format": "google-datetime", @@ -2464,6 +4248,139 @@ }, "type": "object" }, + "PackageInfoNote": { + "description": "PackageInfoNote represents an SPDX Package Information section: https://spdx.github.io/spdx-spec/3-package-information/", + "id": "PackageInfoNote", + "properties": { + "analyzed": { + "description": "Indicates whether the file content of this package has been available for or subjected to analysis when creating the SPDX document", + "type": "boolean" + }, + "attribution": { + "description": "A place for the SPDX data creator to record, at the package level, acknowledgements that may be needed to be communicated in some contexts", + "type": "string" + }, + "checksum": { + "description": "Provide an independently reproducible mechanism that permits unique identification of a specific package that correlates to the data in this SPDX file", + "type": "string" + }, + "copyright": { + "description": "Identify the copyright holders of the package, as well as any dates present", + "type": "string" + }, + "detailedDescription": { + "description": "A more detailed description of the package", + "type": "string" + }, + "downloadLocation": { + "description": "This section identifies the download Universal Resource Locator (URL), or a specific location within a version control system (VCS) for the package at the time that the SPDX file was created", + "type": "string" + }, + "externalRefs": { + "description": "ExternalRef", + "items": { + "$ref": "ExternalRef" + }, + "type": "array" + }, + "filesLicenseInfo": { + "description": "Contain the license the SPDX file creator has concluded as governing the This field is to contain a list of all licenses found in the package. The relationship between licenses (i.e., conjunctive, disjunctive) is not specified in this field \u2013 it is simply a listing of all licenses found", + "items": { + "type": "string" + }, + "type": "array" + }, + "homePage": { + "description": "Provide a place for the SPDX file creator to record a web site that serves as the package's home page", + "type": "string" + }, + "licenseDeclared": { + "$ref": "License", + "description": "List the licenses that have been declared by the authors of the package" + }, + "originator": { + "description": "If the package identified in the SPDX file originated from a different person or organization than identified as Package Supplier, this field identifies from where or whom the package originally came", + "type": "string" + }, + "packageType": { + "description": "The type of package: OS, MAVEN, GO, GO_STDLIB, etc.", + "type": "string" + }, + "summaryDescription": { + "description": "A short description of the package", + "type": "string" + }, + "supplier": { + "description": "Identify the actual distribution source for the package/directory identified in the SPDX file", + "type": "string" + }, + "title": { + "description": "Identify the full name of the package as given by the Package Originator", + "type": "string" + }, + "verificationCode": { + "description": "This field provides an independently reproducible mechanism identifying specific contents of a package based on the actual files (except the SPDX file itself, if it is included in the package) that make up each package and that correlates to the data in this SPDX file", + "type": "string" + }, + "version": { + "description": "Identify the version of the package", + "type": "string" + } + }, + "type": "object" + }, + "PackageInfoOccurrence": { + "description": "PackageInfoOccurrence represents an SPDX Package Information section: https://spdx.github.io/spdx-spec/3-package-information/", + "id": "PackageInfoOccurrence", + "properties": { + "comment": { + "description": "A place for the SPDX file creator to record any general comments about the package being described", + "type": "string" + }, + "filename": { + "description": "Provide the actual file name of the package, or path of the directory being treated as a package", + "type": "string" + }, + "homePage": { + "description": "Output only. Provide a place for the SPDX file creator to record a web site that serves as the package's home page", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Uniquely identify any element in an SPDX document which may be referenced by other elements", + "type": "string" + }, + "licenseConcluded": { + "$ref": "License", + "description": "package or alternative values, if the governing license cannot be determined" + }, + "packageType": { + "description": "Output only. The type of package: OS, MAVEN, GO, GO_STDLIB, etc.", + "readOnly": true, + "type": "string" + }, + "sourceInfo": { + "description": "Provide a place for the SPDX file creator to record any relevant background information or additional comments about the origin of the package", + "type": "string" + }, + "summaryDescription": { + "description": "Output only. A short description of the package", + "readOnly": true, + "type": "string" + }, + "title": { + "description": "Output only. Identify the full name of the package as given by the Package Originator", + "readOnly": true, + "type": "string" + }, + "version": { + "description": "Output only. Identify the version of the package", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "PackageIssue": { "description": "This message wraps a location affected by a vulnerability and its associated fix (if one is available).", "id": "PackageIssue", @@ -2472,10 +4389,35 @@ "$ref": "VulnerabilityLocation", "description": "The location of the 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 distro or language system has not yet assigned a severity for this vulnerability.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "MINIMAL", + "LOW", + "MEDIUM", + "HIGH", + "CRITICAL" + ], + "enumDescriptions": [ + "Unknown Impact", + "Minimal Impact", + "Low Impact", + "Medium Impact", + "High Impact", + "Critical Impact" + ], + "readOnly": true, + "type": "string" + }, "fixedLocation": { "$ref": "VulnerabilityLocation", "description": "The location of the available fix for vulnerability." }, + "packageType": { + "description": "The type of package (e.g. OS, MAVEN, GO).", + "type": "string" + }, "severityName": { "type": "string" } @@ -2510,11 +4452,11 @@ "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/).", + "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` 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.", + "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" }, @@ -2533,6 +4475,48 @@ }, "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.", + "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.", + "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", @@ -2548,6 +4532,225 @@ }, "type": "object" }, + "RelationshipNote": { + "description": "RelationshipNote represents an SPDX Relationship section: https://spdx.github.io/spdx-spec/7-relationships-between-SPDX-elements/", + "id": "RelationshipNote", + "properties": { + "type": { + "description": "The type of relationship between the source and target SPDX elements", + "enum": [ + "RELATIONSHIP_TYPE_UNSPECIFIED", + "DESCRIBES", + "DESCRIBED_BY", + "CONTAINS", + "CONTAINED_BY", + "DEPENDS_ON", + "DEPENDENCY_OF", + "DEPENDENCY_MANIFEST_OF", + "BUILD_DEPENDENCY_OF", + "DEV_DEPENDENCY_OF", + "OPTIONAL_DEPENDENCY_OF", + "PROVIDED_DEPENDENCY_OF", + "TEST_DEPENDENCY_OF", + "RUNTIME_DEPENDENCY_OF", + "EXAMPLE_OF", + "GENERATES", + "GENERATED_FROM", + "ANCESTOR_OF", + "DESCENDANT_OF", + "VARIANT_OF", + "DISTRIBUTION_ARTIFACT", + "PATCH_FOR", + "PATCH_APPLIED", + "COPY_OF", + "FILE_ADDED", + "FILE_DELETED", + "FILE_MODIFIED", + "EXPANDED_FROM_ARCHIVE", + "DYNAMIC_LINK", + "STATIC_LINK", + "DATA_FILE_OF", + "TEST_CASE_OF", + "BUILD_TOOL_OF", + "DEV_TOOL_OF", + "TEST_OF", + "TEST_TOOL_OF", + "DOCUMENTATION_OF", + "OPTIONAL_COMPONENT_OF", + "METAFILE_OF", + "PACKAGE_OF", + "AMENDS", + "PREREQUISITE_FOR", + "HAS_PREREQUISITE", + "OTHER" + ], + "enumDescriptions": [ + "Unspecified", + "Is to be used when SPDXRef-DOCUMENT describes SPDXRef-A", + "Is to be used when SPDXRef-A is described by SPDXREF-Document", + "Is to be used when SPDXRef-A contains SPDXRef-B", + "Is to be used when SPDXRef-A is contained by SPDXRef-B", + "Is to be used when SPDXRef-A depends on SPDXRef-B", + "Is to be used when SPDXRef-A is dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is a manifest file that lists a set of dependencies for SPDXRef-B", + "Is to be used when SPDXRef-A is a build dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is a development dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is an optional dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is a to be provided dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is a test dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is a dependency required for the execution of SPDXRef-B", + "Is to be used when SPDXRef-A is an example of SPDXRef-B", + "Is to be used when SPDXRef-A generates SPDXRef-B", + "Is to be used when SPDXRef-A was generated from SPDXRef-B", + "Is to be used when SPDXRef-A is an ancestor (same lineage but pre-dates) SPDXRef-B", + "Is to be used when SPDXRef-A is a descendant of (same lineage but postdates) SPDXRef-B", + "Is to be used when SPDXRef-A is a variant of (same lineage but not clear which came first) SPDXRef-B", + "Is to be used when distributing SPDXRef-A requires that SPDXRef-B also be distributed", + "Is to be used when SPDXRef-A is a patch file for (to be applied to) SPDXRef-B", + "Is to be used when SPDXRef-A is a patch file that has been applied to SPDXRef-B", + "Is to be used when SPDXRef-A is an exact copy of SPDXRef-B", + "Is to be used when SPDXRef-A is a file that was added to SPDXRef-B", + "Is to be used when SPDXRef-A is a file that was deleted from SPDXRef-B", + "Is to be used when SPDXRef-A is a file that was modified from SPDXRef-B", + "Is to be used when SPDXRef-A is expanded from the archive SPDXRef-B", + "Is to be used when SPDXRef-A dynamically links to SPDXRef-B", + "Is to be used when SPDXRef-A statically links to SPDXRef-B", + "Is to be used when SPDXRef-A is a data file used in SPDXRef-B", + "Is to be used when SPDXRef-A is a test case used in testing SPDXRef-B", + "Is to be used when SPDXRef-A is used to build SPDXRef-B", + "Is to be used when SPDXRef-A is used as a development tool for SPDXRef-B", + "Is to be used when SPDXRef-A is used for testing SPDXRef-B", + "Is to be used when SPDXRef-A is used as a test tool for SPDXRef-B", + "Is to be used when SPDXRef-A provides documentation of SPDXRef-B", + "Is to be used when SPDXRef-A is an optional component of SPDXRef-B", + "Is to be used when SPDXRef-A is a metafile of SPDXRef-B", + "Is to be used when SPDXRef-A is used as a package as part of SPDXRef-B", + "Is to be used when (current) SPDXRef-DOCUMENT amends the SPDX information in SPDXRef-B", + "Is to be used when SPDXRef-A is a prerequisite for SPDXRef-B", + "Is to be used when SPDXRef-A has as a prerequisite SPDXRef-B", + "Is to be used for a relationship which has not been defined in the formal SPDX specification. A description of the relationship should be included in the Relationship comments field" + ], + "type": "string" + } + }, + "type": "object" + }, + "RelationshipOccurrence": { + "description": "RelationshipOccurrence represents an SPDX Relationship section: https://spdx.github.io/spdx-spec/7-relationships-between-SPDX-elements/", + "id": "RelationshipOccurrence", + "properties": { + "comment": { + "description": "A place for the SPDX file creator to record any general comments about the relationship", + "type": "string" + }, + "source": { + "description": "Also referred to as SPDXRef-A The source SPDX element (file, package, etc)", + "type": "string" + }, + "target": { + "description": "Also referred to as SPDXRef-B The target SPDC element (file, package, etc) In cases where there are \"known unknowns\", the use of the keyword NOASSERTION can be used The keywords NONE can be used to indicate that an SPDX element (package/file/snippet) has no other elements connected by some relationship to it", + "type": "string" + }, + "type": { + "description": "Output only. The type of relationship between the source and target SPDX elements", + "enum": [ + "RELATIONSHIP_TYPE_UNSPECIFIED", + "DESCRIBES", + "DESCRIBED_BY", + "CONTAINS", + "CONTAINED_BY", + "DEPENDS_ON", + "DEPENDENCY_OF", + "DEPENDENCY_MANIFEST_OF", + "BUILD_DEPENDENCY_OF", + "DEV_DEPENDENCY_OF", + "OPTIONAL_DEPENDENCY_OF", + "PROVIDED_DEPENDENCY_OF", + "TEST_DEPENDENCY_OF", + "RUNTIME_DEPENDENCY_OF", + "EXAMPLE_OF", + "GENERATES", + "GENERATED_FROM", + "ANCESTOR_OF", + "DESCENDANT_OF", + "VARIANT_OF", + "DISTRIBUTION_ARTIFACT", + "PATCH_FOR", + "PATCH_APPLIED", + "COPY_OF", + "FILE_ADDED", + "FILE_DELETED", + "FILE_MODIFIED", + "EXPANDED_FROM_ARCHIVE", + "DYNAMIC_LINK", + "STATIC_LINK", + "DATA_FILE_OF", + "TEST_CASE_OF", + "BUILD_TOOL_OF", + "DEV_TOOL_OF", + "TEST_OF", + "TEST_TOOL_OF", + "DOCUMENTATION_OF", + "OPTIONAL_COMPONENT_OF", + "METAFILE_OF", + "PACKAGE_OF", + "AMENDS", + "PREREQUISITE_FOR", + "HAS_PREREQUISITE", + "OTHER" + ], + "enumDescriptions": [ + "Unspecified", + "Is to be used when SPDXRef-DOCUMENT describes SPDXRef-A", + "Is to be used when SPDXRef-A is described by SPDXREF-Document", + "Is to be used when SPDXRef-A contains SPDXRef-B", + "Is to be used when SPDXRef-A is contained by SPDXRef-B", + "Is to be used when SPDXRef-A depends on SPDXRef-B", + "Is to be used when SPDXRef-A is dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is a manifest file that lists a set of dependencies for SPDXRef-B", + "Is to be used when SPDXRef-A is a build dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is a development dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is an optional dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is a to be provided dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is a test dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is a dependency required for the execution of SPDXRef-B", + "Is to be used when SPDXRef-A is an example of SPDXRef-B", + "Is to be used when SPDXRef-A generates SPDXRef-B", + "Is to be used when SPDXRef-A was generated from SPDXRef-B", + "Is to be used when SPDXRef-A is an ancestor (same lineage but pre-dates) SPDXRef-B", + "Is to be used when SPDXRef-A is a descendant of (same lineage but postdates) SPDXRef-B", + "Is to be used when SPDXRef-A is a variant of (same lineage but not clear which came first) SPDXRef-B", + "Is to be used when distributing SPDXRef-A requires that SPDXRef-B also be distributed", + "Is to be used when SPDXRef-A is a patch file for (to be applied to) SPDXRef-B", + "Is to be used when SPDXRef-A is a patch file that has been applied to SPDXRef-B", + "Is to be used when SPDXRef-A is an exact copy of SPDXRef-B", + "Is to be used when SPDXRef-A is a file that was added to SPDXRef-B", + "Is to be used when SPDXRef-A is a file that was deleted from SPDXRef-B", + "Is to be used when SPDXRef-A is a file that was modified from SPDXRef-B", + "Is to be used when SPDXRef-A is expanded from the archive SPDXRef-B", + "Is to be used when SPDXRef-A dynamically links to SPDXRef-B", + "Is to be used when SPDXRef-A statically links to SPDXRef-B", + "Is to be used when SPDXRef-A is a data file used in SPDXRef-B", + "Is to be used when SPDXRef-A is a test case used in testing SPDXRef-B", + "Is to be used when SPDXRef-A is used to build SPDXRef-B", + "Is to be used when SPDXRef-A is used as a development tool for SPDXRef-B", + "Is to be used when SPDXRef-A is used for testing SPDXRef-B", + "Is to be used when SPDXRef-A is used as a test tool for SPDXRef-B", + "Is to be used when SPDXRef-A provides documentation of SPDXRef-B", + "Is to be used when SPDXRef-A is an optional component of SPDXRef-B", + "Is to be used when SPDXRef-A is a metafile of SPDXRef-B", + "Is to be used when SPDXRef-A is used as a package as part of SPDXRef-B", + "Is to be used when (current) SPDXRef-DOCUMENT amends the SPDX information in SPDXRef-B", + "Is to be used when SPDXRef-A is a prerequisite for SPDXRef-B", + "Is to be used when SPDXRef-A has as a prerequisite SPDXRef-B", + "Is to be used for a relationship which has not been defined in the formal SPDX specification. A description of the relationship should be included in the Relationship comments field" + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "RepoSource": { "description": "RepoSource describes the location of the source in a Google Cloud Source Repository.", "id": "RepoSource", @@ -2666,6 +4869,127 @@ }, "type": "object" }, + "SlsaBuilder": { + "description": "SlsaBuilder encapsulates the identity of the builder of this provenance.", + "id": "SlsaBuilder", + "properties": { + "id": { + "description": "id is the id of the slsa provenance builder", + "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": { + "description": "SlsaProvenance is the slsa provenance as defined by the slsa spec.", + "id": "SlsaProvenance", + "properties": { + "builder": { + "$ref": "SlsaBuilder", + "description": "builder is the builder of this provenance" + }, + "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", + "description": "metadata is the metadata of the provenance" + }, + "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)." + } + }, + "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", @@ -2750,6 +5074,24 @@ }, "type": "object" }, + "Subject": { + "description": "Subject refers to the subject of the intoto statement", + "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": { + "description": "name is the name of the Subject used here", + "type": "string" + } + }, + "type": "object" + }, "TestIamPermissionsRequest": { "description": "Request message for `TestIamPermissions` method.", "id": "TestIamPermissionsRequest", @@ -2908,8 +5250,12 @@ "format": "float", "type": "number" }, + "cvssV3": { + "$ref": "CVSS", + "description": "The CVSS v3 score of this vulnerability." + }, "effectiveSeverity": { - "description": "The distro assigned severity for this vulnerability when that is available and note provider assigned severity when distro has not yet assigned a severity for this vulnerability.", + "description": "The distro assigned severity for this vulnerability when that is available and note provider assigned severity when distro has not yet assigned a severity for this vulnerability. When there are multiple package issues for this vulnerability, they can have different effective severities because some might come from the distro and some might come from installed language packs (e.g. Maven JARs or Go binaries). For this reason, it is advised to use the effective severity on the PackageIssue level, as this field may eventually be deprecated. In the case where multiple PackageIssues have different effective severities, the one set here will be the highest severity of any of the PackageIssues.", "enum": [ "SEVERITY_UNSPECIFIED", "MINIMAL", @@ -2956,7 +5302,7 @@ "type": "string" }, "type": { - "description": "The type of package; whether native or non native(ruby gems, node.js packages etc)", + "description": "The type of package; whether native or non native(ruby gems, node.js packages etc). This may be deprecated in the future because we can have multiple PackageIssues with different package types.", "type": "string" } }, diff --git a/etc/api/containeranalysis/v1beta1/containeranalysis-api.json b/etc/api/containeranalysis/v1beta1/containeranalysis-api.json index 9517bdb5ef..8bf6786be7 100644 --- a/etc/api/containeranalysis/v1beta1/containeranalysis-api.json +++ b/etc/api/containeranalysis/v1beta1/containeranalysis-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -853,7 +853,7 @@ } } }, - "revision": "20210326", + "revision": "20220225", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AliasContext": { @@ -1025,22 +1025,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -1375,6 +1375,974 @@ }, "type": "object" }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig": { + "description": "ApprovalConfig describes configuration for manual approval of a build.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult": { + "description": "ApprovalResult describes the decision and associated metadata of a manual approval of a build.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts": { + "description": "Artifacts produced by a build that should be uploaded upon successful completion of all build steps.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts", + "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" + }, + "objects": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects", + "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." + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects": { + "description": "Files in the workspace to upload to Cloud Storage upon successful completion of all build steps.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", + "description": "Output only. Stores timing information for pushing all artifact objects.", + "readOnly": true + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Build": { + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1Build", + "properties": { + "approval": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval", + "description": "Output only. Describes this build's approval configuration, status, and result.", + "readOnly": true + }, + "artifacts": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts", + "description": "Artifacts produced by the build that should be uploaded upon successful completion of all build steps." + }, + "availableSecrets": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1Results", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1Secret" + }, + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1Source", + "description": "The location of the source files to build." + }, + "sourceProvenance": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep" + }, + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan" + }, + "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 specified images. * 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": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval": { + "description": "BuildApproval describes a build's approval configuration, state, and result.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval", + "properties": { + "config": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig", + "description": "Output only. Configuration for manual approval of this build.", + "readOnly": true + }, + "result": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo": { + "description": "A fatal problem encountered during the execution of the build.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions": { + "description": "Optional arguments to enable specific features of builds.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions", + "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 1000GB; 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": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption", + "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. (default)", + "Verified build." + ], + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1Volume" + }, + "type": "array" + }, + "workerPool": { + "description": "This field deprecated; please use `pool.name` instead.", + "type": "string" + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption": { + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep": { + "description": "A step in the build pipeline.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep", + "properties": { + "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" + }, + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1Volume" + }, + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning": { + "description": "A non-fatal problem encountered during the execution of the build.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage": { + "description": "An image built by the pipeline.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage", + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", + "description": "Output only. Stores timing information for pushing the specified image.", + "readOnly": true + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes": { + "description": "Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes", + "properties": { + "fileHash": { + "description": "Collection of file hashes.", + "items": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1Hash" + }, + "type": "array" + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Hash": { + "description": "Container message for hash values.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Hash", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret": { + "description": "Pairs a set of secret environment variables mapped to encrypted values with the Cloud KMS key to use to decrypt the value.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource": { + "description": "Location of the source in a Google Cloud Source Repository.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Results": { + "description": "Artifacts created by the build pipeline.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Results", + "properties": { + "artifactManifest": { + "description": "Path to the artifact manifest. Only populated when artifacts are uploaded.", + "type": "string" + }, + "artifactTiming": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", + "description": "Time to push all non-container artifacts." + }, + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage" + }, + "type": "array" + }, + "numArtifacts": { + "description": "Number of artifacts uploaded. Only populated when artifacts are uploaded.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Secret": { + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1Secret", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret": { + "description": "Pairs a secret environment variable with a SecretVersion in Secret Manager.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets": { + "description": "Secrets and secret environment variables.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets", + "properties": { + "inline": { + "description": "Secrets encrypted with KMS key and the associated secret environment variable.", + "items": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret" + }, + "type": "array" + }, + "secretManager": { + "description": "Secrets in Secret Manager and associated secret environment variable.", + "items": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret" + }, + "type": "array" + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Source": { + "description": "Location of the source in a supported storage service.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Source", + "properties": { + "repoSource": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource", + "description": "If provided, get the source from this location in a Cloud Source Repository." + }, + "storageSource": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource", + "description": "If provided, get the source from this location in Google Cloud Storage." + }, + "storageSourceManifest": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance": { + "description": "Provenance of the source. Ways to find the original source, or verify that some source was used for this build.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance", + "properties": { + "fileHashes": { + "additionalProperties": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes" + }, + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource", + "description": "A copy of the build's `source.repo_source`, if exists, with any revisions resolved." + }, + "resolvedStorageSource": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource", + "description": "A copy of the build's `source.storage_source`, if exists, with any generations resolved." + }, + "resolvedStorageSourceManifest": { + "$ref": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest", + "description": "A copy of the build's `source.storage_source_manifest`, if exists, with any revisions resolved. This feature is in Preview." + } + }, + "type": "object" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource": { + "description": "Location of the source in an archive file in Google Cloud Storage.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest": { + "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": "ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan": { + "description": "Start and end times for a build execution phase.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan", + "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" + }, + "ContaineranalysisGoogleDevtoolsCloudbuildV1Volume": { + "description": "Volume describes a Docker container volume which is mounted into build steps in order to persist files across build step execution.", + "id": "ContaineranalysisGoogleDevtoolsCloudbuildV1Volume", + "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" + }, "Deployable": { "description": "An artifact that can be deployed in some runtime.", "id": "Deployable", @@ -1600,7 +2568,11 @@ "DEPLOYMENT", "DISCOVERY", "ATTESTATION", - "INTOTO" + "INTOTO", + "SBOM", + "SPDX_PACKAGE", + "SPDX_FILE", + "SPDX_RELATIONSHIP" ], "enumDescriptions": [ "Default value. This value is unused.", @@ -1611,7 +2583,11 @@ "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 in-toto link." + "This represents an in-toto link.", + "This represents a software bill of materials.", + "This represents an SPDX Package.", + "This represents an SPDX File.", + "This represents an SPDX Relationship." ], "type": "string" } @@ -1659,6 +2635,71 @@ }, "type": "object" }, + "DocumentNote": { + "description": "DocumentNote represents an SPDX Document Creation Infromation section: https://spdx.github.io/spdx-spec/2-document-creation-information/", + "id": "DocumentNote", + "properties": { + "dataLicence": { + "description": "Compliance with the SPDX specification includes populating the SPDX fields therein with data related to such fields (\"SPDX-Metadata\")", + "type": "string" + }, + "spdxVersion": { + "description": "Provide a reference number that can be used to understand how to parse and interpret the rest of the file", + "type": "string" + } + }, + "type": "object" + }, + "DocumentOccurrence": { + "description": "DocumentOccurrence represents an SPDX Document Creation Information section: https://spdx.github.io/spdx-spec/2-document-creation-information/", + "id": "DocumentOccurrence", + "properties": { + "createTime": { + "description": "Identify when the SPDX file was originally created. The date is to be specified according to combined date and time in UTC format as specified in ISO 8601 standard", + "format": "google-datetime", + "type": "string" + }, + "creatorComment": { + "description": "A field for creators of the SPDX file to provide general comments about the creation of the SPDX file or any other relevant comment not included in the other fields", + "type": "string" + }, + "creators": { + "description": "Identify who (or what, in the case of a tool) created the SPDX file. If the SPDX file was created by an individual, indicate the person's name", + "items": { + "type": "string" + }, + "type": "array" + }, + "documentComment": { + "description": "A field for creators of the SPDX file content to provide comments to the consumers of the SPDX document", + "type": "string" + }, + "externalDocumentRefs": { + "description": "Identify any external SPDX documents referenced within this SPDX document", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "Identify the current SPDX document which may be referenced in relationships by other files, packages internally and documents externally", + "type": "string" + }, + "licenseListVersion": { + "description": "A field for creators of the SPDX file to provide the version of the SPDX License List used when the SPDX file was created", + "type": "string" + }, + "namespace": { + "description": "Provide an SPDX document specific namespace as a unique absolute Uniform Resource Identifier (URI) as specified in RFC-3986, with the exception of the \u2018#\u2019 delimiter", + "type": "string" + }, + "title": { + "description": "Identify name of this document as designated by creator", + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", "id": "Empty", @@ -1701,6 +2742,43 @@ }, "type": "object" }, + "ExternalRef": { + "description": "An External Reference allows a Package to reference an external source of additional information, metadata, enumerations, asset identifiers, or downloadable content believed to be relevant to the Package", + "id": "ExternalRef", + "properties": { + "category": { + "description": "An External Reference allows a Package to reference an external source of additional information, metadata, enumerations, asset identifiers, or downloadable content believed to be relevant to the Package", + "enum": [ + "CATEGORY_UNSPECIFIED", + "SECURITY", + "PACKAGE_MANAGER", + "PERSISTENT_ID", + "OTHER" + ], + "enumDescriptions": [ + "Unspecified", + "Security (e.g. cpe22Type, cpe23Type)", + "Package Manager (e.g. maven-central, npm, nuget, bower, purl)", + "Persistent-Id (e.g. swh)", + "Other" + ], + "type": "string" + }, + "comment": { + "description": "Human-readable information about the purpose and target of the reference", + "type": "string" + }, + "locator": { + "description": "The unique string with no spaces necessary to access the package-specific information, metadata, or content within the target location", + "type": "string" + }, + "type": { + "description": "Type of category (e.g. 'npm' for the PACKAGE_MANAGER category)", + "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", @@ -1715,6 +2793,104 @@ }, "type": "object" }, + "FileNote": { + "description": "FileNote represents an SPDX File Information section: https://spdx.github.io/spdx-spec/4-file-information/", + "id": "FileNote", + "properties": { + "checksum": { + "description": "Provide a unique identifier to match analysis information on each specific file in a package", + "items": { + "type": "string" + }, + "type": "array" + }, + "fileType": { + "description": "This field provides information about the type of file identified", + "enum": [ + "FILE_TYPE_UNSPECIFIED", + "SOURCE", + "BINARY", + "ARCHIVE", + "APPLICATION", + "AUDIO", + "IMAGE", + "TEXT", + "VIDEO", + "DOCUMENTATION", + "SPDX", + "OTHER" + ], + "enumDescriptions": [ + "Unspecified", + "The file is human readable source code (.c, .html, etc.)", + "The file is a compiled object, target image or binary executable (.o, .a, etc.)", + "The file represents an archive (.tar, .jar, etc.)", + "The file is associated with a specific application type (MIME type of application/*)", + "The file is associated with an audio file (MIME type of audio/* , e.g. .mp3)", + "The file is associated with an picture image file (MIME type of image/*, e.g., .jpg, .gif)", + "The file is human readable text file (MIME type of text/*)", + "The file is associated with a video file type (MIME type of video/*)", + "The file serves as documentation", + "The file is an SPDX document", + "The file doesn't fit into the above categories (generated artifacts, data files, etc.)" + ], + "type": "string" + }, + "title": { + "description": "Identify the full path and filename that corresponds to the file information in this section", + "type": "string" + } + }, + "type": "object" + }, + "FileOccurrence": { + "description": "FileOccurrence represents an SPDX File Information section: https://spdx.github.io/spdx-spec/4-file-information/", + "id": "FileOccurrence", + "properties": { + "attributions": { + "description": "This field provides a place for the SPDX data creator to record, at the file level, acknowledgements that may be needed to be communicated in some contexts", + "items": { + "type": "string" + }, + "type": "array" + }, + "comment": { + "description": "This field provides a place for the SPDX file creator to record any general comments about the file", + "type": "string" + }, + "contributors": { + "description": "This field provides a place for the SPDX file creator to record file contributors", + "items": { + "type": "string" + }, + "type": "array" + }, + "copyright": { + "description": "Identify the copyright holder of the file, as well as any dates present", + "type": "string" + }, + "filesLicenseInfo": { + "description": "This field contains the license information actually found in the file, if any", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "Uniquely identify any element in an SPDX document which may be referenced by other elements", + "type": "string" + }, + "licenseConcluded": { + "$ref": "License", + "description": "This field contains the license the SPDX file creator has concluded as governing the file or alternative values if the governing license cannot be determined" + }, + "notice": { + "description": "This field provides a place for the SPDX file creator to record license notices or other such related notices found in the file", + "type": "string" + } + }, + "type": "object" + }, "Fingerprint": { "description": "A set of properties that uniquely identify a given Docker image.", "id": "Fingerprint", @@ -1848,7 +3024,7 @@ "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).", + "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" } @@ -1997,7 +3173,7 @@ "type": "number" }, "effectiveSeverity": { - "description": "The distro assigned severity for this vulnerability when it is available, and note provider assigned severity when distro has not yet assigned a severity for this vulnerability.", + "description": "The distro assigned severity for this vulnerability when it is available, and note provider assigned severity when distro has not yet assigned a severity for this vulnerability. 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", @@ -2230,6 +3406,21 @@ }, "type": "object" }, + "License": { + "description": "License information: https://spdx.github.io/spdx-spec/3-package-information/#315-declared-license", + "id": "License", + "properties": { + "comments": { + "description": "Comments", + "type": "string" + }, + "expression": { + "description": "Expression: https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/", + "type": "string" + } + }, + "type": "object" + }, "Link": { "description": "This corresponds to an in-toto link.", "id": "Link", @@ -2406,7 +3597,11 @@ "DEPLOYMENT", "DISCOVERY", "ATTESTATION", - "INTOTO" + "INTOTO", + "SBOM", + "SPDX_PACKAGE", + "SPDX_FILE", + "SPDX_RELATIONSHIP" ], "enumDescriptions": [ "Default value. This value is unused.", @@ -2417,7 +3612,11 @@ "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 in-toto link." + "This represents an in-toto link.", + "This represents a software bill of materials.", + "This represents an SPDX Package.", + "This represents an SPDX File.", + "This represents an SPDX Relationship." ], "type": "string" }, @@ -2447,10 +3646,26 @@ }, "type": "array" }, + "sbom": { + "$ref": "DocumentNote", + "description": "A note describing a software bill of materials." + }, "shortDescription": { "description": "A one sentence description of this note.", "type": "string" }, + "spdxFile": { + "$ref": "FileNote", + "description": "A note describing an SPDX File." + }, + "spdxPackage": { + "$ref": "PackageInfoNote", + "description": "A note describing an SPDX Package." + }, + "spdxRelationship": { + "$ref": "RelationshipNote", + "description": "A note describing an SPDX File." + }, "updateTime": { "description": "Output only. The time this note was last updated. This field can be used as a filter in list requests.", "format": "google-datetime", @@ -2511,7 +3726,11 @@ "DEPLOYMENT", "DISCOVERY", "ATTESTATION", - "INTOTO" + "INTOTO", + "SBOM", + "SPDX_PACKAGE", + "SPDX_FILE", + "SPDX_RELATIONSHIP" ], "enumDescriptions": [ "Default value. This value is unused.", @@ -2522,7 +3741,11 @@ "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 in-toto link." + "This represents an in-toto link.", + "This represents a software bill of materials.", + "This represents an SPDX Package.", + "This represents an SPDX File.", + "This represents an SPDX Relationship." ], "type": "string" }, @@ -2542,6 +3765,22 @@ "$ref": "Resource", "description": "Required. Immutable. The resource for which the occurrence applies." }, + "sbom": { + "$ref": "DocumentOccurrence", + "description": "Describes a specific software bill of materials document." + }, + "spdxFile": { + "$ref": "FileOccurrence", + "description": "Describes a specific SPDX File." + }, + "spdxPackage": { + "$ref": "PackageInfoOccurrence", + "description": "Describes a specific SPDX Package." + }, + "spdxRelationship": { + "$ref": "RelationshipOccurrence", + "description": "Describes a specific SPDX Relationship." + }, "updateTime": { "description": "Output only. The time this occurrence was last updated.", "format": "google-datetime", @@ -2572,6 +3811,139 @@ }, "type": "object" }, + "PackageInfoNote": { + "description": "PackageInfoNote represents an SPDX Package Information section: https://spdx.github.io/spdx-spec/3-package-information/", + "id": "PackageInfoNote", + "properties": { + "analyzed": { + "description": "Indicates whether the file content of this package has been available for or subjected to analysis when creating the SPDX document", + "type": "boolean" + }, + "attribution": { + "description": "A place for the SPDX data creator to record, at the package level, acknowledgements that may be needed to be communicated in some contexts", + "type": "string" + }, + "checksum": { + "description": "Provide an independently reproducible mechanism that permits unique identification of a specific package that correlates to the data in this SPDX file", + "type": "string" + }, + "copyright": { + "description": "Identify the copyright holders of the package, as well as any dates present", + "type": "string" + }, + "detailedDescription": { + "description": "A more detailed description of the package", + "type": "string" + }, + "downloadLocation": { + "description": "This section identifies the download Universal Resource Locator (URL), or a specific location within a version control system (VCS) for the package at the time that the SPDX file was created", + "type": "string" + }, + "externalRefs": { + "description": "ExternalRef", + "items": { + "$ref": "ExternalRef" + }, + "type": "array" + }, + "filesLicenseInfo": { + "description": "Contain the license the SPDX file creator has concluded as governing the This field is to contain a list of all licenses found in the package. The relationship between licenses (i.e., conjunctive, disjunctive) is not specified in this field \u2013 it is simply a listing of all licenses found", + "items": { + "type": "string" + }, + "type": "array" + }, + "homePage": { + "description": "Provide a place for the SPDX file creator to record a web site that serves as the package's home page", + "type": "string" + }, + "licenseDeclared": { + "$ref": "License", + "description": "List the licenses that have been declared by the authors of the package" + }, + "originator": { + "description": "If the package identified in the SPDX file originated from a different person or organization than identified as Package Supplier, this field identifies from where or whom the package originally came", + "type": "string" + }, + "packageType": { + "description": "The type of package: OS, MAVEN, GO, GO_STDLIB, etc.", + "type": "string" + }, + "summaryDescription": { + "description": "A short description of the package", + "type": "string" + }, + "supplier": { + "description": "Identify the actual distribution source for the package/directory identified in the SPDX file", + "type": "string" + }, + "title": { + "description": "Identify the full name of the package as given by the Package Originator", + "type": "string" + }, + "verificationCode": { + "description": "This field provides an independently reproducible mechanism identifying specific contents of a package based on the actual files (except the SPDX file itself, if it is included in the package) that make up each package and that correlates to the data in this SPDX file", + "type": "string" + }, + "version": { + "description": "Identify the version of the package", + "type": "string" + } + }, + "type": "object" + }, + "PackageInfoOccurrence": { + "description": "PackageInfoOccurrence represents an SPDX Package Information section: https://spdx.github.io/spdx-spec/3-package-information/", + "id": "PackageInfoOccurrence", + "properties": { + "comment": { + "description": "A place for the SPDX file creator to record any general comments about the package being described", + "type": "string" + }, + "filename": { + "description": "Provide the actual file name of the package, or path of the directory being treated as a package", + "type": "string" + }, + "homePage": { + "description": "Output only. Provide a place for the SPDX file creator to record a web site that serves as the package's home page", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Uniquely identify any element in an SPDX document which may be referenced by other elements", + "type": "string" + }, + "licenseConcluded": { + "$ref": "License", + "description": "package or alternative values, if the governing license cannot be determined" + }, + "packageType": { + "description": "Output only. The type of package: OS, MAVEN, GO, GO_STDLIB, etc.", + "readOnly": true, + "type": "string" + }, + "sourceInfo": { + "description": "Provide a place for the SPDX file creator to record any relevant background information or additional comments about the origin of the package", + "type": "string" + }, + "summaryDescription": { + "description": "Output only. A short description of the package", + "readOnly": true, + "type": "string" + }, + "title": { + "description": "Output only. Identify the full name of the package as given by the Package Originator", + "readOnly": true, + "type": "string" + }, + "version": { + "description": "Output only. Identify the version of the package", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "PackageIssue": { "description": "This message wraps a location affected by a vulnerability and its associated fix (if one is available).", "id": "PackageIssue", @@ -2580,10 +3952,35 @@ "$ref": "VulnerabilityLocation", "description": "Required. The location of the 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" + }, "fixedLocation": { "$ref": "VulnerabilityLocation", "description": "The location of the available fix for vulnerability." }, + "packageType": { + "description": "The type of package (e.g. OS, MAVEN, GO).", + "type": "string" + }, "severityName": { "description": "Deprecated, use Details.effective_severity instead The severity (e.g., distro assigned severity) for this vulnerability.", "type": "string" @@ -2619,11 +4016,11 @@ "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/).", + "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` 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.", + "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" }, @@ -2672,6 +4069,225 @@ }, "type": "object" }, + "RelationshipNote": { + "description": "RelationshipNote represents an SPDX Relationship section: https://spdx.github.io/spdx-spec/7-relationships-between-SPDX-elements/", + "id": "RelationshipNote", + "properties": { + "type": { + "description": "The type of relationship between the source and target SPDX elements", + "enum": [ + "RELATIONSHIP_TYPE_UNSPECIFIED", + "DESCRIBES", + "DESCRIBED_BY", + "CONTAINS", + "CONTAINED_BY", + "DEPENDS_ON", + "DEPENDENCY_OF", + "DEPENDENCY_MANIFEST_OF", + "BUILD_DEPENDENCY_OF", + "DEV_DEPENDENCY_OF", + "OPTIONAL_DEPENDENCY_OF", + "PROVIDED_DEPENDENCY_OF", + "TEST_DEPENDENCY_OF", + "RUNTIME_DEPENDENCY_OF", + "EXAMPLE_OF", + "GENERATES", + "GENERATED_FROM", + "ANCESTOR_OF", + "DESCENDANT_OF", + "VARIANT_OF", + "DISTRIBUTION_ARTIFACT", + "PATCH_FOR", + "PATCH_APPLIED", + "COPY_OF", + "FILE_ADDED", + "FILE_DELETED", + "FILE_MODIFIED", + "EXPANDED_FROM_ARCHIVE", + "DYNAMIC_LINK", + "STATIC_LINK", + "DATA_FILE_OF", + "TEST_CASE_OF", + "BUILD_TOOL_OF", + "DEV_TOOL_OF", + "TEST_OF", + "TEST_TOOL_OF", + "DOCUMENTATION_OF", + "OPTIONAL_COMPONENT_OF", + "METAFILE_OF", + "PACKAGE_OF", + "AMENDS", + "PREREQUISITE_FOR", + "HAS_PREREQUISITE", + "OTHER" + ], + "enumDescriptions": [ + "Unspecified", + "Is to be used when SPDXRef-DOCUMENT describes SPDXRef-A", + "Is to be used when SPDXRef-A is described by SPDXREF-Document", + "Is to be used when SPDXRef-A contains SPDXRef-B", + "Is to be used when SPDXRef-A is contained by SPDXRef-B", + "Is to be used when SPDXRef-A depends on SPDXRef-B", + "Is to be used when SPDXRef-A is dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is a manifest file that lists a set of dependencies for SPDXRef-B", + "Is to be used when SPDXRef-A is a build dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is a development dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is an optional dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is a to be provided dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is a test dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is a dependency required for the execution of SPDXRef-B", + "Is to be used when SPDXRef-A is an example of SPDXRef-B", + "Is to be used when SPDXRef-A generates SPDXRef-B", + "Is to be used when SPDXRef-A was generated from SPDXRef-B", + "Is to be used when SPDXRef-A is an ancestor (same lineage but pre-dates) SPDXRef-B", + "Is to be used when SPDXRef-A is a descendant of (same lineage but postdates) SPDXRef-B", + "Is to be used when SPDXRef-A is a variant of (same lineage but not clear which came first) SPDXRef-B", + "Is to be used when distributing SPDXRef-A requires that SPDXRef-B also be distributed", + "Is to be used when SPDXRef-A is a patch file for (to be applied to) SPDXRef-B", + "Is to be used when SPDXRef-A is a patch file that has been applied to SPDXRef-B", + "Is to be used when SPDXRef-A is an exact copy of SPDXRef-B", + "Is to be used when SPDXRef-A is a file that was added to SPDXRef-B", + "Is to be used when SPDXRef-A is a file that was deleted from SPDXRef-B", + "Is to be used when SPDXRef-A is a file that was modified from SPDXRef-B", + "Is to be used when SPDXRef-A is expanded from the archive SPDXRef-B", + "Is to be used when SPDXRef-A dynamically links to SPDXRef-B", + "Is to be used when SPDXRef-A statically links to SPDXRef-B", + "Is to be used when SPDXRef-A is a data file used in SPDXRef-B", + "Is to be used when SPDXRef-A is a test case used in testing SPDXRef-B", + "Is to be used when SPDXRef-A is used to build SPDXRef-B", + "Is to be used when SPDXRef-A is used as a development tool for SPDXRef-B", + "Is to be used when SPDXRef-A is used for testing SPDXRef-B", + "Is to be used when SPDXRef-A is used as a test tool for SPDXRef-B", + "Is to be used when SPDXRef-A provides documentation of SPDXRef-B", + "Is to be used when SPDXRef-A is an optional component of SPDXRef-B", + "Is to be used when SPDXRef-A is a metafile of SPDXRef-B", + "Is to be used when SPDXRef-A is used as a package as part of SPDXRef-B", + "Is to be used when (current) SPDXRef-DOCUMENT amends the SPDX information in SPDXRef-B", + "Is to be used when SPDXRef-A is a prerequisite for SPDXRef-B", + "Is to be used when SPDXRef-A has as a prerequisite SPDXRef-B", + "Is to be used for a relationship which has not been defined in the formal SPDX specification. A description of the relationship should be included in the Relationship comments field" + ], + "type": "string" + } + }, + "type": "object" + }, + "RelationshipOccurrence": { + "description": "RelationshipOccurrence represents an SPDX Relationship section: https://spdx.github.io/spdx-spec/7-relationships-between-SPDX-elements/", + "id": "RelationshipOccurrence", + "properties": { + "comment": { + "description": "A place for the SPDX file creator to record any general comments about the relationship", + "type": "string" + }, + "source": { + "description": "Also referred to as SPDXRef-A The source SPDX element (file, package, etc)", + "type": "string" + }, + "target": { + "description": "Also referred to as SPDXRef-B The target SPDC element (file, package, etc) In cases where there are \"known unknowns\", the use of the keyword NOASSERTION can be used The keywords NONE can be used to indicate that an SPDX element (package/file/snippet) has no other elements connected by some relationship to it", + "type": "string" + }, + "type": { + "description": "Output only. The type of relationship between the source and target SPDX elements", + "enum": [ + "RELATIONSHIP_TYPE_UNSPECIFIED", + "DESCRIBES", + "DESCRIBED_BY", + "CONTAINS", + "CONTAINED_BY", + "DEPENDS_ON", + "DEPENDENCY_OF", + "DEPENDENCY_MANIFEST_OF", + "BUILD_DEPENDENCY_OF", + "DEV_DEPENDENCY_OF", + "OPTIONAL_DEPENDENCY_OF", + "PROVIDED_DEPENDENCY_OF", + "TEST_DEPENDENCY_OF", + "RUNTIME_DEPENDENCY_OF", + "EXAMPLE_OF", + "GENERATES", + "GENERATED_FROM", + "ANCESTOR_OF", + "DESCENDANT_OF", + "VARIANT_OF", + "DISTRIBUTION_ARTIFACT", + "PATCH_FOR", + "PATCH_APPLIED", + "COPY_OF", + "FILE_ADDED", + "FILE_DELETED", + "FILE_MODIFIED", + "EXPANDED_FROM_ARCHIVE", + "DYNAMIC_LINK", + "STATIC_LINK", + "DATA_FILE_OF", + "TEST_CASE_OF", + "BUILD_TOOL_OF", + "DEV_TOOL_OF", + "TEST_OF", + "TEST_TOOL_OF", + "DOCUMENTATION_OF", + "OPTIONAL_COMPONENT_OF", + "METAFILE_OF", + "PACKAGE_OF", + "AMENDS", + "PREREQUISITE_FOR", + "HAS_PREREQUISITE", + "OTHER" + ], + "enumDescriptions": [ + "Unspecified", + "Is to be used when SPDXRef-DOCUMENT describes SPDXRef-A", + "Is to be used when SPDXRef-A is described by SPDXREF-Document", + "Is to be used when SPDXRef-A contains SPDXRef-B", + "Is to be used when SPDXRef-A is contained by SPDXRef-B", + "Is to be used when SPDXRef-A depends on SPDXRef-B", + "Is to be used when SPDXRef-A is dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is a manifest file that lists a set of dependencies for SPDXRef-B", + "Is to be used when SPDXRef-A is a build dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is a development dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is an optional dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is a to be provided dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is a test dependency of SPDXRef-B", + "Is to be used when SPDXRef-A is a dependency required for the execution of SPDXRef-B", + "Is to be used when SPDXRef-A is an example of SPDXRef-B", + "Is to be used when SPDXRef-A generates SPDXRef-B", + "Is to be used when SPDXRef-A was generated from SPDXRef-B", + "Is to be used when SPDXRef-A is an ancestor (same lineage but pre-dates) SPDXRef-B", + "Is to be used when SPDXRef-A is a descendant of (same lineage but postdates) SPDXRef-B", + "Is to be used when SPDXRef-A is a variant of (same lineage but not clear which came first) SPDXRef-B", + "Is to be used when distributing SPDXRef-A requires that SPDXRef-B also be distributed", + "Is to be used when SPDXRef-A is a patch file for (to be applied to) SPDXRef-B", + "Is to be used when SPDXRef-A is a patch file that has been applied to SPDXRef-B", + "Is to be used when SPDXRef-A is an exact copy of SPDXRef-B", + "Is to be used when SPDXRef-A is a file that was added to SPDXRef-B", + "Is to be used when SPDXRef-A is a file that was deleted from SPDXRef-B", + "Is to be used when SPDXRef-A is a file that was modified from SPDXRef-B", + "Is to be used when SPDXRef-A is expanded from the archive SPDXRef-B", + "Is to be used when SPDXRef-A dynamically links to SPDXRef-B", + "Is to be used when SPDXRef-A statically links to SPDXRef-B", + "Is to be used when SPDXRef-A is a data file used in SPDXRef-B", + "Is to be used when SPDXRef-A is a test case used in testing SPDXRef-B", + "Is to be used when SPDXRef-A is used to build SPDXRef-B", + "Is to be used when SPDXRef-A is used as a development tool for SPDXRef-B", + "Is to be used when SPDXRef-A is used for testing SPDXRef-B", + "Is to be used when SPDXRef-A is used as a test tool for SPDXRef-B", + "Is to be used when SPDXRef-A provides documentation of SPDXRef-B", + "Is to be used when SPDXRef-A is an optional component of SPDXRef-B", + "Is to be used when SPDXRef-A is a metafile of SPDXRef-B", + "Is to be used when SPDXRef-A is used as a package as part of SPDXRef-B", + "Is to be used when (current) SPDXRef-DOCUMENT amends the SPDX information in SPDXRef-B", + "Is to be used when SPDXRef-A is a prerequisite for SPDXRef-B", + "Is to be used when SPDXRef-A has as a prerequisite SPDXRef-B", + "Is to be used for a relationship which has not been defined in the formal SPDX specification. A description of the relationship should be included in the Relationship comments field" + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "RepoId": { "description": "A unique identifier for a Cloud Repo.", "id": "RepoId", diff --git a/etc/api/content/v2.1/content-api.json b/etc/api/content/v2.1/content-api.json index f1e26527bc..4dac64840d 100644 --- a/etc/api/content/v2.1/content-api.json +++ b/etc/api/content/v2.1/content-api.json @@ -147,7 +147,7 @@ "type": "string" }, "overwrite": { - "description": "Only available to selected merchants. When set to `True`, this flag removes any existing claim on the requested website by another account and replaces it with a claim from this account.", + "description": "Only available to selected merchants, for example multi-client accounts (MCAs) and their sub-accounts. When set to `True`, this option removes any existing claim on the requested website and replaces it with a claim from the account that makes the request.", "location": "query", "type": "boolean" } @@ -197,7 +197,7 @@ }, "force": { "default": "false", - "description": "Flag to delete sub-accounts with products. The default value is false.", + "description": "Option to delete sub-accounts with products. The default value is false.", "location": "query", "type": "boolean" }, @@ -245,8 +245,8 @@ "CSS" ], "enumDescriptions": [ - "", - "" + "Default. View is populated with Merchant Center fields.", + "View is populated with Comparison Shopping Services fields." ], "location": "query", "type": "string" @@ -352,6 +352,11 @@ "required": true, "type": "string" }, + "name": { + "description": "If set, only the accounts with the given name (case sensitive) will be returned.", + "location": "query", + "type": "string" + }, "pageToken": { "description": "The token returned by the previous request.", "location": "query", @@ -364,8 +369,8 @@ "CSS" ], "enumDescriptions": [ - "", - "" + "Default. View is populated with Merchant Center fields.", + "View is populated with Comparison Shopping Services fields." ], "location": "query", "type": "string" @@ -397,7 +402,7 @@ "type": "string" }, "maxResults": { - "description": "The maximum number of links to return in the response, used for pagination.", + "description": "The maximum number of links to return in the response, used for pagination. The minimum allowed value is 5 results per page. If provided value is lower than 5, it will be automatically increased to 5.", "format": "uint32", "location": "query", "type": "integer" @@ -423,6 +428,42 @@ "https://www.googleapis.com/auth/content" ] }, + "requestphoneverification": { + "description": "Request verification code to start phone verification.", + "flatPath": "{merchantId}/accounts/{accountId}/requestphoneverification", + "httpMethod": "POST", + "id": "content.accounts.requestphoneverification", + "parameterOrder": [ + "merchantId", + "accountId" + ], + "parameters": { + "accountId": { + "description": "Required. The ID of the account.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "merchantId": { + "description": "Required. The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{merchantId}/accounts/{accountId}/requestphoneverification", + "request": { + "$ref": "RequestPhoneVerificationRequest" + }, + "response": { + "$ref": "RequestPhoneVerificationResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, "update": { "description": "Updates a Merchant Center account. Any fields that are not provided are deleted from the resource.", "flatPath": "{merchantId}/accounts/{accountId}", @@ -494,6 +535,42 @@ "scopes": [ "https://www.googleapis.com/auth/content" ] + }, + "verifyphonenumber": { + "description": "Validates verification code to verify phone number for the account. If successful this will overwrite the value of `accounts.businessinformation.phoneNumber`. Only verified phone number will replace an existing verified phone number.", + "flatPath": "{merchantId}/accounts/{accountId}/verifyphonenumber", + "httpMethod": "POST", + "id": "content.accounts.verifyphonenumber", + "parameterOrder": [ + "merchantId", + "accountId" + ], + "parameters": { + "accountId": { + "description": "Required. The ID of the account.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "merchantId": { + "description": "Required. The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{merchantId}/accounts/{accountId}/verifyphonenumber", + "request": { + "$ref": "VerifyPhoneNumberRequest" + }, + "response": { + "$ref": "VerifyPhoneNumberResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] } }, "resources": { @@ -875,6 +952,11 @@ "required": true, "type": "string" }, + "name": { + "description": "If set, only the accounts with the given name (case sensitive) will be returned.", + "location": "query", + "type": "string" + }, "pageToken": { "description": "The token returned by the previous request.", "location": "query", @@ -1020,8 +1102,40 @@ }, "buyongoogleprograms": { "methods": { + "activate": { + "description": "Reactivates the BoG program in your Merchant Center account. Moves the program to the active state when allowed, e.g. when paused. Important: This method is only whitelisted for selected merchants.", + "flatPath": "{merchantId}/buyongoogleprograms/{regionCode}/activate", + "httpMethod": "POST", + "id": "content.buyongoogleprograms.activate", + "parameterOrder": [ + "merchantId", + "regionCode" + ], + "parameters": { + "merchantId": { + "description": "Required. The ID of the account.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "regionCode": { + "description": "Required. The program region code [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Currently only US is available.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{merchantId}/buyongoogleprograms/{regionCode}/activate", + "request": { + "$ref": "ActivateBuyOnGoogleProgramRequest" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, "get": { - "description": "Retrieves a status of BoG program for your Merchant Center account.", + "description": "Retrieves a status of the BoG program for your Merchant Center account.", "flatPath": "{merchantId}/buyongoogleprograms/{regionCode}", "httpMethod": "GET", "id": "content.buyongoogleprograms.get", @@ -1038,7 +1152,7 @@ "type": "string" }, "regionCode": { - "description": "The Program region code [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Currently only US is available.", + "description": "Required. The Program region code [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Currently only US is available.", "location": "path", "required": true, "type": "string" @@ -1053,7 +1167,7 @@ ] }, "onboard": { - "description": "Onboards BoG in your Merchant Center account. By using this method, you agree to the [Terms of Service](https://merchants.google.com/mc/termsofservice/transactions/US/latest). Calling this method is only possible if the authenticated account is the same as the merchant id in the request. Calling this method multiple times will only accept Terms of Service if the latest version is not currently signed.", + "description": "Onboards the BoG program in your Merchant Center account. By using this method, you agree to the [Terms of Service](https://merchants.google.com/mc/termsofservice/transactions/US/latest). Calling this method is only possible if the authenticated account is the same as the merchant id in the request. Calling this method multiple times will only accept Terms of Service if the latest version is not currently signed.", "flatPath": "{merchantId}/buyongoogleprograms/{regionCode}/onboard", "httpMethod": "POST", "id": "content.buyongoogleprograms.onboard", @@ -1070,7 +1184,7 @@ "type": "string" }, "regionCode": { - "description": "The program region code [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Currently only US is available.", + "description": "Required. The program region code [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Currently only US is available.", "location": "path", "required": true, "type": "string" @@ -1083,6 +1197,111 @@ "scopes": [ "https://www.googleapis.com/auth/content" ] + }, + "patch": { + "description": "Updates the status of the BoG program for your Merchant Center account.", + "flatPath": "{merchantId}/buyongoogleprograms/{regionCode}", + "httpMethod": "PATCH", + "id": "content.buyongoogleprograms.patch", + "parameterOrder": [ + "merchantId", + "regionCode" + ], + "parameters": { + "merchantId": { + "description": "Required. The ID of the account.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "regionCode": { + "description": "Required. The program region code [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Currently only US is available.", + "location": "path", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to update. If the update mask is not provided, then all the fields set in buyOnGoogleProgramStatus will be updated. Clearing fields is only possible if update mask is provided.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "{merchantId}/buyongoogleprograms/{regionCode}", + "request": { + "$ref": "BuyOnGoogleProgramStatus" + }, + "response": { + "$ref": "BuyOnGoogleProgramStatus" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "pause": { + "description": "Pauses the BoG program in your Merchant Center account. Important: This method is only whitelisted for selected merchants.", + "flatPath": "{merchantId}/buyongoogleprograms/{regionCode}/pause", + "httpMethod": "POST", + "id": "content.buyongoogleprograms.pause", + "parameterOrder": [ + "merchantId", + "regionCode" + ], + "parameters": { + "merchantId": { + "description": "Required. The ID of the account.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "regionCode": { + "description": "Required. The program region code [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Currently only US is available.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{merchantId}/buyongoogleprograms/{regionCode}/pause", + "request": { + "$ref": "PauseBuyOnGoogleProgramRequest" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "requestreview": { + "description": "Requests review and then activates the BoG program in your Merchant Center account for the first time. Moves the program to the REVIEW_PENDING state. Important: This method is only whitelisted for selected merchants.", + "flatPath": "{merchantId}/buyongoogleprograms/{regionCode}/requestreview", + "httpMethod": "POST", + "id": "content.buyongoogleprograms.requestreview", + "parameterOrder": [ + "merchantId", + "regionCode" + ], + "parameters": { + "merchantId": { + "description": "Required. The ID of the account.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "regionCode": { + "description": "Required. The program region code [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Currently only US is available.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{merchantId}/buyongoogleprograms/{regionCode}/requestreview", + "request": { + "$ref": "RequestReviewBuyOnGoogleProgramRequest" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] } } }, @@ -1715,6 +1934,60 @@ } } }, + "freelistingsprogram": { + "methods": { + "get": { + "description": "Retrieves the status and review eligibility for the free listing program.", + "flatPath": "{merchantId}/freelistingsprogram", + "httpMethod": "GET", + "id": "content.freelistingsprogram.get", + "parameterOrder": [ + "merchantId" + ], + "parameters": { + "merchantId": { + "description": "Required. The ID of the account.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{merchantId}/freelistingsprogram", + "response": { + "$ref": "FreeListingsProgramStatus" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "requestreview": { + "description": "Requests a review for Free Listings program in the provided region. Important: This method is only whitelisted for selected merchants.", + "flatPath": "{merchantId}/freelistingsprogram/requestreview", + "httpMethod": "POST", + "id": "content.freelistingsprogram.requestreview", + "parameterOrder": [ + "merchantId" + ], + "parameters": { + "merchantId": { + "description": "Required. The ID of the account.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{merchantId}/freelistingsprogram/requestreview", + "request": { + "$ref": "RequestReviewFreeListingsRequest" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, "liasettings": { "methods": { "custombatch": { @@ -1769,7 +2042,7 @@ ] }, "getaccessiblegmbaccounts": { - "description": "Retrieves the list of accessible Google My Business accounts.", + "description": "Retrieves the list of accessible Business Profiles.", "flatPath": "{merchantId}/liasettings/{accountId}/accessiblegmbaccounts", "httpMethod": "GET", "id": "content.liasettings.getaccessiblegmbaccounts", @@ -1779,7 +2052,7 @@ ], "parameters": { "accountId": { - "description": "The ID of the account for which to retrieve accessible Google My Business accounts.", + "description": "The ID of the account for which to retrieve accessible Business Profiles.", "format": "uint64", "location": "path", "required": true, @@ -1853,7 +2126,7 @@ ] }, "requestgmbaccess": { - "description": "Requests access to a specified Google My Business account.", + "description": "Requests access to a specified Business Profile.", "flatPath": "{merchantId}/liasettings/{accountId}/requestgmbaccess", "httpMethod": "POST", "id": "content.liasettings.requestgmbaccess", @@ -1864,14 +2137,14 @@ ], "parameters": { "accountId": { - "description": "The ID of the account for which GMB access is requested.", + "description": "The ID of the account for which Business Profile access is requested.", "format": "uint64", "location": "path", "required": true, "type": "string" }, "gmbEmail": { - "description": "The email of the Google My Business account.", + "description": "The email of the Business Profile.", "location": "query", "required": true, "type": "string" @@ -2005,7 +2278,7 @@ ], "parameters": { "accountId": { - "description": "The ID of the account for which to retrieve accessible Google My Business accounts.", + "description": "The ID of the account for which to retrieve accessible Business Profiles.", "format": "uint64", "location": "path", "required": true, @@ -2463,8 +2736,8 @@ "RETURN_CREATION_TIME_ASC" ], "enumDescriptions": [ - "", - "" + "Return results in descending order.", + "Return results in ascending order." ], "location": "query", "type": "string" @@ -2484,11 +2757,11 @@ "PENDING" ], "enumDescriptions": [ - "", - "", - "", - "", - "" + "Return shipments with `new` state only.", + "Return shipments with `shipped` state only.", + "Return shipments with `completed` state only.", + "Return shipments with `undeliverable` state only.", + "Return shipments with `pending` state only." ], "location": "query", "repeated": true, @@ -2502,9 +2775,9 @@ "PROCESSED" ], "enumDescriptions": [ - "", - "", - "" + "Return shipments with `new` status only.", + "Return shipments with `inProgress` status only.", + "Return shipments with `processed` status only." ], "location": "query", "repeated": true, @@ -2524,9 +2797,9 @@ "CONTACT_CUSTOMER_SUPPORT" ], "enumDescriptions": [ - "", - "", - "" + "Return shipments with type `byMail` only.", + "Return shipments with type `returnless` only.", + "Return shipments with type `contactCustomerSupport` only." ], "location": "query", "repeated": true, @@ -2576,6 +2849,47 @@ "https://www.googleapis.com/auth/content" ] } + }, + "resources": { + "labels": { + "methods": { + "create": { + "description": "Links a return shipping label to a return id. You can only create one return label per return id. Since the label is sent to the buyer, the linked return label cannot be updated or deleted. If you try to create multiple return shipping labels for a single return id, every create request except the first will fail.", + "flatPath": "{merchantId}/orderreturns/{returnId}/labels", + "httpMethod": "POST", + "id": "content.orderreturns.labels.create", + "parameterOrder": [ + "merchantId", + "returnId" + ], + "parameters": { + "merchantId": { + "description": "Required. The merchant the Return Shipping Label belongs to.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "returnId": { + "description": "Required. Provide the Google-generated merchant order return ID.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{merchantId}/orderreturns/{returnId}/labels", + "request": { + "$ref": "ReturnShippingLabel" + }, + "response": { + "$ref": "ReturnShippingLabel" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + } } }, "orders": { @@ -2752,6 +3066,41 @@ "https://www.googleapis.com/auth/content" ] }, + "captureOrder": { + "description": "Capture funds from the customer for the current order total. This method should be called after the merchant verifies that they are able and ready to start shipping the order. This method blocks until a response is received from the payment processsor. If this method succeeds, the merchant is guaranteed to receive funds for the order after shipment. If the request fails, it can be retried or the order may be cancelled. This method cannot be called after the entire order is already shipped. A rejected error code is returned when the payment service provider has declined the charge. This indicates a problem between the PSP and either the merchant's or customer's account. Sometimes this error will be resolved by the customer. We recommend retrying these errors once per day or cancelling the order with reason `failedToCaptureFunds` if the items cannot be held.", + "flatPath": "{merchantId}/orders/{orderId}/captureOrder", + "httpMethod": "POST", + "id": "content.orders.captureOrder", + "parameterOrder": [ + "merchantId", + "orderId" + ], + "parameters": { + "merchantId": { + "description": "Required. The ID of the account that manages the order. This cannot be a multi-client account.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "orderId": { + "description": "Required. The ID of the Order.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{merchantId}/orders/{orderId}/captureOrder", + "request": { + "$ref": "CaptureOrderRequest" + }, + "response": { + "$ref": "CaptureOrderResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, "createtestorder": { "description": "Sandbox only. Creates a test order.", "flatPath": "{merchantId}/testorders", @@ -2890,7 +3239,7 @@ ], "parameters": { "country": { - "description": "The country of the template to retrieve. Defaults to `US`.", + "description": "The country of the template to retrieve. Defaults to \"`US`\".", "location": "query", "type": "string" }, @@ -2912,12 +3261,12 @@ "TEMPLATE4" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "" + "Get `template1`.", + "Get `template2`.", + "Get `template1A`.", + "Get `template1B`.", + "Get `template3`.", + "Get `template4`." ], "location": "path", "required": true, @@ -2933,7 +3282,7 @@ ] }, "instorerefundlineitem": { - "description": "Deprecated. Notifies that item return and refund was handled directly by merchant outside of Google payments processing (e.g. cash refund done in store). Note: We recommend calling the returnrefundlineitem method to refund in-store returns. We will issue the refund directly to the customer. This helps to prevent possible differences arising between merchant and Google transaction records. We also recommend having the point of sale system communicate with Google to ensure that customers do not receive a double refund by first refunding via Google then via an in-store return.", + "description": "Deprecated. Notifies that item return and refund was handled directly by merchant outside of Google payments processing (for example, cash refund done in store). Note: We recommend calling the returnrefundlineitem method to refund in-store returns. We will issue the refund directly to the customer. This helps to prevent possible differences arising between merchant and Google transaction records. We also recommend having the point of sale system communicate with Google to ensure that customers do not receive a double refund by first refunding through Google then through an in-store return.", "flatPath": "{merchantId}/orders/{orderId}/inStoreRefundLineItem", "httpMethod": "POST", "id": "content.orders.instorerefundlineitem", @@ -3015,7 +3364,7 @@ "type": "string" }, "statuses": { - "description": "Obtains orders that match any of the specified statuses. Please note that `active` is a shortcut for `pendingShipment` and `partiallyShipped`, and `completed` is a shortcut for `shipped`, `partiallyDelivered`, `delivered`, `partiallyReturned`, `returned`, and `canceled`.", + "description": "Obtains orders that match any of the specified statuses. Note that `active` is a shortcut for `pendingShipment` and `partiallyShipped`, and `completed` is a shortcut for `shipped`, `partiallyDelivered`, `delivered`, `partiallyReturned`, `returned`, and `canceled`.", "enum": [ "ACTIVE", "COMPLETED", @@ -3030,17 +3379,17 @@ "RETURNED" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + "Return orders with status `active`. The `active` status includes `pendingShipment` and `partiallyShipped` orders.", + "Return orders with status `completed`. The `completed` status includes `shipped`, `partiallyDelivered`, `delivered`, `partiallyReturned`, `returned`, and `canceled` orders.", + "Return orders with status `canceled`.", + "Return orders with status `inProgress`.", + "Return orders with status `pendingShipment`.", + "Return orders with status `partiallyShipped`.", + "Return orders with status `shipped`.", + "Return orders with status `partiallyDelivered`.", + "Return orders with status `delivered`.", + "Return orders with status `partiallyReturned`.", + "Return orders with status `returned`." ], "location": "query", "repeated": true, @@ -3161,7 +3510,7 @@ ] }, "returnrefundlineitem": { - "description": "Returns and refunds a line item. Note that this method can only be called on fully shipped orders. Please also note that the Orderreturns API is the preferred way to handle returns after you receive a return from a customer. You can use Orderreturns.list or Orderreturns.get to search for the return, and then use Orderreturns.processreturn to issue the refund. If the return cannot be found, then we recommend using this API to issue a refund.", + "description": "Returns and refunds a line item. Note that this method can only be called on fully shipped orders. The Orderreturns API is the preferred way to handle returns after you receive a return from a customer. You can use Orderreturns.list or Orderreturns.get to search for the return, and then use Orderreturns.processreturn to issue the refund. If the return cannot be found, then we recommend using this API to issue a refund.", "flatPath": "{merchantId}/orders/{orderId}/returnRefundLineItem", "httpMethod": "POST", "id": "content.orders.returnrefundlineitem", @@ -3196,7 +3545,7 @@ ] }, "setlineitemmetadata": { - "description": "Sets (or overrides if it already exists) merchant provided annotations in the form of key-value pairs. A common use case would be to supply us with additional structured information about a line item that cannot be provided via other methods. Submitted key-value pairs can be retrieved as part of the orders resource.", + "description": "Sets (or overrides if it already exists) merchant provided annotations in the form of key-value pairs. A common use case would be to supply us with additional structured information about a line item that cannot be provided through other methods. Submitted key-value pairs can be retrieved as part of the orders resource.", "flatPath": "{merchantId}/orders/{orderId}/setLineItemMetadata", "httpMethod": "POST", "id": "content.orders.setlineitemmetadata", @@ -3675,7 +4024,7 @@ ], "parameters": { "feedId": { - "description": "The Content API Supplemental Feed ID.", + "description": "The Content API Supplemental Feed ID. If present then product deletion applies to the data in a supplemental feed. If absent, entire product will be deleted.", "format": "uint64", "location": "query", "type": "string" @@ -3741,7 +4090,7 @@ ], "parameters": { "feedId": { - "description": "The Content API Supplemental Feed ID.", + "description": "The Content API Supplemental Feed ID. If present then product insertion applies to the data in a supplemental feed.", "format": "uint64", "location": "query", "type": "string" @@ -3800,6 +4149,47 @@ "scopes": [ "https://www.googleapis.com/auth/content" ] + }, + "update": { + "description": "Updates an existing product in your Merchant Center account. Only updates attributes provided in the request.", + "flatPath": "{merchantId}/products/{productId}", + "httpMethod": "PATCH", + "id": "content.products.update", + "parameterOrder": [ + "merchantId", + "productId" + ], + "parameters": { + "merchantId": { + "description": "The ID of the account that contains the product. This account cannot be a multi-client account.", + "format": "uint64", + "location": "path", + "required": true, + "type": "string" + }, + "productId": { + "description": "The REST ID of the product for which to update.", + "location": "path", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The comma-separated list of product attributes to be updated. Example: `\"title,salePrice\"`. Attributes specified in the update mask without a value specified in the body will be deleted from the product. Only top-level product attributes can be updated. If not defined, product attributes with set values will be updated and other attributes will stay unchanged.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "{merchantId}/products/{productId}", + "request": { + "$ref": "Product" + }, + "response": { + "$ref": "Product" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] } } }, @@ -3969,6 +4359,70 @@ } } }, + "promotions": { + "methods": { + "create": { + "description": "Inserts a promotion for your Merchant Center account. If the promotion already exists, then it will update the promotion instead.", + "flatPath": "{merchantId}/promotions", + "httpMethod": "POST", + "id": "content.promotions.create", + "parameterOrder": [ + "merchantId" + ], + "parameters": { + "merchantId": { + "description": "Required. The ID of the account that contains the collection.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{merchantId}/promotions", + "request": { + "$ref": "Promotion" + }, + "response": { + "$ref": "Promotion" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "get": { + "description": "Retrieves a promotion from your Merchant Center account.", + "flatPath": "{merchantId}/promotions/{id}", + "httpMethod": "GET", + "id": "content.promotions.get", + "parameterOrder": [ + "merchantId", + "id" + ], + "parameters": { + "id": { + "description": "Required. REST ID of the promotion to retrieve.", + "location": "path", + "required": true, + "type": "string" + }, + "merchantId": { + "description": "Required. The ID of the account that contains the collection.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{merchantId}/promotions/{id}", + "response": { + "$ref": "Promotion" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, "pubsubnotificationsettings": { "methods": { "get": { @@ -3997,7 +4451,7 @@ ] }, "update": { - "description": "Register a Merchant Center account for pubsub notifications. Note that cloud topic name should not be provided as part of the request.", + "description": "Register a Merchant Center account for pubsub notifications. Note that cloud topic name shouldn't be provided as part of the request.", "flatPath": "{merchantId}/pubsubnotificationsettings", "httpMethod": "PUT", "id": "content.pubsubnotificationsettings.update", @@ -4239,7 +4693,7 @@ "type": "string" }, "updateMask": { - "description": "Optional. The field mask indicating the fields to update.", + "description": "Optional. The comma-separated field mask indicating the fields to update. Example: `\"displayName,postalCodeArea.regionCode\"`.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -5305,15 +5759,74 @@ ] } } + }, + "shoppingadsprogram": { + "methods": { + "get": { + "description": "Retrieves the status and review eligibility for the Shopping Ads program.", + "flatPath": "{merchantId}/shoppingadsprogram", + "httpMethod": "GET", + "id": "content.shoppingadsprogram.get", + "parameterOrder": [ + "merchantId" + ], + "parameters": { + "merchantId": { + "description": "Required. The ID of the account.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{merchantId}/shoppingadsprogram", + "response": { + "$ref": "ShoppingAdsProgramStatus" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "requestreview": { + "description": "Requests a review for Shopping Ads program in the provided country.", + "flatPath": "{merchantId}/shoppingadsprogram/requestreview", + "httpMethod": "POST", + "id": "content.shoppingadsprogram.requestreview", + "parameterOrder": [ + "merchantId" + ], + "parameters": { + "merchantId": { + "description": "Required. The ID of the account.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{merchantId}/shoppingadsprogram/requestreview", + "request": { + "$ref": "RequestReviewShoppingAdsRequest" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } } }, - "revision": "20210325", + "revision": "20220303", "rootUrl": "https://shoppingcontent.googleapis.com/", "schemas": { "Account": { - "description": "Account data. After the creation of a new account it may take a few minutes before it is fully operational. The methods delete, insert, and update require the admin role.", + "description": "Account data. After the creation of a new account it may take a few minutes before it's fully operational. The methods delete, insert, and update require the admin role.", "id": "Account", "properties": { + "accountManagement": { + "description": "Output only. How the account is managed. Acceptable values are: - \"`manual`\" - \"`automatic`\" ", + "readOnly": true, + "type": "string" + }, "adsLinks": { "description": "Linked Ads accounts that are active or pending approval. To create a new link request, add a new link with status `active` to the list. It will remain in a `pending` state until approved or rejected either in the Ads interface or through the AdWords API. To delete an active link, or to cancel a link request, remove it from the list.", "items": { @@ -5325,6 +5838,10 @@ "description": "Indicates whether the merchant sells adult content.", "type": "boolean" }, + "automaticImprovements": { + "$ref": "AccountAutomaticImprovements", + "description": "The automatic improvements of the account can be used to automatically update items, improve images and shipping. Each section inside AutomaticImprovements is updated separately." + }, "automaticLabelIds": { "description": "Automatically created label IDs that are assigned to the account by CSS Center.", "items": { @@ -5344,7 +5861,7 @@ }, "googleMyBusinessLink": { "$ref": "AccountGoogleMyBusinessLink", - "description": "The GMB account which is linked or in the process of being linked with the Merchant Center account." + "description": "The Business Profile which is linked or in the process of being linked with the Merchant Center account." }, "id": { "description": "Required for update. Merchant Center account ID.", @@ -5352,7 +5869,7 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#account`\"", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#account`\".", "type": "string" }, "labelIds": { @@ -5396,15 +5913,15 @@ "id": "AccountAddress", "properties": { "country": { - "description": "CLDR country code (e.g. \"US\"). This value cannot be set for a sub-account of an MCA. All MCA sub-accounts inherit the country of their parent MCA.", + "description": "CLDR country code (for example, \"US\"). All MCA sub-accounts inherit the country of their parent MCA by default, however the country can be updated for individual sub-accounts.", "type": "string" }, "locality": { - "description": "City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).", + "description": "City, town or commune. May also include dependent localities or sublocalities (for example, neighborhoods or suburbs).", "type": "string" }, "postalCode": { - "description": "Postal code or ZIP (e.g. \"94043\").", + "description": "Postal code or ZIP (for example, \"94043\").", "type": "string" }, "region": { @@ -5433,6 +5950,25 @@ }, "type": "object" }, + "AccountAutomaticImprovements": { + "description": "The automatic improvements of the account can be used to automatically update items, improve images and shipping.", + "id": "AccountAutomaticImprovements", + "properties": { + "imageImprovements": { + "$ref": "AccountImageImprovements", + "description": "This improvement will attempt to automatically correct submitted images if they don't meet the [image requirements](https://support.google.com/merchants/answer/6324350), for example, removing overlays. If successful, the image will be replaced and approved. This improvement is only applied to images of disapproved offers. For more information see: [Automatic image improvements](https://support.google.com/merchants/answer/9242973) This field is only updated (cleared) if provided." + }, + "itemUpdates": { + "$ref": "AccountItemUpdates", + "description": "Turning on [item updates](https://support.google.com/merchants/answer/3246284) allows Google to automatically update items for you. When item updates are on, Google uses the structured data markup on the website and advanced data extractors to update the price and availability of the items. When the item updates are off, items with mismatched data aren't shown. This field is only updated (cleared) if provided." + }, + "shippingImprovements": { + "$ref": "AccountShippingImprovements", + "description": "Not available for MCAs [accounts](https://support.google.com/merchants/answer/188487). By turning on [automatic shipping improvements](https://support.google.com/merchants/answer/10027038), you are allowing Google to improve the accuracy of your delivery times shown to shoppers using Google. More accurate delivery times, especially when faster, typically lead to better conversion rates. Google will improve your estimated delivery times based on various factors: - Delivery address of an order - Current handling time and shipping time settings - Estimated weekdays or business days - Parcel tracking data This field is only updated (cleared) if provided." + } + }, + "type": "object" + }, "AccountBusinessInformation": { "id": "AccountBusinessInformation", "properties": { @@ -5444,8 +5980,16 @@ "$ref": "AccountCustomerService", "description": "The customer service information of the business." }, + "koreanBusinessRegistrationNumber": { + "description": "The 10-digit [Korean business registration number](https://support.google.com/merchants/answer/9037766) separated with dashes in the format: XXX-XX-XXXXX. This field will only be updated if explicitly set.", + "type": "string" + }, "phoneNumber": { - "description": "The phone number of the business.", + "description": "The phone number of the business. This can only be updated if a verified phone number is not already set. To replace a verified phone number use the `Accounts.requestphoneverification` and `Accounts.verifyphonenumber`.", + "type": "string" + }, + "phoneVerificationStatus": { + "description": "Verification status of the phone number of the business. This status is read only and can be updated only by successful phone verification. Acceptable values are: - \"`verified`\" - \"`unverified`\" ", "type": "string" } }, @@ -5468,11 +6012,13 @@ "description": "Indicates to Google how Google should use these OAuth tokens.", "enum": [ "ACCOUNT_CREDENTIALS_PURPOSE_UNSPECIFIED", - "SHOPIFY_ORDER_MANAGEMENT" + "SHOPIFY_ORDER_MANAGEMENT", + "SHOPIFY_INTEGRATION" ], "enumDescriptions": [ "Unknown purpose.", - "The credentials allow Google to manage Shopify orders on behalf of the merchant." + "The credentials allow Google to manage Shopify orders on behalf of the merchant (deprecated).", + "The credentials allow Google to manage Shopify integration on behalf of the merchant." ], "type": "string" } @@ -5501,15 +6047,15 @@ "id": "AccountGoogleMyBusinessLink", "properties": { "gmbAccountId": { - "description": "The ID of the GMB account. If this is provided, then `gmbEmail` is ignored. The value of this field should match the `accountId` used by the GMB API.", + "description": "The ID of the Business Profile. If this is provided, then `gmbEmail` is ignored. The value of this field should match the `accountId` used by the Business Profile API.", "type": "string" }, "gmbEmail": { - "description": "The GMB email address of which a specific account within a GMB account. A sample account within a GMB account could be a business account with set of locations, managed under the GMB account.", + "description": "The Business Profile email address of a specific account within a Business Profile. A sample account within a Business Profile could be a business account with set of locations, managed under the Business Profile.", "type": "string" }, "status": { - "description": "Status of the link between this Merchant Center account and the GMB account. Acceptable values are: - \"`active`\" - \"`pending`\" ", + "description": "Status of the link between this Merchant Center account and the Business Profile. Acceptable values are: - \"`active`\" - \"`pending`\" ", "type": "string" } }, @@ -5531,6 +6077,87 @@ }, "type": "object" }, + "AccountImageImprovements": { + "description": "This improvement will attempt to automatically correct submitted images if they don't meet the [image requirements](https://support.google.com/merchants/answer/6324350), for example, removing overlays. If successful, the image will be replaced and approved. This improvement is only applied to images of disapproved offers. For more information see: [Automatic image improvements](https://support.google.com/merchants/answer/9242973)", + "id": "AccountImageImprovements", + "properties": { + "accountImageImprovementsSettings": { + "$ref": "AccountImageImprovementsSettings", + "description": "Determines how the images should be automatically updated. If this field is not present, then the settings will be deleted. If there are no settings for subaccount, they are inherited from aggregator." + }, + "effectiveAllowAutomaticImageImprovements": { + "description": "Output only. The effective value of allow_automatic_image_improvements. If account_image_improvements_settings is present, then this value is the same. Otherwise, it represents the inherited value of the parent account. Read-only.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "AccountImageImprovementsSettings": { + "description": "Settings for the Automatic Image Improvements.", + "id": "AccountImageImprovementsSettings", + "properties": { + "allowAutomaticImageImprovements": { + "description": "Enables automatic image improvements.", + "type": "boolean" + } + }, + "type": "object" + }, + "AccountItemUpdates": { + "description": "Turning on [item updates](https://support.google.com/merchants/answer/3246284) allows Google to automatically update items for you. When item updates are on, Google uses the structured data markup on the website and advanced data extractors to update the price and availability of the items. When the item updates are off, items with mismatched data aren't shown.", + "id": "AccountItemUpdates", + "properties": { + "accountItemUpdatesSettings": { + "$ref": "AccountItemUpdatesSettings", + "description": "Determines which attributes of the items should be automatically updated. If this field is not present, then the settings will be deleted. If there are no settings for subaccount, they are inherited from aggregator." + }, + "effectiveAllowAvailabilityUpdates": { + "description": "Output only. The effective value of allow_availability_updates. If account_item_updates_settings is present, then this value is the same. Otherwise, it represents the inherited value of the parent account. Read-only.", + "readOnly": true, + "type": "boolean" + }, + "effectiveAllowConditionUpdates": { + "description": "Output only. The effective value of allow_condition_updates. If account_item_updates_settings is present, then this value is the same. Otherwise, it represents the inherited value of the parent account. Read-only.", + "readOnly": true, + "type": "boolean" + }, + "effectiveAllowPriceUpdates": { + "description": "Output only. The effective value of allow_price_updates. If account_item_updates_settings is present, then this value is the same. Otherwise, it represents the inherited value of the parent account. Read-only.", + "readOnly": true, + "type": "boolean" + }, + "effectiveAllowStrictAvailabilityUpdates": { + "description": "Output only. The effective value of allow_strict_availability_updates. If account_item_updates_settings is present, then this value is the same. Otherwise, it represents the inherited value of the parent account. Read-only.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "AccountItemUpdatesSettings": { + "description": "Settings for the Automatic Item Updates.", + "id": "AccountItemUpdatesSettings", + "properties": { + "allowAvailabilityUpdates": { + "description": "If availability updates are enabled, any previous availability values get overwritten if Google finds an out-of-stock annotation on the offer's page. If additionally `allow_availability_updates` field is set to true, values get overwritten if Google finds an in-stock annotation on the offer\u2019s page.", + "type": "boolean" + }, + "allowConditionUpdates": { + "description": "If condition updates are enabled, Google always updates item condition with the condition detected from the details of your product.", + "type": "boolean" + }, + "allowPriceUpdates": { + "description": "If price updates are enabled, Google always updates the active price with the crawled information.", + "type": "boolean" + }, + "allowStrictAvailabilityUpdates": { + "description": "If allow_availability_updates is enabled, items are automatically updated in all your Shopping target countries. By default, availability updates will only be applied to items that are 'out of stock' on your website but 'in stock' on Shopping. Set this to true to also update items that are 'in stock' on your website, but 'out of stock' on Google Shopping. In order for this field to have an effect, you must also allow availability updates.", + "type": "boolean" + } + }, + "type": "object" + }, "AccountLabel": { "description": "Label assigned by CSS domain or CSS group to one of its sub-accounts.", "id": "AccountLabel", @@ -5607,8 +6234,19 @@ }, "type": "object" }, + "AccountShippingImprovements": { + "description": "Not available for MCAs [accounts](https://support.google.com/merchants/answer/188487). By turning on [automatic shipping improvements](https://support.google.com/merchants/answer/10027038), you are allowing Google to improve the accuracy of your delivery times shown to shoppers using Google. More accurate delivery times, especially when faster, typically lead to better conversion rates. Google will improve your estimated delivery times based on various factors: * Delivery address of an order * Current handling time and shipping time settings * Estimated weekdays or business days * Parcel tracking data", + "id": "AccountShippingImprovements", + "properties": { + "allowShippingImprovements": { + "description": "Enables automatic shipping improvements.", + "type": "boolean" + } + }, + "type": "object" + }, "AccountStatus": { - "description": "The status of an account, i.e., information about its products, which is computed offline and not returned immediately at insertion time.", + "description": "The status of an account, that is, information about its products, which is computed offline and not returned immediately at insertion time.", "id": "AccountStatus", "properties": { "accountId": { @@ -5622,6 +6260,10 @@ }, "type": "array" }, + "accountManagement": { + "description": "How the account is managed. Acceptable values are: - \"`manual`\" - \"`automatic`\" ", + "type": "string" + }, "kind": { "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountStatus`\"", "type": "string" @@ -5778,11 +6420,11 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountTax\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountTax`\".", "type": "string" }, "rules": { - "description": "Tax rules. Updating the tax rules will enable US taxes (not reversible). Defining no rules is equivalent to not charging tax at all.", + "description": "Tax rules. Updating the tax rules will enable \"US\" taxes (not reversible). Defining no rules is equivalent to not charging tax at all.", "items": { "$ref": "AccountTaxTaxRule" }, @@ -5792,7 +6434,7 @@ "type": "object" }, "AccountTaxTaxRule": { - "description": "Tax calculation rule to apply in a state or province (USA only).", + "description": "Tax calculation rule to apply in a state or province (US only).", "id": "AccountTaxTaxRule", "properties": { "country": { @@ -5870,7 +6512,7 @@ "type": "array" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountsAuthInfoResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountsAuthInfoResponse`\".", "type": "string" } }, @@ -5880,7 +6522,7 @@ "id": "AccountsClaimWebsiteResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountsClaimWebsiteResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountsClaimWebsiteResponse`\".", "type": "string" } }, @@ -5961,7 +6603,7 @@ "type": "string" }, "linkType": { - "description": "Type of the link between the two accounts. Acceptable values are: - \"`channelPartner`\" - \"`eCommercePlatform`\" ", + "description": "Type of the link between the two accounts. Acceptable values are: - \"`channelPartner`\" - \"`eCommercePlatform`\" - \"`paymentServiceProvider`\" ", "type": "string" }, "linkedAccountId": { @@ -5969,7 +6611,7 @@ "type": "string" }, "services": { - "description": "Provided services. Acceptable values are: - \"`shoppingAdsProductManagement`\" - \"`shoppingActionsProductManagement`\" - \"`shoppingActionsOrderManagement`\" ", + "description": "Provided services. Acceptable values are: - \"`shoppingAdsProductManagement`\" - \"`shoppingActionsProductManagement`\" - \"`shoppingActionsOrderManagement`\" - \"`paymentProcessing`\" ", "items": { "type": "string" }, @@ -5989,7 +6631,7 @@ "type": "array" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountsCustomBatchResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountsCustomBatchResponse`\".", "type": "string" } }, @@ -6026,16 +6668,24 @@ "description": "Action to perform for this link. The `\"request\"` action is only available to select merchants. Acceptable values are: - \"`approve`\" - \"`remove`\" - \"`request`\" ", "type": "string" }, + "eCommercePlatformLinkInfo": { + "$ref": "ECommercePlatformLinkInfo", + "description": "Additional information required for `eCommercePlatform` link type." + }, "linkType": { - "description": "Type of the link between the two accounts. Acceptable values are: - \"`channelPartner`\" - \"`eCommercePlatform`\" ", + "description": "Type of the link between the two accounts. Acceptable values are: - \"`channelPartner`\" - \"`eCommercePlatform`\" - \"`paymentServiceProvider`\" ", "type": "string" }, "linkedAccountId": { "description": "The ID of the linked account.", "type": "string" }, + "paymentServiceProviderLinkInfo": { + "$ref": "PaymentServiceProviderLinkInfo", + "description": "Additional information required for `paymentServiceProvider` link type." + }, "services": { - "description": " Acceptable values are: - \"`shoppingAdsProductManagement`\" - \"`shoppingActionsProductManagement`\" - \"`shoppingActionsOrderManagement`\" ", + "description": " Acceptable values are: - \"`shoppingAdsProductManagement`\" - \"`shoppingActionsProductManagement`\" - \"`shoppingActionsOrderManagement`\" - \"`paymentProcessing`\" ", "items": { "type": "string" }, @@ -6048,7 +6698,7 @@ "id": "AccountsLinkResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountsLinkResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountsLinkResponse`\".", "type": "string" } }, @@ -6058,7 +6708,7 @@ "id": "AccountsListLinksResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountsListLinksResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountsListLinksResponse`\".", "type": "string" }, "links": { @@ -6079,7 +6729,7 @@ "id": "AccountsListResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountsListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountsListResponse`\".", "type": "string" }, "nextPageToken": { @@ -6113,7 +6763,7 @@ "id": "AccountsUpdateLabelsResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountsUpdateLabelsResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountsUpdateLabelsResponse`\".", "type": "string" } }, @@ -6176,7 +6826,7 @@ "type": "array" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountstatusesCustomBatchResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountstatusesCustomBatchResponse`\".", "type": "string" } }, @@ -6206,7 +6856,7 @@ "id": "AccountstatusesListResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accountstatusesListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountstatusesListResponse`\".", "type": "string" }, "nextPageToken": { @@ -6276,7 +6926,7 @@ "type": "array" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accounttaxCustomBatchResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accounttaxCustomBatchResponse`\".", "type": "string" } }, @@ -6310,7 +6960,7 @@ "id": "AccounttaxListResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#accounttaxListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accounttaxListResponse`\".", "type": "string" }, "nextPageToken": { @@ -6326,6 +6976,38 @@ }, "type": "object" }, + "ActivateBuyOnGoogleProgramRequest": { + "description": "Request message for the ActivateProgram method.", + "id": "ActivateBuyOnGoogleProgramRequest", + "properties": {}, + "type": "object" + }, + "Address": { + "id": "Address", + "properties": { + "administrativeArea": { + "description": "Required. Top-level administrative subdivision of the country. For example, a state like California (\"CA\") or a province like Quebec (\"QC\").", + "type": "string" + }, + "city": { + "description": "Required. City, town or commune. May also include dependent localities or sublocalities (for example, neighborhoods or suburbs).", + "type": "string" + }, + "country": { + "description": "Required. [CLDR country code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml) (for example, \"US\").", + "type": "string" + }, + "postalCode": { + "description": "Required. Postal code or ZIP (for example, \"94043\").", + "type": "string" + }, + "streetAddress": { + "description": "Street-level part of the address.", + "type": "string" + } + }, + "type": "object" + }, "Amount": { "id": "Amount", "properties": { @@ -6344,7 +7026,7 @@ "id": "BusinessDayConfig", "properties": { "businessDays": { - "description": "Regular business days. May not be empty.", + "description": "Regular business days, such as '\"monday\"'. May not be empty.", "items": { "type": "string" }, @@ -6357,21 +7039,78 @@ "description": "Response message for the GetProgramStatus method.", "id": "BuyOnGoogleProgramStatus", "properties": { + "businessModel": { + "description": "The business models in which merchant participates.", + "items": { + "enum": [ + "BUSINESS_MODEL_UNSPECIFIED", + "MANUFACTURER", + "IMPORTER", + "RESELLER", + "OTHER" + ], + "enumDescriptions": [ + "Default value when business model is not set.", + "Merchant is a manufacturer.", + "Merchant is an importer.", + "Merchant is a reseller.", + "Merchant has a different business model." + ], + "type": "string" + }, + "type": "array" + }, "customerServicePendingEmail": { - "description": "The customer service pending email.", + "description": "The customer service pending email. After verification this field becomes empty.", + "type": "string" + }, + "customerServicePendingPhoneNumber": { + "description": "The pending phone number specified for BuyOnGoogle program. It might be different than account level phone number. In order to update this field the customer_service_pending_phone_region_code must also be set. After verification this field becomes empty.", + "type": "string" + }, + "customerServicePendingPhoneRegionCode": { + "description": "Two letter country code for the pending phone number, for example `CA` for Canadian numbers. See the [ISO 3166-1 alpha-2](https://wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) officially assigned codes. In order to update this field the customer_service_pending_phone_number must also be set. After verification this field becomes empty.", "type": "string" }, "customerServiceVerifiedEmail": { - "description": "The customer service verified email.", + "description": "Output only. The customer service verified email.", + "readOnly": true, + "type": "string" + }, + "customerServiceVerifiedPhoneNumber": { + "description": "Output only. The verified phone number specified for BuyOnGoogle program. It might be different than account level phone number.", + "readOnly": true, + "type": "string" + }, + "customerServiceVerifiedPhoneRegionCode": { + "description": "Output only. Two letter country code for the verified phone number, for example `CA` for Canadian numbers. See the [ISO 3166-1 alpha-2](https://wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) officially assigned codes.", + "readOnly": true, + "type": "string" + }, + "onlineSalesChannel": { + "description": "The channels through which the merchant is selling.", + "enum": [ + "ONLINE_SALES_CHANNEL_UNSPECIFIED", + "GOOGLE_EXCLUSIVE", + "GOOGLE_AND_OTHER_WEBSITES" + ], + "enumDescriptions": [ + "Default value when online sales channel is not set.", + "Merchant is selling exclusively on Google.", + "Merchant is selling on Google and other websites." + ], "type": "string" }, "participationStage": { - "description": "The current participation stage for the program.", + "description": "Output only. The current participation stage for the program.", "enum": [ "PROGRAM_PARTICIPATION_STAGE_UNSPECIFIED", "NOT_ELIGIBLE", "ELIGIBLE", "ONBOARDING", + "ELIGIBLE_FOR_REVIEW", + "PENDING_REVIEW", + "REVIEW_DISAPPROVED", "ACTIVE", "PAUSED" ], @@ -6380,9 +7119,40 @@ "Merchant is not eligible for onboarding to a given program in a specific region code.", "Merchant is eligible for onboarding to a given program in a specific region code.", "Merchant is onboarding to a given program in a specific region code.", + "Merchant fulfilled all the requirements and is ready to request review in a specific region code.", + "Merchant is waiting for the review to be completed in a specific region code.", + "The review for a merchant has been rejected in a specific region code.", "Merchant's program participation is active for a specific region code.", "Participation has been paused." ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CaptureOrderRequest": { + "description": "Request message for the CaptureOrder method.", + "id": "CaptureOrderRequest", + "properties": {}, + "type": "object" + }, + "CaptureOrderResponse": { + "description": "Response message for the CaptureOrder method.", + "id": "CaptureOrderResponse", + "properties": { + "executionStatus": { + "description": "The status of the execution. Only defined if the request was successful. Acceptable values are: * \"duplicate\" * \"executed\"", + "enum": [ + "EXECUTION_STATUS_UNSPECIFIED", + "EXECUTED", + "DUPLICATE" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The request was completed successfully.", + "The request was not performed because it already executed once successfully." + ], "type": "string" } }, @@ -6392,11 +7162,11 @@ "id": "CarrierRate", "properties": { "carrierName": { - "description": "Carrier service, such as `\"UPS\"` or `\"Fedex\"`. The list of supported carriers can be retrieved via the `getSupportedCarriers` method. Required.", + "description": "Carrier service, such as `\"UPS\"` or `\"Fedex\"`. The list of supported carriers can be retrieved through the `getSupportedCarriers` method. Required.", "type": "string" }, "carrierService": { - "description": "Carrier service, such as `\"ground\"` or `\"2 days\"`. The list of supported services for a carrier can be retrieved via the `getSupportedCarriers` method. Required.", + "description": "Carrier service, such as `\"ground\"` or `\"2 days\"`. The list of supported services for a carrier can be retrieved through the `getSupportedCarriers` method. Required.", "type": "string" }, "flatAdjustment": { @@ -6422,15 +7192,22 @@ "id": "CarriersCarrier", "properties": { "country": { - "description": "The CLDR country code of the carrier (e.g., \"US\"). Always present.", + "description": "The CLDR country code of the carrier (for example, \"US\"). Always present.", "type": "string" }, + "eddServices": { + "description": "A list of services supported for EDD (Estimated Delivery Date) calculation. This is the list of valid values for WarehouseBasedDeliveryTime.carrierService.", + "items": { + "type": "string" + }, + "type": "array" + }, "name": { - "description": "The name of the carrier (e.g., `\"UPS\"`). Always present.", + "description": "The name of the carrier (for example, `\"UPS\"`). Always present.", "type": "string" }, "services": { - "description": "A list of supported services (e.g., `\"ground\"`) for that carrier. Contains at least one service.", + "description": "A list of supported services (for example, `\"ground\"`) for that carrier. Contains at least one service. This is the list of valid values for CarrierRate.carrierService.", "items": { "type": "string" }, @@ -6706,7 +7483,7 @@ "type": "integer" }, "timezone": { - "description": "Timezone identifier for the cutoff time. A list of identifiers can be found in the AdWords API documentation. E.g. \"Europe/Zurich\". Required.", + "description": "Timezone identifier for the cutoff time (for example, \"Europe/Zurich\"). List of identifiers. Required.", "type": "string" } }, @@ -6791,7 +7568,7 @@ "type": "boolean" }, "timeZone": { - "description": "Time zone used for schedule. UTC by default. E.g., \"America/Los_Angeles\".", + "description": "Time zone used for schedule. UTC by default. For example, \"America/Los_Angeles\".", "type": "string" }, "username": { @@ -6824,7 +7601,7 @@ "type": "object" }, "DatafeedStatus": { - "description": "The status of a datafeed, i.e., the result of the last retrieval of the datafeed computed asynchronously when the feed processing is finished.", + "description": "The status of a datafeed, that is, the result of the last retrieval of the datafeed computed asynchronously when the feed processing is finished.", "id": "DatafeedStatus", "properties": { "country": { @@ -6884,7 +7661,7 @@ "id": "DatafeedStatusError", "properties": { "code": { - "description": "The code of the error, e.g., \"validation/invalid_value\".", + "description": "The code of the error, for example, \"validation/invalid_value\".", "type": "string" }, "count": { @@ -6900,7 +7677,7 @@ "type": "array" }, "message": { - "description": "The error message, e.g., \"Invalid price\".", + "description": "The error message, for example, \"Invalid price\".", "type": "string" } }, @@ -6934,14 +7711,14 @@ "type": "string" }, "excludedDestinations": { - "description": "The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center).", + "description": "The list of destinations to exclude for this target (corresponds to cleared check boxes in Merchant Center).", "items": { "type": "string" }, "type": "array" }, "includedDestinations": { - "description": "The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`. List of supported destinations (if available to the account): - DisplayAds - Shopping - ShoppingActions - SurfacesAcrossGoogle ", + "description": "The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`.", "items": { "type": "string" }, @@ -7008,7 +7785,7 @@ "type": "array" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#datafeedsCustomBatchResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#datafeedsCustomBatchResponse`\".", "type": "string" } }, @@ -7038,7 +7815,7 @@ "id": "DatafeedsFetchNowResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#datafeedsFetchNowResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#datafeedsFetchNowResponse`\".", "type": "string" } }, @@ -7048,7 +7825,7 @@ "id": "DatafeedsListResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#datafeedsListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#datafeedsListResponse`\".", "type": "string" }, "nextPageToken": { @@ -7122,7 +7899,7 @@ "type": "array" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#datafeedstatusesCustomBatchResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#datafeedstatusesCustomBatchResponse`\".", "type": "string" } }, @@ -7152,7 +7929,7 @@ "id": "DatafeedstatusesListResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#datafeedstatusesListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#datafeedstatusesListResponse`\".", "type": "string" }, "nextPageToken": { @@ -7169,7 +7946,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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": { @@ -7265,7 +8042,7 @@ "type": "integer" }, "maxTransitTimeInDays": { - "description": "Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to `minTransitTimeInDays`.", + "description": "Maximum number of business days that are spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to `minTransitTimeInDays`.", "format": "uint32", "type": "integer" }, @@ -7275,7 +8052,7 @@ "type": "integer" }, "minTransitTimeInDays": { - "description": "Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Either `{min,max}TransitTimeInDays` or `transitTimeTable` must be set, but not both.", + "description": "Minimum number of business days that are spent in transit. 0 means same day delivery, 1 means next day delivery. Either `{min,max}TransitTimeInDays` or `transitTimeTable` must be set, but not both.", "format": "uint32", "type": "integer" }, @@ -7286,6 +8063,24 @@ "transitTimeTable": { "$ref": "TransitTable", "description": "Transit time table, number of business days spent in transit based on row and column dimensions. Either `{min,max}TransitTimeInDays` or `transitTimeTable` can be set, but not both." + }, + "warehouseBasedDeliveryTimes": { + "description": "Indicates that the delivery time should be calculated per warehouse (shipping origin location) based on the settings of the selected carrier. When set, no other transit time related field in DeliveryTime should be set.", + "items": { + "$ref": "WarehouseBasedDeliveryTime" + }, + "type": "array" + } + }, + "type": "object" + }, + "ECommercePlatformLinkInfo": { + "description": "Additional information required for E_COMMERCE_PLATFORM link type.", + "id": "ECommercePlatformLinkInfo", + "properties": { + "externalAccountId": { + "description": "The id used by the third party service provider to identify the merchant.", + "type": "string" } }, "type": "object" @@ -7332,6 +8127,144 @@ }, "type": "object" }, + "FreeListingsProgramStatus": { + "description": "Response message for GetFreeListingsProgramStatus.", + "id": "FreeListingsProgramStatus", + "properties": { + "globalState": { + "description": "State of the program, It is set to enabled if there are offers for at least one region.", + "enum": [ + "PROGRAM_STATE_UNSPECIFIED", + "NOT_ENABLED", + "NO_OFFERS_UPLOADED", + "ENABLED" + ], + "enumDescriptions": [ + "State is not known.", + "Program is not enabled for any country.", + "Offers are not uploaded targeting even a single country for this program.", + "Program is enabled and offers are uploaded for at least one country." + ], + "type": "string" + }, + "regionStatuses": { + "description": "Status of the program in each region. Regions with the same status and review eligibility are grouped together in `regionCodes`.", + "items": { + "$ref": "FreeListingsProgramStatusRegionStatus" + }, + "type": "array" + } + }, + "type": "object" + }, + "FreeListingsProgramStatusRegionStatus": { + "description": "Status of program and region.", + "id": "FreeListingsProgramStatusRegionStatus", + "properties": { + "disapprovalDate": { + "description": "Date by which `eligibility_status` will go from `WARNING` to `DISAPPROVED`. It will be present when `eligibility_status` is `WARNING`. Date will be provided in ISO 8601 format: YYYY-MM-DD", + "type": "string" + }, + "eligibilityStatus": { + "description": "Eligibility status of the standard free listing program.", + "enum": [ + "STATE_UNSPECIFIED", + "APPROVED", + "DISAPPROVED", + "WARNING", + "UNDER_REVIEW", + "PENDING_REVIEW", + "ONBOARDING" + ], + "enumDescriptions": [ + "State is not known.", + "If the account has no issues and review is completed successfully.", + "There are one or more issues that needs to be resolved for account to be active for the program. Detailed list of account issues are available in [accountstatuses](https://developers.google.com/shopping-content/reference/rest/v2.1/accountstatuses) API.", + "If account has issues but offers are servable. Some of the issue can make account DISAPPROVED after a certain deadline.", + "Account is under review. Deprecated: This state is not created.", + "Account is waiting for review to start.", + "Program is currently onboarding. Upload valid offers to complete onboarding." + ], + "type": "string" + }, + "onboardingIssues": { + "description": "These issues must be fixed to become eligible for the review.", + "items": { + "type": "string" + }, + "type": "array" + }, + "regionCodes": { + "description": "The two-letter [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) codes for all the regions with the same `eligibilityStatus` and `reviewEligibility`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "reviewEligibilityStatus": { + "description": "If a program in a given country is eligible for review. It will be present only if eligibility status is `DISAPPROVED`.", + "enum": [ + "REVIEW_ELIGIBILITY_UNSPECIFIED", + "ELIGIBLE", + "INELIGIBLE" + ], + "enumDescriptions": [ + "Review eligibility reason state is unknown.", + "Account is eligible for review for a specified region code.", + "Account is not eligible for review for a specified region code." + ], + "type": "string" + }, + "reviewIneligibilityReason": { + "description": "Review ineligibility reason if account is not eligible for review.", + "enum": [ + "REVIEW_INELIGIBILITY_REASON_UNSPECIFIED", + "ONBOARDING_ISSUES", + "NOT_ENOUGH_OFFERS", + "IN_COOLDOWN_PERIOD", + "ALREADY_UNDER_REVIEW", + "NO_REVIEW_REQUIRED" + ], + "enumDescriptions": [ + "Requesting a review from Google is not possible.", + "All onboarding issues needs to be fixed.", + "Not enough offers uploaded for this country.", + "Cooldown period applies. Wait until cooldown period ends.", + "Account is already under review.", + "No issues available to review." + ], + "type": "string" + }, + "reviewIneligibilityReasonDescription": { + "description": "Reason if a program in a given country is not eligible for review. Populated only if `review_eligibility_status` is `INELIGIBLE`.", + "type": "string" + }, + "reviewIneligibilityReasonDetails": { + "$ref": "FreeListingsProgramStatusReviewIneligibilityReasonDetails", + "description": "This contains additional information specific to review ineligibility reasons. If review is ineligible because of `IN_COOLDOWN_PERIOD`, it will contain timestamp for cooldown period." + }, + "reviewIssues": { + "description": "These issues will be evaluated in review process. Fix all the issues before requesting the review.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "FreeListingsProgramStatusReviewIneligibilityReasonDetails": { + "description": "Additional details for review ineligibility reasons.", + "id": "FreeListingsProgramStatusReviewIneligibilityReasonDetails", + "properties": { + "cooldownTime": { + "description": "This timestamp represents end of cooldown period for review ineligbility reason `IN_COOLDOWN_PERIOD`.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GmbAccounts": { "id": "GmbAccounts", "properties": { @@ -7341,7 +8274,7 @@ "type": "string" }, "gmbAccounts": { - "description": "A list of GMB accounts which are available to the merchant.", + "description": "A list of Business Profiles which are available to the merchant.", "items": { "$ref": "GmbAccountsGmbAccount" }, @@ -7354,7 +8287,7 @@ "id": "GmbAccountsGmbAccount", "properties": { "email": { - "description": "The email which identifies the GMB account.", + "description": "The email which identifies the Business Profile.", "type": "string" }, "listingCount": { @@ -7363,11 +8296,11 @@ "type": "string" }, "name": { - "description": "The name of the GMB account.", + "description": "The name of the Business Profile.", "type": "string" }, "type": { - "description": "The type of the GMB account (User or Business).", + "description": "The type of the Business Profile (User or Business).", "type": "string" } }, @@ -7419,7 +8352,7 @@ "id": "HolidayCutoff", "properties": { "deadlineDate": { - "description": "Date of the order deadline, in ISO 8601 format. E.g. \"2016-11-29\" for 29th November 2016. Required.", + "description": "Date of the order deadline, in ISO 8601 format. For example, \"2016-11-29\" for 29th November 2016. Required.", "type": "string" }, "deadlineHour": { @@ -7428,7 +8361,7 @@ "type": "integer" }, "deadlineTimezone": { - "description": "Timezone identifier for the deadline hour. A list of identifiers can be found in the AdWords API documentation. E.g. \"Europe/Zurich\". Required.", + "description": "Timezone identifier for the deadline hour (for example, \"Europe/Zurich\"). List of identifiers. Required.", "type": "string" }, "holidayId": { @@ -7436,7 +8369,7 @@ "type": "string" }, "visibleFromDate": { - "description": "Date on which the deadline will become visible to consumers in ISO 8601 format. E.g. \"2016-10-31\" for 31st October 2016. Required.", + "description": "Date on which the deadline will become visible to consumers in ISO 8601 format. For example, \"2016-10-31\" for 31st October 2016. Required.", "type": "string" } }, @@ -7446,15 +8379,15 @@ "id": "HolidaysHoliday", "properties": { "countryCode": { - "description": "The CLDR territory code of the country in which the holiday is available. E.g. \"US\", \"DE\", \"GB\". A holiday cutoff can only be configured in a shipping settings service with matching delivery country. Always present.", + "description": "The CLDR territory code of the country in which the holiday is available. For example, \"US\", \"DE\", \"GB\". A holiday cutoff can only be configured in a shipping settings service with matching delivery country. Always present.", "type": "string" }, "date": { - "description": "Date of the holiday, in ISO 8601 format. E.g. \"2016-12-25\" for Christmas 2016. Always present.", + "description": "Date of the holiday, in ISO 8601 format. For example, \"2016-12-25\" for Christmas 2016. Always present.", "type": "string" }, "deliveryGuaranteeDate": { - "description": "Date on which the order has to arrive at the customer's, in ISO 8601 format. E.g. \"2016-12-24\" for 24th December 2016. Always present.", + "description": "Date on which the order has to arrive at the customer's, in ISO 8601 format. For example, \"2016-12-24\" for 24th December 2016. Always present.", "type": "string" }, "deliveryGuaranteeHour": { @@ -7491,7 +8424,9 @@ "TRIUMPHED_OVER_BY_SAME_TYPE_RULE", "TRIUMPHED_OVER_BY_OTHER_RULE_ON_OFFER", "RESTRICTIONS_NOT_MET", - "UNCATEGORIZED" + "UNCATEGORIZED", + "INVALID_AUTO_PRICE_MIN", + "INVALID_FLOOR_CONFIG" ], "enumDescriptions": [ "Default value. Should not be used.", @@ -7500,7 +8435,9 @@ "Another rule of the same type takes precedence over this one.", "Another rule of a different type takes precedence over this one.", "The rule restrictions are not met. For example, this may be the case if the calculated rule price is lower than floor price in the restriction.", - "The reason is not categorized to any known reason." + "The reason is not categorized to any known reason.", + "The auto_pricing_min_price is invalid. For example, it is missing or < 0.", + "The floor defined in the rule is invalid. For example, it has the wrong sign which results in a floor < 0." ], "type": "string" } @@ -7590,7 +8527,7 @@ "description": "The settings for the About page." }, "country": { - "description": "Required. CLDR country code (e.g. \"US\").", + "description": "Required. CLDR country code (for example, \"US\").", "type": "string" }, "hostedLocalStorefrontActive": { @@ -7729,7 +8666,7 @@ "type": "string" }, "gmbEmail": { - "description": "The GMB account. Required only for RequestGmbAccess.", + "description": "The Business Profile. Required only for RequestGmbAccess.", "type": "string" }, "liaSettings": { @@ -7768,7 +8705,7 @@ "type": "array" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#liasettingsCustomBatchResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liasettingsCustomBatchResponse`\".", "type": "string" } }, @@ -7788,7 +8725,7 @@ }, "gmbAccounts": { "$ref": "GmbAccounts", - "description": "The list of accessible GMB accounts." + "description": "The list of accessible Business Profiles." }, "kind": { "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liasettingsCustomBatchResponseEntry`\"", @@ -7817,14 +8754,14 @@ "type": "string" }, "gmbAccounts": { - "description": "A list of GMB accounts which are available to the merchant.", + "description": "A list of Business Profiles which are available to the merchant.", "items": { "$ref": "GmbAccountsGmbAccount" }, "type": "array" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#liasettingsGetAccessibleGmbAccountsResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liasettingsGetAccessibleGmbAccountsResponse`\".", "type": "string" } }, @@ -7834,7 +8771,7 @@ "id": "LiasettingsListPosDataProvidersResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#liasettingsListPosDataProvidersResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liasettingsListPosDataProvidersResponse`\".", "type": "string" }, "posDataProviders": { @@ -7851,7 +8788,7 @@ "id": "LiasettingsListResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#liasettingsListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liasettingsListResponse`\".", "type": "string" }, "nextPageToken": { @@ -7871,7 +8808,7 @@ "id": "LiasettingsRequestGmbAccessResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#liasettingsRequestGmbAccessResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liasettingsRequestGmbAccessResponse`\".", "type": "string" } }, @@ -7881,7 +8818,7 @@ "id": "LiasettingsRequestInventoryVerificationResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#liasettingsRequestInventoryVerificationResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liasettingsRequestInventoryVerificationResponse`\".", "type": "string" } }, @@ -7891,7 +8828,7 @@ "id": "LiasettingsSetInventoryVerificationContactResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#liasettingsSetInventoryVerificationContactResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liasettingsSetInventoryVerificationContactResponse`\".", "type": "string" } }, @@ -7901,7 +8838,7 @@ "id": "LiasettingsSetPosDataProviderResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#liasettingsSetPosDataProviderResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#liasettingsSetPosDataProviderResponse`\".", "type": "string" } }, @@ -7911,7 +8848,7 @@ "id": "LinkService", "properties": { "service": { - "description": "Service provided to or by the linked account. Acceptable values are: - \"`shoppingActionsOrderManagement`\" - \"`shoppingActionsProductManagement`\" - \"`shoppingAdsProductManagement`\" ", + "description": "Service provided to or by the linked account. Acceptable values are: - \"`shoppingActionsOrderManagement`\" - \"`shoppingActionsProductManagement`\" - \"`shoppingAdsProductManagement`\" - \"`paymentProcessing`\" ", "type": "string" }, "status": { @@ -8127,7 +9064,7 @@ "type": "string" }, "pickupMethod": { - "description": "Supported pickup method for this offer. Unless the value is \"not supported\", this field must be submitted together with `pickupSla`. For accepted attribute values, see the local product inventory feed // specification.", + "description": "Supported pickup method for this offer. Unless the value is \"not supported\", this field must be submitted together with `pickupSla`. For accepted attribute values, see the local product inventory feed specification.", "type": "string" }, "pickupSla": { @@ -8211,7 +9148,7 @@ "type": "array" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#localinventoryCustomBatchResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#localinventoryCustomBatchResponse`\".", "type": "string" } }, @@ -8241,7 +9178,7 @@ "id": "LocationIdSet", "properties": { "locationIds": { - "description": "A non-empty list of location IDs. They must all be of the same location type (e.g., state).", + "description": "A non-empty list of location IDs. They must all be of the same location type (for example, state).", "items": { "type": "string" }, @@ -8382,13 +9319,28 @@ "description": "Performance metrics. Values are only set for metrics requested explicitly in the request's search query.", "id": "Metrics", "properties": { + "aos": { + "description": "Average order size - the average number of items in an order. **This metric cannot be segmented by product dimensions.**", + "format": "double", + "type": "number" + }, + "aovMicros": { + "description": "Average order value - the average value (total price of items) of all placed orders. The currency of the returned value is stored in the currency_code segment. If this metric is selected, 'segments.currency_code' is automatically added to the SELECT clause in the search query (unless it is explicitly selected by the user) and the currency_code segment is populated in the response. **This metric cannot be segmented by product dimensions.**", + "format": "double", + "type": "number" + }, "clicks": { "description": "Number of clicks.", "format": "int64", "type": "string" }, "ctr": { - "description": "Number of clicks merchant's products receive (clicks) divided by the number of times the products are shown (impressions).", + "description": "Click-through rate - the number of clicks merchant's products receive (clicks) divided by the number of times the products are shown (impressions).", + "format": "double", + "type": "number" + }, + "daysToShip": { + "description": "Average number of days between an order being placed and the order being fully shipped, reported on the last shipment date. **This metric cannot be segmented by product dimensions.**", "format": "double", "type": "number" }, @@ -8396,6 +9348,76 @@ "description": "Number of times merchant's products are shown.", "format": "int64", "type": "string" + }, + "itemDaysToShip": { + "description": "Average number of days between an item being ordered and the item being", + "format": "double", + "type": "number" + }, + "itemFillRate": { + "description": "Percentage of shipped items in relation to all finalized items (shipped or rejected by the merchant; unshipped items are not taken into account), reported on the order date. Item fill rate is lowered by merchant rejections.", + "format": "double", + "type": "number" + }, + "orderedItemSalesMicros": { + "description": "Total price of ordered items. Excludes shipping, taxes (US only), and customer cancellations that happened within 30 minutes of placing the order. The currency of the returned value is stored in the currency_code segment. If this metric is selected, 'segments.currency_code' is automatically added to the SELECT clause in the search query (unless it is explicitly selected by the user) and the currency_code segment is populated in the response.", + "format": "int64", + "type": "string" + }, + "orderedItems": { + "description": "Number of ordered items. Excludes customer cancellations that happened within 30 minutes of placing the order.", + "format": "int64", + "type": "string" + }, + "orders": { + "description": "Number of placed orders. Excludes customer cancellations that happened within 30 minutes of placing the order. **This metric cannot be segmented by product dimensions.**", + "format": "int64", + "type": "string" + }, + "rejectedItems": { + "description": "Number of ordered items canceled by the merchant, reported on the order date.", + "format": "int64", + "type": "string" + }, + "returnRate": { + "description": "Total price of returned items divided by the total price of shipped items, reported on the order date. If this metric is selected, 'segments.currency_code' is automatically added to the SELECT clause in the search query (unless it is explicitly selected by the user) and the currency_code segment is populated in the response.", + "format": "double", + "type": "number" + }, + "returnedItems": { + "description": "Number of ordered items sent back for return, reported on the date when the merchant accepted the return.", + "format": "int64", + "type": "string" + }, + "returnsMicros": { + "description": "Total price of ordered items sent back for return, reported on the date when the merchant accepted the return. The currency of the returned value is stored in the currency_code segment. If this metric is selected, 'segments.currency_code' is automatically added to the SELECT clause in the search query (unless it is explicitly selected by the user) and the currency_code segment is populated in the response.", + "format": "int64", + "type": "string" + }, + "shippedItemSalesMicros": { + "description": "Total price of shipped items, reported on the order date. Excludes shipping and taxes (US only). The currency of the returned value is stored in the currency_code segment. If this metric is selected, 'segments.currency_code' is automatically added to the SELECT clause in the search query (unless it is explicitly selected by the user) and the currency_code segment is populated in the response.", + "format": "int64", + "type": "string" + }, + "shippedItems": { + "description": "Number of shipped items, reported on the shipment date.", + "format": "int64", + "type": "string" + }, + "shippedOrders": { + "description": "Number of fully shipped orders, reported on the last shipment date. **This metric cannot be segmented by product dimensions.**", + "format": "int64", + "type": "string" + }, + "unshippedItems": { + "description": "Number of ordered items not shipped up until the end of the queried day. If a multi-day period is specified in the search query, the returned value is the average number of unshipped items over the days in the queried period.", + "format": "double", + "type": "number" + }, + "unshippedOrders": { + "description": "Number of orders not shipped or partially shipped up until the end of the queried day. If a multi-day period is specified in the search query, the returned value is the average number of unshipped orders over the days in the queried period. **This metric cannot be segmented by product dimensions.**", + "format": "double", + "type": "number" } }, "type": "object" @@ -8435,11 +9457,11 @@ "properties": { "priceAmount": { "$ref": "Price", - "description": "The pre-tax or post-tax price depends on the location of the order. - For countries (e.g. US) where price attribute excludes tax, this field corresponds to the pre-tax value. - For coutries (e.g. France) where price attribute includes tax, this field corresponds to the post-tax value ." + "description": "The pre-tax or post-tax price depends on the location of the order. - For countries (for example, \"US\". where price attribute excludes tax, this field corresponds to the pre-tax value. - For coutries (for example, \"France\") where price attribute includes tax, this field corresponds to the post-tax value ." }, "taxAmount": { "$ref": "Price", - "description": "Tax value, present only for countries where price attribute excludes tax (e.g. US). No tax is referenced as 0 value with the corresponding `currency`." + "description": "Tax value, present only for countries where price attribute excludes tax (for example, \"US\". No tax is referenced as 0 value with the corresponding `currency`." } }, "type": "object" @@ -8569,7 +9591,7 @@ "id": "OrderAddress", "properties": { "country": { - "description": "CLDR country code (e.g. \"US\").", + "description": "CLDR country code (for example, \"US\").", "type": "string" }, "fullAddress": { @@ -8584,11 +9606,11 @@ "type": "boolean" }, "locality": { - "description": "City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).", + "description": "City, town or commune. May also include dependent localities or sublocalities (for example, neighborhoods or suburbs).", "type": "string" }, "postalCode": { - "description": "Postal Code or ZIP (e.g. \"94043\").", + "description": "Postal Code or ZIP (for example, \"94043\").", "type": "string" }, "recipientName": { @@ -8626,7 +9648,7 @@ "type": "integer" }, "reason": { - "description": "The reason for the cancellation. Orders that are canceled with a noInventory reason will lead to the removal of the product from Buy on Google until you make an update to that product. This will not affect your Shopping ads. Acceptable values are: - \"`autoPostInternal`\" - \"`autoPostInvalidBillingAddress`\" - \"`autoPostNoInventory`\" - \"`autoPostPriceError`\" - \"`autoPostUndeliverableShippingAddress`\" - \"`couponAbuse`\" - \"`customerCanceled`\" - \"`customerInitiatedCancel`\" - \"`customerSupportRequested`\" - \"`failToPushOrderGoogleError`\" - \"`failToPushOrderMerchantError`\" - \"`failToPushOrderMerchantFulfillmentError`\" - \"`failToPushOrderToMerchant`\" - \"`failToPushOrderToMerchantOutOfStock`\" - \"`invalidCoupon`\" - \"`malformedShippingAddress`\" - \"`merchantDidNotShipOnTime`\" - \"`noInventory`\" - \"`orderTimeout`\" - \"`other`\" - \"`paymentAbuse`\" - \"`paymentDeclined`\" - \"`priceError`\" - \"`returnRefundAbuse`\" - \"`shippingPriceError`\" - \"`taxError`\" - \"`undeliverableShippingAddress`\" - \"`unsupportedPoBoxAddress`\" ", + "description": "The reason for the cancellation. Orders that are canceled with a noInventory reason will lead to the removal of the product from Buy on Google until you make an update to that product. This won't affect your Shopping ads. Acceptable values are: - \"`autoPostInternal`\" - \"`autoPostInvalidBillingAddress`\" - \"`autoPostNoInventory`\" - \"`autoPostPriceError`\" - \"`autoPostUndeliverableShippingAddress`\" - \"`couponAbuse`\" - \"`customerCanceled`\" - \"`customerInitiatedCancel`\" - \"`customerSupportRequested`\" - \"`failToPushOrderGoogleError`\" - \"`failToPushOrderMerchantError`\" - \"`failToPushOrderMerchantFulfillmentError`\" - \"`failToPushOrderToMerchant`\" - \"`failToPushOrderToMerchantOutOfStock`\" - \"`invalidCoupon`\" - \"`malformedShippingAddress`\" - \"`merchantDidNotShipOnTime`\" - \"`noInventory`\" - \"`orderTimeout`\" - \"`other`\" - \"`paymentAbuse`\" - \"`paymentDeclined`\" - \"`priceError`\" - \"`returnRefundAbuse`\" - \"`shippingPriceError`\" - \"`taxError`\" - \"`undeliverableShippingAddress`\" - \"`unsupportedPoBoxAddress`\" - \"`failedToCaptureFunds`\" ", "type": "string" }, "reasonText": { @@ -8738,7 +9760,7 @@ }, "product": { "$ref": "OrderLineItemProduct", - "description": "Product data as seen by customer from the time of the order placement. Note that certain attributes values (e.g. title or gtin) might be reformatted and no longer match values submitted via product feed." + "description": "Product data as seen by customer from the time of the order placement. Note that certain attributes values (for example, title or gtin) might be reformatted and no longer match values submitted through product feed." }, "quantityCanceled": { "description": "Number of items canceled.", @@ -8875,7 +9897,7 @@ "type": "string" }, "targetCountry": { - "description": "The CLDR territory // code of the target country of the product.", + "description": "The CLDR territory code of the target country of the product.", "type": "string" }, "title": { @@ -9075,7 +10097,7 @@ "type": "array" }, "endTime": { - "description": "Promotion end time in ISO 8601 format. Date, time, and offset required, e.g., \"2020-01-02T09:00:00+01:00\" or \"2020-01-02T09:00:00Z\".", + "description": "Promotion end time in ISO 8601 format. Date, time, and offset required, for example, \"2020-01-02T09:00:00+01:00\" or \"2020-01-02T09:00:00Z\".", "type": "string" }, "funder": { @@ -9095,7 +10117,7 @@ "type": "string" }, "startTime": { - "description": "Promotion start time in ISO 8601 format. Date, time, and offset required, e.g., \"2020-01-02T09:00:00+01:00\" or \"2020-01-02T09:00:00Z\".", + "description": "Promotion start time in ISO 8601 format. Date, time, and offset required, for example, \"2020-01-02T09:00:00+01:00\" or \"2020-01-02T09:00:00Z\".", "type": "string" }, "subtype": { @@ -9268,7 +10290,7 @@ "id": "OrderShipment", "properties": { "carrier": { - "description": "The carrier handling the shipment. For supported carriers, Google includes the carrier name and tracking URL in emails to customers. For select supported carriers, Google also automatically updates the shipment status based on the provided shipment ID. *Note:* You can also use unsupported carriers, but emails to customers will not include the carrier name or tracking URL, and there will be no automatic order status updates. Supported carriers for US are: - \"`ups`\" (United Parcel Service) *automatic status updates* - \"`usps`\" (United States Postal Service) *automatic status updates* - \"`fedex`\" (FedEx) *automatic status updates * - \"`dhl`\" (DHL eCommerce) *automatic status updates* (US only) - \"`ontrac`\" (OnTrac) *automatic status updates * - \"`dhl express`\" (DHL Express) - \"`deliv`\" (Deliv) - \"`dynamex`\" (TForce) - \"`lasership`\" (LaserShip) - \"`mpx`\" (Military Parcel Xpress) - \"`uds`\" (United Delivery Service) - \"`efw`\" (Estes Forwarding Worldwide) - \"`jd logistics`\" (JD Logistics) - \"`yunexpress`\" (YunExpress) - \"`china post`\" (China Post) - \"`china ems`\" (China Post Express Mail Service) - \"`singapore post`\" (Singapore Post) - \"`pos malaysia`\" (Pos Malaysia) - \"`postnl`\" (PostNL) - \"`ptt`\" (PTT Turkish Post) - \"`eub`\" (ePacket) - \"`chukou1`\" (Chukou1 Logistics) - \"`bestex`\" (Best Express) - \"`canada post`\" (Canada Post) - \"`purolator`\" (Purolator) - \"`canpar`\" (Canpar) - \"`india post`\" (India Post) - \"`blue dart`\" (Blue Dart) - \"`delhivery`\" (Delhivery) - \"`dtdc`\" (DTDC) - \"`tpc india`\" (TPC India) Supported carriers for FR are: - \"`la poste`\" (La Poste) *automatic status updates * - \"`colissimo`\" (Colissimo by La Poste) *automatic status updates* - \"`ups`\" (United Parcel Service) *automatic status updates * - \"`chronopost`\" (Chronopost by La Poste) - \"`gls`\" (General Logistics Systems France) - \"`dpd`\" (DPD Group by GeoPost) - \"`bpost`\" (Belgian Post Group) - \"`colis prive`\" (Colis Priv\u00e9) - \"`boxtal`\" (Boxtal) - \"`geodis`\" (GEODIS) - \"`tnt`\" (TNT) - \"`db schenker`\" (DB Schenker) - \"`aramex`\" (Aramex) ", + "description": "The carrier handling the shipment. For supported carriers, Google includes the carrier name and tracking URL in emails to customers. For select supported carriers, Google also automatically updates the shipment status based on the provided shipment ID. *Note:* You can also use unsupported carriers, but emails to customers won't include the carrier name or tracking URL, and there will be no automatic order status updates. Supported carriers for \"US\" are: - \"`ups`\" (United Parcel Service) *automatic status updates* - \"`usps`\" (United States Postal Service) *automatic status updates* - \"`fedex`\" (FedEx) *automatic status updates * - \"`dhl`\" (DHL eCommerce) *automatic status updates* (US only) - \"`ontrac`\" (OnTrac) *automatic status updates * - \"`dhl express`\" (DHL Express) - \"`deliv`\" (Deliv) - \"`dynamex`\" (TForce) - \"`lasership`\" (LaserShip) - \"`mpx`\" (Military Parcel Xpress) - \"`uds`\" (United Delivery Service) - \"`efw`\" (Estes Forwarding Worldwide) - \"`jd logistics`\" (JD Logistics) - \"`yunexpress`\" (YunExpress) - \"`china post`\" (China Post) - \"`china ems`\" (China Post Express Mail Service) - \"`singapore post`\" (Singapore Post) - \"`pos malaysia`\" (Pos Malaysia) - \"`postnl`\" (PostNL) - \"`ptt`\" (PTT Turkish Post) - \"`eub`\" (ePacket) - \"`chukou1`\" (Chukou1 Logistics) - \"`bestex`\" (Best Express) - \"`canada post`\" (Canada Post) - \"`purolator`\" (Purolator) - \"`canpar`\" (Canpar) - \"`india post`\" (India Post) - \"`blue dart`\" (Blue Dart) - \"`delhivery`\" (Delhivery) - \"`dtdc`\" (DTDC) - \"`tpc india`\" (TPC India) - \"`lso`\" (Lone Star Overnight) - \"`tww`\" (Team Worldwide) Supported carriers for FR are: - \"`la poste`\" (La Poste) *automatic status updates * - \"`colissimo`\" (Colissimo by La Poste) *automatic status updates* - \"`ups`\" (United Parcel Service) *automatic status updates * - \"`chronopost`\" (Chronopost by La Poste) - \"`gls`\" (General Logistics Systems France) - \"`dpd`\" (DPD Group by GeoPost) - \"`bpost`\" (Belgian Post Group) - \"`colis prive`\" (Colis Priv\u00e9) - \"`boxtal`\" (Boxtal) - \"`geodis`\" (GEODIS) - \"`tnt`\" (TNT) - \"`db schenker`\" (DB Schenker) - \"`aramex`\" (Aramex) ", "type": "string" }, "creationDate": { @@ -9332,7 +10354,7 @@ "id": "OrderShipmentScheduledDeliveryDetails", "properties": { "carrierPhoneNumber": { - "description": "The phone number of the carrier fulfilling the delivery. The phone number is formatted as the international notation in ITU-T Recommendation E.123 (e.g., \"+41 44 668 1800\").", + "description": "The phone number of the carrier fulfilling the delivery. The phone number is formatted as the international notation in ITU-T Recommendation E.123 (for example, \"+41 44 668 1800\").", "type": "string" }, "scheduledDate": { @@ -9351,7 +10373,7 @@ "description": "The shipping fee of the order; this value should be set to zero in the case of free shipping." }, "deliveryPostalCode": { - "description": "Required. The delivery postal code, as a continuous string without spaces or dashes, e.g. \"95016\".", + "description": "Required. The delivery postal code, as a continuous string without spaces or dashes, e.g. \"95016\". This field will be anonymized in returned OrderTrackingSignal creation response.", "type": "string" }, "deliveryRegionCode": { @@ -9375,7 +10397,7 @@ "description": "Required. The time when the order was created on the merchant side. Include the year and timezone string, if available." }, "orderId": { - "description": "Required. The ID of the order on the merchant side.", + "description": "Required. The ID of the order on the merchant side. This field will be hashed in returned OrderTrackingSignal creation response.", "type": "string" }, "orderTrackingSignalId": { @@ -9405,6 +10427,10 @@ "description": "The line items of the order.", "id": "OrderTrackingSignalLineItemDetails", "properties": { + "brand": { + "description": "Brand of the product.", + "type": "string" + }, "gtin": { "description": "The Global Trade Item Number.", "type": "string" @@ -9417,14 +10443,30 @@ "description": "The manufacturer part number.", "type": "string" }, + "productDescription": { + "description": "Plain text description of this product (deprecated: Please use product_title instead).", + "type": "string" + }, "productId": { "description": "Required. The Content API REST ID of the product, in the form channel:contentLanguage:targetCountry:offerId.", "type": "string" }, + "productTitle": { + "description": "Plain text title of this product.", + "type": "string" + }, "quantity": { - "description": "Required. The quantity of the line item in the order.", + "description": "The quantity of the line item in the order.", "format": "int64", "type": "string" + }, + "sku": { + "description": "Merchant SKU for this item (deprecated).", + "type": "string" + }, + "upc": { + "description": "Universal product code for this item (deprecated: Please use GTIN instead).", + "type": "string" } }, "type": "object" @@ -9438,12 +10480,12 @@ "type": "string" }, "quantity": { - "description": "Required. The line item quantity in the shipment.", + "description": "The line item quantity in the shipment.", "format": "int64", "type": "string" }, "shipmentId": { - "description": "Required. The shipment ID.", + "description": "Required. The shipment ID. This field will be hashed in returned OrderTrackingSignal creation response.", "type": "string" } }, @@ -9474,7 +10516,7 @@ "description": "The latest delivery promised time. Include the year and timezone string, if available. This field is required, if one of the following fields is absent: tracking_id or carrier_name." }, "originPostalCode": { - "description": "The origin postal code, as a continuous string without spaces or dashes, e.g. \"95016\".", + "description": "The origin postal code, as a continuous string without spaces or dashes, e.g. \"95016\". This field will be anonymized in returned OrderTrackingSignal creation response.", "type": "string" }, "originRegionCode": { @@ -9482,7 +10524,7 @@ "type": "string" }, "shipmentId": { - "description": "Required. The shipment ID.", + "description": "Required. The shipment ID. This field will be hashed in returned OrderTrackingSignal creation response.", "type": "string" }, "shippedTime": { @@ -9547,7 +10589,7 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#orderinvoicesCreateChargeInvoiceResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#orderinvoicesCreateChargeInvoiceResponse`\".", "type": "string" } }, @@ -9590,7 +10632,7 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#orderinvoicesCreateRefundInvoiceResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#orderinvoicesCreateRefundInvoiceResponse`\".", "type": "string" } }, @@ -9635,7 +10677,7 @@ "type": "array" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#orderreportsListDisbursementsResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#orderreportsListDisbursementsResponse`\".", "type": "string" }, "nextPageToken": { @@ -9649,7 +10691,7 @@ "id": "OrderreportsListTransactionsResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#orderreportsListTransactionsResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#orderreportsListTransactionsResponse`\".", "type": "string" }, "nextPageToken": { @@ -9684,7 +10726,7 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#orderreturnsAcknowledgeResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#orderreturnsAcknowledgeResponse`\".", "type": "string" } }, @@ -9723,7 +10765,7 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#orderreturnsCreateOrderReturnResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#orderreturnsCreateOrderReturnResponse`\".", "type": "string" }, "orderReturn": { @@ -9737,7 +10779,11 @@ "id": "OrderreturnsLineItem", "properties": { "lineItemId": { - "description": "The ID of the line item. This value is assigned by Google when an order is created.", + "description": "The ID of the line item. This value is assigned by Google when an order is created. Either lineItemId or productId is required.", + "type": "string" + }, + "productId": { + "description": "The ID of the product to cancel. This is the REST ID used in the products service. Either lineItemId or productId is required.", "type": "string" }, "quantity": { @@ -9752,7 +10798,7 @@ "id": "OrderreturnsListResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#orderreturnsListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#orderreturnsListResponse`\".", "type": "string" }, "nextPageToken": { @@ -9815,7 +10861,7 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#orderreturnsProcessResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#orderreturnsProcessResponse`\".", "type": "string" } }, @@ -9825,7 +10871,7 @@ "id": "OrderreturnsRefundOperation", "properties": { "fullRefund": { - "description": "If true, the item will be fully refunded. Allowed only when payment_type is FOP. Merchant can choose this refund option to indicate the full remaining amount of corresponding object to be refunded to the customer via FOP.", + "description": "If true, the item will be fully refunded. Allowed only when payment_type is FOP. Merchant can choose this refund option to indicate the full remaining amount of corresponding object to be refunded to the customer through FOP.", "type": "boolean" }, "partialRefund": { @@ -9897,7 +10943,7 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersAcknowledgeResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#ordersAcknowledgeResponse`\".", "type": "string" } }, @@ -9907,7 +10953,7 @@ "id": "OrdersAdvanceTestOrderResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersAdvanceTestOrderResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#ordersAdvanceTestOrderResponse`\".", "type": "string" } }, @@ -9934,7 +10980,7 @@ "type": "integer" }, "reason": { - "description": "The reason for the cancellation. Acceptable values are: - \"`customerInitiatedCancel`\" - \"`invalidCoupon`\" - \"`malformedShippingAddress`\" - \"`noInventory`\" - \"`other`\" - \"`priceError`\" - \"`shippingPriceError`\" - \"`taxError`\" - \"`undeliverableShippingAddress`\" - \"`unsupportedPoBoxAddress`\" ", + "description": "The reason for the cancellation. Acceptable values are: - \"`customerInitiatedCancel`\" - \"`invalidCoupon`\" - \"`malformedShippingAddress`\" - \"`noInventory`\" - \"`other`\" - \"`priceError`\" - \"`shippingPriceError`\" - \"`taxError`\" - \"`undeliverableShippingAddress`\" - \"`unsupportedPoBoxAddress`\" - \"`failedToCaptureFunds`\" ", "type": "string" }, "reasonText": { @@ -9952,7 +10998,7 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersCancelLineItemResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#ordersCancelLineItemResponse`\".", "type": "string" } }, @@ -9966,7 +11012,7 @@ "type": "string" }, "reason": { - "description": "The reason for the cancellation. Acceptable values are: - \"`customerInitiatedCancel`\" - \"`invalidCoupon`\" - \"`malformedShippingAddress`\" - \"`noInventory`\" - \"`other`\" - \"`priceError`\" - \"`shippingPriceError`\" - \"`taxError`\" - \"`undeliverableShippingAddress`\" - \"`unsupportedPoBoxAddress`\" ", + "description": "The reason for the cancellation. Acceptable values are: - \"`customerInitiatedCancel`\" - \"`invalidCoupon`\" - \"`malformedShippingAddress`\" - \"`noInventory`\" - \"`other`\" - \"`priceError`\" - \"`shippingPriceError`\" - \"`taxError`\" - \"`undeliverableShippingAddress`\" - \"`unsupportedPoBoxAddress`\" - \"`failedToCaptureFunds`\" ", "type": "string" }, "reasonText": { @@ -9984,7 +11030,7 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersCancelResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#ordersCancelResponse`\".", "type": "string" } }, @@ -10004,7 +11050,7 @@ "id": "OrdersCancelTestOrderByCustomerResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersCancelTestOrderByCustomerResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#ordersCancelTestOrderByCustomerResponse`\".", "type": "string" } }, @@ -10014,7 +11060,7 @@ "id": "OrdersCreateTestOrderRequest", "properties": { "country": { - "description": "The CLDR territory code of the country of the test order to create. Affects the currency and addresses of orders created via `template_name`, or the addresses of orders created via `test_order`. Acceptable values are: - \"`US`\" - \"`FR`\" Defaults to `US`.", + "description": "The CLDR territory code of the country of the test order to create. Affects the currency and addresses of orders created through `template_name`, or the addresses of orders created through `test_order`. Acceptable values are: - \"`US`\" - \"`FR`\" Defaults to \"`US`\".", "type": "string" }, "templateName": { @@ -10032,7 +11078,7 @@ "id": "OrdersCreateTestOrderResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersCreateTestOrderResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#ordersCreateTestOrderResponse`\".", "type": "string" }, "orderId": { @@ -10059,7 +11105,7 @@ "id": "OrdersCreateTestReturnResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersCreateTestReturnResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#ordersCreateTestReturnResponse`\".", "type": "string" }, "returnId": { @@ -10089,10 +11135,10 @@ "properties": { "amount": { "$ref": "MonetaryAmount", - "description": "The total amount that is refunded. (e.g. refunding $5 each for 2 products should be done by setting quantity to 2 and amount to 10$) In case of multiple refunds, this should be the amount you currently want to refund to the customer." + "description": "The total amount that is refunded. (for example, refunding $5 each for 2 products should be done by setting quantity to 2 and amount to 10$) In case of multiple refunds, this should be the amount you currently want to refund to the customer." }, "fullRefund": { - "description": "If true, the full item will be refunded. If this is true, amount should not be provided and will be ignored.", + "description": "If true, the full item will be refunded. If this is true, amount shouldn't be provided and will be ignored.", "type": "boolean" }, "lineItemId": { @@ -10119,7 +11165,7 @@ "description": "The amount that is refunded. If this is not the first refund for the shipment, this should be the newly refunded amount." }, "fullRefund": { - "description": "If set to true, all shipping costs for the order will be refunded. If this is true, amount should not be provided and will be ignored. If set to false, submit the amount of the partial shipping refund, excluding the shipping tax. The shipping tax is calculated and handled on Google's side.", + "description": "If set to true, all shipping costs for the order will be refunded. If this is true, amount shouldn't be provided and will be ignored. If set to false, submit the amount of the partial shipping refund, excluding the shipping tax. The shipping tax is calculated and handled on Google's side.", "type": "boolean" } }, @@ -10162,7 +11208,7 @@ "id": "OrdersGetByMerchantOrderIdResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersGetByMerchantOrderIdResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#ordersGetByMerchantOrderIdResponse`\".", "type": "string" }, "order": { @@ -10176,7 +11222,7 @@ "id": "OrdersGetTestOrderTemplateResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersGetTestOrderTemplateResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#ordersGetTestOrderTemplateResponse`\".", "type": "string" }, "template": { @@ -10233,7 +11279,7 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersInStoreRefundLineItemResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#ordersInStoreRefundLineItemResponse`\".", "type": "string" } }, @@ -10243,7 +11289,7 @@ "id": "OrdersListResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#ordersListResponse`\".", "type": "string" }, "nextPageToken": { @@ -10296,7 +11342,7 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersRefundItemResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#ordersRefundItemResponse`\".", "type": "string" } }, @@ -10310,7 +11356,7 @@ "description": "The amount that is refunded. If this is not the first refund for the order, this should be the newly refunded amount." }, "fullRefund": { - "description": "If true, the full order will be refunded, including shipping. If this is true, amount should not be provided and will be ignored.", + "description": "If true, the full order will be refunded, including shipping. If this is true, amount shouldn't be provided and will be ignored.", "type": "boolean" }, "operationId": { @@ -10336,7 +11382,7 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersRefundOrderResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#ordersRefundOrderResponse`\".", "type": "string" } }, @@ -10381,7 +11427,7 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersRejectReturnLineItemResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#ordersRejectReturnLineItemResponse`\".", "type": "string" } }, @@ -10434,7 +11480,7 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersReturnRefundLineItemResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#ordersReturnRefundLineItemResponse`\".", "type": "string" } }, @@ -10472,7 +11518,7 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersSetLineItemMetadataResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#ordersSetLineItemMetadataResponse`\".", "type": "string" } }, @@ -10514,7 +11560,7 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersShipLineItemsResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#ordersShipLineItemsResponse`\".", "type": "string" } }, @@ -10524,7 +11570,7 @@ "id": "OrdersUpdateLineItemShippingDetailsRequest", "properties": { "deliverByDate": { - "description": "Updated delivery by date, in ISO 8601 format. If not specified only ship by date is updated. Provided date should be within 1 year timeframe and can not be a date in the past.", + "description": "Updated delivery by date, in ISO 8601 format. If not specified only ship by date is updated. Provided date should be within 1 year timeframe and can't be a date in the past.", "type": "string" }, "lineItemId": { @@ -10540,7 +11586,7 @@ "type": "string" }, "shipByDate": { - "description": "Updated ship by date, in ISO 8601 format. If not specified only deliver by date is updated. Provided date should be within 1 year timeframe and can not be a date in the past.", + "description": "Updated ship by date, in ISO 8601 format. If not specified only deliver by date is updated. Provided date should be within 1 year timeframe and can't be a date in the past.", "type": "string" } }, @@ -10554,7 +11600,7 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersUpdateLineItemShippingDetailsResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#ordersUpdateLineItemShippingDetailsResponse`\".", "type": "string" } }, @@ -10582,7 +11628,7 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersUpdateMerchantOrderIdResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#ordersUpdateMerchantOrderIdResponse`\".", "type": "string" } }, @@ -10642,7 +11688,28 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersUpdateShipmentResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#ordersUpdateShipmentResponse`\".", + "type": "string" + } + }, + "type": "object" + }, + "PauseBuyOnGoogleProgramRequest": { + "description": "Request message for the PauseProgram method.", + "id": "PauseBuyOnGoogleProgramRequest", + "properties": {}, + "type": "object" + }, + "PaymentServiceProviderLinkInfo": { + "description": "Additional information required for PAYMENT_SERVICE_PROVIDER link type.", + "id": "PaymentServiceProviderLinkInfo", + "properties": { + "externalAccountBusinessCountry": { + "description": "The business country of the merchant account as identified by the third party service provider.", + "type": "string" + }, + "externalAccountId": { + "description": "The id used by the third party service provider to identify the merchant.", "type": "string" } }, @@ -10652,11 +11719,11 @@ "id": "PickupCarrierService", "properties": { "carrierName": { - "description": "The name of the pickup carrier (e.g., `\"UPS\"`). Required.", + "description": "The name of the pickup carrier (for example, `\"UPS\"`). Required.", "type": "string" }, "serviceName": { - "description": "The name of the pickup service (e.g., `\"Access point\"`). Required.", + "description": "The name of the pickup service (for example, `\"Access point\"`). Required.", "type": "string" } }, @@ -10666,15 +11733,15 @@ "id": "PickupServicesPickupService", "properties": { "carrierName": { - "description": "The name of the carrier (e.g., `\"UPS\"`). Always present.", + "description": "The name of the carrier (for example, `\"UPS\"`). Always present.", "type": "string" }, "country": { - "description": "The CLDR country code of the carrier (e.g., \"US\"). Always present.", + "description": "The CLDR country code of the carrier (for example, \"US\"). Always present.", "type": "string" }, "serviceName": { - "description": "The name of the pickup service (e.g., `\"Access point\"`). Always present.", + "description": "The name of the pickup service (for example, `\"Access point\"`). Always present.", "type": "string" } }, @@ -10745,7 +11812,7 @@ "type": "array" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#posCustomBatchResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#posCustomBatchResponse`\".", "type": "string" } }, @@ -10848,7 +11915,7 @@ "type": "string" }, "storeCode": { - "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted via the API or the code of the store in Google My Business.", + "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted through the API or the code of the store in a Business Profile.", "type": "string" }, "targetCountry": { @@ -10887,7 +11954,7 @@ "type": "string" }, "storeCode": { - "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted via the API or the code of the store in Google My Business.", + "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted through the API or the code of the store in a Business Profile.", "type": "string" }, "targetCountry": { @@ -10917,7 +11984,7 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#posInventoryResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#posInventoryResponse`\".", "type": "string" }, "price": { @@ -10930,7 +11997,7 @@ "type": "string" }, "storeCode": { - "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted via the API or the code of the store in Google My Business.", + "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted through the API or the code of the store in a Business Profile.", "type": "string" }, "targetCountry": { @@ -10948,7 +12015,7 @@ "id": "PosListResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#posListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#posListResponse`\".", "type": "string" }, "resources": { @@ -10994,7 +12061,7 @@ "type": "string" }, "storeCode": { - "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted via the API or the code of the store in Google My Business.", + "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted through the API or the code of the store in a Business Profile.", "type": "string" }, "targetCountry": { @@ -11037,7 +12104,7 @@ "type": "string" }, "storeCode": { - "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted via the API or the code of the store in Google My Business.", + "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted through the API or the code of the store in a Business Profile.", "type": "string" }, "targetCountry": { @@ -11067,7 +12134,7 @@ "type": "string" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#posSaleResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#posSaleResponse`\".", "type": "string" }, "price": { @@ -11084,7 +12151,7 @@ "type": "string" }, "storeCode": { - "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted via the API or the code of the store in Google My Business.", + "description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted through the API or the code of the store in a Business Profile.", "type": "string" }, "targetCountry": { @@ -11102,10 +12169,25 @@ "description": "Store resource.", "id": "PosStore", "properties": { + "gcidCategory": { + "description": "The business type of the store.", + "items": { + "type": "string" + }, + "type": "array" + }, "kind": { "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#posStore`\"", "type": "string" }, + "phoneNumber": { + "description": "The store phone number.", + "type": "string" + }, + "placeId": { + "description": "The Google Place Id of the store location.", + "type": "string" + }, "storeAddress": { "description": "Required. The street address of the store.", "type": "string" @@ -11113,6 +12195,14 @@ "storeCode": { "description": "Required. A store identifier that is unique for the given merchant.", "type": "string" + }, + "storeName": { + "description": "The merchant or store name.", + "type": "string" + }, + "websiteUrl": { + "description": "The website url for the store or merchant.", + "type": "string" } }, "type": "object" @@ -11182,7 +12272,7 @@ "type": "object" }, "Product": { - "description": " Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Some attributes are country-specific, so make sure you select the appropriate country in the drop-down selector at the top of the page. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.", + "description": " Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.", "id": "Product", "properties": { "additionalImageLinks": { @@ -11256,7 +12346,7 @@ "description": "Cost of goods sold. Used for gross profit reporting." }, "customAttributes": { - "description": "A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (e.g., `{ \"name\": \"size type\", \"value\": \"regular\" }`). This is useful for submitting attributes not explicitly exposed by the API, such as additional attributes used for Buy on Google (formerly known as Shopping Actions).", + "description": "A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (for example, `{ \"name\": \"size type\", \"value\": \"regular\" }`). This is useful for submitting attributes not explicitly exposed by the API, such as additional attributes used for Buy on Google (formerly known as Shopping Actions).", "items": { "$ref": "CustomAttribute" }, @@ -11315,7 +12405,7 @@ "type": "string" }, "excludedDestinations": { - "description": "The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center).", + "description": "The list of destinations to exclude for this target (corresponds to cleared check boxes in Merchant Center).", "items": { "type": "string" }, @@ -11376,6 +12466,10 @@ "description": "URL directly linking to your item's page on your website.", "type": "string" }, + "linkTemplate": { + "description": "URL template for merchant hosted local storefront.", + "type": "string" + }, "loyaltyPoints": { "$ref": "LoyaltyPoints", "description": "Loyalty points that users receive after purchasing the item. Japan only." @@ -11406,6 +12500,10 @@ "description": "URL for the mobile-optimized version of your item's landing page.", "type": "string" }, + "mobileLinkTemplate": { + "description": "URL template for merchant hosted local storefront optimized for mobile devices.", + "type": "string" + }, "mpn": { "description": "Manufacturer Part Number (MPN) of the item.", "type": "string" @@ -11420,7 +12518,15 @@ "type": "string" }, "pattern": { - "description": "The item's pattern (e.g. polka dots).", + "description": "The item's pattern (for example, polka dots).", + "type": "string" + }, + "pickupMethod": { + "description": "The pick up option for the item. Acceptable values are: - \"`buy`\" - \"`reserve`\" - \"`ship to store`\" - \"`not supported`\" ", + "type": "string" + }, + "pickupSla": { + "description": "Item store pickup timeline. Acceptable values are: - \"`same day`\" - \"`next day`\" - \"`2-day`\" - \"`3-day`\" - \"`4-day`\" - \"`5-day`\" - \"`6-day`\" - \"`7-day`\" - \"`multi-week`\" ", "type": "string" }, "price": { @@ -11434,6 +12540,10 @@ }, "type": "array" }, + "productHeight": { + "$ref": "ProductDimension", + "description": "The height of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive)." + }, "productHighlights": { "description": "Bullet points describing the most relevant highlights of a product.", "items": { @@ -11441,6 +12551,10 @@ }, "type": "array" }, + "productLength": { + "$ref": "ProductDimension", + "description": "The length of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive)." + }, "productTypes": { "description": "Categories of the item (formatted as in products data specification).", "items": { @@ -11448,6 +12562,14 @@ }, "type": "array" }, + "productWeight": { + "$ref": "ProductWeight", + "description": "The weight of the product in the units provided. The value must be between 0 (exclusive) and 2000 (inclusive)." + }, + "productWidth": { + "$ref": "ProductDimension", + "description": "The width of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive)." + }, "promotionIds": { "description": "The unique ID of a promotion.", "items": { @@ -11518,7 +12640,7 @@ "type": "array" }, "source": { - "description": "The source of the offer, i.e., how the offer was created. Acceptable values are: - \"`api`\" - \"`crawl`\" - \"`feed`\" ", + "description": "The source of the offer, that is, how the offer was created. Acceptable values are: - \"`api`\" - \"`crawl`\" - \"`feed`\" ", "type": "string" }, "subscriptionCost": { @@ -11577,6 +12699,21 @@ }, "type": "object" }, + "ProductDimension": { + "id": "ProductDimension", + "properties": { + "unit": { + "description": "Required. The length units. Acceptable values are: - \"`in`\" - \"`cm`\" ", + "type": "string" + }, + "value": { + "description": "Required. The length value represented as a number. The value can have a maximum precision of four decimal places.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "ProductProductDetail": { "id": "ProductProductDetail", "properties": { @@ -11611,6 +12748,26 @@ "format": "int64", "type": "string" }, + "maxHandlingTime": { + "description": "Maximum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it's received if it happens before the cut-off time. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds.", + "format": "int64", + "type": "string" + }, + "maxTransitTime": { + "description": "Maximum transit time (inclusive) between when the order has shipped and when it's delivered in business days. 0 means that the order is delivered on the same day as it ships. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds.", + "format": "int64", + "type": "string" + }, + "minHandlingTime": { + "description": "Minimum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it's received if it happens before the cut-off time. minHandlingTime can only be present together with maxHandlingTime; but it's not required if maxHandlingTime is present.", + "format": "int64", + "type": "string" + }, + "minTransitTime": { + "description": "Minimum transit time (inclusive) between when the order has shipped and when it's delivered in business days. 0 means that the order is delivered on the same day as it ships. minTransitTime can only be present together with maxTransitTime; but it's not required if maxTransitTime is present.", + "format": "int64", + "type": "string" + }, "postalCode": { "description": "The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix followed by a * wildcard, a range between two postal codes or two postal code prefixes of equal length.", "type": "string" @@ -11661,7 +12818,7 @@ "type": "object" }, "ProductStatus": { - "description": "The status of a product, i.e., information about a product computed asynchronously.", + "description": "The status of a product, that is, information about a product computed asynchronously.", "id": "ProductStatus", "properties": { "creationDate": { @@ -11870,6 +13027,21 @@ }, "type": "object" }, + "ProductWeight": { + "id": "ProductWeight", + "properties": { + "unit": { + "description": "Required. The weight unit. Acceptable values are: - \"`g`\" - \"`kg`\" - \"`oz`\" - \"`lb`\" ", + "type": "string" + }, + "value": { + "description": "Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "ProductsCustomBatchRequest": { "id": "ProductsCustomBatchRequest", "properties": { @@ -11893,7 +13065,7 @@ "type": "integer" }, "feedId": { - "description": "The Content API feed id.", + "description": "The Content API Supplemental Feed ID. If present then product insertion or deletion applies to a supplemental feed instead of primary Content API feed.", "format": "uint64", "type": "string" }, @@ -11903,15 +13075,20 @@ "type": "string" }, "method": { - "description": "The method of the batch entry. Acceptable values are: - \"`delete`\" - \"`get`\" - \"`insert`\" ", + "description": "The method of the batch entry. Acceptable values are: - \"`delete`\" - \"`get`\" - \"`insert`\" - \"`update`\" ", "type": "string" }, "product": { "$ref": "Product", - "description": "The product to insert. Only required if the method is `insert`." + "description": "The product to insert or update. Only required if the method is `insert` or `update`. If the `update` method is used with `updateMask` only to delete a field, then this isn't required. For example, setting `salePrice` on the `updateMask` and not providing a `product` will result in an existing sale price on the product specified by `productId` being deleted." }, "productId": { - "description": "The ID of the product to get or delete. Only defined if the method is `get` or `delete`.", + "description": "The ID of the product to get or mutate. Only defined if the method is `get`, `delete`, or `update`.", + "type": "string" + }, + "updateMask": { + "description": "The comma-separated list of product attributes to be updated. Example: `\"title,salePrice\"`. Attributes specified in the update mask without a value specified in the body will be deleted from the product. Only top-level product attributes can be updated. If not defined, product attributes with set values will be updated and other attributes will stay unchanged. Only defined if the method is `update`.", + "format": "google-fieldmask", "type": "string" } }, @@ -11928,7 +13105,7 @@ "type": "array" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#productsCustomBatchResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#productsCustomBatchResponse`\".", "type": "string" } }, @@ -11962,7 +13139,7 @@ "id": "ProductsListResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#productsListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#productsListResponse`\".", "type": "string" }, "nextPageToken": { @@ -12037,7 +13214,7 @@ "type": "array" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#productstatusesCustomBatchResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#productstatusesCustomBatchResponse`\".", "type": "string" } }, @@ -12071,7 +13248,7 @@ "id": "ProductstatusesListResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#productstatusesListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#productstatusesListResponse`\".", "type": "string" }, "nextPageToken": { @@ -12087,6 +13264,256 @@ }, "type": "object" }, + "Promotion": { + "description": " The Promotions feature is currently in alpha and is not yet publicly available in Content API for Shopping. This documentation is provided for reference only may be subject to change. Represents a promotion. See the following articles for more details. * [Promotions feed specification](https://support.google.com/merchants/answer/2906014) * [Local promotions feed specification](https://support.google.com/merchants/answer/10146130) * [Promotions on Buy on Google product data specification](https://support.google.com/merchants/answer/9173673)", + "id": "Promotion", + "properties": { + "brand": { + "description": "Product filter by brand for the promotion.", + "items": { + "type": "string" + }, + "type": "array" + }, + "brandExclusion": { + "description": "Product filter by brand exclusion for the promotion.", + "items": { + "type": "string" + }, + "type": "array" + }, + "contentLanguage": { + "description": "Required. The content language used as part of the unique identifier.", + "type": "string" + }, + "couponValueType": { + "description": "Required. Coupon value type for the promotion.", + "enum": [ + "COUPON_VALUE_TYPE_UNSPECIFIED", + "MONEY_OFF", + "PERCENT_OFF", + "BUY_M_GET_N_MONEY_OFF", + "BUY_M_GET_N_PERCENT_OFF", + "BUY_M_GET_MONEY_OFF", + "BUY_M_GET_PERCENT_OFF", + "FREE_GIFT", + "FREE_GIFT_WITH_VALUE", + "FREE_GIFT_WITH_ITEM_ID", + "FREE_SHIPPING_STANDARD", + "FREE_SHIPPING_OVERNIGHT", + "FREE_SHIPPING_TWO_DAY" + ], + "enumDescriptions": [ + "Indicates that the coupon value type is unspecified.", + "Money off coupon value type.", + "Percent off coupon value type.", + "Buy M quantity, get N money off coupon value type. buy_this_quantity and get_this_quantity must be present. money_off_amount must also be present.", + "Buy M quantity, get N percent off coupon value type. buy_this_quantity and get_this_quantity must be present. percent_off_percentage must also be present.", + "Buy M quantity, get money off. buy_this_quantity and money_off_amount must be present.", + "Buy M quantity, get money off. buy_this_quantity and percent_off_percentage must be present.", + "Free gift with description only", + "Free gift with value (description is optional).", + "Free gift with item id (description is optional).", + "Standard free shipping coupon value type.", + "Overnight free shipping coupon value type.", + "Two day free shipping coupon value type." + ], + "type": "string" + }, + "freeGiftDescription": { + "description": "Free gift description for the promotion.", + "type": "string" + }, + "freeGiftItemId": { + "description": "Free gift item id for the promotion.", + "type": "string" + }, + "freeGiftValue": { + "$ref": "PriceAmount", + "description": "Free gift value for the promotion." + }, + "genericRedemptionCode": { + "description": "Generic redemption code for the promotion. To be used with the above field.", + "type": "string" + }, + "getThisQuantityDiscounted": { + "description": "The number of items discounted in the promotion.", + "format": "int32", + "type": "integer" + }, + "id": { + "description": "Required. Output only. The REST promotion id to uniquely identify the promotion. Content API methods that operate on promotions take this as their promotionId parameter. The REST ID for a promotion is of the form channel:contentLanguage:targetCountry:promotionId The channel field will have a value of \"online\", \"in_store\", or \"online_in_store\".", + "readOnly": true, + "type": "string" + }, + "itemGroupId": { + "description": "Product filter by item group id for the promotion.", + "items": { + "type": "string" + }, + "type": "array" + }, + "itemGroupIdExclusion": { + "description": "Product filter by item group id exclusion for the promotion.", + "items": { + "type": "string" + }, + "type": "array" + }, + "itemId": { + "description": "Product filter by item id for the promotion.", + "items": { + "type": "string" + }, + "type": "array" + }, + "itemIdExclusion": { + "description": "Product filter by item id exclusion for the promotion.", + "items": { + "type": "string" + }, + "type": "array" + }, + "limitQuantity": { + "description": "Maximum purchase quantity for the promotion.", + "format": "int32", + "type": "integer" + }, + "limitValue": { + "$ref": "PriceAmount", + "description": "Maximum purchase value for the promotion." + }, + "longTitle": { + "description": "Long title for the promotion.", + "type": "string" + }, + "minimumPurchaseAmount": { + "$ref": "PriceAmount", + "description": "Minimum purchase amount for the promotion." + }, + "minimumPurchaseQuantity": { + "description": "Minimum purchase quantity for the promotion.", + "format": "int32", + "type": "integer" + }, + "moneyBudget": { + "$ref": "PriceAmount", + "description": "Promotion cost cap of the promotion." + }, + "moneyOffAmount": { + "$ref": "PriceAmount", + "description": "The money off amount offered in the promotion." + }, + "offerType": { + "description": "Required. Type of the promotion.", + "enum": [ + "OFFER_TYPE_UNSPECIFIED", + "NO_CODE", + "GENERIC_CODE" + ], + "enumDescriptions": [ + "Unknown offer type.", + "Offer type without a code.", + "Offer type with a code." + ], + "type": "string" + }, + "orderLimit": { + "description": "Order limit for the promotion.", + "format": "int32", + "type": "integer" + }, + "percentOff": { + "description": "The percentage discount offered in the promotion.", + "format": "int32", + "type": "integer" + }, + "productApplicability": { + "description": "Required. Applicability of the promotion to either all products or only specific products.", + "enum": [ + "PRODUCT_APPLICABILITY_UNSPECIFIED", + "ALL_PRODUCTS", + "SPECIFIC_PRODUCTS" + ], + "enumDescriptions": [ + "Unknown product applicability.", + "Applicable to all products.", + "Applicable to only a single product or list of products." + ], + "type": "string" + }, + "productType": { + "description": "Product filter by product type for the promotion.", + "items": { + "type": "string" + }, + "type": "array" + }, + "productTypeExclusion": { + "description": "Product filter by product type exclusion for the promotion.", + "items": { + "type": "string" + }, + "type": "array" + }, + "promotionDestinationIds": { + "description": "Destination ID for the promotion.", + "items": { + "type": "string" + }, + "type": "array" + }, + "promotionDisplayDates": { + "description": "String representation of the promotion display dates (deprecated: Use promotion_display_time_period instead).", + "type": "string" + }, + "promotionDisplayTimePeriod": { + "$ref": "TimePeriod", + "description": "TimePeriod representation of the promotion display dates." + }, + "promotionEffectiveDates": { + "description": "String representation of the promotion effective dates (deprecated: Use promotion_effective_time_period instead).", + "type": "string" + }, + "promotionEffectiveTimePeriod": { + "$ref": "TimePeriod", + "description": "Required. TimePeriod representation of the promotion effective dates." + }, + "promotionId": { + "description": "Required. The user provided promotion id to uniquely identify the promotion.", + "type": "string" + }, + "redemptionChannel": { + "description": "Required. Redemption channel for the promotion. At least one channel is required.", + "items": { + "enum": [ + "REDEMPTION_CHANNEL_UNSPECIFIED", + "IN_STORE", + "ONLINE" + ], + "enumDescriptions": [ + "Indicates that the channel is unspecified.", + "Indicates that the channel is in store.", + "Indicates that the channel is online." + ], + "type": "string" + }, + "type": "array" + }, + "shippingServiceNames": { + "description": "Shipping service names for thse promotion.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetCountry": { + "description": "Required. The target country used as part of the unique identifier.", + "type": "string" + } + }, + "type": "object" + }, "PubsubNotificationSettings": { "description": "Settings for Pub/Sub notifications, all methods require that the caller is a direct user of the merchant center account.", "id": "PubsubNotificationSettings", @@ -12136,7 +13563,7 @@ }, "singleValue": { "$ref": "Value", - "description": "The value of the rate group (e.g. flat rate $10). Can only be set if `mainTable` and `subtables` are not set." + "description": "The value of the rate group (for example, flat rate $10). Can only be set if `mainTable` and `subtables` are not set." }, "subtables": { "description": "A list of subtables referred to by `mainTable`. Can only be set if `mainTable` is set.", @@ -12266,7 +13693,7 @@ "type": "array" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#regionalInventory\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#regionalInventory`\".", "type": "string" }, "price": { @@ -12341,7 +13768,7 @@ "type": "array" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#regionalinventoryCustomBatchResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#regionalinventoryCustomBatchResponse`\".", "type": "string" } }, @@ -12361,7 +13788,7 @@ "description": "A list of errors defined if and only if the request failed." }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#regionalinventoryCustomBatchResponseEntry\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#regionalinventoryCustomBatchResponseEntry`\".", "type": "string" }, "regionalInventory": { @@ -12397,7 +13824,7 @@ }, "buyboxWinningProductStats": { "$ref": "RepricingProductReportBuyboxWinningProductStats", - "description": "Stats specific to buybox winning rules for product report." + "description": "Stats specific to buybox winning rules for product report (deprecated)." }, "date": { "$ref": "Date", @@ -12439,12 +13866,16 @@ "enum": [ "REPRICING_RULE_TYPE_UNSPECIFIED", "TYPE_STATS_BASED", - "TYPE_COGS_BASED" + "TYPE_COGS_BASED", + "TYPE_SALES_VOLUME_BASED", + "TYPE_COMPETITIVE_PRICE" ], "enumDescriptions": [ "Unused.", "Statistical measurement based rules among Google SA merchants. If this rule is chosen, repricer will adjust the offer price based on statistical metrics (currently only min is available) among other merchants who sell the same product. Details need to be provdided in the RuleDefinition.", - "Cost of goods sale based rule. Repricer will adjust the offer price based on the offer's sale cost which is provided by the merchant." + "Cost of goods sale based rule. Repricer will adjust the offer price based on the offer's sale cost which is provided by the merchant.", + "Sales volume based rule. Repricer will adjust the offer price based on the offer's sales volume in the past period of time defined within the rule.", + "Competitive price rule. Repricer will adjust the offer price based on the min price from a list of unnamed big competitors." ], "type": "string" } @@ -12519,12 +13950,16 @@ "enum": [ "REPRICING_RULE_TYPE_UNSPECIFIED", "TYPE_STATS_BASED", - "TYPE_COGS_BASED" + "TYPE_COGS_BASED", + "TYPE_SALES_VOLUME_BASED", + "TYPE_COMPETITIVE_PRICE" ], "enumDescriptions": [ "Unused.", "Statistical measurement based rules among Google SA merchants. If this rule is chosen, repricer will adjust the offer price based on statistical metrics (currently only min is available) among other merchants who sell the same product. Details need to be provdided in the RuleDefinition.", - "Cost of goods sale based rule. Repricer will adjust the offer price based on the offer's sale cost which is provided by the merchant." + "Cost of goods sale based rule. Repricer will adjust the offer price based on the offer's sale cost which is provided by the merchant.", + "Sales volume based rule. Repricer will adjust the offer price based on the offer's sales volume in the past period of time defined within the rule.", + "Competitive price rule. Repricer will adjust the offer price based on the min price from a list of unnamed big competitors." ], "type": "string" } @@ -12636,7 +14071,7 @@ "properties": { "buyboxWinningRuleStats": { "$ref": "RepricingRuleReportBuyboxWinningRuleStats", - "description": "Stats specific to buybox winning rules for rule report." + "description": "Stats specific to buybox winning rules for rule report (deprecated)." }, "date": { "$ref": "Date", @@ -12681,12 +14116,16 @@ "enum": [ "REPRICING_RULE_TYPE_UNSPECIFIED", "TYPE_STATS_BASED", - "TYPE_COGS_BASED" + "TYPE_COGS_BASED", + "TYPE_SALES_VOLUME_BASED", + "TYPE_COMPETITIVE_PRICE" ], "enumDescriptions": [ "Unused.", "Statistical measurement based rules among Google SA merchants. If this rule is chosen, repricer will adjust the offer price based on statistical metrics (currently only min is available) among other merchants who sell the same product. Details need to be provdided in the RuleDefinition.", - "Cost of goods sale based rule. Repricer will adjust the offer price based on the offer's sale cost which is provided by the merchant." + "Cost of goods sale based rule. Repricer will adjust the offer price based on the offer's sale cost which is provided by the merchant.", + "Sales volume based rule. Repricer will adjust the offer price based on the offer's sales volume in the past period of time defined within the rule.", + "Competitive price rule. Repricer will adjust the offer price based on the min price from a list of unnamed big competitors." ], "type": "string" } @@ -12752,6 +14191,78 @@ }, "type": "object" }, + "RequestPhoneVerificationRequest": { + "description": "Request message for the RequestPhoneVerification method.", + "id": "RequestPhoneVerificationRequest", + "properties": { + "languageCode": { + "description": "Language code [IETF BCP 47 syntax](https://tools.ietf.org/html/bcp47) (for example, en-US). Language code is used to provide localized `SMS` and `PHONE_CALL`. Default language used is en-US if not provided.", + "type": "string" + }, + "phoneNumber": { + "description": "Phone number to be verified.", + "type": "string" + }, + "phoneRegionCode": { + "description": "Required. Two letter country code for the phone number, for example `CA` for Canadian numbers. See the [ISO 3166-1 alpha-2](https://wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) officially assigned codes.", + "type": "string" + }, + "phoneVerificationMethod": { + "description": "Verification method to receive verification code.", + "enum": [ + "PHONE_VERIFICATION_METHOD_UNSPECIFIED", + "SMS", + "PHONE_CALL" + ], + "enumDescriptions": [ + "Unknown method.", + "Receive verification code by SMS.", + "Receive verification code by phone call." + ], + "type": "string" + } + }, + "type": "object" + }, + "RequestPhoneVerificationResponse": { + "description": "Response message for the RequestPhoneVerification method.", + "id": "RequestPhoneVerificationResponse", + "properties": { + "verificationId": { + "description": "The verification ID to use in subsequent calls to `verifyphonenumber`.", + "type": "string" + } + }, + "type": "object" + }, + "RequestReviewBuyOnGoogleProgramRequest": { + "description": "Request message for the RequestReviewProgram method.", + "id": "RequestReviewBuyOnGoogleProgramRequest", + "properties": {}, + "type": "object" + }, + "RequestReviewFreeListingsRequest": { + "description": "Request message for the RequestReviewFreeListings Program method.", + "id": "RequestReviewFreeListingsRequest", + "properties": { + "regionCode": { + "description": "The code [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the country for which review is to be requested.", + "type": "string" + } + }, + "type": "object" + }, + "RequestReviewShoppingAdsRequest": { + "description": "Request message for the RequestReviewShoppingAds program method.", + "id": "RequestReviewShoppingAdsRequest", + "properties": { + "regionCode": { + "description": "The code [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the country for which review is to be requested.", + "type": "string" + } + }, + "type": "object" + }, "ReturnAddress": { "description": "Return address resource.", "id": "ReturnAddress", @@ -12787,15 +14298,15 @@ "id": "ReturnAddressAddress", "properties": { "country": { - "description": "CLDR country code (e.g. \"US\").", + "description": "CLDR country code (for example, \"US\").", "type": "string" }, "locality": { - "description": "City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).", + "description": "City, town or commune. May also include dependent localities or sublocalities (for example, neighborhoods or suburbs).", "type": "string" }, "postalCode": { - "description": "Postal code or ZIP (e.g. \"94043\").", + "description": "Postal code or ZIP (for example, \"94043\").", "type": "string" }, "recipientName": { @@ -13161,6 +14672,25 @@ }, "type": "object" }, + "ReturnShippingLabel": { + "description": "Return shipping label for a Buy on Google merchant-managed return.", + "id": "ReturnShippingLabel", + "properties": { + "carrier": { + "description": "Name of the carrier.", + "type": "string" + }, + "labelUri": { + "description": "The URL for the return shipping label in PDF format", + "type": "string" + }, + "trackingId": { + "description": "The tracking id of this return label.", + "type": "string" + } + }, + "type": "object" + }, "ReturnaddressCustomBatchRequest": { "id": "ReturnaddressCustomBatchRequest", "properties": { @@ -13213,7 +14743,7 @@ "type": "array" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#returnaddressCustomBatchResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#returnaddressCustomBatchResponse`\".", "type": "string" } }, @@ -13246,7 +14776,7 @@ "id": "ReturnaddressListResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#returnaddressListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#returnaddressListResponse`\".", "type": "string" }, "nextPageToken": { @@ -13314,7 +14844,7 @@ "type": "array" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#returnpolicyCustomBatchResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#returnpolicyCustomBatchResponse`\".", "type": "string" } }, @@ -13347,7 +14877,7 @@ "id": "ReturnpolicyListResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#returnpolicyListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#returnpolicyListResponse`\".", "type": "string" }, "resources": { @@ -13386,7 +14916,7 @@ "type": "string" }, "query": { - "description": "Required. Query that defines performance metrics to retrieve and dimensions according to which the metrics are to be segmented. ", + "description": "Required. Query that defines performance metrics to retrieve and dimensions according to which the metrics are to be segmented. For details on how to construct your query, see the [Query Language guide](https://developers.google.com/shopping-content/guides/reports/query-language/overview).", "type": "string" } }, @@ -13414,6 +14944,54 @@ "description": "Dimensions according to which metrics are segmented in the response. Values of product dimensions, e.g., offer id, reflect the state of a product at the time of the corresponding event, e.g., impression or order. Segment fields cannot be selected in queries without also selecting at least one metric field. Values are only set for dimensions requested explicitly in the request's search query.", "id": "Segments", "properties": { + "brand": { + "description": "Brand of the product.", + "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.", + "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.", + "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.", + "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.", + "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.", + "type": "string" + }, + "currencyCode": { + "description": "Currency in which price metrics are represented, e.g., if you select `ordered_item_sales_micros`, the returned value will be represented by this currency.", + "type": "string" + }, + "customLabel0": { + "description": "Custom label 0 for custom grouping of products.", + "type": "string" + }, + "customLabel1": { + "description": "Custom label 1 for custom grouping of products.", + "type": "string" + }, + "customLabel2": { + "description": "Custom label 2 for custom grouping of products.", + "type": "string" + }, + "customLabel3": { + "description": "Custom label 3 for custom grouping of products.", + "type": "string" + }, + "customLabel4": { + "description": "Custom label 4 for custom grouping of products.", + "type": "string" + }, "date": { "$ref": "Date", "description": "Date in the merchant timezone to which metrics apply." @@ -13422,6 +15000,26 @@ "description": "Merchant-provided id of the product.", "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.", + "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.", + "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.", + "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.", + "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.", + "type": "string" + }, "program": { "description": "Program to which metrics apply, e.g., Free Product Listing.", "enum": [ @@ -13439,6 +15037,14 @@ "Buy on Google Listing." ], "type": "string" + }, + "title": { + "description": "Title of the product.", + "type": "string" + }, + "week": { + "$ref": "Date", + "description": "First day of the week (Monday) of the metrics date in the merchant timezone." } }, "type": "object" @@ -13480,7 +15086,7 @@ }, "pickupService": { "$ref": "PickupCarrierService", - "description": "The carrier-service pair delivering items to collection points. The list of supported pickup services can be retrieved via the `getSupportedPickupServices` method. Required if and only if the service delivery type is `pickup`." + "description": "The carrier-service pair delivering items to collection points. The list of supported pickup services can be retrieved through the `getSupportedPickupServices` method. Required if and only if the service delivery type is `pickup`." }, "rateGroups": { "description": "Shipping rate group definitions. Only the last one is allowed to have an empty `applicableShippingLabels`, which means \"everything else\". The other `applicableShippingLabels` must not overlap.", @@ -13529,7 +15135,7 @@ "type": "string" }, "transferIds": { - "description": "The list of bank identifiers used for the transfer. e.g. Trace ID for Federal Automated Clearing House (ACH). This may also be known as the Wire ID.", + "description": "The list of bank identifiers used for the transfer. For example, Trace ID for Federal Automated Clearing House (ACH). This may also be known as the Wire ID.", "items": { "type": "string" }, @@ -13568,7 +15174,7 @@ "$ref": "SettlementTransactionAmountCommission" }, "description": { - "description": "The description of the event. Acceptable values are: - \"`taxWithhold`\" - \"`principal`\" - \"`principalAdjustment`\" - \"`shippingFee`\" - \"`merchantRemittedSalesTax`\" - \"`googleRemittedSalesTax`\" - \"`merchantCoupon`\" - \"`merchantCouponTax`\" - \"`merchantRemittedDisposalTax`\" - \"`googleRemittedDisposalTax`\" - \"`merchantRemittedRedemptionFee`\" - \"`googleRemittedRedemptionFee`\" - \"`eeeEcoFee`\" - \"`furnitureEcoFee`\" - \"`copyPrivateFee`\" - \"`eeeEcoFeeCommission`\" - \"`furnitureEcoFeeCommission`\" - \"`copyPrivateFeeCommission`\" - \"`principalRefund`\" - \"`principalRefundTax`\" - \"`itemCommission`\" - \"`adjustmentCommission`\" - \"`shippingFeeCommission`\" - \"`commissionRefund`\" - \"`damaged`\" - \"`damagedOrDefectiveItem`\" - \"`expiredItem`\" - \"`faultyItem`\" - \"`incorrectItemReceived`\" - \"`itemMissing`\" - \"`qualityNotExpected`\" - \"`receivedTooLate`\" - \"`storePackageMissing`\" - \"`transitPackageMissing`\" - \"`unsuccessfulDeliveryUndeliverable`\" - \"`wrongChargeInStore`\" - \"`wrongItem`\" - \"`returns`\" - \"`undeliverable`\" - \"`issueRelatedRefundAndReplacementAmountDescription`\" - \"`refundFromMerchant`\" - \"`returnLabelShippingFee`\" - \"`lumpSumCorrection`\" - \"`pspFee`\" ", + "description": "The description of the event. Acceptable values are: - \"`taxWithhold`\" - \"`principal`\" - \"`principalAdjustment`\" - \"`shippingFee`\" - \"`merchantRemittedSalesTax`\" - \"`googleRemittedSalesTax`\" - \"`merchantCoupon`\" - \"`merchantCouponTax`\" - \"`merchantRemittedDisposalTax`\" - \"`googleRemittedDisposalTax`\" - \"`merchantRemittedRedemptionFee`\" - \"`googleRemittedRedemptionFee`\" - \"`eeeEcoFee`\" - \"`furnitureEcoFee`\" - \"`copyPrivateFee`\" - \"`eeeEcoFeeCommission`\" - \"`furnitureEcoFeeCommission`\" - \"`copyPrivateFeeCommission`\" - \"`principalRefund`\" - \"`principalRefundTax`\" - \"`itemCommission`\" - \"`adjustmentCommission`\" - \"`shippingFeeCommission`\" - \"`commissionRefund`\" - \"`damaged`\" - \"`damagedOrDefectiveItem`\" - \"`expiredItem`\" - \"`faultyItem`\" - \"`incorrectItemReceived`\" - \"`itemMissing`\" - \"`qualityNotExpected`\" - \"`receivedTooLate`\" - \"`storePackageMissing`\" - \"`transitPackageMissing`\" - \"`unsuccessfulDeliveryUndeliverable`\" - \"`wrongChargeInStore`\" - \"`wrongItem`\" - \"`returns`\" - \"`undeliverable`\" - \"`issueRelatedRefundAndReplacementAmountDescription`\" - \"`refundFromMerchant`\" - \"`returnLabelShippingFee`\" - \"`lumpSumCorrection`\" - \"`pspFee`\" - \"`principalRefundDoesNotFit`\" - \"`principalRefundOrderedWrongItem`\" - \"`principalRefundQualityNotExpected`\" - \"`principalRefundBetterPriceFound`\" - \"`principalRefundNoLongerNeeded`\" - \"`principalRefundChangedMind`\" - \"`principalRefundReceivedTooLate`\" - \"`principalRefundIncorrectItemReceived`\" - \"`principalRefundDamagedOrDefectiveItem`\" - \"`principalRefundDidNotMatchDescription`\" - \"`principalRefundExpiredItem`\" ", "type": "string" }, "transactionAmount": { @@ -13600,7 +15206,7 @@ "id": "SettlementTransactionIdentifiers", "properties": { "adjustmentId": { - "description": "The identifier of the adjustments, if it is available.", + "description": "The identifier of the adjustments, if it's available.", "type": "string" }, "merchantOrderId": { @@ -13647,7 +15253,7 @@ "id": "SettlementreportsListResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#settlementreportsListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#settlementreportsListResponse`\".", "type": "string" }, "nextPageToken": { @@ -13667,7 +15273,7 @@ "id": "SettlementtransactionsListResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#settlementtransactionsListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#settlementtransactionsListResponse`\".", "type": "string" }, "nextPageToken": { @@ -13765,6 +15371,13 @@ "$ref": "Service" }, "type": "array" + }, + "warehouses": { + "description": "Optional. A list of warehouses which can be referred to in `services`.", + "items": { + "$ref": "Warehouse" + }, + "type": "array" } }, "type": "object" @@ -13823,7 +15436,7 @@ "type": "array" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#shippingsettingsCustomBatchResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#shippingsettingsCustomBatchResponse`\".", "type": "string" } }, @@ -13864,7 +15477,7 @@ "type": "array" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#shippingsettingsGetSupportedCarriersResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#shippingsettingsGetSupportedCarriersResponse`\".", "type": "string" } }, @@ -13881,7 +15494,7 @@ "type": "array" }, "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#shippingsettingsGetSupportedHolidaysResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#shippingsettingsGetSupportedHolidaysResponse`\".", "type": "string" } }, @@ -13891,7 +15504,7 @@ "id": "ShippingsettingsGetSupportedPickupServicesResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#shippingsettingsGetSupportedPickupServicesResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#shippingsettingsGetSupportedPickupServicesResponse`\".", "type": "string" }, "pickupServices": { @@ -13908,7 +15521,7 @@ "id": "ShippingsettingsListResponse", "properties": { "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"content#shippingsettingsListResponse\".", + "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#shippingsettingsListResponse`\".", "type": "string" }, "nextPageToken": { @@ -13924,6 +15537,144 @@ }, "type": "object" }, + "ShoppingAdsProgramStatus": { + "description": "Response message for GetShoppingAdsProgramStatus.", + "id": "ShoppingAdsProgramStatus", + "properties": { + "globalState": { + "description": "State of the program, It is set to enabled if there are offers for at least one region.", + "enum": [ + "PROGRAM_STATE_UNSPECIFIED", + "NOT_ENABLED", + "NO_OFFERS_UPLOADED", + "ENABLED" + ], + "enumDescriptions": [ + "State is not known.", + "Program is not enabled for any country.", + "Offers are not uploaded targeting even a single country for this program.", + "Program is enabled and offers are uploaded for at least one country." + ], + "type": "string" + }, + "regionStatuses": { + "description": "Status of the program in each region. Regions with the same status and review eligibility are grouped together in `regionCodes`.", + "items": { + "$ref": "ShoppingAdsProgramStatusRegionStatus" + }, + "type": "array" + } + }, + "type": "object" + }, + "ShoppingAdsProgramStatusRegionStatus": { + "description": "Status of program and region.", + "id": "ShoppingAdsProgramStatusRegionStatus", + "properties": { + "disapprovalDate": { + "description": "Date by which `eligibility_status` will go from `WARNING` to `DISAPPROVED`. It will be present when `eligibility_status` is `WARNING`. Date will be provided in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: YYYY-MM-DD", + "type": "string" + }, + "eligibilityStatus": { + "description": "Eligibility status of the Shopping Ads program.", + "enum": [ + "STATE_UNSPECIFIED", + "APPROVED", + "DISAPPROVED", + "WARNING", + "UNDER_REVIEW", + "PENDING_REVIEW", + "ONBOARDING" + ], + "enumDescriptions": [ + "State is not known.", + "If the account has no issues and review is completed successfully.", + "There are one or more issues that needs to be resolved for account to be active for the program. Detailed list of account issues are available in [accountstatuses](https://developers.google.com/shopping-content/reference/rest/v2.1/accountstatuses) API.", + "If account has issues but offers are servable. Some of the issue can make account DISAPPROVED after a certain deadline.", + "Account is under review. Deprecated: This state is not created.", + "Account is waiting for review to start.", + "Program is currently onboarding. Upload valid offers to complete onboarding." + ], + "type": "string" + }, + "onboardingIssues": { + "description": "These issues must be fixed to become eligible for the review.", + "items": { + "type": "string" + }, + "type": "array" + }, + "regionCodes": { + "description": "The two-letter [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) codes for all the regions with the same `eligibilityStatus` and `reviewEligibility`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "reviewEligibilityStatus": { + "description": "If a program in a given country is eligible for review. It will be present only if eligibility status is `DISAPPROVED`.", + "enum": [ + "REVIEW_ELIGIBILITY_UNSPECIFIED", + "ELIGIBLE", + "INELIGIBLE" + ], + "enumDescriptions": [ + "Review eligibility reason state is unknown.", + "Account is eligible for review for a specified region code.", + "Account is not eligible for review for a specified region code." + ], + "type": "string" + }, + "reviewIneligibilityReason": { + "description": "Review ineligibility reason if account is not eligible for review.", + "enum": [ + "REVIEW_INELIGIBILITY_REASON_UNSPECIFIED", + "ONBOARDING_ISSUES", + "NOT_ENOUGH_OFFERS", + "IN_COOLDOWN_PERIOD", + "ALREADY_UNDER_REVIEW", + "NO_REVIEW_REQUIRED" + ], + "enumDescriptions": [ + "Requesting a review from Google is not possible.", + "All onboarding issues needs to be fixed.", + "Not enough offers uploaded for this country.", + "Cooldown period applies. Wait until cooldown period ends.", + "Account is already under review.", + "No issues available to review." + ], + "type": "string" + }, + "reviewIneligibilityReasonDescription": { + "description": "Reason if a program in a given country is not eligible for review. Populated only if `review_eligibility_status` is `INELIGIBLE`.", + "type": "string" + }, + "reviewIneligibilityReasonDetails": { + "$ref": "ShoppingAdsProgramStatusReviewIneligibilityReasonDetails", + "description": "This contains additional information specific to review ineligibility reasons. If review is ineligible because of `IN_COOLDOWN_PERIOD`, it will contain timestamp for cooldown period." + }, + "reviewIssues": { + "description": "These issues will be evaluated in review process. Fix all the issues before requesting the review.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ShoppingAdsProgramStatusReviewIneligibilityReasonDetails": { + "description": "Additional details for review ineligibility reasons.", + "id": "ShoppingAdsProgramStatusReviewIneligibilityReasonDetails", + "properties": { + "cooldownTime": { + "description": "This timestamp represents end of cooldown period for review ineligbility reason `IN_COOLDOWN_PERIOD`.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "Table": { "id": "Table", "properties": { @@ -14017,7 +15768,7 @@ "id": "TestOrderAddress", "properties": { "country": { - "description": "CLDR country code (e.g. \"US\").", + "description": "CLDR country code (for example, \"US\").", "type": "string" }, "fullAddress": { @@ -14032,11 +15783,11 @@ "type": "boolean" }, "locality": { - "description": "City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).", + "description": "City, town or commune. May also include dependent localities or sublocalities (for example, neighborhoods or suburbs).", "type": "string" }, "postalCode": { - "description": "Postal Code or ZIP (e.g. \"94043\").", + "description": "Postal Code or ZIP (for example, \"94043\").", "type": "string" }, "recipientName": { @@ -14145,7 +15896,7 @@ "description": "Required. The price for the product. Tax is automatically calculated for orders where marketplace facilitator tax laws are applicable. Otherwise, tax settings from Merchant Center are applied." }, "targetCountry": { - "description": "Required. The CLDR territory // code of the target country of the product.", + "description": "Required. The CLDR territory code of the target country of the product.", "type": "string" }, "title": { @@ -14201,6 +15952,23 @@ }, "type": "object" }, + "TimePeriod": { + "description": "A message that represents a time period.", + "id": "TimePeriod", + "properties": { + "endTime": { + "description": "The ending timestamp.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "The starting timestamp.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "TimeZone": { "description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).", "id": "TimeZone", @@ -14274,7 +16042,7 @@ "id": "UnitInvoice", "properties": { "additionalCharges": { - "description": "Additional charges for a unit, e.g. shipping costs.", + "description": "Additional charges for a unit, for example, shipping costs.", "items": { "$ref": "UnitInvoiceAdditionalCharge" }, @@ -14282,7 +16050,7 @@ }, "unitPrice": { "$ref": "Price", - "description": "[required] Pre-tax or post-tax price of the unit depending on the locality of the order." + "description": "[required] Pre-tax or post-tax price of one unit depending on the locality of the order. *Note:* Invoicing works on a per unit basis. The `unitPrice` is the price of a single unit, and will be multiplied by the number of entries in `shipmentUnitId`." }, "unitPriceTaxes": { "description": "Tax amounts to apply to the unit price.", @@ -14299,7 +16067,7 @@ "properties": { "additionalChargeAmount": { "$ref": "Amount", - "description": "[required] Amount of the additional charge." + "description": "[required] Amount of the additional charge per unit. *Note:* Invoicing works on a per unit bases. The `additionalChargeAmount` is the amount charged per unit, and will be multiplied by the number of entries in `shipmentUnitID`." }, "type": { "description": "[required] Type of the additional charge. Acceptable values are: - \"`shipping`\" ", @@ -14343,16 +16111,138 @@ "type": "boolean" }, "pricePercentage": { - "description": "A percentage of the price represented as a number in decimal notation (e.g., `\"5.4\"`). Can only be set if all other fields are not set.", + "description": "A percentage of the price represented as a number in decimal notation (for example, `\"5.4\"`). Can only be set if all other fields are not set.", "type": "string" }, "subtableName": { - "description": "The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.", + "description": "The name of a subtable. Can only be set in table cells (not for single values), and only if all other fields are not set.", "type": "string" } }, "type": "object" }, + "VerifyPhoneNumberRequest": { + "description": "Request message for the VerifyPhoneNumber method.", + "id": "VerifyPhoneNumberRequest", + "properties": { + "phoneVerificationMethod": { + "description": "Verification method used to receive verification code.", + "enum": [ + "PHONE_VERIFICATION_METHOD_UNSPECIFIED", + "SMS", + "PHONE_CALL" + ], + "enumDescriptions": [ + "Unknown method.", + "Receive verification code by SMS.", + "Receive verification code by phone call." + ], + "type": "string" + }, + "verificationCode": { + "description": "The verification code that was sent to the phone number for validation.", + "type": "string" + }, + "verificationId": { + "description": "The verification ID returned by `requestphoneverification`.", + "type": "string" + } + }, + "type": "object" + }, + "VerifyPhoneNumberResponse": { + "description": "Response message for the VerifyPhoneNumber method.", + "id": "VerifyPhoneNumberResponse", + "properties": { + "verifiedPhoneNumber": { + "description": "Verified phone number if verification is successful. This phone number can only be replaced by another verified phone number.", + "type": "string" + } + }, + "type": "object" + }, + "Warehouse": { + "description": "A fulfillment warehouse, which stores and handles inventory.", + "id": "Warehouse", + "properties": { + "businessDayConfig": { + "$ref": "BusinessDayConfig", + "description": "Business days of the warehouse. If not set, will be Monday to Friday by default." + }, + "cutoffTime": { + "$ref": "WarehouseCutoffTime", + "description": "Required. The latest time of day that an order can be accepted and begin processing. Later orders will be processed in the next day. The time is based on the warehouse postal code." + }, + "handlingDays": { + "description": "Required. The number of days it takes for this warehouse to pack up and ship an item. This is on the warehouse level, but can be overridden on the offer level based on the attributes of an item.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Required. The name of the warehouse. Must be unique within account.", + "type": "string" + }, + "shippingAddress": { + "$ref": "Address", + "description": "Required. Shipping address of the warehouse." + } + }, + "type": "object" + }, + "WarehouseBasedDeliveryTime": { + "id": "WarehouseBasedDeliveryTime", + "properties": { + "carrier": { + "description": "Required. Carrier, such as `\"UPS\"` or `\"Fedex\"`. The list of supported carriers can be retrieved through the `listSupportedCarriers` method.", + "type": "string" + }, + "carrierService": { + "description": "Required. Carrier service, such as `\"ground\"` or `\"2 days\"`. The list of supported services for a carrier can be retrieved through the `listSupportedCarriers` method. The name of the service must be in the eddSupportedServices list.", + "type": "string" + }, + "originAdministrativeArea": { + "description": "Shipping origin's state.", + "type": "string" + }, + "originCity": { + "description": "Shipping origin's city.", + "type": "string" + }, + "originCountry": { + "description": "Shipping origin's country represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml).", + "type": "string" + }, + "originPostalCode": { + "description": "Shipping origin.", + "type": "string" + }, + "originStreetAddress": { + "description": "Shipping origin's street address.", + "type": "string" + }, + "warehouseName": { + "description": "The name of the warehouse. Warehouse name need to be matched with name. If warehouseName is set, the below fields will be ignored. The warehouse info will be read from warehouse.", + "type": "string" + } + }, + "type": "object" + }, + "WarehouseCutoffTime": { + "id": "WarehouseCutoffTime", + "properties": { + "hour": { + "description": "Required. Hour (24-hour clock) of the cutoff time until which an order has to be placed to be processed in the same day by the warehouse. Hour is based on the timezone of warehouse.", + "format": "int32", + "type": "integer" + }, + "minute": { + "description": "Required. Minute of the cutoff time until which an order has to be placed to be processed in the same day by the warehouse. Minute is based on the timezone of warehouse.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "Weight": { "id": "Weight", "properties": { @@ -14361,7 +16251,7 @@ "type": "string" }, "value": { - "description": "Required. The weight represented as a number.", + "description": "Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.", "type": "string" } }, diff --git a/etc/api/content/v2/content-api.json b/etc/api/content/v2/content-api.json index 8552d14192..2134b136e5 100644 --- a/etc/api/content/v2/content-api.json +++ b/etc/api/content/v2/content-api.json @@ -3298,7 +3298,7 @@ } } }, - "revision": "20210325", + "revision": "20220303", "rootUrl": "https://shoppingcontent.googleapis.com/", "schemas": { "Account": { @@ -3418,6 +3418,10 @@ "$ref": "AccountCustomerService", "description": "The customer service information of the business." }, + "koreanBusinessRegistrationNumber": { + "description": "The 10-digit [Korean business registration number](https://support.google.com/merchants/answer/9037766) separated with dashes in the format: XXX-XX-XXXXX. This field will only be updated if explicitly set.", + "type": "string" + }, "phoneNumber": { "description": "The phone number of the business.", "type": "string" @@ -4205,6 +4209,32 @@ }, "type": "object" }, + "Address": { + "id": "Address", + "properties": { + "administrativeArea": { + "description": "Required. Top-level administrative subdivision of the country. For example, a state like California (\"CA\") or a province like Quebec (\"QC\").", + "type": "string" + }, + "city": { + "description": "Required. City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).", + "type": "string" + }, + "country": { + "description": "Required. [CLDR country code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)(e.g. \"US\").", + "type": "string" + }, + "postalCode": { + "description": "Required. Postal code or ZIP (e.g. \"94043\"). Required.", + "type": "string" + }, + "streetAddress": { + "description": "Street-level part of the address.", + "type": "string" + } + }, + "type": "object" + }, "Amount": { "id": "Amount", "properties": { @@ -4223,7 +4253,7 @@ "id": "BusinessDayConfig", "properties": { "businessDays": { - "description": "Regular business days. May not be empty.", + "description": "Regular business days, such as '\"monday\"'. May not be empty.", "items": { "type": "string" }, @@ -4269,12 +4299,19 @@ "description": "The CLDR country code of the carrier (e.g., \"US\"). Always present.", "type": "string" }, + "eddServices": { + "description": "A list of services supported for EDD (Estimated Delivery Date) calculation. This is the list of valid values for WarehouseBasedDeliveryTime.carrierService.", + "items": { + "type": "string" + }, + "type": "array" + }, "name": { "description": "The name of the carrier (e.g., `\"UPS\"`). Always present.", "type": "string" }, "services": { - "description": "A list of supported services (e.g., `\"ground\"`) for that carrier. Contains at least one service.", + "description": "A list of supported services (e.g., `\"ground\"`) for that carrier. Contains at least one service. This is the list of valid values for CarrierRate.carrierService.", "items": { "type": "string" }, @@ -4872,6 +4909,13 @@ "transitTimeTable": { "$ref": "TransitTable", "description": "Transit time table, number of business days spent in transit based on row and column dimensions. Either `{min,max}TransitTimeInDays` or `transitTimeTable` can be set, but not both." + }, + "warehouseBasedDeliveryTimes": { + "description": "Indicates that the delivery time should be calculated per warehouse (shipping origin location) based on the settings of the selected carrier. When set, no other transit time related field in DeliveryTime should be set.", + "items": { + "$ref": "WarehouseBasedDeliveryTime" + }, + "type": "array" } }, "type": "object" @@ -8475,10 +8519,25 @@ "description": "Store resource.", "id": "PosStore", "properties": { + "gcidCategory": { + "description": "The business type of the store.", + "items": { + "type": "string" + }, + "type": "array" + }, "kind": { "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#posStore`\"", "type": "string" }, + "phoneNumber": { + "description": "The store phone number.", + "type": "string" + }, + "placeId": { + "description": "The Google Place Id of the store location.", + "type": "string" + }, "storeAddress": { "description": "Required. The street address of the store.", "type": "string" @@ -8486,6 +8545,14 @@ "storeCode": { "description": "Required. A store identifier that is unique for the given merchant.", "type": "string" + }, + "storeName": { + "description": "The merchant or store name.", + "type": "string" + }, + "websiteUrl": { + "description": "The website url for the store or merchant.", + "type": "string" } }, "type": "object" @@ -8540,7 +8607,7 @@ "type": "object" }, "Product": { - "description": " Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Some attributes are country-specific, so make sure you select the appropriate country in the drop-down selector at the top of the page. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.", + "description": " Required product attributes are primarily defined by the products data specification. See the Products Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.", "id": "Product", "properties": { "additionalImageLinks": { @@ -9703,6 +9770,13 @@ "$ref": "Service" }, "type": "array" + }, + "warehouses": { + "description": "Optional. A list of warehouses which can be referred to in `services`.", + "items": { + "$ref": "Warehouse" + }, + "type": "array" } }, "type": "object" @@ -10257,6 +10331,88 @@ }, "type": "object" }, + "Warehouse": { + "description": "A fulfillment warehouse, which stores and handles inventory.", + "id": "Warehouse", + "properties": { + "businessDayConfig": { + "$ref": "BusinessDayConfig", + "description": "Business days of the warehouse. If not set, will be Monday to Friday by default." + }, + "cutoffTime": { + "$ref": "WarehouseCutoffTime", + "description": "Required. The latest time of day that an order can be accepted and begin processing. Later orders will be processed in the next day. The time is based on the warehouse postal code." + }, + "handlingDays": { + "description": "Required. The number of days it takes for this warehouse to pack up and ship an item. This is on the warehouse level, but can be overridden on the offer level based on the attributes of an item.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Required. The name of the warehouse. Must be unique within account.", + "type": "string" + }, + "shippingAddress": { + "$ref": "Address", + "description": "Required. Shipping address of the warehouse." + } + }, + "type": "object" + }, + "WarehouseBasedDeliveryTime": { + "id": "WarehouseBasedDeliveryTime", + "properties": { + "carrier": { + "description": "Required. Carrier, such as `\"UPS\"` or `\"Fedex\"`. The list of supported carriers can be retrieved via the `listSupportedCarriers` method.", + "type": "string" + }, + "carrierService": { + "description": "Required. Carrier service, such as `\"ground\"` or `\"2 days\"`. The list of supported services for a carrier can be retrieved via the `listSupportedCarriers` method. The name of the service must be in the eddSupportedServices list.", + "type": "string" + }, + "originAdministrativeArea": { + "description": "Shipping origin's state.", + "type": "string" + }, + "originCity": { + "description": "Shipping origin's city.", + "type": "string" + }, + "originCountry": { + "description": "Shipping origin's country represented as a [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml).", + "type": "string" + }, + "originPostalCode": { + "description": "Shipping origin.", + "type": "string" + }, + "originStreetAddress": { + "description": "Shipping origin's street address", + "type": "string" + }, + "warehouseName": { + "description": "The name of the warehouse. Warehouse name need to be matched with name. If warehouseName is set, the below fields will be ignored. The warehouse info will be read from warehouse.", + "type": "string" + } + }, + "type": "object" + }, + "WarehouseCutoffTime": { + "id": "WarehouseCutoffTime", + "properties": { + "hour": { + "description": "Required. Hour (24-hour clock) of the cutoff time until which an order has to be placed to be processed in the same day by the warehouse. Hour is based on the timezone of warehouse.", + "format": "int32", + "type": "integer" + }, + "minute": { + "description": "Required. Minute of the cutoff time until which an order has to be placed to be processed in the same day by the warehouse. Minute is based on the timezone of warehouse.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "Weight": { "id": "Weight", "properties": { @@ -10265,7 +10421,7 @@ "type": "string" }, "value": { - "description": "Required. The weight represented as a number.", + "description": "Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.", "type": "string" } }, diff --git a/etc/api/customsearch/v1/customsearch-api.json b/etc/api/customsearch/v1/customsearch-api.json index 988eac743d..91317a8484 100644 --- a/etc/api/customsearch/v1/customsearch-api.json +++ b/etc/api/customsearch/v1/customsearch-api.json @@ -105,12 +105,12 @@ "parameterOrder": [], "parameters": { "c2coff": { - "description": "Enables or disables [Simplified and Traditional Chinese Search](https://developers.google.com/custom-search/docs/xml_results#chineseSearch). The default value for this parameter is 0 (zero), meaning that the feature is enabled. Supported values are: * `1`: Disabled * `0`: Enabled (default)", + "description": "Enables or disables [Simplified and Traditional Chinese Search](https://developers.google.com/custom-search/docs/json_api_reference#chineseSearch). The default value for this parameter is 0 (zero), meaning that the feature is enabled. Supported values are: * `1`: Disabled * `0`: Enabled (default)", "location": "query", "type": "string" }, "cr": { - "description": "Restricts search results to documents originating in a particular country. You may use [Boolean operators](https://developers.google.com/custom-search/docs/xml_results_appendices#booleanOperators) in the cr parameter's value. Google Search determines the country of a document by analyzing: * the top-level domain (TLD) of the document's URL * the geographic location of the Web server's IP address See the [Country Parameter Values](https://developers.google.com/custom-search/docs/xml_results_appendices#countryCollections) page for a list of valid values for this parameter.", + "description": "Restricts search results to documents originating in a particular country. You may use [Boolean operators](https://developers.google.com/custom-search/docs/json_api_reference#booleanOperators) in the cr parameter's value. Google Search determines the country of a document by analyzing: * the top-level domain (TLD) of the document's URL * the geographic location of the Web server's IP address See the [Country Parameter Values](https://developers.google.com/custom-search/docs/json_api_reference#countryCollections) page for a list of valid values for this parameter.", "location": "query", "type": "string" }, @@ -140,12 +140,12 @@ "type": "string" }, "filter": { - "description": "Controls turning on or off the duplicate content filter. * See [Automatic Filtering](https://developers.google.com/custom-search/docs/xml_results#automaticFiltering) for more information about Google's search results filters. Note that host crowding filtering applies only to multi-site searches. * By default, Google applies filtering to all search results to improve the quality of those results. Acceptable values are: * `0`: Turns off duplicate content filter. * `1`: Turns on duplicate content filter.", + "description": "Controls turning on or off the duplicate content filter. * See [Automatic Filtering](https://developers.google.com/custom-search/docs/json_api_reference#automaticFiltering) for more information about Google's search results filters. Note that host crowding filtering applies only to multi-site searches. * By default, Google applies filtering to all search results to improve the quality of those results. Acceptable values are: * `0`: Turns off duplicate content filter. * `1`: Turns on duplicate content filter.", "location": "query", "type": "string" }, "gl": { - "description": "Geolocation of end user. * The `gl` parameter value is a two-letter country code. The `gl` parameter boosts search results whose country of origin matches the parameter value. See the [Country Codes](https://developers.google.com/custom-search/docs/xml_results_appendices#countryCodes) page for a list of valid values. * Specifying a `gl` parameter value should lead to more relevant results. This is particularly true for international customers and, even more specifically, for customers in English- speaking countries other than the United States.", + "description": "Geolocation of end user. * The `gl` parameter value is a two-letter country code. The `gl` parameter boosts search results whose country of origin matches the parameter value. See the [Country Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) page for a list of valid values. * Specifying a `gl` parameter value should lead to more relevant results. This is particularly true for international customers and, even more specifically, for customers in English- speaking countries other than the United States.", "location": "query", "type": "string" }, @@ -160,7 +160,7 @@ "type": "string" }, "hl": { - "description": "Sets the user interface language. * Explicitly setting this parameter improves the performance and the quality of your search results. * See the [Interface Languages](https://developers.google.com/custom-search/docs/xml_results#wsInterfaceLanguages) section of [Internationalizing Queries and Results Presentation](https://developers.google.com/custom-search/docs/xml_results#wsInternationalizing) for more information, and (Supported Interface Languages)[https://developers.google.com/custom-search/docs/xml_results_appendices#interfaceLanguages] for a list of supported languages.", + "description": "Sets the user interface language. * Explicitly setting this parameter improves the performance and the quality of your search results. * See the [Interface Languages](https://developers.google.com/custom-search/docs/json_api_reference#wsInterfaceLanguages) section of [Internationalizing Queries and Results Presentation](https://developers.google.com/custom-search/docs/json_api_reference#wsInternationalizing) for more information, and [Supported Interface Languages](https://developers.google.com/custom-search/docs/json_api_reference#interfaceLanguages) for a list of supported languages.", "location": "query", "type": "string" }, @@ -393,12 +393,12 @@ "parameterOrder": [], "parameters": { "c2coff": { - "description": "Enables or disables [Simplified and Traditional Chinese Search](https://developers.google.com/custom-search/docs/xml_results#chineseSearch). The default value for this parameter is 0 (zero), meaning that the feature is enabled. Supported values are: * `1`: Disabled * `0`: Enabled (default)", + "description": "Enables or disables [Simplified and Traditional Chinese Search](https://developers.google.com/custom-search/docs/json_api_reference#chineseSearch). The default value for this parameter is 0 (zero), meaning that the feature is enabled. Supported values are: * `1`: Disabled * `0`: Enabled (default)", "location": "query", "type": "string" }, "cr": { - "description": "Restricts search results to documents originating in a particular country. You may use [Boolean operators](https://developers.google.com/custom-search/docs/xml_results_appendices#booleanOperators) in the cr parameter's value. Google Search determines the country of a document by analyzing: * the top-level domain (TLD) of the document's URL * the geographic location of the Web server's IP address See the [Country Parameter Values](https://developers.google.com/custom-search/docs/xml_results_appendices#countryCollections) page for a list of valid values for this parameter.", + "description": "Restricts search results to documents originating in a particular country. You may use [Boolean operators](https://developers.google.com/custom-search/docs/json_api_reference#booleanOperators) in the cr parameter's value. Google Search determines the country of a document by analyzing: * the top-level domain (TLD) of the document's URL * the geographic location of the Web server's IP address See the [Country Parameter Values](https://developers.google.com/custom-search/docs/json_api_reference#countryCollections) page for a list of valid values for this parameter.", "location": "query", "type": "string" }, @@ -428,12 +428,12 @@ "type": "string" }, "filter": { - "description": "Controls turning on or off the duplicate content filter. * See [Automatic Filtering](https://developers.google.com/custom-search/docs/xml_results#automaticFiltering) for more information about Google's search results filters. Note that host crowding filtering applies only to multi-site searches. * By default, Google applies filtering to all search results to improve the quality of those results. Acceptable values are: * `0`: Turns off duplicate content filter. * `1`: Turns on duplicate content filter.", + "description": "Controls turning on or off the duplicate content filter. * See [Automatic Filtering](https://developers.google.com/custom-search/docs/json_api_reference#automaticFiltering) for more information about Google's search results filters. Note that host crowding filtering applies only to multi-site searches. * By default, Google applies filtering to all search results to improve the quality of those results. Acceptable values are: * `0`: Turns off duplicate content filter. * `1`: Turns on duplicate content filter.", "location": "query", "type": "string" }, "gl": { - "description": "Geolocation of end user. * The `gl` parameter value is a two-letter country code. The `gl` parameter boosts search results whose country of origin matches the parameter value. See the [Country Codes](https://developers.google.com/custom-search/docs/xml_results_appendices#countryCodes) page for a list of valid values. * Specifying a `gl` parameter value should lead to more relevant results. This is particularly true for international customers and, even more specifically, for customers in English- speaking countries other than the United States.", + "description": "Geolocation of end user. * The `gl` parameter value is a two-letter country code. The `gl` parameter boosts search results whose country of origin matches the parameter value. See the [Country Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) page for a list of valid values. * Specifying a `gl` parameter value should lead to more relevant results. This is particularly true for international customers and, even more specifically, for customers in English- speaking countries other than the United States.", "location": "query", "type": "string" }, @@ -448,7 +448,7 @@ "type": "string" }, "hl": { - "description": "Sets the user interface language. * Explicitly setting this parameter improves the performance and the quality of your search results. * See the [Interface Languages](https://developers.google.com/custom-search/docs/xml_results#wsInterfaceLanguages) section of [Internationalizing Queries and Results Presentation](https://developers.google.com/custom-search/docs/xml_results#wsInternationalizing) for more information, and (Supported Interface Languages)[https://developers.google.com/custom-search/docs/xml_results_appendices#interfaceLanguages] for a list of supported languages.", + "description": "Sets the user interface language. * Explicitly setting this parameter improves the performance and the quality of your search results. * See the [Interface Languages](https://developers.google.com/custom-search/docs/json_api_reference#wsInterfaceLanguages) section of [Internationalizing Queries and Results Presentation](https://developers.google.com/custom-search/docs/json_api_reference#wsInternationalizing) for more information, and [Supported Interface Languages](https://developers.google.com/custom-search/docs/json_api_reference#interfaceLanguages) for a list of supported languages.", "location": "query", "type": "string" }, @@ -674,7 +674,7 @@ } } }, - "revision": "20210330", + "revision": "20220305", "rootUrl": "https://customsearch.googleapis.com/", "schemas": { "Promotion": { @@ -682,7 +682,7 @@ "id": "Promotion", "properties": { "bodyLines": { - "description": "An array of block objects for this promotion. See [Google WebSearch Protocol reference](https://developers.google.com/custom-search/docs/xml_results) for more information.", + "description": "An array of block objects for this promotion.", "items": { "description": "Block object belonging to a promotion.", "properties": { @@ -822,7 +822,7 @@ "type": "string" }, "labels": { - "description": "Encapsulates all information about [refinement labels](https://developers.google.com/custom-search/docs/xml_results).", + "description": "Encapsulates all information about refinement labels.", "items": { "description": "Refinement label associated with a custom search result.", "properties": { @@ -914,7 +914,7 @@ "type": "integer" }, "cr": { - "description": "Restricts search results to documents originating in a particular country. You may use [Boolean operators](https://developers.google.com/custom-search/docs/xml_results#booleanOperators) in the `cr` parameter's value. Google WebSearch determines the country of a document by analyzing the following: * The top-level domain (TLD) of the document's URL. * The geographic location of the web server's IP address. See [Country (cr) Parameter Values](https://developers.google.com/custom-search/docs/xml_results#countryCollections) for a list of valid values for this parameter.", + "description": "Restricts search results to documents originating in a particular country. You may use [Boolean operators](https://developers.google.com/custom-search/docs/json_api_reference#BooleanOrSearch) in the `cr` parameter's value. Google WebSearch determines the country of a document by analyzing the following: * The top-level domain (TLD) of the document's URL. * The geographic location of the web server's IP address. See [Country (cr) Parameter Values](https://developers.google.com/custom-search/docs/json_api_reference#countryCollections) for a list of valid values for this parameter.", "type": "string" }, "cx": { @@ -926,7 +926,7 @@ "type": "string" }, "disableCnTwTranslation": { - "description": "Enables or disables the [Simplified and Traditional Chinese Search](https://developers.google.com/custom-search/docs/xml_results#chineseSearch) feature. Supported values are: * `0`: enabled (default) * `1`: disabled", + "description": "Enables or disables the [Simplified and Traditional Chinese Search](https://developers.google.com/custom-search/docs/json_api_reference#chineseSearch) feature. Supported values are: * `0`: enabled (default) * `1`: disabled", "type": "string" }, "exactTerms": { @@ -942,11 +942,11 @@ "type": "string" }, "filter": { - "description": "Activates or deactivates the automatic filtering of Google search results. See [Automatic Filtering](https://developers.google.com/custom-search/docs/xml_results#automaticFiltering) for more information about Google's search results filters. Valid values for this parameter are: * `0`: Disabled * `1`: Enabled (default) **Note**: By default, Google applies filtering to all search results to improve the quality of those results.", + "description": "Activates or deactivates the automatic filtering of Google search results. See [Automatic Filtering](https://developers.google.com/custom-search/docs/json_api_reference#automaticFiltering) for more information about Google's search results filters. Valid values for this parameter are: * `0`: Disabled * `1`: Enabled (default) **Note**: By default, Google applies filtering to all search results to improve the quality of those results.", "type": "string" }, "gl": { - "description": "Boosts search results whose country of origin matches the parameter value. See [Country Codes](https://developers.google.com/custom-search/docs/xml_results#countryCodes) for a list of valid values. Specifying a `gl` parameter value in WebSearch requests should improve the relevance of results. This is particularly true for international customers and, even more specifically, for customers in English-speaking countries other than the United States.", + "description": "Boosts search results whose country of origin matches the parameter value. See [Country Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) for a list of valid values. Specifying a `gl` parameter value in WebSearch requests should improve the relevance of results. This is particularly true for international customers and, even more specifically, for customers in English-speaking countries other than the United States.", "type": "string" }, "googleHost": { @@ -958,7 +958,7 @@ "type": "string" }, "hl": { - "description": "Specifies the interface language (host language) of your user interface. Explicitly setting this parameter improves the performance and the quality of your search results. See the [Interface Languages](https://developers.google.com/custom-search/docs/xml_results#wsInterfaceLanguages) section of [Internationalizing Queries and Results Presentation](https://developers.google.com/custom-search/docs/xml_results#wsInternationalizing) for more information, and [Supported Interface Languages](https://developers.google.com/custom-search/docs/xml_results_appendices#interfaceLanguages) for a list of supported languages.", + "description": "Specifies the interface language (host language) of your user interface. Explicitly setting this parameter improves the performance and the quality of your search results. See the [Interface Languages](https://developers.google.com/custom-search/docs/json_api_reference#wsInterfaceLanguages) section of [Internationalizing Queries and Results Presentation](https://developers.google.com/custom-search/docs/json_api_reference#wsInternationalizing) for more information, and [Supported Interface Languages](https://developers.google.com/custom-search/docs/json_api_reference#interfaceLanguages) for a list of supported languages.", "type": "string" }, "hq": { @@ -998,7 +998,7 @@ "type": "string" }, "orTerms": { - "description": "Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms. You can also use the [Boolean OR](https://developers.google.com/custom-search/docs/xml_results#BooleanOrqt) query term for this type of query.", + "description": "Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms. You can also use the [Boolean OR](https://developers.google.com/custom-search/docs/json_api_reference#BooleanOrSearch) query term for this type of query.", "type": "string" }, "outputEncoding": { @@ -1014,7 +1014,7 @@ "type": "string" }, "safe": { - "description": "Specifies the [SafeSearch level](https://developers.google.com/custom-search/docs/xml_results#safeSearchLevels) used for filtering out adult results. This is a custom property not defined in the OpenSearch spec. Valid parameter values are: * `\"off\"`: Disable SafeSearch * `\"active\"`: Enable SafeSearch", + "description": "Specifies the [SafeSearch level](https://developers.google.com/custom-search/docs/json_api_reference#safeSearchLevels) used for filtering out adult results. This is a custom property not defined in the OpenSearch spec. Valid parameter values are: * `\"off\"`: Disable SafeSearch * `\"active\"`: Enable SafeSearch", "type": "string" }, "searchTerms": { @@ -1072,7 +1072,7 @@ "type": "integer" }, "cr": { - "description": "Restricts search results to documents originating in a particular country. You may use [Boolean operators](https://developers.google.com/custom-search/docs/xml_results#booleanOperators) in the `cr` parameter's value. Google WebSearch determines the country of a document by analyzing the following: * The top-level domain (TLD) of the document's URL. * The geographic location of the web server's IP address. See [Country (cr) Parameter Values](https://developers.google.com/custom-search/docs/xml_results#countryCollections) for a list of valid values for this parameter.", + "description": "Restricts search results to documents originating in a particular country. You may use [Boolean operators](https://developers.google.com/custom-search/docs/json_api_reference#BooleanOrSearch) in the `cr` parameter's value. Google WebSearch determines the country of a document by analyzing the following: * The top-level domain (TLD) of the document's URL. * The geographic location of the web server's IP address. See [Country (cr) Parameter Values](https://developers.google.com/custom-search/docs/json_api_reference#countryCollections) for a list of valid values for this parameter.", "type": "string" }, "cx": { @@ -1084,7 +1084,7 @@ "type": "string" }, "disableCnTwTranslation": { - "description": "Enables or disables the [Simplified and Traditional Chinese Search](https://developers.google.com/custom-search/docs/xml_results#chineseSearch) feature. Supported values are: * `0`: enabled (default) * `1`: disabled", + "description": "Enables or disables the [Simplified and Traditional Chinese Search](https://developers.google.com/custom-search/docs/json_api_reference#chineseSearch) feature. Supported values are: * `0`: enabled (default) * `1`: disabled", "type": "string" }, "exactTerms": { @@ -1100,11 +1100,11 @@ "type": "string" }, "filter": { - "description": "Activates or deactivates the automatic filtering of Google search results. See [Automatic Filtering](https://developers.google.com/custom-search/docs/xml_results#automaticFiltering) for more information about Google's search results filters. Valid values for this parameter are: * `0`: Disabled * `1`: Enabled (default) **Note**: By default, Google applies filtering to all search results to improve the quality of those results.", + "description": "Activates or deactivates the automatic filtering of Google search results. See [Automatic Filtering](https://developers.google.com/custom-search/docs/json_api_reference#automaticFiltering) for more information about Google's search results filters. Valid values for this parameter are: * `0`: Disabled * `1`: Enabled (default) **Note**: By default, Google applies filtering to all search results to improve the quality of those results.", "type": "string" }, "gl": { - "description": "Boosts search results whose country of origin matches the parameter value. See [Country Codes](https://developers.google.com/custom-search/docs/xml_results#countryCodes) for a list of valid values. Specifying a `gl` parameter value in WebSearch requests should improve the relevance of results. This is particularly true for international customers and, even more specifically, for customers in English-speaking countries other than the United States.", + "description": "Boosts search results whose country of origin matches the parameter value. See [Country Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) for a list of valid values. Specifying a `gl` parameter value in WebSearch requests should improve the relevance of results. This is particularly true for international customers and, even more specifically, for customers in English-speaking countries other than the United States.", "type": "string" }, "googleHost": { @@ -1116,7 +1116,7 @@ "type": "string" }, "hl": { - "description": "Specifies the interface language (host language) of your user interface. Explicitly setting this parameter improves the performance and the quality of your search results. See the [Interface Languages](https://developers.google.com/custom-search/docs/xml_results#wsInterfaceLanguages) section of [Internationalizing Queries and Results Presentation](https://developers.google.com/custom-search/docs/xml_results#wsInternationalizing) for more information, and [Supported Interface Languages](https://developers.google.com/custom-search/docs/xml_results_appendices#interfaceLanguages) for a list of supported languages.", + "description": "Specifies the interface language (host language) of your user interface. Explicitly setting this parameter improves the performance and the quality of your search results. See the [Interface Languages](https://developers.google.com/custom-search/docs/json_api_reference#wsInterfaceLanguages) section of [Internationalizing Queries and Results Presentation](https://developers.google.com/custom-search/docs/json_api_reference#wsInternationalizing) for more information, and [Supported Interface Languages](https://developers.google.com/custom-search/docs/json_api_reference#interfaceLanguages) for a list of supported languages.", "type": "string" }, "hq": { @@ -1156,7 +1156,7 @@ "type": "string" }, "orTerms": { - "description": "Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms. You can also use the [Boolean OR](https://developers.google.com/custom-search/docs/xml_results#BooleanOrqt) query term for this type of query.", + "description": "Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms. You can also use the [Boolean OR](https://developers.google.com/custom-search/docs/json_api_reference#BooleanOrSearch) query term for this type of query.", "type": "string" }, "outputEncoding": { @@ -1172,7 +1172,7 @@ "type": "string" }, "safe": { - "description": "Specifies the [SafeSearch level](https://developers.google.com/custom-search/docs/xml_results#safeSearchLevels) used for filtering out adult results. This is a custom property not defined in the OpenSearch spec. Valid parameter values are: * `\"off\"`: Disable SafeSearch * `\"active\"`: Enable SafeSearch", + "description": "Specifies the [SafeSearch level](https://developers.google.com/custom-search/docs/json_api_reference#safeSearchLevels) used for filtering out adult results. This is a custom property not defined in the OpenSearch spec. Valid parameter values are: * `\"off\"`: Disable SafeSearch * `\"active\"`: Enable SafeSearch", "type": "string" }, "searchTerms": { @@ -1230,7 +1230,7 @@ "type": "integer" }, "cr": { - "description": "Restricts search results to documents originating in a particular country. You may use [Boolean operators](https://developers.google.com/custom-search/docs/xml_results#booleanOperators) in the `cr` parameter's value. Google WebSearch determines the country of a document by analyzing the following: * The top-level domain (TLD) of the document's URL. * The geographic location of the web server's IP address. See [Country (cr) Parameter Values](https://developers.google.com/custom-search/docs/xml_results#countryCollections) for a list of valid values for this parameter.", + "description": "Restricts search results to documents originating in a particular country. You may use [Boolean operators](https://developers.google.com/custom-search/docs/json_api_reference#BooleanOrSearch) in the `cr` parameter's value. Google WebSearch determines the country of a document by analyzing the following: * The top-level domain (TLD) of the document's URL. * The geographic location of the web server's IP address. See [Country (cr) Parameter Values](https://developers.google.com/custom-search/docs/json_api_reference#countryCollections) for a list of valid values for this parameter.", "type": "string" }, "cx": { @@ -1242,7 +1242,7 @@ "type": "string" }, "disableCnTwTranslation": { - "description": "Enables or disables the [Simplified and Traditional Chinese Search](https://developers.google.com/custom-search/docs/xml_results#chineseSearch) feature. Supported values are: * `0`: enabled (default) * `1`: disabled", + "description": "Enables or disables the [Simplified and Traditional Chinese Search](https://developers.google.com/custom-search/docs/json_api_reference#chineseSearch) feature. Supported values are: * `0`: enabled (default) * `1`: disabled", "type": "string" }, "exactTerms": { @@ -1258,11 +1258,11 @@ "type": "string" }, "filter": { - "description": "Activates or deactivates the automatic filtering of Google search results. See [Automatic Filtering](https://developers.google.com/custom-search/docs/xml_results#automaticFiltering) for more information about Google's search results filters. Valid values for this parameter are: * `0`: Disabled * `1`: Enabled (default) **Note**: By default, Google applies filtering to all search results to improve the quality of those results.", + "description": "Activates or deactivates the automatic filtering of Google search results. See [Automatic Filtering](https://developers.google.com/custom-search/docs/json_api_reference#automaticFiltering) for more information about Google's search results filters. Valid values for this parameter are: * `0`: Disabled * `1`: Enabled (default) **Note**: By default, Google applies filtering to all search results to improve the quality of those results.", "type": "string" }, "gl": { - "description": "Boosts search results whose country of origin matches the parameter value. See [Country Codes](https://developers.google.com/custom-search/docs/xml_results#countryCodes) for a list of valid values. Specifying a `gl` parameter value in WebSearch requests should improve the relevance of results. This is particularly true for international customers and, even more specifically, for customers in English-speaking countries other than the United States.", + "description": "Boosts search results whose country of origin matches the parameter value. See [Country Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) for a list of valid values. Specifying a `gl` parameter value in WebSearch requests should improve the relevance of results. This is particularly true for international customers and, even more specifically, for customers in English-speaking countries other than the United States.", "type": "string" }, "googleHost": { @@ -1274,7 +1274,7 @@ "type": "string" }, "hl": { - "description": "Specifies the interface language (host language) of your user interface. Explicitly setting this parameter improves the performance and the quality of your search results. See the [Interface Languages](https://developers.google.com/custom-search/docs/xml_results#wsInterfaceLanguages) section of [Internationalizing Queries and Results Presentation](https://developers.google.com/custom-search/docs/xml_results#wsInternationalizing) for more information, and [Supported Interface Languages](https://developers.google.com/custom-search/docs/xml_results_appendices#interfaceLanguages) for a list of supported languages.", + "description": "Specifies the interface language (host language) of your user interface. Explicitly setting this parameter improves the performance and the quality of your search results. See the [Interface Languages](https://developers.google.com/custom-search/docs/json_api_reference#wsInterfaceLanguages) section of [Internationalizing Queries and Results Presentation](https://developers.google.com/custom-search/docs/json_api_reference#wsInternationalizing) for more information, and [Supported Interface Languages](https://developers.google.com/custom-search/docs/json_api_reference#interfaceLanguages) for a list of supported languages.", "type": "string" }, "hq": { @@ -1314,7 +1314,7 @@ "type": "string" }, "orTerms": { - "description": "Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms. You can also use the [Boolean OR](https://developers.google.com/custom-search/docs/xml_results#BooleanOrqt) query term for this type of query.", + "description": "Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms. You can also use the [Boolean OR](https://developers.google.com/custom-search/docs/json_api_reference#BooleanOrSearch) query term for this type of query.", "type": "string" }, "outputEncoding": { @@ -1330,7 +1330,7 @@ "type": "string" }, "safe": { - "description": "Specifies the [SafeSearch level](https://developers.google.com/custom-search/docs/xml_results#safeSearchLevels) used for filtering out adult results. This is a custom property not defined in the OpenSearch spec. Valid parameter values are: * `\"off\"`: Disable SafeSearch * `\"active\"`: Enable SafeSearch", + "description": "Specifies the [SafeSearch level](https://developers.google.com/custom-search/docs/json_api_reference#safeSearchLevels) used for filtering out adult results. This is a custom property not defined in the OpenSearch spec. Valid parameter values are: * `\"off\"`: Disable SafeSearch * `\"active\"`: Enable SafeSearch", "type": "string" }, "searchTerms": { diff --git a/etc/api/datacatalog/v1/datacatalog-api.json b/etc/api/datacatalog/v1/datacatalog-api.json new file mode 100644 index 0000000000..8120fc2b54 --- /dev/null +++ b/etc/api/datacatalog/v1/datacatalog-api.json @@ -0,0 +1,3749 @@ +{ + "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:v1", + "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 and tags that match a query. This is a [Custom Method] (https://cloud.google.com/apis/design/custom_methods) that doesn't return all information on a resource, only its ID and high level fields. To get more information, you can subsequently call specific get methods. Note: Data Catalog search queries don't guarantee full recall. Results that match your query might not be returned, even in subsequent result pages. Additionally, returned (and not returned) results can vary if you repeat search queries. For more information, see [Data Catalog search syntax] (https://cloud.google.com/data-catalog/docs/how-to/search-reference).", + "flatPath": "v1/catalog:search", + "httpMethod": "POST", + "id": "datacatalog.catalog.search", + "parameterOrder": [], + "parameters": {}, + "path": "v1/catalog:search", + "request": { + "$ref": "GoogleCloudDatacatalogV1SearchCatalogRequest" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1SearchCatalogResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "entries": { + "methods": { + "lookup": { + "description": "Gets an entry by its target resource name. The resource name comes from the source Google Cloud Platform service.", + "flatPath": "v1/entries:lookup", + "httpMethod": "GET", + "id": "datacatalog.entries.lookup", + "parameterOrder": [], + "parameters": { + "fullyQualifiedName": { + "description": "Fully qualified name (FQN) of the resource. FQNs take two forms: * For non-regionalized resources: `{SYSTEM}:{PROJECT}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` * For regionalized resources: `{SYSTEM}:{PROJECT}.{LOCATION_ID}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` Example for a DPMS table: `dataproc_metastore:{PROJECT_ID}.{LOCATION_ID}.{INSTANCE_ID}.{DATABASE_ID}.{TABLE_ID}`", + "location": "query", + "type": "string" + }, + "linkedResource": { + "description": "The full name of the Google Cloud Platform resource the Data Catalog entry represents. For more information, see [Full Resource Name] (https://cloud.google.com/apis/design/resource_names#full_resource_name). Full names are case-sensitive. For example: * `//bigquery.googleapis.com/projects/{PROJECT_ID}/datasets/{DATASET_ID}/tables/{TABLE_ID}` * `//pubsub.googleapis.com/projects/{PROJECT_ID}/topics/{TOPIC_ID}`", + "location": "query", + "type": "string" + }, + "sqlResource": { + "description": "The SQL name of the entry. SQL names are case-sensitive. Examples: * `pubsub.topic.{PROJECT_ID}.{TOPIC_ID}` * `pubsub.topic.{PROJECT_ID}.`\\``{TOPIC.ID.SEPARATED.WITH.DOTS}`\\` * `bigquery.table.{PROJECT_ID}.{DATASET_ID}.{TABLE_ID}` * `bigquery.dataset.{PROJECT_ID}.{DATASET_ID}` * `datacatalog.entry.{PROJECT_ID}.{LOCATION_ID}.{ENTRY_GROUP_ID}.{ENTRY_ID}` Identifiers (`*_ID`) should comply with the [Lexical structure in Standard SQL] (https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical).", + "location": "query", + "type": "string" + } + }, + "path": "v1/entries:lookup", + "response": { + "$ref": "GoogleCloudDatacatalogV1Entry" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "projects": { + "resources": { + "locations": { + "resources": { + "entryGroups": { + "methods": { + "create": { + "description": "Creates an entry group. An entry group contains logically related entries together with [Cloud Identity and Access Management](/data-catalog/docs/concepts/iam) policies. These policies specify users who can create, edit, and view entries within entry groups. Data Catalog automatically creates entry groups with names that start with the `@` symbol for the following resources: * BigQuery entries (`@bigquery`) * Pub/Sub topics (`@pubsub`) * Dataproc Metastore services (`@dataproc_metastore_{SERVICE_NAME_HASH}`) You can create your own entry groups for Cloud Storage fileset entries and custom entries together with the corresponding IAM policies. User-created entry groups can't contain the `@` symbol, it is reserved for automatically created groups. Entry groups, like entries, can be searched. A maximum of 10,000 entry groups may be created per organization across all locations. You must enable the Data Catalog API in the project identified by the `parent` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.entryGroups.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "entryGroupId": { + "description": "Required. The ID of the entry group to create. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and must start with a letter or underscore. The maximum size is 64 bytes when encoded in UTF-8.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The names of the project and location that the new entry group belongs to. Note: The entry group itself and its child resources might not be stored in the location specified in its name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/entryGroups", + "request": { + "$ref": "GoogleCloudDatacatalogV1EntryGroup" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1EntryGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an entry group. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}", + "httpMethod": "DELETE", + "id": "datacatalog.projects.locations.entryGroups.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "Optional. If true, deletes all entries in the entry group.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The name of the entry group to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets an entry group.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}", + "httpMethod": "GET", + "id": "datacatalog.projects.locations.entryGroups.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the entry group to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", + "required": true, + "type": "string" + }, + "readMask": { + "description": "The fields to return. If empty or omitted, all fields are returned.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDatacatalogV1EntryGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May return: * A`NOT_FOUND` error if the resource doesn't exist or you don't have the permission to view it. * An empty policy if the resource exists but doesn't have a set policy. Supported resources are: - Tag templates - Entry groups Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:getIamPolicy", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.entryGroups.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists entry groups.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups", + "httpMethod": "GET", + "id": "datacatalog.projects.locations.entryGroups.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of items to return. Default is 10. Maximum limit is 1000. Throws an invalid argument if `page_size` is greater than 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. Pagination token that specifies the next page to return. If empty, returns the first page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the location that contains the entry groups to list. Can be provided as a URL.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/entryGroups", + "response": { + "$ref": "GoogleCloudDatacatalogV1ListEntryGroupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an entry group. You must enable the Data Catalog API in the project identified by the `entry_group.name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}", + "httpMethod": "PATCH", + "id": "datacatalog.projects.locations.entryGroups.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the entry group in URL format. Note: The entry group itself and its child resources might not be stored in the location specified in its name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Names of fields whose values to overwrite on an entry group. If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudDatacatalogV1EntryGroup" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1EntryGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets an access control policy for a resource. Replaces any existing policy. Supported resources are: - Tag templates - Entry groups Note: This method sets policies only within Data Catalog and can't be used to manage policies in BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources synced with the Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag templates. - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:setIamPolicy", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.entryGroups.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Gets your permissions on a resource. Returns an empty set of permissions if the resource doesn't exist. Supported resources are: - Tag templates - Entry groups Note: This method gets policies only within Data Catalog and can't be used to get policies from BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources ingested into Data Catalog. No Google IAM permissions are required to call this method.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:testIamPermissions", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.entryGroups.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "entries": { + "methods": { + "create": { + "description": "Creates an entry. You can create entries only with 'FILESET', 'CLUSTER', 'DATA_STREAM', or custom types. Data Catalog automatically creates entries with other types during metadata ingestion from integrated systems. You must enable the Data Catalog API in the project identified by the `parent` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project). An entry group can have a maximum of 100,000 entries.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.entryGroups.entries.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "entryId": { + "description": "Required. The ID of the entry to create. The ID must contain only letters (a-z, A-Z), numbers (0-9), and underscores (_). The maximum size is 64 bytes when encoded in UTF-8.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the entry group this entry belongs to. Note: The entry itself and its child resources might not be stored in the location specified in its name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/entries", + "request": { + "$ref": "GoogleCloudDatacatalogV1Entry" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1Entry" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an existing entry. You can delete only the entries created by the CreateEntry method. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}", + "httpMethod": "DELETE", + "id": "datacatalog.projects.locations.entryGroups.entries.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the entry to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets an entry.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}", + "httpMethod": "GET", + "id": "datacatalog.projects.locations.entryGroups.entries.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the entry to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDatacatalogV1Entry" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May return: * A`NOT_FOUND` error if the resource doesn't exist or you don't have the permission to view it. * An empty policy if the resource exists but doesn't have a set policy. Supported resources are: - Tag templates - Entry groups Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:getIamPolicy", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.entryGroups.entries.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists entries. Note: Currently, this method can list only custom entries. To get a list of both custom and automatically created entries, use SearchCatalog.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries", + "httpMethod": "GET", + "id": "datacatalog.projects.locations.entryGroups.entries.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of items to return. Default is 10. Maximum limit is 1000. Throws an invalid argument if `page_size` is more than 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Pagination token that specifies the next page to return. If empty, the first page is returned.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the entry group that contains the entries to list. Can be provided in URL format.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", + "required": true, + "type": "string" + }, + "readMask": { + "description": "The fields to return for each entry. If empty or omitted, all fields are returned. For example, to return a list of entries with only the `name` field, set `read_mask` to only one path with the `name` value.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/entries", + "response": { + "$ref": "GoogleCloudDatacatalogV1ListEntriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "modifyEntryContacts": { + "description": "Modifies contacts, part of the business context of an Entry. To call this method, you must have the `datacatalog.entries.updateContacts` IAM permission on the corresponding project.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:modifyEntryContacts", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.entryGroups.entries.modifyEntryContacts", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The full resource name of the entry.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:modifyEntryContacts", + "request": { + "$ref": "GoogleCloudDatacatalogV1ModifyEntryContactsRequest" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1Contacts" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "modifyEntryOverview": { + "description": "Modifies entry overview, part of the business context of an Entry. To call this method, you must have the `datacatalog.entries.updateOverview` IAM permission on the corresponding project.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:modifyEntryOverview", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.entryGroups.entries.modifyEntryOverview", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The full resource name of the entry.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:modifyEntryOverview", + "request": { + "$ref": "GoogleCloudDatacatalogV1ModifyEntryOverviewRequest" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1EntryOverview" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing entry. You must enable the Data Catalog API in the project identified by the `entry.name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}", + "httpMethod": "PATCH", + "id": "datacatalog.projects.locations.entryGroups.entries.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The resource name of an entry in URL format. Note: The entry itself and its child resources might not be stored in the location specified in its name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Names of fields whose values to overwrite on an entry. If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied. You can modify only the fields listed below. For entries with type `DATA_STREAM`: * `schema` For entries with type `FILESET`: * `schema` * `display_name` * `description` * `gcs_fileset_spec` * `gcs_fileset_spec.file_patterns` For entries with `user_specified_type`: * `schema` * `display_name` * `description` * `user_specified_type` * `user_specified_system` * `linked_resource` * `source_system_timestamps`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudDatacatalogV1Entry" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1Entry" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "star": { + "description": "Marks an Entry as starred by the current user. Starring information is private to each user.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:star", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.entryGroups.entries.star", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the entry to mark as starred.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:star", + "request": { + "$ref": "GoogleCloudDatacatalogV1StarEntryRequest" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1StarEntryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Gets your permissions on a resource. Returns an empty set of permissions if the resource doesn't exist. Supported resources are: - Tag templates - Entry groups Note: This method gets policies only within Data Catalog and can't be used to get policies from BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources ingested into Data Catalog. No Google IAM permissions are required to call this method.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:testIamPermissions", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.entryGroups.entries.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "unstar": { + "description": "Marks an Entry as NOT starred by the current user. Starring information is private to each user.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:unstar", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.entryGroups.entries.unstar", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the entry to mark as **not** starred.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:unstar", + "request": { + "$ref": "GoogleCloudDatacatalogV1UnstarEntryRequest" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1UnstarEntryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "tags": { + "methods": { + "create": { + "description": "Creates a tag and assigns it to: * An Entry if the method name is `projects.locations.entryGroups.entries.tags.create`. * Or EntryGroupif the method name is `projects.locations.entryGroups.tags.create`. Note: The project identified by the `parent` parameter for the [tag] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be in the same organization.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.entryGroups.entries.tags.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the resource to attach this tag to. Tags can be attached to entries or entry groups. An entry can have up to 1000 attached tags. Note: The tag and its child resources might not be stored in the location specified in its name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/tags", + "request": { + "$ref": "GoogleCloudDatacatalogV1Tag" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1Tag" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a tag.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags/{tagsId}", + "httpMethod": "DELETE", + "id": "datacatalog.projects.locations.entryGroups.entries.tags.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the tag to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+/tags/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists tags assigned to an Entry. The columns in the response are lowercased.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags", + "httpMethod": "GET", + "id": "datacatalog.projects.locations.entryGroups.entries.tags.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of tags to return. Default is 10. Maximum limit is 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Pagination token that specifies the next page to return. If empty, the first page is returned.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the Data Catalog resource to list the tags of. The resource can be an Entry or an EntryGroup (without `/entries/{entries}` at the end).", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/tags", + "response": { + "$ref": "GoogleCloudDatacatalogV1ListTagsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing tag.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags/{tagsId}", + "httpMethod": "PATCH", + "id": "datacatalog.projects.locations.entryGroups.entries.tags.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the tag in URL format where tag ID is a system-generated identifier. Note: The tag itself might not be stored in the location specified in its name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+/tags/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Names of fields whose values to overwrite on a tag. Currently, a tag has the only modifiable field with the name `fields`. In general, if this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudDatacatalogV1Tag" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1Tag" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "tags": { + "methods": { + "create": { + "description": "Creates a tag and assigns it to: * An Entry if the method name is `projects.locations.entryGroups.entries.tags.create`. * Or EntryGroupif the method name is `projects.locations.entryGroups.tags.create`. Note: The project identified by the `parent` parameter for the [tag] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template] (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be in the same organization.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.entryGroups.tags.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the resource to attach this tag to. Tags can be attached to entries or entry groups. An entry can have up to 1000 attached tags. Note: The tag and its child resources might not be stored in the location specified in its name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/tags", + "request": { + "$ref": "GoogleCloudDatacatalogV1Tag" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1Tag" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a tag.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags/{tagsId}", + "httpMethod": "DELETE", + "id": "datacatalog.projects.locations.entryGroups.tags.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the tag to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/tags/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists tags assigned to an Entry. The columns in the response are lowercased.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags", + "httpMethod": "GET", + "id": "datacatalog.projects.locations.entryGroups.tags.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of tags to return. Default is 10. Maximum limit is 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Pagination token that specifies the next page to return. If empty, the first page is returned.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the Data Catalog resource to list the tags of. The resource can be an Entry or an EntryGroup (without `/entries/{entries}` at the end).", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/tags", + "response": { + "$ref": "GoogleCloudDatacatalogV1ListTagsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing tag.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags/{tagsId}", + "httpMethod": "PATCH", + "id": "datacatalog.projects.locations.entryGroups.tags.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the tag in URL format where tag ID is a system-generated identifier. Note: The tag itself might not be stored in the location specified in its name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/tags/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Names of fields whose values to overwrite on a tag. Currently, a tag has the only modifiable field with the name `fields`. In general, if this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudDatacatalogV1Tag" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1Tag" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "tagTemplates": { + "methods": { + "create": { + "description": "Creates a tag template. You must enable the Data Catalog API in the project identified by the `parent` parameter. For more information, see [Data Catalog resource project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.tagTemplates.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the project and the template location [region](https://cloud.google.com/data-catalog/docs/concepts/regions).", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "tagTemplateId": { + "description": "Required. The ID of the tag template to create. The ID must contain only lowercase letters (a-z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum size is 64 bytes when encoded in UTF-8.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/tagTemplates", + "request": { + "$ref": "GoogleCloudDatacatalogV1TagTemplate" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1TagTemplate" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a tag template and all tags that use it. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}", + "httpMethod": "DELETE", + "id": "datacatalog.projects.locations.tagTemplates.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "Required. If true, deletes all tags that use this template. Currently, `true` is the only supported value.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The name of the tag template to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a tag template.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}", + "httpMethod": "GET", + "id": "datacatalog.projects.locations.tagTemplates.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the tag template to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDatacatalogV1TagTemplate" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May return: * A`NOT_FOUND` error if the resource doesn't exist or you don't have the permission to view it. * An empty policy if the resource exists but doesn't have a set policy. Supported resources are: - Tag templates - Entry groups Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:getIamPolicy", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.tagTemplates.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a tag template. You can't update template fields with this method. These fields are separate resources with their own create, update, and delete methods. You must enable the Data Catalog API in the project identified by the `tag_template.name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}", + "httpMethod": "PATCH", + "id": "datacatalog.projects.locations.tagTemplates.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the tag template in URL format. Note: The tag template itself and its child resources might not be stored in the location specified in its name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Names of fields whose values to overwrite on a tag template. Currently, only `display_name` and `is_publicly_readable` can be overwritten. If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied. Note: Updating the `is_publicly_readable` field may require up to 12 hours to take effect in search results.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudDatacatalogV1TagTemplate" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1TagTemplate" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets an access control policy for a resource. Replaces any existing policy. Supported resources are: - Tag templates - Entry groups Note: This method sets policies only within Data Catalog and can't be used to manage policies in BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources synced with the Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag templates. - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:setIamPolicy", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.tagTemplates.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Gets your permissions on a resource. Returns an empty set of permissions if the resource doesn't exist. Supported resources are: - Tag templates - Entry groups Note: This method gets policies only within Data Catalog and can't be used to get policies from BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources ingested into Data Catalog. No Google IAM permissions are required to call this method.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:testIamPermissions", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.tagTemplates.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "fields": { + "methods": { + "create": { + "description": "Creates a field in a tag template. You must enable the Data Catalog API in the project identified by the `parent` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.tagTemplates.fields.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the project and the template location [region](https://cloud.google.com/data-catalog/docs/concepts/regions).", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$", + "required": true, + "type": "string" + }, + "tagTemplateFieldId": { + "description": "Required. The ID of the tag template field to create. Note: Adding a required field to an existing template is *not* allowed. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9), underscores (_) and dashes (-). Field IDs must be at least 1 character long and at most 128 characters long. Field IDs must also be unique within their template.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/fields", + "request": { + "$ref": "GoogleCloudDatacatalogV1TagTemplateField" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1TagTemplateField" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a field in a tag template and all uses of this field from the tags based on this template. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}", + "httpMethod": "DELETE", + "id": "datacatalog.projects.locations.tagTemplates.fields.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "Required. If true, deletes this field from any tags that use it. Currently, `true` is the only supported value.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The name of the tag template field to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a field in a tag template. You can't update the field type with this method. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}", + "httpMethod": "PATCH", + "id": "datacatalog.projects.locations.tagTemplates.fields.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the tag template field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Names of fields whose values to overwrite on an individual field of a tag template. The following fields are modifiable: * `display_name` * `type.enum_type` * `is_required` If this parameter is absent or empty, all modifiable fields are overwritten. If such fields are non-required and omitted in the request body, their values are emptied with one exception: when updating an enum type, the provided values are merged with the existing values. Therefore, enum values can only be added, existing enum values cannot be deleted or renamed. Additionally, updating a template field from optional to required is *not* allowed.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudDatacatalogV1TagTemplateField" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1TagTemplateField" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "rename": { + "description": "Renames a field in a tag template. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}:rename", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.tagTemplates.fields.rename", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the tag template field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:rename", + "request": { + "$ref": "GoogleCloudDatacatalogV1RenameTagTemplateFieldRequest" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1TagTemplateField" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "enumValues": { + "methods": { + "rename": { + "description": "Renames an enum value in a tag template. Within a single enum field, enum values must be unique.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}/enumValues/{enumValuesId}:rename", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.tagTemplates.fields.enumValues.rename", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the enum field value.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+/enumValues/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:rename", + "request": { + "$ref": "GoogleCloudDatacatalogV1RenameTagTemplateFieldEnumValueRequest" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1TagTemplateField" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, + "taxonomies": { + "methods": { + "create": { + "description": "Creates a taxonomy in a specified project. The taxonomy is initially empty, that is, it doesn't contain policy tags.", + "flatPath": "v1/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": "v1/{+parent}/taxonomies", + "request": { + "$ref": "GoogleCloudDatacatalogV1Taxonomy" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1Taxonomy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a taxonomy, including all policy tags in this taxonomy, their associated policies, and the policy tags references from BigQuery columns.", + "flatPath": "v1/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 delete. Note: All policy tags in this taxonomy are also deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "export": { + "description": "Exports taxonomies in the requested type and returns them, including their policy tags. The requested taxonomies must belong to the same project. This method generates `SerializedTaxonomy` protocol buffers with nested policy tags that can be used as input for `ImportTaxonomies` calls.", + "flatPath": "v1/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 the exported taxonomies belong to.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "serializedTaxonomies": { + "description": "Serialized export taxonomies that contain all the policy tags as nested protocol buffers.", + "location": "query", + "type": "boolean" + }, + "taxonomies": { + "description": "Required. Resource names of the taxonomies to export.", + "location": "query", + "repeated": true, + "type": "string" + } + }, + "path": "v1/{+parent}/taxonomies:export", + "response": { + "$ref": "GoogleCloudDatacatalogV1ExportTaxonomiesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a taxonomy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}", + "httpMethod": "GET", + "id": "datacatalog.projects.locations.taxonomies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the taxonomy to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDatacatalogV1Taxonomy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the IAM policy for a policy tag or a taxonomy.", + "flatPath": "v1/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "import": { + "description": "Creates new taxonomies (including their policy tags) in a given project by importing from inlined or cross-regional sources. For a cross-regional source, new taxonomies are created by copying from a source in another region. For an inlined source, taxonomies and policy tags are created in bulk using nested protocol buffer structures.", + "flatPath": "v1/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": "v1/{+parent}/taxonomies:import", + "request": { + "$ref": "GoogleCloudDatacatalogV1ImportTaxonomiesRequest" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1ImportTaxonomiesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all taxonomies in a project in a particular location that you have a permission to view.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/taxonomies", + "httpMethod": "GET", + "id": "datacatalog.projects.locations.taxonomies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of items to return. Must be a value between 1 and 1000 inclusively. If not set, defaults to 50.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The pagination token of the next results page. If not set, the first page is returned. The token is returned in the response to a previous list request.", + "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": "v1/{+parent}/taxonomies", + "response": { + "$ref": "GoogleCloudDatacatalogV1ListTaxonomiesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a taxonomy, including its display name, description, and activated policy types.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}", + "httpMethod": "PATCH", + "id": "datacatalog.projects.locations.taxonomies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Resource name of this taxonomy in URL format. Note: Policy tag manager generates unique taxonomy IDs.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Specifies fields to update. If not set, defaults to all fields you can update. For more information, see [FieldMask] (https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudDatacatalogV1Taxonomy" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1Taxonomy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "replace": { + "description": "Replaces (updates) a taxonomy and all its policy tags. The taxonomy and its entire hierarchy of policy tags must be represented literally by `SerializedTaxonomy` and the nested `SerializedPolicyTag` messages. This operation automatically does the following: - Deletes the existing policy tags that are missing from the `SerializedPolicyTag`. - Creates policy tags that don't have resource names. They are considered new. - Updates policy tags with valid resources names accordingly.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}:replace", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.taxonomies.replace", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the taxonomy to update.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:replace", + "request": { + "$ref": "GoogleCloudDatacatalogV1ReplaceTaxonomyRequest" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1Taxonomy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the IAM policy for a policy tag or a taxonomy.", + "flatPath": "v1/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$", + "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 your permissions on a specified policy tag or taxonomy.", + "flatPath": "v1/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+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 a taxonomy.", + "flatPath": "v1/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": "v1/{+parent}/policyTags", + "request": { + "$ref": "GoogleCloudDatacatalogV1PolicyTag" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1PolicyTag" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a policy tag together with the following: * All of its descendant policy tags, if any * Policies associated with the policy tag and its descendants * References from BigQuery table schema of the policy tag and its descendants", + "flatPath": "v1/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 delete. Note: All of its descendant policy tags are also deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a policy tag.", + "flatPath": "v1/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 policy tag.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDatacatalogV1PolicyTag" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the IAM policy for a policy tag or a taxonomy.", + "flatPath": "v1/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all policy tags in a taxonomy.", + "flatPath": "v1/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 inclusively. If not set, defaults to 50.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The pagination token of the next results page. If not set, returns the first page. The token is returned in the response to a previous list request.", + "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": "v1/{+parent}/policyTags", + "response": { + "$ref": "GoogleCloudDatacatalogV1ListPolicyTagsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a policy tag, including its display name, description, and parent policy tag.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}", + "httpMethod": "PATCH", + "id": "datacatalog.projects.locations.taxonomies.policyTags.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Resource name of this policy tag in the URL format. The policy tag manager generates unique taxonomy IDs and policy tag IDs.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Specifies the fields to update. You can update only display name, description, and parent policy tag. If not set, defaults to all updatable fields. For more information, see [FieldMask] (https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudDatacatalogV1PolicyTag" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1PolicyTag" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the IAM policy for a policy tag or a taxonomy.", + "flatPath": "v1/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$", + "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 your permissions on a specified policy tag or taxonomy.", + "flatPath": "v1/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20220224", + "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 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 the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "GoogleCloudDatacatalogV1CrossRegionalSource": { + "description": "Cross-regional source used to import an existing taxonomy into a different region.", + "id": "GoogleCloudDatacatalogV1CrossRegionalSource", + "properties": { + "taxonomy": { + "description": "Required. The resource name of the source taxonomy to import.", + "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.", + "id": "GoogleCloudDatacatalogV1DataSourceConnectionSpec", + "properties": { + "bigqueryConnectionSpec": { + "$ref": "GoogleCloudDatacatalogV1BigQueryConnectionSpec", + "description": "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": { + "dataplexTable": { + "$ref": "GoogleCloudDatacatalogV1DataplexTableSpec", + "description": "Fields specific to a Dataplex table and present only in the Dataplex table entries." + }, + "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" + }, + "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" + ], + "enumDescriptions": [ + "Default unknown system.", + "BigQuery.", + "Cloud Pub/Sub.", + "Dataproc Metastore.", + "Dataplex." + ], + "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" + }, + "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": "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)." + }, + "bigqueryTableSpec": { + "$ref": "GoogleCloudDatacatalogV1BigQueryTableSpec", + "description": "Specification that applies to a BigQuery table. Valid only for entries with the `TABLE` type." + }, + "businessContext": { + "$ref": "GoogleCloudDatacatalogV1BusinessContext", + "description": "Business Context of the entry. Not supported for BigQuery datasets" + }, + "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` type." + }, + "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 name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum size is 200 bytes when encoded in UTF-8. Default value is an empty string.", + "type": "string" + }, + "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) of the resource. Set automatically for entries representing resources from synced systems. Settable only during creation and read-only afterwards. Can be used for search and lookup of the entries. FQNs take two forms: * For non-regionalized resources: `{SYSTEM}:{PROJECT}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` * For regionalized resources: `{SYSTEM}:{PROJECT}.{LOCATION_ID}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` Example for a DPMS table: `dataproc_metastore:{PROJECT_ID}.{LOCATION_ID}.{INSTANCE_ID}.{DATABASE_ID}.{TABLE_ID}`", + "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" + ], + "enumDescriptions": [ + "Default unknown system.", + "BigQuery.", + "Cloud Pub/Sub.", + "Dataproc Metastore.", + "Dataplex." + ], + "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" + }, + "name": { + "description": "Output only. 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." + }, + "sourceSystemTimestamps": { + "$ref": "GoogleCloudDatacatalogV1SystemTimestamps", + "description": "Timestamps from the underlying resource, not from the Data Catalog entry. Output only when the entry has a type listed in the `EntryType` enum. For entries with `user_specified_type`, this field is optional and defaults to an empty timestamp." + }, + "type": { + "description": "The type of the entry. Only used for entries with types listed in the `EntryType` enum. Currently, only `FILESET` enum value is allowed. All other entries created in Data Catalog must use the `user_specified_type`.", + "enum": [ + "ENTRY_TYPE_UNSPECIFIED", + "TABLE", + "MODEL", + "DATA_STREAM", + "FILESET", + "CLUSTER", + "DATABASE", + "DATA_SOURCE_CONNECTION", + "ROUTINE", + "LAKE", + "ZONE", + "SERVICE" + ], + "enumDescriptions": [ + "Default unknown type.", + "Output only. The entry type that has a GoogleSQL schema, including logical views.", + "Output only. The type of models. For more information, see [Supported models in BigQuery ML] (https://cloud.google.com/bigquery-ml/docs/introduction#supported_models_in).", + "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.", + "Output only. Connection to a data source. For example, a BigQuery connection.", + "Output only. Routine, for example, a BigQuery routine.", + "A Dataplex lake.", + "A Dataplex zone.", + "A service, for example, a Dataproc Metastore service." + ], + "type": "string" + }, + "usageSignal": { + "$ref": "GoogleCloudDatacatalogV1UsageSignal", + "description": "Output only. Resource usage statistics.", + "readOnly": true + }, + "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" + }, + "GoogleCloudDatacatalogV1EntryGroup": { + "description": "Entry group metadata. An `EntryGroup` resource represents a logical grouping of zero or more Data Catalog Entry resources.", + "id": "GoogleCloudDatacatalogV1EntryGroup", + "properties": { + "dataCatalogTimestamps": { + "$ref": "GoogleCloudDatacatalogV1SystemTimestamps", + "description": "Output only. Timestamps of the entry group. Default value is empty.", + "readOnly": true + }, + "description": { + "description": "Entry group description. Can consist of several sentences or paragraphs that describe the entry group contents. Default value is an empty string.", + "type": "string" + }, + "displayName": { + "description": "A short name to identify the entry group, for example, \"analytics data - jan 2011\". Default value is an empty string.", + "type": "string" + }, + "name": { + "description": "The resource name of the entry group in URL format. Note: The entry group itself and its child resources might not be stored in the location specified in its name.", + "type": "string" + } + }, + "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" + }, + "GoogleCloudDatacatalogV1ExportTaxonomiesResponse": { + "description": "Response message for ExportTaxonomies.", + "id": "GoogleCloudDatacatalogV1ExportTaxonomiesResponse", + "properties": { + "taxonomies": { + "description": "List of taxonomies and policy tags as nested protocol buffers.", + "items": { + "$ref": "GoogleCloudDatacatalogV1SerializedTaxonomy" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1FieldType": { + "id": "GoogleCloudDatacatalogV1FieldType", + "properties": { + "enumType": { + "$ref": "GoogleCloudDatacatalogV1FieldTypeEnumType", + "description": "An enum type." + }, + "primitiveType": { + "description": "Primitive types, such as string, boolean, etc.", + "enum": [ + "PRIMITIVE_TYPE_UNSPECIFIED", + "DOUBLE", + "STRING", + "BOOL", + "TIMESTAMP", + "RICHTEXT" + ], + "enumDescriptions": [ + "The default invalid value for a type.", + "A double precision number.", + "An UTF-8 string.", + "A boolean value.", + "A timestamp.", + "A Richtext description." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1FieldTypeEnumType": { + "id": "GoogleCloudDatacatalogV1FieldTypeEnumType", + "properties": { + "allowedValues": { + "description": "The set of allowed values for this enum. This set must not be empty and can include up to 100 allowed values. The display names of the values in this set must not be empty and must be case-insensitively unique within this set. The order of items in this set is preserved. This field can be used to create, remove, and reorder enum values. To rename enum values, use the `RenameTagTemplateFieldEnumValue` method.", + "items": { + "$ref": "GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue": { + "id": "GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue", + "properties": { + "displayName": { + "description": "Required. The display name of the enum value. Must not be an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1FilesetSpec": { + "description": "Specification that applies to a fileset. Valid only for entries with the 'FILESET' type.", + "id": "GoogleCloudDatacatalogV1FilesetSpec", + "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" + }, + "GoogleCloudDatacatalogV1ImportTaxonomiesRequest": { + "description": "Request message for ImportTaxonomies.", + "id": "GoogleCloudDatacatalogV1ImportTaxonomiesRequest", + "properties": { + "crossRegionalSource": { + "$ref": "GoogleCloudDatacatalogV1CrossRegionalSource", + "description": "Cross-regional source taxonomy to import." + }, + "inlineSource": { + "$ref": "GoogleCloudDatacatalogV1InlineSource", + "description": "Inline source taxonomy to import." + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1ImportTaxonomiesResponse": { + "description": "Response message for ImportTaxonomies.", + "id": "GoogleCloudDatacatalogV1ImportTaxonomiesResponse", + "properties": { + "taxonomies": { + "description": "Imported taxonomies.", + "items": { + "$ref": "GoogleCloudDatacatalogV1Taxonomy" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1InlineSource": { + "description": "Inline source containing taxonomies to import.", + "id": "GoogleCloudDatacatalogV1InlineSource", + "properties": { + "taxonomies": { + "description": "Required. Taxonomies to import.", + "items": { + "$ref": "GoogleCloudDatacatalogV1SerializedTaxonomy" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1ListEntriesResponse": { + "description": "Response message for ListEntries.", + "id": "GoogleCloudDatacatalogV1ListEntriesResponse", + "properties": { + "entries": { + "description": "Entry details.", + "items": { + "$ref": "GoogleCloudDatacatalogV1Entry" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Pagination token of the next results page. Empty if there are no more items in results.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1ListEntryGroupsResponse": { + "description": "Response message for ListEntryGroups.", + "id": "GoogleCloudDatacatalogV1ListEntryGroupsResponse", + "properties": { + "entryGroups": { + "description": "Entry group details.", + "items": { + "$ref": "GoogleCloudDatacatalogV1EntryGroup" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Pagination token to specify in the next call to retrieve the next page of results. Empty if there are no more items.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1ListPolicyTagsResponse": { + "description": "Response message for ListPolicyTags.", + "id": "GoogleCloudDatacatalogV1ListPolicyTagsResponse", + "properties": { + "nextPageToken": { + "description": "Pagination token of the next results page. Empty if there are no more results in the list.", + "type": "string" + }, + "policyTags": { + "description": "The policy tags that belong to the taxonomy.", + "items": { + "$ref": "GoogleCloudDatacatalogV1PolicyTag" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1ListTagsResponse": { + "description": "Response message for ListTags.", + "id": "GoogleCloudDatacatalogV1ListTagsResponse", + "properties": { + "nextPageToken": { + "description": "Pagination token of the next results page. Empty if there are no more items in results.", + "type": "string" + }, + "tags": { + "description": "Tag details.", + "items": { + "$ref": "GoogleCloudDatacatalogV1Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1ListTaxonomiesResponse": { + "description": "Response message for ListTaxonomies.", + "id": "GoogleCloudDatacatalogV1ListTaxonomiesResponse", + "properties": { + "nextPageToken": { + "description": "Pagination token of the next results page. Empty if there are no more results in the list.", + "type": "string" + }, + "taxonomies": { + "description": "Taxonomies that the project contains.", + "items": { + "$ref": "GoogleCloudDatacatalogV1Taxonomy" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1ModifyEntryContactsRequest": { + "description": "Request message for ModifyEntryContacts.", + "id": "GoogleCloudDatacatalogV1ModifyEntryContactsRequest", + "properties": { + "contacts": { + "$ref": "GoogleCloudDatacatalogV1Contacts", + "description": "Required. The new value for the Contacts." + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1ModifyEntryOverviewRequest": { + "description": "Request message for ModifyEntryOverview.", + "id": "GoogleCloudDatacatalogV1ModifyEntryOverviewRequest", + "properties": { + "entryOverview": { + "$ref": "GoogleCloudDatacatalogV1EntryOverview", + "description": "Required. The new value for the Entry Overview." + } + }, + "type": "object" + }, + "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" + }, + "GoogleCloudDatacatalogV1PolicyTag": { + "description": "Denotes one policy tag in a taxonomy, for example, SSN. Policy tags can be defined in a hierarchy. For example: ``` + Geolocation + LatLong + City + ZipCode ``` Where the \"Geolocation\" policy tag contains three children.", + "id": "GoogleCloudDatacatalogV1PolicyTag", + "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. If not set, defaults to empty. The description must contain only Unicode characters, tabs, newlines, carriage returns and page breaks, and be at most 2000 bytes long when encoded in UTF-8.", + "type": "string" + }, + "displayName": { + "description": "Required. User-defined name of this policy tag. The name can't start or end with spaces and must be unique within the parent taxonomy, contain only Unicode letters, numbers, underscores, dashes and spaces, and be at most 200 bytes long when encoded in UTF-8.", + "type": "string" + }, + "name": { + "description": "Output only. Resource name of this policy tag in the URL format. The policy tag manager generates unique taxonomy IDs and policy tag IDs.", + "readOnly": true, + "type": "string" + }, + "parentPolicyTag": { + "description": "Resource name of this policy tag's parent policy tag. If empty, this is a top level tag. If not set, defaults to an empty string. For example, for the \"LatLong\" policy tag in the example above, this field contains the resource name of the \"Geolocation\" policy tag, and, for \"Geolocation\", this field is empty.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1RenameTagTemplateFieldEnumValueRequest": { + "description": "Request message for RenameTagTemplateFieldEnumValue.", + "id": "GoogleCloudDatacatalogV1RenameTagTemplateFieldEnumValueRequest", + "properties": { + "newEnumValueDisplayName": { + "description": "Required. The new display name of the enum value. For example, `my_new_enum_value`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1RenameTagTemplateFieldRequest": { + "description": "Request message for RenameTagTemplateField.", + "id": "GoogleCloudDatacatalogV1RenameTagTemplateFieldRequest", + "properties": { + "newTagTemplateFieldId": { + "description": "Required. The new ID of this tag template field. For example, `my_new_field`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1ReplaceTaxonomyRequest": { + "description": "Request message for ReplaceTaxonomy.", + "id": "GoogleCloudDatacatalogV1ReplaceTaxonomyRequest", + "properties": { + "serializedTaxonomy": { + "$ref": "GoogleCloudDatacatalogV1SerializedTaxonomy", + "description": "Required. Taxonomy to update along with its child policy tags." + } + }, + "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" + }, + "GoogleCloudDatacatalogV1SearchCatalogRequest": { + "description": "Request message for SearchCatalog.", + "id": "GoogleCloudDatacatalogV1SearchCatalogRequest", + "properties": { + "orderBy": { + "description": "Specifies the order of results. Currently supported case-sensitive values are: * `relevance` that can only be descending * `last_modified_timestamp [asc|desc]` with descending (`desc`) as default * `default` that can only be descending If this parameter is omitted, it defaults to the descending `relevance`.", + "type": "string" + }, + "pageSize": { + "description": "Number of results to return in a single search page. Can't be negative or 0, defaults to 10 in this case. The maximum number is 1000. If exceeded, throws an \"invalid argument\" exception.", + "format": "int32", + "type": "integer" + }, + "pageToken": { + "description": "Optional. Pagination token that, if specified, returns the next page of search results. If empty, returns the first page. This token is returned in the SearchCatalogResponse.next_page_token field of the response to a previous SearchCatalogRequest call.", + "type": "string" + }, + "query": { + "description": "Optional. The query string with a minimum of 3 characters and specific syntax. For more information, see [Data Catalog search syntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference). An empty query string returns all data assets (in the specified scope) that you have access to. A query string can be a simple `xyz` or qualified by predicates: * `name:x` * `column:y` * `description:z`", + "type": "string" + }, + "scope": { + "$ref": "GoogleCloudDatacatalogV1SearchCatalogRequestScope", + "description": "Required. The scope of this search request. The `scope` is invalid if `include_org_ids`, `include_project_ids` are empty AND `include_gcp_public_datasets` is set to `false`. In this case, the request returns an error." + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1SearchCatalogRequestScope": { + "description": "The criteria that select the subspace used for query matching.", + "id": "GoogleCloudDatacatalogV1SearchCatalogRequestScope", + "properties": { + "includeGcpPublicDatasets": { + "description": "If `true`, include Google Cloud Platform (GCP) public datasets in search results. By default, they are excluded. See [Google Cloud Public Datasets](/public-datasets) for more information.", + "type": "boolean" + }, + "includeOrgIds": { + "description": "The list of organization IDs to search within. To find your organization ID, follow the steps from [Creating and managing organizations] (/resource-manager/docs/creating-managing-organization).", + "items": { + "type": "string" + }, + "type": "array" + }, + "includeProjectIds": { + "description": "The list of project IDs to search within. For more information on the distinction between project names, IDs, and numbers, see [Projects](/docs/overview/#projects).", + "items": { + "type": "string" + }, + "type": "array" + }, + "includePublicTagTemplates": { + "description": "Optional. This field is deprecated. The search mechanism for public and private tag templates is the same.", + "type": "boolean" + }, + "restrictedLocations": { + "description": "Optional. The list of locations to search within. If empty, all locations are searched. Returns an error if any location in the list isn't one of the [Supported regions](https://cloud.google.com/data-catalog/docs/concepts/regions#supported_regions). If a location is unreachable, its name is returned in the `SearchCatalogResponse.unreachable` field. To get additional information on the error, repeat the search request and set the location name as the value of this parameter.", + "items": { + "type": "string" + }, + "type": "array" + }, + "starredOnly": { + "description": "Optional. If `true`, search only among starred entries. By default, all results are returned, starred or not.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1SearchCatalogResponse": { + "description": "Response message for SearchCatalog.", + "id": "GoogleCloudDatacatalogV1SearchCatalogResponse", + "properties": { + "nextPageToken": { + "description": "Pagination token that can be used in subsequent calls to retrieve the next page of results.", + "type": "string" + }, + "results": { + "description": "Search results.", + "items": { + "$ref": "GoogleCloudDatacatalogV1SearchCatalogResult" + }, + "type": "array" + }, + "unreachable": { + "description": "Unreachable locations. Search results don't include data from those locations. To get additional information on an error, repeat the search request and restrict it to specific locations by setting the `SearchCatalogRequest.scope.restricted_locations` parameter.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1SearchCatalogResult": { + "description": "Result in the response to a search request. Each result captures details of one entry that matches the search.", + "id": "GoogleCloudDatacatalogV1SearchCatalogResult", + "properties": { + "description": { + "description": "Entry description that can consist of several sentences or paragraphs that describe entry contents.", + "type": "string" + }, + "displayName": { + "description": "The display name of the result.", + "type": "string" + }, + "fullyQualifiedName": { + "description": "Fully qualified name (FQN) of the resource. FQNs take two forms: * For non-regionalized resources: `{SYSTEM}:{PROJECT}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` * For regionalized resources: `{SYSTEM}:{PROJECT}.{LOCATION_ID}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` Example for a DPMS table: `dataproc_metastore:PROJECT_ID.LOCATION_ID.INSTANCE_ID.DATABASE_ID.TABLE_ID`", + "type": "string" + }, + "integratedSystem": { + "description": "Output only. The source system that Data Catalog automatically integrates with, such as BigQuery, Cloud Pub/Sub, or Dataproc Metastore.", + "enum": [ + "INTEGRATED_SYSTEM_UNSPECIFIED", + "BIGQUERY", + "CLOUD_PUBSUB", + "DATAPROC_METASTORE", + "DATAPLEX" + ], + "enumDescriptions": [ + "Default unknown system.", + "BigQuery.", + "Cloud Pub/Sub.", + "Dataproc Metastore.", + "Dataplex." + ], + "readOnly": true, + "type": "string" + }, + "linkedResource": { + "description": "The full name of the Google Cloud resource the entry belongs to. For more information, see [Full Resource Name] (/apis/design/resource_names#full_resource_name). Example: `//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID`", + "type": "string" + }, + "modifyTime": { + "description": "The last modification timestamp of the entry in the source system.", + "format": "google-datetime", + "type": "string" + }, + "relativeResourceName": { + "description": "The relative 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. A dot-delimited full type of the resource. The same type you specify in the `type` search predicate. Examples: `entry.table`, `entry.dataStream`, `tagTemplate`.", + "type": "string" + }, + "searchResultType": { + "description": "Type of the search result. You can use this field 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" + }, + "userSpecifiedSystem": { + "description": "Custom source system that you can manually integrate Data Catalog with.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1SerializedPolicyTag": { + "description": "A nested protocol buffer that represents a policy tag and all its descendants.", + "id": "GoogleCloudDatacatalogV1SerializedPolicyTag", + "properties": { + "childPolicyTags": { + "description": "Children of the policy tag, if any.", + "items": { + "$ref": "GoogleCloudDatacatalogV1SerializedPolicyTag" + }, + "type": "array" + }, + "description": { + "description": "Description of the serialized policy tag. At most 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. At most 200 bytes when encoded in UTF-8.", + "type": "string" + }, + "policyTag": { + "description": "Resource name of the policy tag. This field is ignored when calling `ImportTaxonomies`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1SerializedTaxonomy": { + "description": "A nested protocol buffer that represents a taxonomy and the hierarchy of its policy tags. Used for taxonomy replacement, import, and export.", + "id": "GoogleCloudDatacatalogV1SerializedTaxonomy", + "properties": { + "activatedPolicyTypes": { + "description": "A list of policy types that are activated per taxonomy.", + "items": { + "enum": [ + "POLICY_TYPE_UNSPECIFIED", + "FINE_GRAINED_ACCESS_CONTROL" + ], + "enumDescriptions": [ + "Unspecified policy type.", + "Fine-grained access control policy that enables access control on tagged sub-resources." + ], + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "Description of the serialized taxonomy. At most 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. At most 200 bytes when encoded in UTF-8.", + "type": "string" + }, + "policyTags": { + "description": "Top level policy tags associated with the taxonomy, if any.", + "items": { + "$ref": "GoogleCloudDatacatalogV1SerializedPolicyTag" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1StarEntryRequest": { + "description": "Request message for StarEntry.", + "id": "GoogleCloudDatacatalogV1StarEntryRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudDatacatalogV1StarEntryResponse": { + "description": "Response message for StarEntry. Empty for now", + "id": "GoogleCloudDatacatalogV1StarEntryResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDatacatalogV1StorageProperties": { + "description": "Details the properties of the underlying storage.", + "id": "GoogleCloudDatacatalogV1StorageProperties", + "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" + }, + "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": "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" + }, + "GoogleCloudDatacatalogV1TagTemplate": { + "description": "A tag template defines a tag that can have one or more typed fields. The template is used to create tags that are attached to GCP resources. [Tag template roles] (https://cloud.google.com/iam/docs/understanding-roles#data-catalog-roles) provide permissions to create, edit, and use the template. For example, see the [TagTemplate User] (https://cloud.google.com/data-catalog/docs/how-to/template-user) role that includes a permission to use the tag template to tag resources.", + "id": "GoogleCloudDatacatalogV1TagTemplate", + "properties": { + "displayName": { + "description": "Display name for this template. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters.", + "type": "string" + }, + "fields": { + "additionalProperties": { + "$ref": "GoogleCloudDatacatalogV1TagTemplateField" + }, + "description": "Required. Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore.", + "type": "object" + }, + "isPubliclyReadable": { + "description": "Indicates whether tags created with this template are public. Public tags do not require tag template access to appear in ListTags API response. Additionally, you can search for a public tag by value with a simple search query in addition to using a ``tag:`` predicate.", + "type": "boolean" + }, + "name": { + "description": "The resource name of the tag template in URL format. Note: The tag template itself and its child resources might not be stored in the location specified in its name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1TagTemplateField": { + "description": "The template for an individual field within a tag template.", + "id": "GoogleCloudDatacatalogV1TagTemplateField", + "properties": { + "description": { + "description": "The description for this field. Defaults to an empty string.", + "type": "string" + }, + "displayName": { + "description": "The display name for this field. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters.", + "type": "string" + }, + "isRequired": { + "description": "If true, this field is required. Defaults to false.", + "type": "boolean" + }, + "name": { + "description": "Output only. The resource name of the tag template field in URL format. Example: `projects/{PROJECT_ID}/locations/{LOCATION}/tagTemplates/{TAG_TEMPLATE}/fields/{FIELD}` Note: The tag template field itself might not be stored in the location specified in its name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 64 characters.", + "readOnly": true, + "type": "string" + }, + "order": { + "description": "The order of this field with respect to other fields in this tag template. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order and field orders within a tag don't have to be sequential.", + "format": "int32", + "type": "integer" + }, + "type": { + "$ref": "GoogleCloudDatacatalogV1FieldType", + "description": "Required. The type of value this tag field can contain." + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1Taxonomy": { + "description": "A taxonomy is a collection of hierarchical policy tags that classify data along a common axis. For example, a \"data sensitivity\" taxonomy might contain the following policy tags: ``` + PII + Account number + Age + SSN + Zipcode + Financials + Revenue ``` A \"data origin\" taxonomy might contain the following policy tags: ``` + User data + Employee data + Partner data + Public data ```", + "id": "GoogleCloudDatacatalogV1Taxonomy", + "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 that enables access control on tagged sub-resources." + ], + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "Optional. Description of this taxonomy. If not set, defaults to empty. The description must contain only Unicode characters, tabs, newlines, carriage returns, and page breaks, and be at most 2000 bytes long when encoded in UTF-8.", + "type": "string" + }, + "displayName": { + "description": "Required. User-defined name of this taxonomy. The name can't start or end with spaces, must contain only Unicode letters, numbers, underscores, dashes, and spaces, and be at most 200 bytes long when encoded in UTF-8.", + "type": "string" + }, + "name": { + "description": "Output only. Resource name of this taxonomy in URL format. Note: Policy tag manager generates unique taxonomy IDs.", + "readOnly": true, + "type": "string" + }, + "policyTagCount": { + "description": "Output only. Number of policy tags in this taxonomy.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "taxonomyTimestamps": { + "$ref": "GoogleCloudDatacatalogV1SystemTimestamps", + "description": "Output only. Creation and modification timestamps of this taxonomy.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleCloudDatacatalogV1UnstarEntryRequest": { + "description": "Request message for UnstarEntry.", + "id": "GoogleCloudDatacatalogV1UnstarEntryRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudDatacatalogV1UnstarEntryResponse": { + "description": "Response message for UnstarEntry. Empty for now", + "id": "GoogleCloudDatacatalogV1UnstarEntryResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDatacatalogV1UsageSignal": { + "description": "The set of all usage signals that Data Catalog stores. Note: Usually, these signals are updated daily. In rare cases, an update may fail but will be performed again on the next day.", + "id": "GoogleCloudDatacatalogV1UsageSignal", + "properties": { + "updateTime": { + "description": "The end timestamp of the duration of usage statistics.", + "format": "google-datetime", + "type": "string" + }, + "usageWithinTimeRange": { + "additionalProperties": { + "$ref": "GoogleCloudDatacatalogV1UsageStats" + }, + "description": "Usage statistics over each of the predefined time ranges. Supported time ranges are `{\"24H\", \"7D\", \"30D\"}`.", + "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" + }, + "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" + }, + "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 Cloud Platform services (such as Projects) might reject them." + } + }, + "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": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/datacatalog/v1beta1/datacatalog-api.json b/etc/api/datacatalog/v1beta1/datacatalog-api.json index 500891f904..ad18fdf627 100644 --- a/etc/api/datacatalog/v1beta1/datacatalog-api.json +++ b/etc/api/datacatalog/v1beta1/datacatalog-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -142,7 +142,7 @@ "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 shoud satisfy the standard SQL rules for identifiers. https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical.", + "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" } @@ -688,7 +688,7 @@ ] }, "list": { - "description": "Lists the tags on an Entry.", + "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", @@ -817,7 +817,7 @@ ] }, "list": { - "description": "Lists the tags on an Entry.", + "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", @@ -1808,26 +1808,26 @@ } } }, - "revision": "20210316", + "revision": "20220224", "rootUrl": "https://datacatalog.googleapis.com/", "schemas": { "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -1878,7 +1878,7 @@ "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).", + "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" } @@ -2045,6 +2045,11 @@ ], "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" @@ -2390,7 +2395,7 @@ "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 If not specified, defaults to `relevance` descending.", + "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": { @@ -2791,6 +2796,52 @@ }, "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", @@ -2804,11 +2855,11 @@ "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/).", + "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` 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.", + "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" }, diff --git a/etc/api/dataflow/v1b3/dataflow-api.json b/etc/api/dataflow/v1b3/dataflow-api.json index 1547c1f659..36ce2e9eeb 100644 --- a/etc/api/dataflow/v1b3/dataflow-api.json +++ b/etc/api/dataflow/v1b3/dataflow-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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" @@ -12,7 +12,7 @@ "description": "View your Google Compute Engine resources" }, "https://www.googleapis.com/auth/userinfo.email": { - "description": "View your email address" + "description": "See your primary Google Account email address" } } } @@ -2225,7 +2225,7 @@ } } }, - "revision": "20210324", + "revision": "20220218", "rootUrl": "https://dataflow.googleapis.com/", "schemas": { "ApproximateProgress": { @@ -2336,7 +2336,7 @@ "type": "string" }, "workerPool": { - "description": "A short and friendly name for the worker pool this event refers to, populated from the value of PoolStageRelation::user_pool_name.", + "description": "A short and friendly name for the worker pool this event refers to.", "type": "string" } }, @@ -2392,7 +2392,7 @@ "type": "object" }, "BigTableIODetails": { - "description": "Metadata for a Cloud BigTable connector used by the job.", + "description": "Metadata for a Cloud Bigtable connector used by the job.", "id": "BigTableIODetails", "properties": { "instanceId": { @@ -3030,7 +3030,7 @@ "description": "Any debugging options to be supplied to the job." }, "experiments": { - "description": "The list of experiments to enable. This field should be used for SDK related experiments and not for service related experiments. The proper field for service related experiments is service_options. For more details see the rationale at go/user-specified-service-options.", + "description": "The list of experiments to enable. This field should be used for SDK related experiments and not for service related experiments. The proper field for service related experiments is service_options.", "items": { "type": "string" }, @@ -3075,7 +3075,7 @@ "type": "string" }, "serviceOptions": { - "description": "The list of service options to enable. This field should be used for service related experiments only. These experiments, when graduating to GA, should be replaced by dedicated fields or become default (i.e. always on). For more details see the rationale at go/user-specified-service-options.", + "description": "The list of service options to enable. This field should be used for service related experiments only. These experiments, when graduating to GA, should be replaced by dedicated fields or become default (i.e. always on).", "items": { "type": "string" }, @@ -3314,6 +3314,29 @@ "description": "Additional user labels to be specified for the job. Keys and values must follow the restrictions specified in the [labeling restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions) page. An object containing a list of \"key\": value pairs. Example: { \"name\": \"wrench\", \"mass\": \"1kg\", \"count\": \"3\" }.", "type": "object" }, + "autoscalingAlgorithm": { + "description": "The algorithm to use for autoscaling", + "enum": [ + "AUTOSCALING_ALGORITHM_UNKNOWN", + "AUTOSCALING_ALGORITHM_NONE", + "AUTOSCALING_ALGORITHM_BASIC" + ], + "enumDescriptions": [ + "The algorithm is unknown, or unspecified.", + "Disable autoscaling.", + "Increase worker count over time to reduce job execution time." + ], + "type": "string" + }, + "diskSizeGb": { + "description": "Worker disk size, in gigabytes.", + "format": "int32", + "type": "integer" + }, + "dumpHeapOnOom": { + "description": "If true, save a heap dump before killing a thread or process which is GC thrashing or out of memory. The location of the heap file will either be echoed back to the user, or the user will be given the opportunity to download the heap file.", + "type": "boolean" + }, "enableStreamingEngine": { "description": "Whether to enable Streaming Engine for the job.", "type": "boolean" @@ -3350,6 +3373,10 @@ "description": "Name for the Cloud KMS key for the job. Key format is: projects//locations//keyRings//cryptoKeys/", "type": "string" }, + "launcherMachineType": { + "description": "The machine type to use for launching the job. The default is n1-standard-1.", + "type": "string" + }, "machineType": { "description": "The machine type to use for the job. Defaults to the value from the template if not specified.", "type": "string" @@ -3368,10 +3395,22 @@ "format": "int32", "type": "integer" }, + "saveHeapDumpsToGcsPath": { + "description": "Cloud Storage bucket (directory) to upload heap dumps to the given location. Enabling this implies that heap dumps should be generated on OOM (dump_heap_on_oom is set to true).", + "type": "string" + }, + "sdkContainerImage": { + "description": "Docker registry location of container image to use for the 'worker harness. Default is the container for the version of the SDK. Note this field is only valid for portable pipelines.", + "type": "string" + }, "serviceAccountEmail": { "description": "The email address of the service account to run the job as.", "type": "string" }, + "stagingLocation": { + "description": "The Cloud Storage path for staging local files. Must be a valid Cloud Storage URL, beginning with `gs://`.", + "type": "string" + }, "subnetwork": { "description": "Subnetwork to which VMs will be assigned, if desired. You can specify a subnetwork using either a complete URL or an abbreviated path. Expected to be of the form \"https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK\" or \"regions/REGION/subnetworks/SUBNETWORK\". If the subnetwork is located in a Shared VPC network, you must use the complete URL.", "type": "string" @@ -3627,7 +3666,7 @@ "type": "object" }, "Job": { - "description": "Defines a job to be run by the Cloud Dataflow service. nextID: 26", + "description": "Defines a job to be run by the Cloud Dataflow service.", "id": "Job", "properties": { "clientRequestId": { @@ -3912,7 +3951,7 @@ "id": "JobMetadata", "properties": { "bigTableDetails": { - "description": "Identification of a Cloud BigTable source used in the Dataflow job.", + "description": "Identification of a Cloud Bigtable source used in the Dataflow job.", "items": { "$ref": "BigTableIODetails" }, @@ -3940,7 +3979,7 @@ "type": "array" }, "pubsubDetails": { - "description": "Identification of a PubSub source used in the Dataflow job.", + "description": "Identification of a Pub/Sub source used in the Dataflow job.", "items": { "$ref": "PubSubIODetails" }, @@ -4311,6 +4350,11 @@ "format": "uint64", "type": "string" }, + "currentOoms": { + "description": "Number of Out of Memory (OOM) events recorded since the previous measurement.", + "format": "int64", + "type": "string" + }, "currentRssBytes": { "description": "Instantenous memory (RSS) size in bytes.", "format": "uint64", @@ -4599,6 +4643,13 @@ "description": "Metadata for a specific parameter.", "id": "ParameterMetadata", "properties": { + "customMetadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Additional metadata for describing this parameter.", + "type": "object" + }, "helpText": { "description": "Required. The help text to display for the parameter.", "type": "string" @@ -5007,7 +5058,7 @@ "id": "RuntimeEnvironment", "properties": { "additionalExperiments": { - "description": "Additional experiment flags for the job.", + "description": "Additional experiment flags for the job, specified with the `--experiments` option.", "items": { "type": "string" }, @@ -5170,7 +5221,7 @@ "Cloud Dataflow is unaware of this version.", "This is a known version of an SDK, and is supported.", "A newer version of the SDK family exists, and an update is recommended.", - "This version of the SDK is deprecated and will eventually be no longer supported.", + "This version of the SDK is deprecated and will eventually be unsupported.", "Support for this SDK version has ended and it should no longer be used." ], "type": "string" @@ -5395,12 +5446,16 @@ "type": "string" }, "pubsubMetadata": { - "description": "PubSub snapshot metadata.", + "description": "Pub/Sub snapshot metadata.", "items": { "$ref": "PubsubSnapshotMetadata" }, "type": "array" }, + "region": { + "description": "Cloud region where this snapshot lives in, e.g., \"us-central1\".", + "type": "string" + }, "sourceJobId": { "description": "The job this snapshot was created from.", "type": "string" @@ -6865,7 +6920,7 @@ "The default set of packages to stage is unknown, or unspecified.", "Indicates that no packages should be staged at the worker unless explicitly specified by the job.", "Stage packages typically useful to workers written in Java.", - "Stage pacakges typically useful to workers written in Python." + "Stage packages typically useful to workers written in Python." ], "type": "string" }, diff --git a/etc/api/datafusion/v1/datafusion-api.json b/etc/api/datafusion/v1/datafusion-api.json index c541241999..01ed991302 100644 --- a/etc/api/datafusion/v1/datafusion-api.json +++ b/etc/api/datafusion/v1/datafusion-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -161,7 +161,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -194,12 +194,12 @@ ], "parameters": { "instanceId": { - "description": "The name of the instance to create.", + "description": "Required. The name of the instance to create.", "location": "query", "type": "string" }, "parent": { - "description": "The instance's project and location in the format projects/{project}/locations/{location}.", + "description": "Required. The instance's project and location in the format projects/{project}/locations/{location}.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -227,7 +227,7 @@ ], "parameters": { "name": { - "description": "The instance resource name in the format projects/{project}/locations/{location}/instances/{instance}", + "description": "Required. The instance resource name in the format projects/{project}/locations/{location}/instances/{instance}", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", "required": true, @@ -252,7 +252,7 @@ ], "parameters": { "name": { - "description": "The instance resource name in the format projects/{project}/locations/{location}/instances/{instance}.", + "description": "Required. The instance resource name in the format projects/{project}/locations/{location}/instances/{instance}.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", "required": true, @@ -329,7 +329,7 @@ "type": "string" }, "parent": { - "description": "The project and location for which to retrieve instance information in the format projects/{project}/locations/{location}. If the location is specified as '-' (wildcard), then all regions available to the project are queried, and the results are aggregated.", + "description": "Required. The project and location for which to retrieve instance information in the format projects/{project}/locations/{location}. If the location is specified as '-' (wildcard), then all regions available to the project are queried, and the results are aggregated.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -388,7 +388,7 @@ ], "parameters": { "name": { - "description": "Name of the Data Fusion instance which need to be restarted in the form of projects/{project}/locations/{location}/instances/{instance}", + "description": "Required. Name of the Data Fusion instance which need to be restarted in the form of projects/{project}/locations/{location}/instances/{instance}", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", "required": true, @@ -637,7 +637,7 @@ } } }, - "revision": "20210322", + "revision": "20211028", "rootUrl": "https://datafusion.googleapis.com/", "schemas": { "Accelerator": { @@ -649,12 +649,14 @@ "enum": [ "ACCELERATOR_TYPE_UNSPECIFIED", "CDC", - "HEALTHCARE" + "HEALTHCARE", + "CCAI_INSIGHTS" ], "enumDescriptions": [ "Default value, if unspecified.", "Change Data Capture accelerator for CDF.", - "Cloud Healthcare accelerator for CDF. This accelerator is to enable Cloud Healthcare specific CDF plugins developed by Healthcare team." + "Cloud Healthcare accelerator for CDF. This accelerator is to enable Cloud Healthcare specific CDF plugins developed by Healthcare team.", + "Contact Center AI Insights This accelerator is used to enable import and export pipelines custom built to streamline CCAI Insights processing." ], "type": "string" }, @@ -726,22 +728,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -753,6 +755,17 @@ "properties": {}, "type": "object" }, + "CryptoKeyConfig": { + "description": "The crypto key configuration. This field is used by the Customer-managed encryption keys (CMEK) feature.", + "id": "CryptoKeyConfig", + "properties": { + "keyReference": { + "description": "The name of the key which is used to encrypt/decrypt customer data. For key in Cloud KMS, the key should be in the format of `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", + "type": "string" + } + }, + "type": "object" + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", "id": "Empty", @@ -811,6 +824,10 @@ "readOnly": true, "type": "string" }, + "cryptoKeyConfig": { + "$ref": "CryptoKeyConfig", + "description": "The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature." + }, "dataprocServiceAccount": { "description": "User-managed service account to set on Dataproc when Cloud Data Fusion creates Dataproc to run data processing pipelines. This allows users to have fine-grained access control on Dataproc's accesses to cloud resources.", "type": "string" @@ -819,6 +836,22 @@ "description": "A description of this instance.", "type": "string" }, + "disabledReason": { + "description": "Output only. If the instance state is DISABLED, the reason for disabling the instance.", + "items": { + "enum": [ + "DISABLED_REASON_UNSPECIFIED", + "KMS_KEY_ISSUE" + ], + "enumDescriptions": [ + "This is an unknown reason for disabling.", + "The KMS key used by the instance is either revoked or denied access to" + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, "displayName": { "description": "Display name for an instance.", "type": "string" @@ -844,7 +877,7 @@ "additionalProperties": { "type": "string" }, - "description": "The resource labels for instance to use to annotate any related underlying resources such as GCE VMs. The character '=' is not allowed to be used within the labels.", + "description": "The resource labels for instance to use to annotate any related underlying resources such as Compute Engine VMs. The character '=' is not allowed to be used within the labels.", "type": "object" }, "name": { @@ -894,7 +927,8 @@ "RESTARTING", "UPDATING", "AUTO_UPDATING", - "AUTO_UPGRADING" + "AUTO_UPGRADING", + "DISABLED" ], "enumDescriptions": [ "Instance does not have a state yet", @@ -906,7 +940,8 @@ "Instance is being restarted", "Instance is being updated on customer request", "Instance is being auto-updated", - "Instance is being auto-upgraded" + "Instance is being auto-upgraded", + "Instance is disabled" ], "readOnly": true, "type": "string" @@ -1125,7 +1160,7 @@ "additionalProperties": { "type": "string" }, - "description": "Map to hold any additonal status info for the operation If there is an accelerator being enabled/disabled/deleted, this will be populated with accelerator name as key and status as ENABLING, DISABLING or DELETING", + "description": "Map to hold any additional status info for the operation If there is an accelerator being enabled/disabled/deleted, this will be populated with accelerator name as key and status as ENABLING, DISABLING or DELETING", "type": "object" }, "apiVersion": { @@ -1162,7 +1197,7 @@ "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/).", + "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": { @@ -1173,7 +1208,7 @@ "type": "array" }, "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.", + "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" }, @@ -1284,6 +1319,20 @@ "description": "Whether this is currently the default version for Cloud Data Fusion", "type": "boolean" }, + "type": { + "description": "Type represents the release availability of the version", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_PREVIEW", + "TYPE_GENERAL_AVAILABILITY" + ], + "enumDescriptions": [ + "Version does not have availability yet", + "Version is under development and not considered stable", + "Version is available for public use" + ], + "type": "string" + }, "versionNumber": { "description": "The version number of the Data Fusion instance, such as '6.0.1.0'.", "type": "string" diff --git a/etc/api/datafusion/v1beta1/datafusion-api.json b/etc/api/datafusion/v1beta1/datafusion-api.json index 290876494e..ab0ba1f39e 100644 --- a/etc/api/datafusion/v1beta1/datafusion-api.json +++ b/etc/api/datafusion/v1beta1/datafusion-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -161,7 +161,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -190,7 +190,7 @@ ], "parameters": { "resource": { - "description": "The resource on which IAM policy to be removed is attached to.", + "description": "Required. The resource on which IAM policy to be removed is attached to.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/.*$", "required": true, @@ -222,12 +222,12 @@ ], "parameters": { "instanceId": { - "description": "The name of the instance to create.", + "description": "Required. The name of the instance to create.", "location": "query", "type": "string" }, "parent": { - "description": "The instance's project and location in the format projects/{project}/locations/{location}.", + "description": "Required. The instance's project and location in the format projects/{project}/locations/{location}.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -255,7 +255,7 @@ ], "parameters": { "name": { - "description": "The instance resource name in the format projects/{project}/locations/{location}/instances/{instance}", + "description": "Required. The instance resource name in the format projects/{project}/locations/{location}/instances/{instance}", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", "required": true, @@ -280,7 +280,7 @@ ], "parameters": { "name": { - "description": "The instance resource name in the format projects/{project}/locations/{location}/instances/{instance}.", + "description": "Required. The instance resource name in the format projects/{project}/locations/{location}/instances/{instance}.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", "required": true, @@ -357,7 +357,7 @@ "type": "string" }, "parent": { - "description": "The project and location for which to retrieve instance information in the format projects/{project}/locations/{location}. If the location is specified as '-' (wildcard), then all regions available to the project are queried, and the results are aggregated.", + "description": "Required. The project and location for which to retrieve instance information in the format projects/{project}/locations/{location}. If the location is specified as '-' (wildcard), then all regions available to the project are queried, and the results are aggregated.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -416,7 +416,7 @@ ], "parameters": { "name": { - "description": "Name of the Data Fusion instance which need to be restarted in the form of projects/{project}/locations/{location}/instances/{instance}", + "description": "Required. Name of the Data Fusion instance which need to be restarted in the form of projects/{project}/locations/{location}/instances/{instance}", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", "required": true, @@ -500,7 +500,7 @@ ], "parameters": { "name": { - "description": "Name of the Data Fusion instance which need to be upgraded in the form of projects/{project}/locations/{location}/instances/{instance} Instance will be upgraded with the latest stable version of the Data Fusion.", + "description": "Required. Name of the Data Fusion instance which need to be upgraded in the form of projects/{project}/locations/{location}/instances/{instance} Instance will be upgraded with the latest stable version of the Data Fusion.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", "required": true, @@ -520,6 +520,102 @@ } }, "resources": { + "dnsPeerings": { + "methods": { + "add": { + "description": "Add DNS peering on the given resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/dnsPeerings:add", + "httpMethod": "POST", + "id": "datafusion.projects.locations.instances.dnsPeerings.add", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource on which DNS peering will be created.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/dnsPeerings:add", + "request": { + "$ref": "AddDnsPeeringRequest" + }, + "response": { + "$ref": "AddDnsPeeringResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List DNS peering for a given resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/dnsPeerings:list", + "httpMethod": "GET", + "id": "datafusion.projects.locations.instances.dnsPeerings.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 to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource on which dns peering will be listed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/dnsPeerings:list", + "response": { + "$ref": "ListDnsPeeringsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "remove": { + "description": "Remove DNS peering on the given resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/dnsPeerings:remove", + "httpMethod": "POST", + "id": "datafusion.projects.locations.instances.dnsPeerings.remove", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource on which DNS peering will be removed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/dnsPeerings:remove", + "request": { + "$ref": "RemoveDnsPeeringRequest" + }, + "response": { + "$ref": "RemoveDnsPeeringResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "namespaces": { "methods": { "getIamPolicy": { @@ -553,6 +649,57 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "list": { + "description": "List namespaces in a given instance", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/namespaces", + "httpMethod": "GET", + "id": "datafusion.projects.locations.instances.namespaces.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 to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The instance to list its namespaces.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "By default, only basic information about a namespace is returned (e.g. name). When `NAMESPACE_VIEW_FULL` is specified, additional information associated with a namespace gets returned (e.g. IAM policy set on the namespace)", + "enum": [ + "NAMESPACE_VIEW_UNSPECIFIED", + "NAMESPACE_VIEW_BASIC", + "NAMESPACE_VIEW_FULL" + ], + "enumDescriptions": [ + "Default/unset value, which will use BASIC view.", + "Show the most basic metadata of a namespace", + "Returns all metadata of a namespace" + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/namespaces", + "response": { + "$ref": "ListNamespacesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "setIamPolicy": { "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/namespaces/{namespacesId}:setIamPolicy", @@ -786,7 +933,7 @@ } } }, - "revision": "20210322", + "revision": "20211028", "rootUrl": "https://datafusion.googleapis.com/", "schemas": { "Accelerator": { @@ -810,6 +957,23 @@ }, "type": "object" }, + "AddDnsPeeringRequest": { + "description": "Request message to create dns peering.", + "id": "AddDnsPeeringRequest", + "properties": { + "dnsPeering": { + "$ref": "DnsPeering", + "description": "Dns peering config." + } + }, + "type": "object" + }, + "AddDnsPeeringResponse": { + "description": "Response message for set dns peering method.", + "id": "AddDnsPeeringResponse", + "properties": {}, + "type": "object" + }, "AuditConfig": { "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", @@ -859,22 +1023,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -886,6 +1050,44 @@ "properties": {}, "type": "object" }, + "CryptoKeyConfig": { + "description": "The crypto key configuration. This field is used by the Customer-managed encryption keys (CMEK) feature.", + "id": "CryptoKeyConfig", + "properties": { + "keyReference": { + "description": "The name of the key which is used to encrypt/decrypt customer data. For key in Cloud KMS, the key should be in the format of `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", + "type": "string" + } + }, + "type": "object" + }, + "DnsPeering": { + "description": "DNS peering configuration. These configurations are used to create DNS peering with the customer Cloud DNS.", + "id": "DnsPeering", + "properties": { + "description": { + "description": "Optional. Optional description of the dns zone.", + "type": "string" + }, + "domain": { + "description": "Required. Name of the dns.", + "type": "string" + }, + "targetNetwork": { + "description": "Optional. Optional target network to which dns peering should happen.", + "type": "string" + }, + "targetProject": { + "description": "Optional. Optional target project to which dns peering should happen.", + "type": "string" + }, + "zone": { + "description": "Required. Name of the zone.", + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", "id": "Empty", @@ -915,6 +1117,21 @@ }, "type": "object" }, + "IAMPolicy": { + "description": "IAMPolicy encapsulates the IAM policy name, definition and status of policy fetching.", + "id": "IAMPolicy", + "properties": { + "policy": { + "$ref": "Policy", + "description": "Policy definition if IAM policy fetching is successful, otherwise empty." + }, + "status": { + "$ref": "Status", + "description": "Status of iam policy fetching." + } + }, + "type": "object" + }, "Instance": { "description": "Represents a Data Fusion instance.", "id": "Instance", @@ -944,6 +1161,10 @@ "readOnly": true, "type": "string" }, + "cryptoKeyConfig": { + "$ref": "CryptoKeyConfig", + "description": "The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature." + }, "dataprocServiceAccount": { "description": "User-managed service account to set on Dataproc when Cloud Data Fusion creates Dataproc to run data processing pipelines. This allows users to have fine-grained access control on Dataproc's accesses to cloud resources.", "type": "string" @@ -952,6 +1173,22 @@ "description": "A description of this instance.", "type": "string" }, + "disabledReason": { + "description": "Output only. If the instance state is DISABLED, the reason for disabling the instance.", + "items": { + "enum": [ + "DISABLED_REASON_UNSPECIFIED", + "KMS_KEY_ISSUE" + ], + "enumDescriptions": [ + "This is an unknown reason for disabling.", + "The KMS key used by the instance is either revoked or denied access to" + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, "displayName": { "description": "Display name for an instance.", "type": "string" @@ -1027,7 +1264,8 @@ "RESTARTING", "UPDATING", "AUTO_UPDATING", - "AUTO_UPGRADING" + "AUTO_UPGRADING", + "DISABLED" ], "enumDescriptions": [ "Instance does not have a state yet", @@ -1039,7 +1277,8 @@ "Instance is being restarted", "Instance is being updated on customer request", "Instance is being auto-updated", - "Instance is being auto-upgraded" + "Instance is being auto-upgraded", + "Instance is disabled" ], "readOnly": true, "type": "string" @@ -1105,6 +1344,24 @@ }, "type": "object" }, + "ListDnsPeeringsResponse": { + "description": "List dns peering response.", + "id": "ListDnsPeeringsResponse", + "properties": { + "dnsPeerings": { + "description": "List of dns peering configs.", + "items": { + "$ref": "DnsPeering" + }, + "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" + }, "ListInstancesResponse": { "description": "Response message for the list instance request.", "id": "ListInstancesResponse", @@ -1148,6 +1405,24 @@ }, "type": "object" }, + "ListNamespacesResponse": { + "description": "List namespaces response.", + "id": "ListNamespacesResponse", + "properties": { + "namespaces": { + "description": "List of namespaces", + "items": { + "$ref": "Namespace" + }, + "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", @@ -1200,6 +1475,21 @@ }, "type": "object" }, + "Namespace": { + "description": "Represents the information of a namespace", + "id": "Namespace", + "properties": { + "iamPolicy": { + "$ref": "IAMPolicy", + "description": "IAM policy associated with this namespace." + }, + "name": { + "description": "Name of the given namespace.", + "type": "string" + } + }, + "type": "object" + }, "NetworkConfig": { "description": "Network configuration for a Data Fusion instance. These configurations are used for peering with the customer network. Configurations are optional when a public Data Fusion instance is to be created. However, providing these configurations allows several benefits, such as reduced network latency while accessing the customer resources from managed Data Fusion instance nodes, as well as access to the customer on-prem resources.", "id": "NetworkConfig", @@ -1288,7 +1578,7 @@ "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/).", + "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": { @@ -1299,7 +1589,7 @@ "type": "array" }, "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.", + "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" }, @@ -1318,6 +1608,23 @@ }, "type": "object" }, + "RemoveDnsPeeringRequest": { + "description": "Request message to remove dns peering.", + "id": "RemoveDnsPeeringRequest", + "properties": { + "zone": { + "description": "Required. The zone to be removed.", + "type": "string" + } + }, + "type": "object" + }, + "RemoveDnsPeeringResponse": { + "description": "Response message for set dns peering method.", + "id": "RemoveDnsPeeringResponse", + "properties": {}, + "type": "object" + }, "RemoveIamPolicyRequest": { "description": "Request message for RemoveIamPolicy method.", "id": "RemoveIamPolicyRequest", @@ -1428,6 +1735,20 @@ "description": "Whether this is currently the default version for Cloud Data Fusion", "type": "boolean" }, + "type": { + "description": "Type represents the release availability of the version", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_PREVIEW", + "TYPE_GENERAL_AVAILABILITY" + ], + "enumDescriptions": [ + "Version does not have availability yet", + "Version is under development and not considered stable", + "Version is available for public use" + ], + "type": "string" + }, "versionNumber": { "description": "The version number of the Data Fusion instance, such as '6.0.1.0'.", "type": "string" diff --git a/etc/api/datalabeling/v1beta1/datalabeling-api.json b/etc/api/datalabeling/v1beta1/datalabeling-api.json index bca655d010..f9ba97edc5 100644 --- a/etc/api/datalabeling/v1beta1/datalabeling-api.json +++ b/etc/api/datalabeling/v1beta1/datalabeling-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -1596,7 +1596,7 @@ } } }, - "revision": "20210317", + "revision": "20220301", "rootUrl": "https://datalabeling.googleapis.com/", "schemas": { "GoogleCloudDatalabelingV1alpha1CreateInstructionMetadata": { diff --git a/etc/api/datamigration/v1/datamigration-api.json b/etc/api/datamigration/v1/datamigration-api.json index 22f2cc3583..5f89397c1d 100644 --- a/etc/api/datamigration/v1/datamigration-api.json +++ b/etc/api/datamigration/v1/datamigration-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -287,7 +287,7 @@ ], "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).", + "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" @@ -309,7 +309,7 @@ ] }, "list": { - "description": "Retrieve a list of all connection profiles in a given project and location.", + "description": "Retrieves a list of all connection profiles in a given project and location.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectionProfiles", "httpMethod": "GET", "id": "datamigration.projects.locations.connectionProfiles.list", @@ -323,7 +323,7 @@ "type": "string" }, "orderBy": { - "description": "the order by fields for the result.", + "description": "A comma-separated list of fields to order results according to.", "location": "query", "type": "string" }, @@ -364,7 +364,7 @@ ], "parameters": { "name": { - "description": "The name of this connection profile resource in the form of projects/{project}/locations/{location}/instances/{instance}.", + "description": "The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/connectionProfiles/[^/]+$", "required": true, @@ -589,7 +589,7 @@ ], "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).", + "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" @@ -666,7 +666,7 @@ ], "parameters": { "name": { - "description": "The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/instances/{instance}.", + "description": "The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/migrationJobs/[^/]+$", "required": true, @@ -1049,7 +1049,7 @@ } } }, - "revision": "20210317", + "revision": "20220216", "rootUrl": "https://datamigration.googleapis.com/", "schemas": { "AuditConfig": { @@ -1101,22 +1101,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -1176,6 +1176,10 @@ "description": "[default: ON] If you enable this setting, Cloud SQL checks your available storage every 30 seconds. If the available storage falls below a threshold size, Cloud SQL automatically adds additional storage capacity. If the available storage repeatedly falls below the threshold size, Cloud SQL continues to add storage until it reaches the maximum of 30 TB.", "type": "boolean" }, + "cmekKeyName": { + "description": "The KMS key name used for the csql instance.", + "type": "string" + }, "collation": { "description": "The Cloud SQL default instance level collation.", "type": "string" @@ -1217,7 +1221,8 @@ "POSTGRES_10", "MYSQL_8_0", "POSTGRES_12", - "POSTGRES_13" + "POSTGRES_13", + "POSTGRES_14" ], "enumDescriptions": [ "Unspecified version.", @@ -1228,7 +1233,8 @@ "PostgreSQL 10.", "MySQL 8.0.", "PostgreSQL 12.", - "PostgreSQL 13." + "PostgreSQL 13.", + "PostgreSQL 14." ], "type": "string" }, @@ -1307,7 +1313,7 @@ "description": "A MySQL database connection profile." }, "name": { - "description": "The name of this connection profile resource in the form of projects/{project}/locations/{location}/instances/{instance}.", + "description": "The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.", "type": "string" }, "postgresql": { @@ -1319,12 +1325,14 @@ "enum": [ "DATABASE_PROVIDER_UNSPECIFIED", "CLOUDSQL", - "RDS" + "RDS", + "AURORA" ], "enumDescriptions": [ "The database provider is unknown.", "CloudSQL runs the database.", - "RDS runs the database." + "RDS runs the database.", + "Amazon Aurora." ], "type": "string" }, @@ -1384,18 +1392,49 @@ "enum": [ "DATABASE_PROVIDER_UNSPECIFIED", "CLOUDSQL", - "RDS" + "RDS", + "AURORA" ], "enumDescriptions": [ "The database provider is unknown.", "CloudSQL runs the database.", - "RDS runs the database." + "RDS runs the database.", + "Amazon Aurora." ], "type": "string" } }, "type": "object" }, + "DumpFlag": { + "description": "Dump flag definition.", + "id": "DumpFlag", + "properties": { + "name": { + "description": "The name of the flag", + "type": "string" + }, + "value": { + "description": "The value of the flag.", + "type": "string" + } + }, + "type": "object" + }, + "DumpFlags": { + "description": "Dump flags definition.", + "id": "DumpFlags", + "properties": { + "dumpFlags": { + "description": "The flags for the initial dump.", + "items": { + "$ref": "DumpFlag" + }, + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", "id": "Empty", @@ -1635,8 +1674,12 @@ "description": "The migration job display name.", "type": "string" }, + "dumpFlags": { + "$ref": "DumpFlags", + "description": "The initial dump flags. This field and the \"dump_path\" field are mutually exclusive." + }, "dumpPath": { - "description": "The path to the dump file in Google Cloud Storage, in the format: (gs://[BUCKET_NAME]/[OBJECT_NAME]).", + "description": "The path to the dump file in Google Cloud Storage, in the format: (gs://[BUCKET_NAME]/[OBJECT_NAME]). This field and the \"dump_flags\" field are mutually exclusive.", "type": "string" }, "duration": { @@ -1664,7 +1707,7 @@ "type": "object" }, "name": { - "description": "The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/instances/{instance}.", + "description": "The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}.", "type": "string" }, "phase": { @@ -1725,7 +1768,7 @@ "The migration job is down for maintenance.", "The migration job is in draft mode and no resources are created.", "The migration job is being created.", - "The migration job is created, not started and is fully editable.", + "The migration job is created and not started.", "The migration job is running.", "The migration job failed.", "The migration job has been completed.", @@ -1910,7 +1953,7 @@ "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/).", + "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": { @@ -1921,7 +1964,7 @@ "type": "array" }, "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.", + "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" }, @@ -2076,7 +2119,7 @@ "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.", + "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" }, "requireSsl": { diff --git a/etc/api/datamigration/v1beta1/datamigration-api.json b/etc/api/datamigration/v1beta1/datamigration-api.json index 3d83f9d961..8a40f3ff31 100644 --- a/etc/api/datamigration/v1beta1/datamigration-api.json +++ b/etc/api/datamigration/v1beta1/datamigration-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -287,7 +287,7 @@ ], "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).", + "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" @@ -364,7 +364,7 @@ ], "parameters": { "name": { - "description": "The name of this connection profile resource in the form of projects/{project}/locations/{location}/instances/{instance}.", + "description": "The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/connectionProfiles/[^/]+$", "required": true, @@ -589,7 +589,7 @@ ], "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).", + "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" @@ -666,7 +666,7 @@ ], "parameters": { "name": { - "description": "The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/instances/{instance}.", + "description": "The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/migrationJobs/[^/]+$", "required": true, @@ -1049,7 +1049,7 @@ } } }, - "revision": "20210317", + "revision": "20220216", "rootUrl": "https://datamigration.googleapis.com/", "schemas": { "AuditConfig": { @@ -1101,22 +1101,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -1293,7 +1293,7 @@ "description": "A MySQL database connection profile." }, "name": { - "description": "The name of this connection profile resource in the form of projects/{project}/locations/{location}/instances/{instance}.", + "description": "The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.", "type": "string" }, "provider": { @@ -1644,7 +1644,7 @@ "type": "object" }, "name": { - "description": "The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/instances/{instance}.", + "description": "The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}.", "type": "string" }, "phase": { @@ -1705,7 +1705,7 @@ "The migration job is down for maintenance.", "The migration job is in draft mode and no resources are created.", "The migration job is being created.", - "The migration job is created, not started and is fully editable.", + "The migration job is created and not started.", "The migration job is running.", "The migration job failed.", "The migration job has been completed.", @@ -1868,7 +1868,7 @@ "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/).", + "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": { @@ -1879,7 +1879,7 @@ "type": "array" }, "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.", + "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" }, @@ -1993,7 +1993,7 @@ "type": "array" }, "enableIpv4": { - "description": "Whether the instance should be assigned an IPv4 address or not.", + "description": "Whether the instance is assigned a public IP address or not.", "type": "boolean" }, "privateNetwork": { diff --git a/etc/api/datapipelines/v1/datapipelines-api.json b/etc/api/datapipelines/v1/datapipelines-api.json new file mode 100644 index 0000000000..a2d9801860 --- /dev/null +++ b/etc/api/datapipelines/v1/datapipelines-api.json @@ -0,0 +1,1026 @@ +{ + "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://datapipelines.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Datapipelines", + "description": "Data Pipelines provides an interface for creating, updating, and managing recurring Data Analytics jobs.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/dataflow/docs/guides/data-pipelines", + "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": "datapipelines:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://datapipelines.mtls.googleapis.com/", + "name": "datapipelines", + "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": { + "listPipelines": { + "description": "Lists pipelines. Returns a \"FORBIDDEN\" error if the caller doesn't have permission to access it.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "datapipelines.projects.locations.listPipelines", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "An expression for filtering the results of the request. If unspecified, all pipelines will be returned. Multiple filters can be applied and must be comma separated. Fields eligible for filtering are: + `type`: The type of the pipeline (streaming or batch). Allowed values are `ALL`, `BATCH`, and `STREAMING`. + `status`: The activity status of the pipeline. Allowed values are `ALL`, `ACTIVE`, `ARCHIVED`, and `PAUSED`. For example, to limit results to active batch processing pipelines: type:BATCH,status:ACTIVE", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of entities to return. The service may return fewer than this value, even if there are additional pages. If unspecified, the max limit is yet to be determined by the backend implementation.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListPipelines` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPipelines` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The location name. For example: `projects/PROJECT_ID/locations/LOCATION_ID`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}", + "response": { + "$ref": "GoogleCloudDatapipelinesV1ListPipelinesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "pipelines": { + "methods": { + "create": { + "description": "Creates a pipeline. For a batch pipeline, you can pass scheduler information. Data Pipelines uses the scheduler information to create an internal scheduler that runs jobs periodically. If the internal scheduler is not configured, you can use RunPipeline to run jobs.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelines", + "httpMethod": "POST", + "id": "datapipelines.projects.locations.pipelines.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The location name. For example: `projects/PROJECT_ID/locations/LOCATION_ID`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/pipelines", + "request": { + "$ref": "GoogleCloudDatapipelinesV1Pipeline" + }, + "response": { + "$ref": "GoogleCloudDatapipelinesV1Pipeline" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a pipeline. If a scheduler job is attached to the pipeline, it will be deleted.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}", + "httpMethod": "DELETE", + "id": "datapipelines.projects.locations.pipelines.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The pipeline name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/pipelines/PIPELINE_ID`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/pipelines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Looks up a single pipeline. Returns a \"NOT_FOUND\" error if no such pipeline exists. Returns a \"FORBIDDEN\" error if the caller doesn't have permission to access it.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}", + "httpMethod": "GET", + "id": "datapipelines.projects.locations.pipelines.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The pipeline name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/pipelines/PIPELINE_ID`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/pipelines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDatapipelinesV1Pipeline" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a pipeline. If successful, the updated Pipeline is returned. Returns `NOT_FOUND` if the pipeline doesn't exist. If UpdatePipeline does not return successfully, you can retry the UpdatePipeline request until you receive a successful response.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}", + "httpMethod": "PATCH", + "id": "datapipelines.projects.locations.pipelines.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The pipeline name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/pipelines/PIPELINE_ID`. * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), and periods (.). For more information, see [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects). * `LOCATION_ID` is the canonical ID for the pipeline's location. The list of available locations can be obtained by calling `google.cloud.location.Locations.ListLocations`. Note that the Data Pipelines service is not available in all regions. It depends on Cloud Scheduler, an App Engine application, so it's only available in [App Engine regions](https://cloud.google.com/about/locations#region). * `PIPELINE_ID` is the ID of the pipeline. Must be unique for the selected project and location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/pipelines/[^/]+$", + "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": "GoogleCloudDatapipelinesV1Pipeline" + }, + "response": { + "$ref": "GoogleCloudDatapipelinesV1Pipeline" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "run": { + "description": "Creates a job for the specified pipeline directly. You can use this method when the internal scheduler is not configured and you want to trigger the job directly or through an external system. Returns a \"NOT_FOUND\" error if the pipeline doesn't exist. Returns a \"FORBIDDEN\" error if the user doesn't have permission to access the pipeline or run jobs for the pipeline.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}:run", + "httpMethod": "POST", + "id": "datapipelines.projects.locations.pipelines.run", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The pipeline name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/pipelines/PIPELINE_ID`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/pipelines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:run", + "request": { + "$ref": "GoogleCloudDatapipelinesV1RunPipelineRequest" + }, + "response": { + "$ref": "GoogleCloudDatapipelinesV1RunPipelineResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "stop": { + "description": "Freezes pipeline execution permanently. If there's a corresponding scheduler entry, it's deleted, and the pipeline state is changed to \"ARCHIVED\". However, pipeline metadata is retained.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}:stop", + "httpMethod": "POST", + "id": "datapipelines.projects.locations.pipelines.stop", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The pipeline name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/pipelines/PIPELINE_ID`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/pipelines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:stop", + "request": { + "$ref": "GoogleCloudDatapipelinesV1StopPipelineRequest" + }, + "response": { + "$ref": "GoogleCloudDatapipelinesV1Pipeline" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "jobs": { + "methods": { + "list": { + "description": "Lists jobs for a given pipeline. Throws a \"FORBIDDEN\" error if the caller doesn't have permission to access it.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}/jobs", + "httpMethod": "GET", + "id": "datapipelines.projects.locations.pipelines.jobs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of entities to return. The service may return fewer than this value, even if there are additional pages. If unspecified, the max limit will be determined by the backend implementation.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListJobs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListJobs` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The pipeline name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/pipelines/PIPELINE_ID`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/pipelines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/jobs", + "response": { + "$ref": "GoogleCloudDatapipelinesV1ListJobsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20220218", + "rootUrl": "https://datapipelines.googleapis.com/", + "schemas": { + "GoogleCloudDatapipelinesV1DataflowJobDetails": { + "description": "Pipeline job details specific to the Dataflow API. This is encapsulated here to allow for more executors to store their specific details separately.", + "id": "GoogleCloudDatapipelinesV1DataflowJobDetails", + "properties": { + "currentWorkers": { + "description": "Output only. The current number of workers used to run the jobs. Only set to a value if the job is still running.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "resourceInfo": { + "additionalProperties": { + "format": "double", + "type": "number" + }, + "description": "Cached version of all the metrics of interest for the job. This value gets stored here when the job is terminated. As long as the job is running, this field is populated from the Dataflow API.", + "type": "object" + }, + "sdkVersion": { + "$ref": "GoogleCloudDatapipelinesV1SdkVersion", + "description": "Output only. The SDK version used to run the job.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleCloudDatapipelinesV1FlexTemplateRuntimeEnvironment": { + "description": "The environment values to be set at runtime for a Flex Template.", + "id": "GoogleCloudDatapipelinesV1FlexTemplateRuntimeEnvironment", + "properties": { + "additionalExperiments": { + "description": "Additional experiment flags for the job.", + "items": { + "type": "string" + }, + "type": "array" + }, + "additionalUserLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional user labels to be specified for the job. Keys and values must follow the restrictions specified in the [labeling restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions). An object containing a list of key/value pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"1kg\", \"count\": \"3\" }`.", + "type": "object" + }, + "enableStreamingEngine": { + "description": "Whether to enable Streaming Engine for the job.", + "type": "boolean" + }, + "flexrsGoal": { + "description": "Set FlexRS goal for the job. https://cloud.google.com/dataflow/docs/guides/flexrs", + "enum": [ + "FLEXRS_UNSPECIFIED", + "FLEXRS_SPEED_OPTIMIZED", + "FLEXRS_COST_OPTIMIZED" + ], + "enumDescriptions": [ + "Run in the default mode.", + "Optimize for lower execution time.", + "Optimize for lower cost." + ], + "type": "string" + }, + "ipConfiguration": { + "description": "Configuration for VM IPs.", + "enum": [ + "WORKER_IP_UNSPECIFIED", + "WORKER_IP_PUBLIC", + "WORKER_IP_PRIVATE" + ], + "enumDescriptions": [ + "The configuration is unknown, or unspecified.", + "Workers should have public IP addresses.", + "Workers should have private IP addresses." + ], + "type": "string" + }, + "kmsKeyName": { + "description": "Name for the Cloud KMS key for the job. Key format is: projects//locations//keyRings//cryptoKeys/", + "type": "string" + }, + "machineType": { + "description": "The machine type to use for the job. Defaults to the value from the template if not specified.", + "type": "string" + }, + "maxWorkers": { + "description": "The maximum number of Compute Engine instances to be made available to your pipeline during execution, from 1 to 1000.", + "format": "int32", + "type": "integer" + }, + "network": { + "description": "Network to which VMs will be assigned. If empty or unspecified, the service will use the network \"default\".", + "type": "string" + }, + "numWorkers": { + "description": "The initial number of Compute Engine instances for the job.", + "format": "int32", + "type": "integer" + }, + "serviceAccountEmail": { + "description": "The email address of the service account to run the job as.", + "type": "string" + }, + "subnetwork": { + "description": "Subnetwork to which VMs will be assigned, if desired. You can specify a subnetwork using either a complete URL or an abbreviated path. Expected to be of the form \"https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK\" or \"regions/REGION/subnetworks/SUBNETWORK\". If the subnetwork is located in a Shared VPC network, you must use the complete URL.", + "type": "string" + }, + "tempLocation": { + "description": "The Cloud Storage path to use for temporary files. Must be a valid Cloud Storage URL, beginning with `gs://`.", + "type": "string" + }, + "workerRegion": { + "description": "The Compute Engine region (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. \"us-west1\". Mutually exclusive with worker_zone. If neither worker_region nor worker_zone is specified, defaults to the control plane region.", + "type": "string" + }, + "workerZone": { + "description": "The Compute Engine zone (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. \"us-west1-a\". Mutually exclusive with worker_region. If neither worker_region nor worker_zone is specified, a zone in the control plane region is chosen based on available capacity. If both `worker_zone` and `zone` are set, `worker_zone` takes precedence.", + "type": "string" + }, + "zone": { + "description": "The Compute Engine [availability zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones) for launching worker instances to run your pipeline. In the future, worker_zone will take precedence.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDatapipelinesV1Job": { + "description": "Definition of the job information maintained by the pipeline. Fields in this entity are retrieved from the executor API (e.g. Dataflow API).", + "id": "GoogleCloudDatapipelinesV1Job", + "properties": { + "createTime": { + "description": "Output only. The time of job creation.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataflowJobDetails": { + "$ref": "GoogleCloudDatapipelinesV1DataflowJobDetails", + "description": "All the details that are specific to a Dataflow job." + }, + "endTime": { + "description": "Output only. The time of job termination. This is absent if the job is still running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. The internal ID for the job.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. The fully qualified resource name for the job.", + "type": "string" + }, + "state": { + "description": "The current state of the job.", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_PENDING", + "STATE_RUNNING", + "STATE_DONE", + "STATE_FAILED", + "STATE_CANCELLED" + ], + "enumDescriptions": [ + "The job state isn't specified.", + "The job is waiting to start execution.", + "The job is executing.", + "The job has finished execution successfully.", + "The job has finished execution with a failure.", + "The job has been terminated upon user request." + ], + "type": "string" + }, + "status": { + "$ref": "GoogleRpcStatus", + "description": "Status capturing any error code or message related to job creation or execution." + } + }, + "type": "object" + }, + "GoogleCloudDatapipelinesV1LaunchFlexTemplateParameter": { + "description": "Launch Flex Template parameter.", + "id": "GoogleCloudDatapipelinesV1LaunchFlexTemplateParameter", + "properties": { + "containerSpecGcsPath": { + "description": "Cloud Storage path to a file with a JSON-serialized ContainerSpec as content.", + "type": "string" + }, + "environment": { + "$ref": "GoogleCloudDatapipelinesV1FlexTemplateRuntimeEnvironment", + "description": "The runtime environment for the Flex Template job." + }, + "jobName": { + "description": "Required. The job name to use for the created job. For an update job request, the job name should be the same as the existing running job.", + "type": "string" + }, + "launchOptions": { + "additionalProperties": { + "type": "string" + }, + "description": "Launch options for this Flex Template job. This is a common set of options across languages and templates. This should not be used to pass job parameters.", + "type": "object" + }, + "parameters": { + "additionalProperties": { + "type": "string" + }, + "description": "The parameters for the Flex Template. Example: `{\"num_workers\":\"5\"}`", + "type": "object" + }, + "transformNameMappings": { + "additionalProperties": { + "type": "string" + }, + "description": "Use this to pass transform name mappings for streaming update jobs. Example: `{\"oldTransformName\":\"newTransformName\",...}`", + "type": "object" + }, + "update": { + "description": "Set this to true if you are sending a request to update a running streaming job. When set, the job name should be the same as the running job.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDatapipelinesV1LaunchFlexTemplateRequest": { + "description": "A request to launch a Dataflow job from a Flex Template.", + "id": "GoogleCloudDatapipelinesV1LaunchFlexTemplateRequest", + "properties": { + "launchParameter": { + "$ref": "GoogleCloudDatapipelinesV1LaunchFlexTemplateParameter", + "description": "Required. Parameter to launch a job from a Flex Template." + }, + "location": { + "description": "Required. The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to which to direct the request. For example, `us-central1`, `us-west1`.", + "type": "string" + }, + "projectId": { + "description": "Required. The ID of the Cloud Platform project that the job belongs to.", + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not actually executed. Defaults to false.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDatapipelinesV1LaunchTemplateParameters": { + "description": "Parameters to provide to the template being launched.", + "id": "GoogleCloudDatapipelinesV1LaunchTemplateParameters", + "properties": { + "environment": { + "$ref": "GoogleCloudDatapipelinesV1RuntimeEnvironment", + "description": "The runtime environment for the job." + }, + "jobName": { + "description": "Required. The job name to use for the created job.", + "type": "string" + }, + "parameters": { + "additionalProperties": { + "type": "string" + }, + "description": "The runtime parameters to pass to the job.", + "type": "object" + }, + "transformNameMapping": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of transform name prefixes of the job to be replaced to the corresponding name prefixes of the new job. Only applicable when updating a pipeline.", + "type": "object" + }, + "update": { + "description": "If set, replace the existing pipeline with the name specified by jobName with this pipeline, preserving state.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDatapipelinesV1LaunchTemplateRequest": { + "description": "A request to launch a template.", + "id": "GoogleCloudDatapipelinesV1LaunchTemplateRequest", + "properties": { + "gcsPath": { + "description": "A Cloud Storage path to the template from which to create the job. Must be a valid Cloud Storage URL, beginning with 'gs://'.", + "type": "string" + }, + "launchParameters": { + "$ref": "GoogleCloudDatapipelinesV1LaunchTemplateParameters", + "description": "The parameters of the template to launch. This should be part of the body of the POST request." + }, + "location": { + "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to which to direct the request.", + "type": "string" + }, + "projectId": { + "description": "Required. The ID of the Cloud Platform project that the job belongs to.", + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not actually executed. Defaults to false.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDatapipelinesV1ListJobsResponse": { + "description": "Response message for ListJobs", + "id": "GoogleCloudDatapipelinesV1ListJobsResponse", + "properties": { + "jobs": { + "description": "Results that were accessible to the caller. Results are always in descending order of job creation date.", + "items": { + "$ref": "GoogleCloudDatapipelinesV1Job" + }, + "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" + }, + "GoogleCloudDatapipelinesV1ListPipelinesResponse": { + "description": "Response message for ListPipelines.", + "id": "GoogleCloudDatapipelinesV1ListPipelinesResponse", + "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" + }, + "pipelines": { + "description": "Results that matched the filter criteria and were accessible to the caller. Results are always in descending order of pipeline creation date.", + "items": { + "$ref": "GoogleCloudDatapipelinesV1Pipeline" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDatapipelinesV1Pipeline": { + "description": "The main pipeline entity and all the necessary metadata for launching and managing linked jobs.", + "id": "GoogleCloudDatapipelinesV1Pipeline", + "properties": { + "createTime": { + "description": "Output only. Immutable. The timestamp when the pipeline was initially created. Set by the Data Pipelines service.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the pipeline. It can contain only letters ([A-Za-z]), numbers ([0-9]), hyphens (-), and underscores (_).", + "type": "string" + }, + "jobCount": { + "description": "Output only. Number of jobs.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "lastUpdateTime": { + "description": "Output only. Immutable. The timestamp when the pipeline was last modified. Set by the Data Pipelines service.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The pipeline name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/pipelines/PIPELINE_ID`. * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), and periods (.). For more information, see [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects). * `LOCATION_ID` is the canonical ID for the pipeline's location. The list of available locations can be obtained by calling `google.cloud.location.Locations.ListLocations`. Note that the Data Pipelines service is not available in all regions. It depends on Cloud Scheduler, an App Engine application, so it's only available in [App Engine regions](https://cloud.google.com/about/locations#region). * `PIPELINE_ID` is the ID of the pipeline. Must be unique for the selected project and location.", + "type": "string" + }, + "pipelineSources": { + "additionalProperties": { + "type": "string" + }, + "description": "Immutable. The sources of the pipeline (for example, Dataplex). The keys and values are set by the corresponding sources during pipeline creation.", + "type": "object" + }, + "scheduleInfo": { + "$ref": "GoogleCloudDatapipelinesV1ScheduleSpec", + "description": "Internal scheduling information for a pipeline. If this information is provided, periodic jobs will be created per the schedule. If not, users are responsible for creating jobs externally." + }, + "schedulerServiceAccountEmail": { + "description": "Optional. A service account email to be used with the Cloud Scheduler job. If not specified, the default compute engine service account will be used.", + "type": "string" + }, + "state": { + "description": "Required. The state of the pipeline. When the pipeline is created, the state is set to 'PIPELINE_STATE_ACTIVE' by default. State changes can be requested by setting the state to stopping, paused, or resuming. State cannot be changed through UpdatePipeline requests.", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_RESUMING", + "STATE_ACTIVE", + "STATE_STOPPING", + "STATE_ARCHIVED", + "STATE_PAUSED" + ], + "enumDescriptions": [ + "The pipeline state isn't specified.", + "The pipeline is getting started or resumed. When finished, the pipeline state will be 'PIPELINE_STATE_ACTIVE'.", + "The pipeline is actively running.", + "The pipeline is in the process of stopping. When finished, the pipeline state will be 'PIPELINE_STATE_ARCHIVED'.", + "The pipeline has been stopped. This is a terminal state and cannot be undone.", + "The pipeline is paused. This is a non-terminal state. When the pipeline is paused, it will hold processing jobs, but can be resumed later. For a batch pipeline, this means pausing the scheduler job. For a streaming pipeline, creating a job snapshot to resume from will give the same effect." + ], + "type": "string" + }, + "type": { + "description": "Required. The type of the pipeline. This field affects the scheduling of the pipeline and the type of metrics to show for the pipeline.", + "enum": [ + "PIPELINE_TYPE_UNSPECIFIED", + "PIPELINE_TYPE_BATCH", + "PIPELINE_TYPE_STREAMING" + ], + "enumDescriptions": [ + "The pipeline type isn't specified.", + "A batch pipeline. It runs jobs on a specific schedule, and each job will automatically terminate once execution is finished.", + "A streaming pipeline. The underlying job is continuously running until it is manually terminated by the user. This type of pipeline doesn't have a schedule to run on, and the linked job gets created when the pipeline is created." + ], + "type": "string" + }, + "workload": { + "$ref": "GoogleCloudDatapipelinesV1Workload", + "description": "Workload information for creating new jobs." + } + }, + "type": "object" + }, + "GoogleCloudDatapipelinesV1RunPipelineRequest": { + "description": "Request message for RunPipeline", + "id": "GoogleCloudDatapipelinesV1RunPipelineRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudDatapipelinesV1RunPipelineResponse": { + "description": "Response message for RunPipeline", + "id": "GoogleCloudDatapipelinesV1RunPipelineResponse", + "properties": { + "job": { + "$ref": "GoogleCloudDatapipelinesV1Job", + "description": "Job that was created as part of RunPipeline operation." + } + }, + "type": "object" + }, + "GoogleCloudDatapipelinesV1RuntimeEnvironment": { + "description": "The environment values to set at runtime.", + "id": "GoogleCloudDatapipelinesV1RuntimeEnvironment", + "properties": { + "additionalExperiments": { + "description": "Additional experiment flags for the job.", + "items": { + "type": "string" + }, + "type": "array" + }, + "additionalUserLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional user labels to be specified for the job. Keys and values should follow the restrictions specified in the [labeling restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions) page. An object containing a list of key/value pairs. Example: { \"name\": \"wrench\", \"mass\": \"1kg\", \"count\": \"3\" }.", + "type": "object" + }, + "bypassTempDirValidation": { + "description": "Whether to bypass the safety checks for the job's temporary directory. Use with caution.", + "type": "boolean" + }, + "enableStreamingEngine": { + "description": "Whether to enable Streaming Engine for the job.", + "type": "boolean" + }, + "ipConfiguration": { + "description": "Configuration for VM IPs.", + "enum": [ + "WORKER_IP_UNSPECIFIED", + "WORKER_IP_PUBLIC", + "WORKER_IP_PRIVATE" + ], + "enumDescriptions": [ + "The configuration is unknown, or unspecified.", + "Workers should have public IP addresses.", + "Workers should have private IP addresses." + ], + "type": "string" + }, + "kmsKeyName": { + "description": "Name for the Cloud KMS key for the job. The key format is: projects//locations//keyRings//cryptoKeys/", + "type": "string" + }, + "machineType": { + "description": "The machine type to use for the job. Defaults to the value from the template if not specified.", + "type": "string" + }, + "maxWorkers": { + "description": "The maximum number of Compute Engine instances to be made available to your pipeline during execution, from 1 to 1000.", + "format": "int32", + "type": "integer" + }, + "network": { + "description": "Network to which VMs will be assigned. If empty or unspecified, the service will use the network \"default\".", + "type": "string" + }, + "numWorkers": { + "description": "The initial number of Compute Engine instances for the job.", + "format": "int32", + "type": "integer" + }, + "serviceAccountEmail": { + "description": "The email address of the service account to run the job as.", + "type": "string" + }, + "subnetwork": { + "description": "Subnetwork to which VMs will be assigned, if desired. You can specify a subnetwork using either a complete URL or an abbreviated path. Expected to be of the form \"https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK\" or \"regions/REGION/subnetworks/SUBNETWORK\". If the subnetwork is located in a Shared VPC network, you must use the complete URL.", + "type": "string" + }, + "tempLocation": { + "description": "The Cloud Storage path to use for temporary files. Must be a valid Cloud Storage URL, beginning with `gs://`.", + "type": "string" + }, + "workerRegion": { + "description": "The Compute Engine region (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. \"us-west1\". Mutually exclusive with worker_zone. If neither worker_region nor worker_zone is specified, default to the control plane's region.", + "type": "string" + }, + "workerZone": { + "description": "The Compute Engine zone (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. \"us-west1-a\". Mutually exclusive with worker_region. If neither worker_region nor worker_zone is specified, a zone in the control plane's region is chosen based on available capacity. If both `worker_zone` and `zone` are set, `worker_zone` takes precedence.", + "type": "string" + }, + "zone": { + "description": "The Compute Engine [availability zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones) for launching worker instances to run your pipeline. In the future, worker_zone will take precedence.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDatapipelinesV1ScheduleSpec": { + "description": "Details of the schedule the pipeline runs on.", + "id": "GoogleCloudDatapipelinesV1ScheduleSpec", + "properties": { + "nextJobTime": { + "description": "Output only. When the next Scheduler job is going to run.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "schedule": { + "description": "Unix-cron format of the schedule. This information is retrieved from the linked Cloud Scheduler.", + "type": "string" + }, + "timeZone": { + "description": "Timezone ID. This matches the timezone IDs used by the Cloud Scheduler API. If empty, UTC time is assumed.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDatapipelinesV1SdkVersion": { + "description": "The version of the SDK used to run the job.", + "id": "GoogleCloudDatapipelinesV1SdkVersion", + "properties": { + "sdkSupportStatus": { + "description": "The support status for this SDK version.", + "enum": [ + "UNKNOWN", + "SUPPORTED", + "STALE", + "DEPRECATED", + "UNSUPPORTED" + ], + "enumDescriptions": [ + "Dataflow is unaware of this version.", + "This is a known version of an SDK, and is supported.", + "A newer version of the SDK exists, and an update is recommended.", + "This version of the SDK is deprecated and will eventually be unsupported.", + "Support for this SDK version has ended and it should no longer be used." + ], + "type": "string" + }, + "version": { + "description": "The version of the SDK used to run the job.", + "type": "string" + }, + "versionDisplayName": { + "description": "A readable string describing the version of the SDK.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDatapipelinesV1StopPipelineRequest": { + "description": "Request message for StopPipeline.", + "id": "GoogleCloudDatapipelinesV1StopPipelineRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudDatapipelinesV1Workload": { + "description": "Workload details for creating the pipeline jobs.", + "id": "GoogleCloudDatapipelinesV1Workload", + "properties": { + "dataflowFlexTemplateRequest": { + "$ref": "GoogleCloudDatapipelinesV1LaunchFlexTemplateRequest", + "description": "Template information and additional parameters needed to launch a Dataflow job using the flex launch API." + }, + "dataflowLaunchTemplateRequest": { + "$ref": "GoogleCloudDatapipelinesV1LaunchTemplateRequest", + "description": "Template information and additional parameters needed to launch a Dataflow job using the standard launch API." + } + }, + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", + "id": "GoogleProtobufEmpty", + "properties": {}, + "type": "object" + }, + "GoogleRpcStatus": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "GoogleRpcStatus", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Data pipelines API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/dataplex/v1/dataplex-api.json b/etc/api/dataplex/v1/dataplex-api.json new file mode 100644 index 0000000000..8f0b5673fd --- /dev/null +++ b/etc/api/dataplex/v1/dataplex-api.json @@ -0,0 +1,5363 @@ +{ + "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://dataplex.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Cloud Dataplex", + "description": "Dataplex API is used to manage the lifecycle of data lakes.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/dataplex/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": "dataplex:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://dataplex.mtls.googleapis.com/", + "name": "dataplex", + "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": "dataplex.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudLocationLocation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "dataplex.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in AIP-160 (https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. If not set, the service selects a default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from the next_page_token field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/locations", + "response": { + "$ref": "GoogleCloudLocationListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "lakes": { + "methods": { + "create": { + "description": "Creates a lake resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes", + "httpMethod": "POST", + "id": "dataplex.projects.locations.lakes.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "lakeId": { + "description": "Required. Lake identifier. This ID will be used to generate names such as database and dataset names when publishing metadata to Hive Metastore and BigQuery. * Must contain only lowercase letters, numbers and hyphens. * Must start with a letter. * Must end with a number or a letter. * Must be between 1-63 characters. * Must be unique within the customer project / location.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the lake location, of the form: projects/{project_number}/locations/{location_id} where location_id refers to a GCP region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "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}/lakes", + "request": { + "$ref": "GoogleCloudDataplexV1Lake" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a lake resource. All zones within the lake must be deleted before the lake can be deleted.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}", + "httpMethod": "DELETE", + "id": "dataplex.projects.locations.lakes.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieves a lake resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDataplexV1Lake" + }, + "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}/lakes/{lakesId}:getIamPolicy", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists lake resources in a project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter request.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Order by fields for the result.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Maximum number of Lakes to return. The service may return fewer than this value. If unspecified, at most 10 lakes 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. Page token received from a previous ListLakes call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListLakes must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the lake location, of the form: projects/{project_number}/locations/{location_id} where location_id refers to a GCP region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/lakes", + "response": { + "$ref": "GoogleCloudDataplexV1ListLakesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a lake resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}", + "httpMethod": "PATCH", + "id": "dataplex.projects.locations.lakes.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The relative resource name of the lake, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update.", + "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": "GoogleCloudDataplexV1Lake" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}:setIamPolicy", + "httpMethod": "POST", + "id": "dataplex.projects.locations.lakes.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/[^/]+/lakes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}:testIamPermissions", + "httpMethod": "POST", + "id": "dataplex.projects.locations.lakes.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/[^/]+/lakes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "actions": { + "methods": { + "list": { + "description": "Lists action resources in a lake.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/actions", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.actions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of actions to return. The service may return fewer than this value. If unspecified, at most 10 actions 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. Page token received from a previous ListLakeActions call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListLakeActions must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the parent lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/actions", + "response": { + "$ref": "GoogleCloudDataplexV1ListActionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "content": { + "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}/lakes/{lakesId}/content/{contentId}:getIamPolicy", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.content.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/content/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/content/{contentId}:setIamPolicy", + "httpMethod": "POST", + "id": "dataplex.projects.locations.lakes.content.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/[^/]+/lakes/[^/]+/content/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/content/{contentId}:testIamPermissions", + "httpMethod": "POST", + "id": "dataplex.projects.locations.lakes.content.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/[^/]+/lakes/[^/]+/content/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "contentitems": { + "methods": { + "create": { + "description": "Create a content.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/contentitems", + "httpMethod": "POST", + "id": "dataplex.projects.locations.lakes.contentitems.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the parent lake: projects/{project_id}/locations/{location_id}/lakes/{lake_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$", + "required": true, + "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}/contentitems", + "request": { + "$ref": "GoogleCloudDataplexV1Content" + }, + "response": { + "$ref": "GoogleCloudDataplexV1Content" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a content.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/contentitems/{contentitemsId}", + "httpMethod": "DELETE", + "id": "dataplex.projects.locations.lakes.contentitems.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the content: projects/{project_id}/locations/{location_id}/lakes/{lake_id}/content/{content_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/contentitems/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get a content resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/contentitems/{contentitemsId}", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.contentitems.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the content: projects/{project_id}/locations/{location_id}/lakes/{lake_id}/content/{content_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/contentitems/.*$", + "required": true, + "type": "string" + }, + "view": { + "description": "Optional. Specify content view to make a partial request.", + "enum": [ + "CONTENT_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "Content view not specified. Defaults to BASIC. The API will default to the BASIC view.", + "Will not return the data_text field.", + "Returns the complete proto." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDataplexV1Content" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List content.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/contentitems", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.contentitems.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter request. Filters are case-sensitive. The following formats are supported:labels.key1 = \"value1\" labels:key1 type = \"NOTEBOOK\" type = \"SQL_SCRIPT\"These restrictions can be coinjoined with AND, OR and NOT conjunctions.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Maximum number of content to return. The service may return fewer than this value. If unspecified, at most 10 content 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. Page token received from a previous ListContent call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListContent must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the parent lake: projects/{project_id}/locations/{location_id}/lakes/{lake_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/contentitems", + "response": { + "$ref": "GoogleCloudDataplexV1ListContentResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update a content. Only supports full resource update.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/contentitems/{contentitemsId}", + "httpMethod": "PATCH", + "id": "dataplex.projects.locations.lakes.contentitems.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The relative resource name of the content, of the form: projects/{project_id}/locations/{location_id}/lakes/{lake_id}/content/{content_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/contentitems/.*$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update.", + "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": "GoogleCloudDataplexV1Content" + }, + "response": { + "$ref": "GoogleCloudDataplexV1Content" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "environments": { + "methods": { + "create": { + "description": "Create an environment resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/environments", + "httpMethod": "POST", + "id": "dataplex.projects.locations.lakes.environments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "environmentId": { + "description": "Required. Environment identifier. * Must contain only lowercase letters, numbers and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the lake.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the parent lake: projects/{project_id}/locations/{location_id}/lakes/{lake_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$", + "required": true, + "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}/environments", + "request": { + "$ref": "GoogleCloudDataplexV1Environment" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete the environment resource. All the child resources must have been deleted before environment deletion can be initiated.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/environments/{environmentsId}", + "httpMethod": "DELETE", + "id": "dataplex.projects.locations.lakes.environments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the environment: projects/{project_id}/locations/{location_id}/lakes/{lake_id}/environments/{environment_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get environment resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/environments/{environmentsId}", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.environments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the environment: projects/{project_id}/locations/{location_id}/lakes/{lake_id}/environments/{environment_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDataplexV1Environment" + }, + "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}/lakes/{lakesId}/environments/{environmentsId}:getIamPolicy", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.environments.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists environments under the given lake.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/environments", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.environments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter request.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Order by fields for the result.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Maximum number of environments to return. The service may return fewer than this value. If unspecified, at most 10 environments 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. Page token received from a previous ListEnvironments call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListEnvironments must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the parent lake: projects/{project_id}/locations/{location_id}/lakes/{lake_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/environments", + "response": { + "$ref": "GoogleCloudDataplexV1ListEnvironmentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update the environment resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/environments/{environmentsId}", + "httpMethod": "PATCH", + "id": "dataplex.projects.locations.lakes.environments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The relative resource name of the environment, of the form: projects/{project_id}/locations/{location_id}/lakes/{lake_id}/environment/{environment_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update.", + "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": "GoogleCloudDataplexV1Environment" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/environments/{environmentsId}:setIamPolicy", + "httpMethod": "POST", + "id": "dataplex.projects.locations.lakes.environments.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/[^/]+/lakes/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/environments/{environmentsId}:testIamPermissions", + "httpMethod": "POST", + "id": "dataplex.projects.locations.lakes.environments.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/[^/]+/lakes/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "sessions": { + "methods": { + "list": { + "description": "Lists session resources in an environment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/environments/{environmentsId}/sessions", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.environments.sessions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of sessions to return. The service may return fewer than this value. If unspecified, at most 10 sessions 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. Page token received from a previous ListSessions call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListSessions must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the parent environment: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/environment/{environment_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/sessions", + "response": { + "$ref": "GoogleCloudDataplexV1ListSessionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "tasks": { + "methods": { + "create": { + "description": "Creates a task resource within a lake.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks", + "httpMethod": "POST", + "id": "dataplex.projects.locations.lakes.tasks.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the parent lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$", + "required": true, + "type": "string" + }, + "taskId": { + "description": "Required. Task identifier.", + "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}/tasks", + "request": { + "$ref": "GoogleCloudDataplexV1Task" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete the task resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}", + "httpMethod": "DELETE", + "id": "dataplex.projects.locations.lakes.tasks.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the task: projects/{project_number}/locations/{location_id}/lakes/{lake_id} /task/{task_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get task resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.tasks.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the task: projects/{project_number}/locations/{location_id}/lakes/{lake_id} /tasks/{tasks_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDataplexV1Task" + }, + "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}/lakes/{lakesId}/tasks/{tasksId}:getIamPolicy", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.tasks.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists tasks under the given lake.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.tasks.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter request.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Order by fields for the result.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Maximum number of tasks to return. The service may return fewer than this value. If unspecified, at most 10 tasks will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. Page token received from a previous ListZones call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListZones must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the parent lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/tasks", + "response": { + "$ref": "GoogleCloudDataplexV1ListTasksResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update the task resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}", + "httpMethod": "PATCH", + "id": "dataplex.projects.locations.lakes.tasks.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The relative resource name of the task, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/ tasks/{task_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update.", + "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": "GoogleCloudDataplexV1Task" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}:setIamPolicy", + "httpMethod": "POST", + "id": "dataplex.projects.locations.lakes.tasks.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/[^/]+/lakes/[^/]+/tasks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}:testIamPermissions", + "httpMethod": "POST", + "id": "dataplex.projects.locations.lakes.tasks.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/[^/]+/lakes/[^/]+/tasks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "jobs": { + "methods": { + "cancel": { + "description": "Cancel jobs running for the task resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}/jobs/{jobsId}:cancel", + "httpMethod": "POST", + "id": "dataplex.projects.locations.lakes.tasks.jobs.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the job: projects/{project_number}/locations/{location_id}/lakes/{lake_id} /task/{task_id}/job/{job_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+/jobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "GoogleCloudDataplexV1CancelJobRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get job resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}/jobs/{jobsId}", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.tasks.jobs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the job: projects/{project_number}/locations/{location_id}/lakes/{lake_id} /tasks/{task_id}/jobs/{job_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+/jobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDataplexV1Job" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Jobs under the given task.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/tasks/{tasksId}/jobs", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.tasks.jobs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of jobs to return. The service may return fewer than this value. If unspecified, at most 10 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": "Optional. Page token received from a previous ListJobs call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListJobs must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the parent environment: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/tasks/{task_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/tasks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/jobs", + "response": { + "$ref": "GoogleCloudDataplexV1ListJobsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "zones": { + "methods": { + "create": { + "description": "Creates a zone resource within a lake.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones", + "httpMethod": "POST", + "id": "dataplex.projects.locations.lakes.zones.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the parent lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "Optional. Only validate the request, but do not perform mutations. The default is false.", + "location": "query", + "type": "boolean" + }, + "zoneId": { + "description": "Required. Zone identifier. This ID will be used to generate names such as database and dataset names when publishing metadata to Hive Metastore and BigQuery. * Must contain only lowercase letters, numbers and hyphens. * Must start with a letter. * Must end with a number or a letter. * Must be between 1-63 characters. * Must be unique across all lakes from all locations in a project. * Must not be one of the reserved IDs (i.e. \"default\", \"global-temp\")", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/zones", + "request": { + "$ref": "GoogleCloudDataplexV1Zone" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a zone resource. All assets within a zone must be deleted before the zone can be deleted.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}", + "httpMethod": "DELETE", + "id": "dataplex.projects.locations.lakes.zones.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id} /zones/{zone_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieves a zone resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.zones.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id} /zones/{zone_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDataplexV1Zone" + }, + "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}/lakes/{lakesId}/zones/{zonesId}:getIamPolicy", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.zones.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists zone resources in a lake.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.zones.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter request.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Order by fields for the result.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Maximum number of zones to return. The service may return fewer than this value. If unspecified, at most 10 zones 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. Page token received from a previous ListZones call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListZones must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the parent lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/zones", + "response": { + "$ref": "GoogleCloudDataplexV1ListZonesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a zone resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}", + "httpMethod": "PATCH", + "id": "dataplex.projects.locations.lakes.zones.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The relative resource name of the zone, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update.", + "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": "GoogleCloudDataplexV1Zone" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}:setIamPolicy", + "httpMethod": "POST", + "id": "dataplex.projects.locations.lakes.zones.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/[^/]+/lakes/[^/]+/zones/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}:testIamPermissions", + "httpMethod": "POST", + "id": "dataplex.projects.locations.lakes.zones.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/[^/]+/lakes/[^/]+/zones/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "actions": { + "methods": { + "list": { + "description": "Lists action resources in a zone.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/actions", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.zones.actions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of actions to return. The service may return fewer than this value. If unspecified, at most 10 actions 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. Page token received from a previous ListZoneActions call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListZoneActions must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the parent zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/actions", + "response": { + "$ref": "GoogleCloudDataplexV1ListActionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "assets": { + "methods": { + "create": { + "description": "Creates an asset resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets", + "httpMethod": "POST", + "id": "dataplex.projects.locations.lakes.zones.assets.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "assetId": { + "description": "Required. Asset identifier. This ID will be used to generate names such as table names when publishing metadata to Hive Metastore and BigQuery. * Must contain only lowercase letters, numbers and hyphens. * Must start with a letter. * Must end with a number or a letter. * Must be between 1-63 characters. * Must be unique within the zone.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the parent zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id} /zones/{zone_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$", + "required": true, + "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}/assets", + "request": { + "$ref": "GoogleCloudDataplexV1Asset" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an asset resource. The referenced storage resource is detached (default) or deleted based on the associated Lifecycle policy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets/{assetsId}", + "httpMethod": "DELETE", + "id": "dataplex.projects.locations.lakes.zones.assets.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the asset: projects/{project_number}/locations/{location_id}/lakes/{lake_id} /zones/{zone_id}/assets/{asset_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/assets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieves an asset resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets/{assetsId}", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.zones.assets.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the asset: projects/{project_number}/locations/{location_id}/lakes/{lake_id} /zones/{zone_id}/assets/{asset_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/assets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDataplexV1Asset" + }, + "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}/lakes/{lakesId}/zones/{zonesId}/assets/{assetsId}:getIamPolicy", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.zones.assets.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/assets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists asset resources in a zone.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.zones.assets.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter request.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Order by fields for the result.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Maximum number of asset to return. The service may return fewer than this value. If unspecified, at most 10 assets 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. Page token received from a previous ListAssets call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListAssets must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the parent zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id} /zones/{zone_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/assets", + "response": { + "$ref": "GoogleCloudDataplexV1ListAssetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an asset resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets/{assetsId}", + "httpMethod": "PATCH", + "id": "dataplex.projects.locations.lakes.zones.assets.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The relative resource name of the asset, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/assets/{asset_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/assets/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update.", + "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": "GoogleCloudDataplexV1Asset" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets/{assetsId}:setIamPolicy", + "httpMethod": "POST", + "id": "dataplex.projects.locations.lakes.zones.assets.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/[^/]+/lakes/[^/]+/zones/[^/]+/assets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets/{assetsId}:testIamPermissions", + "httpMethod": "POST", + "id": "dataplex.projects.locations.lakes.zones.assets.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/[^/]+/lakes/[^/]+/zones/[^/]+/assets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "actions": { + "methods": { + "list": { + "description": "Lists action resources in an asset.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/assets/{assetsId}/actions", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.zones.assets.actions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of actions to return. The service may return fewer than this value. If unspecified, at most 10 actions 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. Page token received from a previous ListAssetActions call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListAssetActions must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the parent asset: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/assets/{asset_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/assets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/actions", + "response": { + "$ref": "GoogleCloudDataplexV1ListActionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "entities": { + "methods": { + "create": { + "description": "Create a metadata entity.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities", + "httpMethod": "POST", + "id": "dataplex.projects.locations.lakes.zones.entities.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the parent zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$", + "required": true, + "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}/entities", + "request": { + "$ref": "GoogleCloudDataplexV1Entity" + }, + "response": { + "$ref": "GoogleCloudDataplexV1Entity" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a metadata entity.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities/{entitiesId}", + "httpMethod": "DELETE", + "id": "dataplex.projects.locations.lakes.zones.entities.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Required. The etag associated with the entity, which can be retrieved with a GetEntity request.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the entity: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get a metadata entity.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities/{entitiesId}", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.zones.entities.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the entity: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Optional. Used to select the subset of entity information to return. Defaults to BASIC.", + "enum": [ + "ENTITY_VIEW_UNSPECIFIED", + "BASIC", + "SCHEMA", + "FULL" + ], + "enumDescriptions": [ + "The API will default to the BASIC view.", + "Minimal view that does not include the schema.", + "Include basic information and schema.", + "Include everything. Currently, this is the same as the SCHEMA view." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDataplexV1Entity" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List metadata entities in a zone.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.zones.entities.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The following filter parameters can be added to the URL to limit the entities returned by the API: Entity ID: ?filter=\"id=entityID\" Asset ID: ?filter=\"asset=assetID\" Data path ?filter=\"data_path=gs://my-bucket\" Is HIVE compatible: ?filter=\"hive_compatible=true\" Is BigQuery compatible: ?filter=\"bigquery_compatible=true\"", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Maximum number of entities to return. The service may return fewer than this value. If unspecified, 100 entities will be returned by default. The maximum value is 500; larger values will will be truncated to 500.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. Page token received from a previous ListEntities call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListEntities must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the parent zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Required. Specify the entity view to make a partial list request.", + "enum": [ + "ENTITY_VIEW_UNSPECIFIED", + "TABLES", + "FILESETS" + ], + "enumDescriptions": [ + "The default unset value. Return both table and fileset entities if unspecified.", + "Only list table entities.", + "Only list fileset entities." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/entities", + "response": { + "$ref": "GoogleCloudDataplexV1ListEntitiesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Update a metadata entity. Only supports full resource update.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities/{entitiesId}", + "httpMethod": "PUT", + "id": "dataplex.projects.locations.lakes.zones.entities.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The resource name of the entity, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+$", + "required": true, + "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": "GoogleCloudDataplexV1Entity" + }, + "response": { + "$ref": "GoogleCloudDataplexV1Entity" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "partitions": { + "methods": { + "create": { + "description": "Create a metadata partition.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities/{entitiesId}/partitions", + "httpMethod": "POST", + "id": "dataplex.projects.locations.lakes.zones.entities.partitions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the parent zone: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+$", + "required": true, + "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}/partitions", + "request": { + "$ref": "GoogleCloudDataplexV1Partition" + }, + "response": { + "$ref": "GoogleCloudDataplexV1Partition" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a metadata partition.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities/{entitiesId}/partitions/{partitionsId}", + "httpMethod": "DELETE", + "id": "dataplex.projects.locations.lakes.zones.entities.partitions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The etag associated with the partition.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the partition. format: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}/partitions/{partition_value_path}. The {partition_value_path} segment consists of an ordered sequence of partition values separated by \"/\". All values must be provided.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+/partitions/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get a metadata partition of an entity.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities/{entitiesId}/partitions/{partitionsId}", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.zones.entities.partitions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the partition: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}/partitions/{partition_value_path}. The {partition_value_path} segment consists of an ordered sequence of partition values separated by \"/\". All values must be provided.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+/partitions/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDataplexV1Partition" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List metadata partitions of an entity.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/lakes/{lakesId}/zones/{zonesId}/entities/{entitiesId}/partitions", + "httpMethod": "GET", + "id": "dataplex.projects.locations.lakes.zones.entities.partitions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter the partitions returned to the caller using a key value pair expression. Supported operators and syntax: logic operators: AND, OR comparison operators: <, >, >=, <= ,=, != LIKE operators: The right hand of a LIKE operator supports \".\" and \"*\" for wildcard searches, for example \"value1 LIKE \".*oo.*\" parenthetical grouping: ( )Sample filter expression: `?filter=\"key1 < value1 OR key2 > value2\"Notes: Keys to the left of operators are case insensitive. Partition results are sorted first by creation time, then by lexicographic order. Up to 20 key value filter pairs are allowed, but due to performance considerations, only the first 10 will be used as a filter.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Maximum number of partitions to return. The service may return fewer than this value. If unspecified, 100 partitions will be returned by default. The maximum page size is 500; larger values will will be truncated to 500.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. Page token received from a previous ListPartitions call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListPartitions must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the parent entity: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/lakes/[^/]+/zones/[^/]+/entities/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/partitions", + "response": { + "$ref": "GoogleCloudDataplexV1ListPartitionsResponse" + }, + "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": "dataplex.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "GoogleLongrunningCancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "dataplex.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": "dataplex.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.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": "v1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "dataplex.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/operations", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20220223", + "rootUrl": "https://dataplex.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); } The JSON representation for Empty is empty JSON object {}.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "GoogleCloudDataplexV1Action": { + "description": "Action represents an issue requiring administrator action for resolution.", + "id": "GoogleCloudDataplexV1Action", + "properties": { + "asset": { + "description": "Output only. The relative resource name of the asset, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/assets/{asset_id}.", + "readOnly": true, + "type": "string" + }, + "category": { + "description": "The category of issue associated with the action.", + "enum": [ + "CATEGORY_UNSPECIFIED", + "RESOURCE_MANAGEMENT", + "SECURITY_POLICY", + "DATA_DISCOVERY" + ], + "enumDescriptions": [ + "Unspecified category.", + "Resource management related issues.", + "Security policy related issues.", + "Data and discovery related issues." + ], + "type": "string" + }, + "dataLocations": { + "description": "The list of data locations associated with this action. Cloud Storage locations are represented as URI paths(E.g. gs://bucket/table1/year=2020/month=Jan/). BigQuery locations refer to resource names(E.g. bigquery.googleapis.com/projects/project-id/datasets/dataset-id).", + "items": { + "type": "string" + }, + "type": "array" + }, + "detectTime": { + "description": "The time that the issue was detected.", + "format": "google-datetime", + "type": "string" + }, + "failedSecurityPolicyApply": { + "$ref": "GoogleCloudDataplexV1ActionFailedSecurityPolicyApply", + "description": "Details for issues related to applying security policy." + }, + "incompatibleDataSchema": { + "$ref": "GoogleCloudDataplexV1ActionIncompatibleDataSchema", + "description": "Details for issues related to incompatible schemas detected within data." + }, + "invalidDataFormat": { + "$ref": "GoogleCloudDataplexV1ActionInvalidDataFormat", + "description": "Details for issues related to invalid or unsupported data formats." + }, + "invalidDataOrganization": { + "$ref": "GoogleCloudDataplexV1ActionInvalidDataOrganization", + "description": "Details for issues related to invalid data arrangement." + }, + "invalidDataPartition": { + "$ref": "GoogleCloudDataplexV1ActionInvalidDataPartition", + "description": "Details for issues related to invalid or unsupported data partition structure." + }, + "issue": { + "description": "Detailed description of the issue requiring action.", + "type": "string" + }, + "lake": { + "description": "Output only. The relative resource name of the lake, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.", + "readOnly": true, + "type": "string" + }, + "missingData": { + "$ref": "GoogleCloudDataplexV1ActionMissingData", + "description": "Details for issues related to absence of data within managed resources." + }, + "missingResource": { + "$ref": "GoogleCloudDataplexV1ActionMissingResource", + "description": "Details for issues related to absence of a managed resource." + }, + "name": { + "description": "Output only. The relative resource name of the action, of the form: projects/{project}/locations/{location}/lakes/{lake}/actions/{action} projects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/actions/{action} projects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/assets/{asset}/actions/{action}.", + "readOnly": true, + "type": "string" + }, + "unauthorizedResource": { + "$ref": "GoogleCloudDataplexV1ActionUnauthorizedResource", + "description": "Details for issues related to lack of permissions to access data resources." + }, + "zone": { + "description": "Output only. The relative resource name of the zone, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1ActionFailedSecurityPolicyApply": { + "description": "Failed to apply security policy to the managed resource(s) under a lake, zone or an asset. For a lake or zone resource, one or more underlying assets has a failure applying security policy to the associated managed resource.", + "id": "GoogleCloudDataplexV1ActionFailedSecurityPolicyApply", + "properties": { + "asset": { + "description": "Resource name of one of the assets with failing security policy application. Populated for a lake or zone resource only.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1ActionIncompatibleDataSchema": { + "description": "Action details for incompatible schemas detected by discovery.", + "id": "GoogleCloudDataplexV1ActionIncompatibleDataSchema", + "properties": { + "existingSchema": { + "description": "The existing and expected schema of the table. The schema is provided as a JSON formatted structure listing columns and data types.", + "type": "string" + }, + "newSchema": { + "description": "The new and incompatible schema within the table. The schema is provided as a JSON formatted structured listing columns and data types.", + "type": "string" + }, + "sampledDataLocations": { + "description": "The list of data locations sampled and used for format/schema inference.", + "items": { + "type": "string" + }, + "type": "array" + }, + "schemaChange": { + "description": "Whether the action relates to a schema that is incompatible or modified.", + "enum": [ + "SCHEMA_CHANGE_UNSPECIFIED", + "INCOMPATIBLE", + "MODIFIED" + ], + "enumDescriptions": [ + "Schema change unspecified.", + "Newly discovered schema is incompatible with existing schema.", + "Newly discovered schema has changed from existing schema for data in a curated zone." + ], + "type": "string" + }, + "table": { + "description": "The name of the table containing invalid data.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1ActionInvalidDataFormat": { + "description": "Action details for invalid or unsupported data files detected by discovery.", + "id": "GoogleCloudDataplexV1ActionInvalidDataFormat", + "properties": { + "expectedFormat": { + "description": "The expected data format of the entity.", + "type": "string" + }, + "newFormat": { + "description": "The new unexpected data format within the entity.", + "type": "string" + }, + "sampledDataLocations": { + "description": "The list of data locations sampled and used for format/schema inference.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1ActionInvalidDataOrganization": { + "description": "Action details for invalid data arrangement.", + "id": "GoogleCloudDataplexV1ActionInvalidDataOrganization", + "properties": {}, + "type": "object" + }, + "GoogleCloudDataplexV1ActionInvalidDataPartition": { + "description": "Action details for invalid or unsupported partitions detected by discovery.", + "id": "GoogleCloudDataplexV1ActionInvalidDataPartition", + "properties": { + "expectedStructure": { + "description": "The issue type of InvalidDataPartition.", + "enum": [ + "PARTITION_STRUCTURE_UNSPECIFIED", + "CONSISTENT_KEYS", + "HIVE_STYLE_KEYS" + ], + "enumDescriptions": [ + "PartitionStructure unspecified.", + "Consistent hive-style partition definition (both raw and curated zone).", + "Hive style partition definition (curated zone only)." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1ActionMissingData": { + "description": "Action details for absence of data detected by discovery.", + "id": "GoogleCloudDataplexV1ActionMissingData", + "properties": {}, + "type": "object" + }, + "GoogleCloudDataplexV1ActionMissingResource": { + "description": "Action details for resource references in assets that cannot be located.", + "id": "GoogleCloudDataplexV1ActionMissingResource", + "properties": {}, + "type": "object" + }, + "GoogleCloudDataplexV1ActionUnauthorizedResource": { + "description": "Action details for unauthorized resource issues raised to indicate that the service account associated with the lake instance is not authorized to access or manage the resource associated with an asset.", + "id": "GoogleCloudDataplexV1ActionUnauthorizedResource", + "properties": {}, + "type": "object" + }, + "GoogleCloudDataplexV1Asset": { + "description": "An asset represents a cloud resource that is being managed within a lake as a member of a zone.", + "id": "GoogleCloudDataplexV1Asset", + "properties": { + "createTime": { + "description": "Output only. The time when the asset was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the asset.", + "type": "string" + }, + "discoverySpec": { + "$ref": "GoogleCloudDataplexV1AssetDiscoverySpec", + "description": "Optional. Specification of the discovery feature applied to data referenced by this asset. When this spec is left unset, the asset will use the spec set on the parent zone." + }, + "discoveryStatus": { + "$ref": "GoogleCloudDataplexV1AssetDiscoveryStatus", + "description": "Output only. Status of the discovery feature applied to data referenced by this asset.", + "readOnly": true + }, + "displayName": { + "description": "Optional. User friendly display name.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. User defined labels for the asset.", + "type": "object" + }, + "name": { + "description": "Output only. The relative resource name of the asset, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/assets/{asset_id}.", + "readOnly": true, + "type": "string" + }, + "resourceSpec": { + "$ref": "GoogleCloudDataplexV1AssetResourceSpec", + "description": "Required. Specification of the resource that is referenced by this asset." + }, + "resourceStatus": { + "$ref": "GoogleCloudDataplexV1AssetResourceStatus", + "description": "Output only. Status of the resource referenced by this asset.", + "readOnly": true + }, + "securityStatus": { + "$ref": "GoogleCloudDataplexV1AssetSecurityStatus", + "description": "Output only. Status of the security policy applied to resource referenced by this asset.", + "readOnly": true + }, + "state": { + "description": "Output only. Current state of the asset.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CREATING", + "DELETING", + "ACTION_REQUIRED" + ], + "enumDescriptions": [ + "State is not specified.", + "Resource is active, i.e., ready to use.", + "Resource is under creation.", + "Resource is under deletion.", + "Resource is active but has unresolved actions." + ], + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. System generated globally unique ID for the asset. This ID will be different if the asset is deleted and re-created with the same name.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the asset was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1AssetDiscoverySpec": { + "description": "Settings to manage the metadata discovery and publishing for an asset.", + "id": "GoogleCloudDataplexV1AssetDiscoverySpec", + "properties": { + "csvOptions": { + "$ref": "GoogleCloudDataplexV1AssetDiscoverySpecCsvOptions", + "description": "Optional. Configuration for CSV data." + }, + "enabled": { + "description": "Optional. Whether discovery is enabled.", + "type": "boolean" + }, + "excludePatterns": { + "description": "Optional. The list of patterns to apply for selecting data to exclude during discovery. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.", + "items": { + "type": "string" + }, + "type": "array" + }, + "includePatterns": { + "description": "Optional. The list of patterns to apply for selecting data to include during discovery if only a subset of the data should considered. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.", + "items": { + "type": "string" + }, + "type": "array" + }, + "jsonOptions": { + "$ref": "GoogleCloudDataplexV1AssetDiscoverySpecJsonOptions", + "description": "Optional. Configuration for Json data." + }, + "schedule": { + "description": "Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running discovery periodically. Successive discovery runs must be scheduled at least 60 minutes apart. The default value is to run discovery every 60 minutes. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: \"CRON_TZ=${IANA_TIME_ZONE}\" or TZ=${IANA_TIME_ZONE}\". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, \"CRON_TZ=America/New_York 1 * * * *\", or \"TZ=America/New_York 1 * * * *\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1AssetDiscoverySpecCsvOptions": { + "description": "Describe CSV and similar semi-structured data formats.", + "id": "GoogleCloudDataplexV1AssetDiscoverySpecCsvOptions", + "properties": { + "delimiter": { + "description": "Optional. The delimiter being used to separate values. This defaults to ','.", + "type": "string" + }, + "disableTypeInference": { + "description": "Optional. Whether to disable the inference of data type for CSV data. If true, all columns will be registered as strings.", + "type": "boolean" + }, + "encoding": { + "description": "Optional. The character encoding of the data. The default is UTF-8.", + "type": "string" + }, + "headerRows": { + "description": "Optional. The number of rows to interpret as header rows that should be skipped when reading data rows.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1AssetDiscoverySpecJsonOptions": { + "description": "Describe JSON data format.", + "id": "GoogleCloudDataplexV1AssetDiscoverySpecJsonOptions", + "properties": { + "disableTypeInference": { + "description": "Optional. Whether to disable the inference of data type for Json data. If true, all columns will be registered as their primitive types (strings, number or boolean).", + "type": "boolean" + }, + "encoding": { + "description": "Optional. The character encoding of the data. The default is UTF-8.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1AssetDiscoveryStatus": { + "description": "Status of discovery for an asset.", + "id": "GoogleCloudDataplexV1AssetDiscoveryStatus", + "properties": { + "lastRunDuration": { + "description": "The duration of the last discovery run.", + "format": "google-duration", + "type": "string" + }, + "lastRunTime": { + "description": "The start time of the last discovery run.", + "format": "google-datetime", + "type": "string" + }, + "message": { + "description": "Additional information about the current state.", + "type": "string" + }, + "state": { + "description": "The current status of the discovery feature.", + "enum": [ + "STATE_UNSPECIFIED", + "SCHEDULED", + "IN_PROGRESS", + "PAUSED", + "DISABLED" + ], + "enumDescriptions": [ + "State is unspecified.", + "Discovery for the asset is scheduled.", + "Discovery for the asset is running.", + "Discovery for the asset is currently paused (e.g. due to a lack of available resources). It will be automatically resumed.", + "Discovery for the asset is disabled." + ], + "type": "string" + }, + "stats": { + "$ref": "GoogleCloudDataplexV1AssetDiscoveryStatusStats", + "description": "Data Stats of the asset reported by discovery." + }, + "updateTime": { + "description": "Last update time of the status.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1AssetDiscoveryStatusStats": { + "description": "The aggregated data statistics for the asset reported by discovery.", + "id": "GoogleCloudDataplexV1AssetDiscoveryStatusStats", + "properties": { + "dataItems": { + "description": "The count of data items within the referenced resource.", + "format": "int64", + "type": "string" + }, + "dataSize": { + "description": "The number of stored data bytes within the referenced resource.", + "format": "int64", + "type": "string" + }, + "filesets": { + "description": "The count of fileset entities within the referenced resource.", + "format": "int64", + "type": "string" + }, + "tables": { + "description": "The count of table entities within the referenced resource.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1AssetResourceSpec": { + "description": "Identifies the cloud resource that is referenced by this asset.", + "id": "GoogleCloudDataplexV1AssetResourceSpec", + "properties": { + "name": { + "description": "Immutable. Relative name of the cloud resource that contains the data that is being managed within a lake. For example: projects/{project_number}/buckets/{bucket_id} projects/{project_number}/datasets/{dataset_id}", + "type": "string" + }, + "type": { + "description": "Required. Immutable. Type of resource.", + "enum": [ + "TYPE_UNSPECIFIED", + "STORAGE_BUCKET", + "BIGQUERY_DATASET" + ], + "enumDescriptions": [ + "Type not specified.", + "Cloud Storage bucket.", + "BigQuery dataset." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1AssetResourceStatus": { + "description": "Status of the resource referenced by an asset.", + "id": "GoogleCloudDataplexV1AssetResourceStatus", + "properties": { + "message": { + "description": "Additional information about the current state.", + "type": "string" + }, + "state": { + "description": "The current state of the managed resource.", + "enum": [ + "STATE_UNSPECIFIED", + "READY", + "ERROR" + ], + "enumDescriptions": [ + "State unspecified.", + "Resource does not have any errors.", + "Resource has errors." + ], + "type": "string" + }, + "updateTime": { + "description": "Last update time of the status.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1AssetSecurityStatus": { + "description": "Security policy status of the asset. Data security policy, i.e., readers, writers & owners, should be specified in the lake/zone/asset IAM policy.", + "id": "GoogleCloudDataplexV1AssetSecurityStatus", + "properties": { + "message": { + "description": "Additional information about the current state.", + "type": "string" + }, + "state": { + "description": "The current state of the security policy applied to the attached resource.", + "enum": [ + "STATE_UNSPECIFIED", + "READY", + "APPLYING", + "ERROR" + ], + "enumDescriptions": [ + "State unspecified.", + "Security policy has been successfully applied to the attached resource.", + "Security policy is in the process of being applied to the attached resource.", + "Security policy could not be applied to the attached resource due to errors." + ], + "type": "string" + }, + "updateTime": { + "description": "Last update time of the status.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1AssetStatus": { + "description": "Aggregated status of the underlying assets of a lake or zone.", + "id": "GoogleCloudDataplexV1AssetStatus", + "properties": { + "activeAssets": { + "description": "Number of active assets.", + "format": "int32", + "type": "integer" + }, + "securityPolicyApplyingAssets": { + "description": "Number of assets that are in process of updating the security policy on attached resources.", + "format": "int32", + "type": "integer" + }, + "updateTime": { + "description": "Last update time of the status.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1CancelJobRequest": { + "description": "Cancel task jobs.", + "id": "GoogleCloudDataplexV1CancelJobRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudDataplexV1Content": { + "description": "Content represents a user-visible notebook or a sql script", + "id": "GoogleCloudDataplexV1Content", + "properties": { + "createTime": { + "description": "Output only. Content creation time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataText": { + "description": "Required. Content data in string format.", + "type": "string" + }, + "description": { + "description": "Optional. Description of the content.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. User defined labels for the content.", + "type": "object" + }, + "name": { + "description": "Output only. The relative resource name of the content, of the form: projects/{project_id}/locations/{location_id}/lakes/{lake_id}/content/{content_id}", + "readOnly": true, + "type": "string" + }, + "notebook": { + "$ref": "GoogleCloudDataplexV1ContentNotebook", + "description": "Notebook related configurations." + }, + "path": { + "description": "Required. The path for the Content file, represented as directory structure. Unique within a lake. Limited to alphanumerics, hyphens, underscores, dots and slashes.", + "type": "string" + }, + "sqlScript": { + "$ref": "GoogleCloudDataplexV1ContentSqlScript", + "description": "Sql Script related configurations." + }, + "uid": { + "description": "Output only. System generated globally unique ID for the content. This ID will be different if the content is deleted and re-created with the same name.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the content was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1ContentNotebook": { + "description": "Configuration for Notebook content.", + "id": "GoogleCloudDataplexV1ContentNotebook", + "properties": { + "kernelType": { + "description": "Required. Kernel Type of the notebook.", + "enum": [ + "KERNEL_TYPE_UNSPECIFIED", + "PYTHON3" + ], + "enumDescriptions": [ + "Kernel Type unspecified.", + "Python 3 Kernel." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1ContentSqlScript": { + "description": "Configuration for the Sql Script content.", + "id": "GoogleCloudDataplexV1ContentSqlScript", + "properties": { + "engine": { + "description": "Required. Query Engine to be used for the Sql Query.", + "enum": [ + "QUERY_ENGINE_UNSPECIFIED", + "SPARK" + ], + "enumDescriptions": [ + "Value was unspecified.", + "Spark SQL Query." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1DiscoveryEvent": { + "description": "The payload associated with Discovery data processing.", + "id": "GoogleCloudDataplexV1DiscoveryEvent", + "properties": { + "action": { + "$ref": "GoogleCloudDataplexV1DiscoveryEventActionDetails", + "description": "Details about the action associated with the event." + }, + "assetId": { + "description": "The id of the associated asset.", + "type": "string" + }, + "config": { + "$ref": "GoogleCloudDataplexV1DiscoveryEventConfigDetails", + "description": "Details about discovery configuration in effect." + }, + "dataLocation": { + "description": "The data location associated with the event.", + "type": "string" + }, + "entity": { + "$ref": "GoogleCloudDataplexV1DiscoveryEventEntityDetails", + "description": "Details about the entity associated with the event." + }, + "lakeId": { + "description": "The id of the associated lake.", + "type": "string" + }, + "message": { + "description": "The log message.", + "type": "string" + }, + "partition": { + "$ref": "GoogleCloudDataplexV1DiscoveryEventPartitionDetails", + "description": "Details about the partition associated with the event." + }, + "type": { + "description": "The type of the event being logged.", + "enum": [ + "EVENT_TYPE_UNSPECIFIED", + "CONFIG", + "ENTITY_CREATED", + "ENTITY_UPDATED", + "ENTITY_DELETED", + "PARTITION_CREATED", + "PARTITION_UPDATED", + "PARTITION_DELETED" + ], + "enumDescriptions": [ + "An unspecified event type.", + "An event representing discovery configuration in effect.", + "An event representing a metadata entity being created.", + "An event representing a metadata entity being updated.", + "An event representing a metadata entity being deleted.", + "An event representing a partition being created.", + "An event representing a partition being updated.", + "An event representing a partition being deleted." + ], + "type": "string" + }, + "zoneId": { + "description": "The id of the associated zone.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1DiscoveryEventActionDetails": { + "description": "Details about the action.", + "id": "GoogleCloudDataplexV1DiscoveryEventActionDetails", + "properties": { + "type": { + "description": "The type of action. Eg. IncompatibleDataSchema, InvalidDataFormat", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1DiscoveryEventConfigDetails": { + "description": "Details about configuration events.", + "id": "GoogleCloudDataplexV1DiscoveryEventConfigDetails", + "properties": { + "parameters": { + "additionalProperties": { + "type": "string" + }, + "description": "A list of discovery configuration parameters in effect. The keys are the field paths within DiscoverySpec. Eg. includePatterns, excludePatterns, csvOptions.disableTypeInference, etc.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1DiscoveryEventEntityDetails": { + "description": "Details about the entity.", + "id": "GoogleCloudDataplexV1DiscoveryEventEntityDetails", + "properties": { + "entity": { + "description": "The name of the entity resource. The name is the fully-qualified resource name.", + "type": "string" + }, + "type": { + "description": "The type of the entity resource.", + "enum": [ + "ENTITY_TYPE_UNSPECIFIED", + "TABLE", + "FILESET" + ], + "enumDescriptions": [ + "An unspecified event type.", + "Entities representing structured data.", + "Entities representing unstructured data." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1DiscoveryEventPartitionDetails": { + "description": "Details about the partition.", + "id": "GoogleCloudDataplexV1DiscoveryEventPartitionDetails", + "properties": { + "entity": { + "description": "The name to the containing entity resource. The name is the fully-qualified resource name.", + "type": "string" + }, + "partition": { + "description": "The name to the partition resource. The name is the fully-qualified resource name.", + "type": "string" + }, + "type": { + "description": "The type of the containing entity resource.", + "enum": [ + "ENTITY_TYPE_UNSPECIFIED", + "TABLE", + "FILESET" + ], + "enumDescriptions": [ + "An unspecified event type.", + "Entities representing structured data.", + "Entities representing unstructured data." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1Entity": { + "description": "Represents tables and fileset metadata contained within a zone.", + "id": "GoogleCloudDataplexV1Entity", + "properties": { + "asset": { + "description": "Required. Immutable. The ID of the asset associated with the storage location containing the entity data. The entity must be with in the same zone with the asset.", + "type": "string" + }, + "catalogEntry": { + "description": "Output only. The name of the associated Data Catalog entry.", + "readOnly": true, + "type": "string" + }, + "compatibility": { + "$ref": "GoogleCloudDataplexV1EntityCompatibilityStatus", + "description": "Output only. Metadata stores that the entity is compatible with.", + "readOnly": true + }, + "createTime": { + "description": "Output only. The time when the entity was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataPath": { + "description": "Required. Immutable. The storage path of the entity data. For Cloud Storage data, this is the fully-qualified path to the entity, such as gs://bucket/path/to/data. For BigQuery data, this is the name of the table resource, such as projects/project_id/datasets/dataset_id/tables/table_id.", + "type": "string" + }, + "dataPathPattern": { + "description": "Optional. The set of items within the data path constituting the data in the entity, represented as a glob path. Example: gs://bucket/path/to/data/**/*.csv.", + "type": "string" + }, + "description": { + "description": "Optional. User friendly longer description text. Must be shorter than or equal to 1024 characters.", + "type": "string" + }, + "displayName": { + "description": "Optional. Display name must be shorter than or equal to 256 characters.", + "type": "string" + }, + "etag": { + "description": "Optional. The etag associated with the entity, which can be retrieved with a GetEntity request. Required for update and delete requests.", + "type": "string" + }, + "format": { + "$ref": "GoogleCloudDataplexV1StorageFormat", + "description": "Required. Identifies the storage format of the entity data. It does not apply to entities with data stored in BigQuery." + }, + "id": { + "description": "Required. A user-provided entity ID. It is mutable, and will be used as the published table name. Specifying a new ID in an update entity request will override the existing value. The ID must contain only letters (a-z, A-Z), numbers (0-9), and underscores. Must begin with a letter and consist of 256 or fewer characters.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the entity, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{id}.", + "readOnly": true, + "type": "string" + }, + "schema": { + "$ref": "GoogleCloudDataplexV1Schema", + "description": "Required. The description of the data structure and layout. The schema is not included in list responses. It is only included in SCHEMA and FULL entity views of a GetEntity response." + }, + "system": { + "description": "Required. Immutable. Identifies the storage system of the entity data.", + "enum": [ + "STORAGE_SYSTEM_UNSPECIFIED", + "CLOUD_STORAGE", + "BIGQUERY" + ], + "enumDescriptions": [ + "Storage system unspecified.", + "The entity data is contained within a Cloud Storage bucket.", + "The entity data is contained within a BigQuery dataset." + ], + "type": "string" + }, + "type": { + "description": "Required. Immutable. The type of entity.", + "enum": [ + "TYPE_UNSPECIFIED", + "TABLE", + "FILESET" + ], + "enumDescriptions": [ + "Type unspecified.", + "Structured and semi-structured data.", + "Unstructured data." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the entity was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1EntityCompatibilityStatus": { + "description": "Provides compatibility information for various metadata stores.", + "id": "GoogleCloudDataplexV1EntityCompatibilityStatus", + "properties": { + "bigquery": { + "$ref": "GoogleCloudDataplexV1EntityCompatibilityStatusCompatibility", + "description": "Output only. Whether this entity is compatible with BigQuery.", + "readOnly": true + }, + "hiveMetastore": { + "$ref": "GoogleCloudDataplexV1EntityCompatibilityStatusCompatibility", + "description": "Output only. Whether this entity is compatible with Hive Metastore.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1EntityCompatibilityStatusCompatibility": { + "description": "Provides compatibility information for a specific metadata store.", + "id": "GoogleCloudDataplexV1EntityCompatibilityStatusCompatibility", + "properties": { + "compatible": { + "description": "Output only. Whether the entity is compatible and can be represented in the metadata store.", + "readOnly": true, + "type": "boolean" + }, + "reason": { + "description": "Output only. Provides additional detail if the entity is incompatible with the metadata store.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1Environment": { + "description": "Environment represents a user-visible compute infrastructure for analytics within a lake.", + "id": "GoogleCloudDataplexV1Environment", + "properties": { + "createTime": { + "description": "Output only. Environment creation time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the environment.", + "type": "string" + }, + "displayName": { + "description": "Optional. User friendly display name.", + "type": "string" + }, + "endpoints": { + "$ref": "GoogleCloudDataplexV1EnvironmentEndpoints", + "description": "Output only. URI Endpoints to access sessions associated with the Environment.", + "readOnly": true + }, + "infrastructureSpec": { + "$ref": "GoogleCloudDataplexV1EnvironmentInfrastructureSpec", + "description": "Required. Infrastructure specification for the Environment." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. User defined labels for the environment.", + "type": "object" + }, + "name": { + "description": "Output only. The relative resource name of the environment, of the form: projects/{project_id}/locations/{location_id}/lakes/{lake_id}/environment/{environment_id}", + "readOnly": true, + "type": "string" + }, + "sessionSpec": { + "$ref": "GoogleCloudDataplexV1EnvironmentSessionSpec", + "description": "Optional. Configuration for sessions created for this environment." + }, + "sessionStatus": { + "$ref": "GoogleCloudDataplexV1EnvironmentSessionStatus", + "description": "Output only. Status of sessions created for this environment.", + "readOnly": true + }, + "state": { + "description": "Output only. Current state of the environment.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CREATING", + "DELETING", + "ACTION_REQUIRED" + ], + "enumDescriptions": [ + "State is not specified.", + "Resource is active, i.e., ready to use.", + "Resource is under creation.", + "Resource is under deletion.", + "Resource is active but has unresolved actions." + ], + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. System generated globally unique ID for the environment. This ID will be different if the environment is deleted and re-created with the same name.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the environment was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1EnvironmentEndpoints": { + "id": "GoogleCloudDataplexV1EnvironmentEndpoints", + "properties": { + "notebooks": { + "description": "Output only. URI to serve notebook APIs", + "readOnly": true, + "type": "string" + }, + "sql": { + "description": "Output only. URI to serve SQL APIs", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1EnvironmentInfrastructureSpec": { + "description": "Configuration for the underlying infrastructure used to run workloads.", + "id": "GoogleCloudDataplexV1EnvironmentInfrastructureSpec", + "properties": { + "compute": { + "$ref": "GoogleCloudDataplexV1EnvironmentInfrastructureSpecComputeResources", + "description": "Optional. Compute resources needed for analyze interactive workloads." + }, + "osImage": { + "$ref": "GoogleCloudDataplexV1EnvironmentInfrastructureSpecOsImageRuntime", + "description": "Required. Software Runtime Configuration for analyze interactive workloads." + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1EnvironmentInfrastructureSpecComputeResources": { + "description": "Compute resources associated with the analyze interactive workloads.", + "id": "GoogleCloudDataplexV1EnvironmentInfrastructureSpecComputeResources", + "properties": { + "diskSizeGb": { + "description": "Optional. Size in GB of the disk. Default is 100 GB.", + "format": "int32", + "type": "integer" + }, + "maxNodeCount": { + "description": "Optional. Max configurable nodes. If max_node_count > node_count, then auto-scaling is enabled.", + "format": "int32", + "type": "integer" + }, + "nodeCount": { + "description": "Optional. Total number of nodes in the sessions created for this environment.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1EnvironmentInfrastructureSpecOsImageRuntime": { + "description": "Software Runtime Configuration to run Analyze.", + "id": "GoogleCloudDataplexV1EnvironmentInfrastructureSpecOsImageRuntime", + "properties": { + "imageVersion": { + "description": "Required. Dataplex Image version.", + "type": "string" + }, + "javaLibraries": { + "description": "Optional. List of Java jars to be included in the runtime environment. Valid input includes Cloud Storage URIs to Jar binaries. For example, gs://bucket-name/my/path/to/file.jar", + "items": { + "type": "string" + }, + "type": "array" + }, + "properties": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Spark properties to provide configuration for use in sessions created for this environment. The properties to set on daemon config files. Property keys are specified in prefix:property format. The prefix must be \"spark\".", + "type": "object" + }, + "pythonPackages": { + "description": "Optional. A list of python packages to be installed. Valid formats include Cloud Storage URI to a PIP installable library. For example, gs://bucket-name/my/path/to/lib.tar.gz", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1EnvironmentSessionSpec": { + "id": "GoogleCloudDataplexV1EnvironmentSessionSpec", + "properties": { + "enableFastStartup": { + "description": "Optional. If True, this causes sessions to be pre-created and available for faster startup to enable interactive exploration use-cases. This defaults to False to avoid additional billed charges. These can only be set to True for the environment with name set to \"default\", and with default configuration.", + "type": "boolean" + }, + "maxIdleDuration": { + "description": "Optional. The idle time configuration of the session. The session will be auto-terminated at the end of this period.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1EnvironmentSessionStatus": { + "id": "GoogleCloudDataplexV1EnvironmentSessionStatus", + "properties": { + "active": { + "description": "Output only. Queries over sessions to mark whether the environment is currently active or not", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1Job": { + "description": "A job represents an instance of a task.", + "id": "GoogleCloudDataplexV1Job", + "properties": { + "endTime": { + "description": "Output only. The time when the job ended.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "Output only. Additional information about the current state.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The relative resource name of the job, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/ tasks/{task_id}/jobs/{job_id}.", + "readOnly": true, + "type": "string" + }, + "retryCount": { + "description": "Output only. . The number of times the job has been retried (excluding the initial attempt).", + "format": "uint32", + "readOnly": true, + "type": "integer" + }, + "service": { + "description": "Output only. The underlying service running a job.", + "enum": [ + "SERVICE_UNSPECIFIED", + "DATAPROC" + ], + "enumDescriptions": [ + "Service used to run the job is unspecified.", + "Dataproc service is used to run this job." + ], + "readOnly": true, + "type": "string" + }, + "serviceJob": { + "description": "Output only. The full resource name for the job run under a particular service.", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. The time when the job was started.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. Execution state for the job.", + "enum": [ + "STATE_UNSPECIFIED", + "RUNNING", + "CANCELLING", + "CANCELLED", + "SUCCEEDED", + "FAILED", + "ABORTED" + ], + "enumDescriptions": [ + "The job state is unknown.", + "The job is running.", + "The job is cancelling.", + "The job cancellation was successful.", + "The job completed successfully.", + "The job is no longer running due to an error.", + "The job was cancelled outside of Dataplex." + ], + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. System generated globally unique ID for the job.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1JobEvent": { + "description": "The payload associated with Job logs that contains events describing jobs that have run within a Lake.", + "id": "GoogleCloudDataplexV1JobEvent", + "properties": { + "endTime": { + "description": "The time when the job ended running.", + "format": "google-datetime", + "type": "string" + }, + "jobId": { + "description": "The unique id identifying the job.", + "type": "string" + }, + "message": { + "description": "The log message.", + "type": "string" + }, + "retries": { + "description": "The number of retries.", + "format": "int32", + "type": "integer" + }, + "service": { + "description": "The service used to execute the job.", + "enum": [ + "SERVICE_UNSPECIFIED", + "DATAPROC" + ], + "enumDescriptions": [ + "Unspecified service.", + "Cloud Dataproc." + ], + "type": "string" + }, + "serviceJob": { + "description": "The reference to the job within the service.", + "type": "string" + }, + "startTime": { + "description": "The time when the job started running.", + "format": "google-datetime", + "type": "string" + }, + "state": { + "description": "The job state on completion.", + "enum": [ + "STATE_UNSPECIFIED", + "SUCCEEDED", + "FAILED", + "CANCELLED", + "ABORTED" + ], + "enumDescriptions": [ + "Unspecified job state.", + "Job successfully completed.", + "Job was unsuccessful.", + "Job was cancelled by the user.", + "Job was cancelled or aborted via the service executing the job." + ], + "type": "string" + }, + "type": { + "description": "The type of the job.", + "enum": [ + "TYPE_UNSPECIFIED", + "SPARK", + "NOTEBOOK" + ], + "enumDescriptions": [ + "Unspecified job type.", + "Spark jobs.", + "Notebook jobs." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1Lake": { + "description": "A lake is a centralized repository for managing enterprise data across the organization distributed across many cloud projects, and stored in a variety of storage services such as Google Cloud Storage and BigQuery. The resources attached to a lake are referred to as managed resources. Data within these managed resources can be structured or unstructured. A lake provides data admins with tools to organize, secure and manage their data at scale, and provides data scientists and data engineers an integrated experience to easily search, discover, analyze and transform data and associated metadata.", + "id": "GoogleCloudDataplexV1Lake", + "properties": { + "assetStatus": { + "$ref": "GoogleCloudDataplexV1AssetStatus", + "description": "Output only. Aggregated status of the underlying assets of the lake.", + "readOnly": true + }, + "createTime": { + "description": "Output only. The time when the lake was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the lake.", + "type": "string" + }, + "displayName": { + "description": "Optional. User friendly display name.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. User-defined labels for the lake.", + "type": "object" + }, + "metastore": { + "$ref": "GoogleCloudDataplexV1LakeMetastore", + "description": "Optional. Settings to manage lake and Dataproc Metastore service instance association." + }, + "metastoreStatus": { + "$ref": "GoogleCloudDataplexV1LakeMetastoreStatus", + "description": "Output only. Metastore status of the lake.", + "readOnly": true + }, + "name": { + "description": "Output only. The relative resource name of the lake, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.", + "readOnly": true, + "type": "string" + }, + "serviceAccount": { + "description": "Output only. Service account associated with this lake. This service account must be authorized to access or operate on resources managed by the lake.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. Current state of the lake.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CREATING", + "DELETING", + "ACTION_REQUIRED" + ], + "enumDescriptions": [ + "State is not specified.", + "Resource is active, i.e., ready to use.", + "Resource is under creation.", + "Resource is under deletion.", + "Resource is active but has unresolved actions." + ], + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. System generated globally unique ID for the lake. This ID will be different if the lake is deleted and re-created with the same name.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the lake was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1LakeMetastore": { + "description": "Settings to manage association of Dataproc Metastore with a lake.", + "id": "GoogleCloudDataplexV1LakeMetastore", + "properties": { + "service": { + "description": "Optional. A relative reference to the Dataproc Metastore (https://cloud.google.com/dataproc-metastore/docs) service associated with the lake: projects/{project_id}/locations/{location_id}/services/{service_id}", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1LakeMetastoreStatus": { + "description": "Status of Lake and Dataproc Metastore service instance association.", + "id": "GoogleCloudDataplexV1LakeMetastoreStatus", + "properties": { + "endpoint": { + "description": "The URI of the endpoint used to access the Metastore service.", + "type": "string" + }, + "message": { + "description": "Additional information about the current status.", + "type": "string" + }, + "state": { + "description": "Current state of association.", + "enum": [ + "STATE_UNSPECIFIED", + "NONE", + "READY", + "UPDATING", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified.", + "A Metastore service instance is not associated with the lake.", + "A Metastore service instance is attached to the lake.", + "Attach/detach is in progress.", + "Attach/detach could not be done due to errors." + ], + "type": "string" + }, + "updateTime": { + "description": "Last update time of the metastore status of the lake.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1ListActionsResponse": { + "description": "List actions response.", + "id": "GoogleCloudDataplexV1ListActionsResponse", + "properties": { + "actions": { + "description": "Actions under the given parent lake/zone/asset.", + "items": { + "$ref": "GoogleCloudDataplexV1Action" + }, + "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" + }, + "GoogleCloudDataplexV1ListAssetsResponse": { + "description": "List assets response.", + "id": "GoogleCloudDataplexV1ListAssetsResponse", + "properties": { + "assets": { + "description": "Asset under the given parent zone.", + "items": { + "$ref": "GoogleCloudDataplexV1Asset" + }, + "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" + }, + "GoogleCloudDataplexV1ListContentResponse": { + "description": "List content response.", + "id": "GoogleCloudDataplexV1ListContentResponse", + "properties": { + "content": { + "description": "Content under the given parent lake.", + "items": { + "$ref": "GoogleCloudDataplexV1Content" + }, + "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" + }, + "GoogleCloudDataplexV1ListEntitiesResponse": { + "description": "List metadata entities response.", + "id": "GoogleCloudDataplexV1ListEntitiesResponse", + "properties": { + "entities": { + "description": "Entities in the specified parent zone.", + "items": { + "$ref": "GoogleCloudDataplexV1Entity" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no remaining results in the list.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1ListEnvironmentsResponse": { + "description": "List environments response.", + "id": "GoogleCloudDataplexV1ListEnvironmentsResponse", + "properties": { + "environments": { + "description": "Environments under the given parent lake.", + "items": { + "$ref": "GoogleCloudDataplexV1Environment" + }, + "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" + }, + "GoogleCloudDataplexV1ListJobsResponse": { + "description": "List jobs response.", + "id": "GoogleCloudDataplexV1ListJobsResponse", + "properties": { + "jobs": { + "description": "Jobs under a given task.", + "items": { + "$ref": "GoogleCloudDataplexV1Job" + }, + "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" + }, + "GoogleCloudDataplexV1ListLakesResponse": { + "description": "List lakes response.", + "id": "GoogleCloudDataplexV1ListLakesResponse", + "properties": { + "lakes": { + "description": "Lakes under the given parent location.", + "items": { + "$ref": "GoogleCloudDataplexV1Lake" + }, + "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" + }, + "unreachableLocations": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1ListPartitionsResponse": { + "description": "List metadata partitions response.", + "id": "GoogleCloudDataplexV1ListPartitionsResponse", + "properties": { + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no remaining results in the list.", + "type": "string" + }, + "partitions": { + "description": "Partitions under the specified parent entity.", + "items": { + "$ref": "GoogleCloudDataplexV1Partition" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1ListSessionsResponse": { + "description": "List sessions response.", + "id": "GoogleCloudDataplexV1ListSessionsResponse", + "properties": { + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + }, + "sessions": { + "description": "Sessions under a given environment.", + "items": { + "$ref": "GoogleCloudDataplexV1Session" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1ListTasksResponse": { + "description": "List tasks response.", + "id": "GoogleCloudDataplexV1ListTasksResponse", + "properties": { + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + }, + "tasks": { + "description": "Tasks under the given parent lake.", + "items": { + "$ref": "GoogleCloudDataplexV1Task" + }, + "type": "array" + }, + "unreachableLocations": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1ListZonesResponse": { + "description": "List zones response.", + "id": "GoogleCloudDataplexV1ListZonesResponse", + "properties": { + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + }, + "zones": { + "description": "Zones under the given parent lake.", + "items": { + "$ref": "GoogleCloudDataplexV1Zone" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1OperationMetadata": { + "description": "Represents the metadata of a long-running operation.", + "id": "GoogleCloudDataplexV1OperationMetadata", + "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" + }, + "GoogleCloudDataplexV1Partition": { + "description": "Represents partition metadata contained within entity instances.", + "id": "GoogleCloudDataplexV1Partition", + "properties": { + "etag": { + "description": "Optional. The etag for this partition.", + "type": "string" + }, + "location": { + "description": "Required. Immutable. The location of the entity data within the partition, for example, gs://bucket/path/to/entity/key1=value1/key2=value2. Or projects//datasets//tables/", + "type": "string" + }, + "name": { + "description": "Output only. Partition values used in the HTTP URL must be double encoded. For example, url_encode(url_encode(value)) can be used to encode \"US:CA/CA#Sunnyvale so that the request URL ends with \"/partitions/US%253ACA/CA%2523Sunnyvale\". The name field in the response retains the encoded format.", + "readOnly": true, + "type": "string" + }, + "values": { + "description": "Required. Immutable. The set of values representing the partition, which correspond to the partition schema defined in the parent entity.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1Schema": { + "description": "Schema information describing the structure and layout of the data.", + "id": "GoogleCloudDataplexV1Schema", + "properties": { + "fields": { + "description": "Optional. The sequence of fields describing data in table entities. Note: BigQuery SchemaFields are immutable.", + "items": { + "$ref": "GoogleCloudDataplexV1SchemaSchemaField" + }, + "type": "array" + }, + "partitionFields": { + "description": "Optional. The sequence of fields describing the partition structure in entities. If this field is empty, there are no partitions within the data.", + "items": { + "$ref": "GoogleCloudDataplexV1SchemaPartitionField" + }, + "type": "array" + }, + "partitionStyle": { + "description": "Optional. The structure of paths containing partition data within the entity.", + "enum": [ + "PARTITION_STYLE_UNSPECIFIED", + "HIVE_COMPATIBLE" + ], + "enumDescriptions": [ + "PartitionStyle unspecified", + "Partitions are hive-compatible. Examples: gs://bucket/path/to/table/dt=2019-10-31/lang=en, gs://bucket/path/to/table/dt=2019-10-31/lang=en/late." + ], + "type": "string" + }, + "userManaged": { + "description": "Required. Set to true if user-managed or false if managed by Dataplex. The default is false (managed by Dataplex). Set to falseto enable Dataplex discovery to update the schema. including new data discovery, schema inference, and schema evolution. Users retain the ability to input and edit the schema. Dataplex treats schema input by the user as though produced by a previous Dataplex discovery operation, and it will evolve the schema and take action based on that treatment. Set to true to fully manage the entity schema. This setting guarantees that Dataplex will not change schema fields.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1SchemaPartitionField": { + "description": "Represents a key field within the entity's partition structure. You could have up to 20 partition fields, but only the first 10 partitions have the filtering ability due to performance consideration. Note: Partition fields are immutable.", + "id": "GoogleCloudDataplexV1SchemaPartitionField", + "properties": { + "name": { + "description": "Required. Partition field name must consist of letters, numbers, and underscores only, with a maximum of length of 256 characters, and must begin with a letter or underscore..", + "type": "string" + }, + "type": { + "description": "Required. Immutable. The type of field.", + "enum": [ + "TYPE_UNSPECIFIED", + "BOOLEAN", + "BYTE", + "INT16", + "INT32", + "INT64", + "FLOAT", + "DOUBLE", + "DECIMAL", + "STRING", + "BINARY", + "TIMESTAMP", + "DATE", + "TIME", + "RECORD", + "NULL" + ], + "enumDescriptions": [ + "SchemaType unspecified.", + "Boolean field.", + "Single byte numeric field.", + "16-bit numeric field.", + "32-bit numeric field.", + "64-bit numeric field.", + "Floating point numeric field.", + "Double precision numeric field.", + "Real value numeric field.", + "Sequence of characters field.", + "Sequence of bytes field.", + "Date and time field.", + "Date field.", + "Time field.", + "Structured field. Nested fields that define the structure of the map. If all nested fields are nullable, this field represents a union.", + "Null field that does not have values." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1SchemaSchemaField": { + "description": "Represents a column field within a table schema.", + "id": "GoogleCloudDataplexV1SchemaSchemaField", + "properties": { + "description": { + "description": "Optional. User friendly field description. Must be less than or equal to 1024 characters.", + "type": "string" + }, + "fields": { + "description": "Optional. Any nested field for complex types.", + "items": { + "$ref": "GoogleCloudDataplexV1SchemaSchemaField" + }, + "type": "array" + }, + "mode": { + "description": "Required. Additional field semantics.", + "enum": [ + "MODE_UNSPECIFIED", + "REQUIRED", + "NULLABLE", + "REPEATED" + ], + "enumDescriptions": [ + "Mode unspecified.", + "The field has required semantics.", + "The field has optional semantics, and may be null.", + "The field has repeated (0 or more) semantics, and is a list of values." + ], + "type": "string" + }, + "name": { + "description": "Required. The name of the field. Must contain only letters, numbers and underscores, with a maximum length of 767 characters, and must begin with a letter or underscore.", + "type": "string" + }, + "type": { + "description": "Required. The type of field.", + "enum": [ + "TYPE_UNSPECIFIED", + "BOOLEAN", + "BYTE", + "INT16", + "INT32", + "INT64", + "FLOAT", + "DOUBLE", + "DECIMAL", + "STRING", + "BINARY", + "TIMESTAMP", + "DATE", + "TIME", + "RECORD", + "NULL" + ], + "enumDescriptions": [ + "SchemaType unspecified.", + "Boolean field.", + "Single byte numeric field.", + "16-bit numeric field.", + "32-bit numeric field.", + "64-bit numeric field.", + "Floating point numeric field.", + "Double precision numeric field.", + "Real value numeric field.", + "Sequence of characters field.", + "Sequence of bytes field.", + "Date and time field.", + "Date field.", + "Time field.", + "Structured field. Nested fields that define the structure of the map. If all nested fields are nullable, this field represents a union.", + "Null field that does not have values." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1Session": { + "description": "Represents an active analyze session running for a user.", + "id": "GoogleCloudDataplexV1Session", + "properties": { + "createTime": { + "description": "Output only. Session start time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The relative resource name of the content, of the form: projects/{project_id}/locations/{location_id}/lakes/{lake_id}/environment/{environment_id}/sessions/{session_id}", + "readOnly": true, + "type": "string" + }, + "state": { + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CREATING", + "DELETING", + "ACTION_REQUIRED" + ], + "enumDescriptions": [ + "State is not specified.", + "Resource is active, i.e., ready to use.", + "Resource is under creation.", + "Resource is under deletion.", + "Resource is active but has unresolved actions." + ], + "readOnly": true, + "type": "string" + }, + "userId": { + "description": "Output only. Email of user running the session.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1SessionEvent": { + "description": "These messages contain information about sessions within an environment. The monitored resource is 'Environment'.", + "id": "GoogleCloudDataplexV1SessionEvent", + "properties": { + "message": { + "description": "The log message.", + "type": "string" + }, + "query": { + "$ref": "GoogleCloudDataplexV1SessionEventQueryDetail", + "description": "The execution details of the query." + }, + "sessionId": { + "description": "Unique identifier for the session.", + "type": "string" + }, + "type": { + "description": "The type of the event.", + "enum": [ + "EVENT_TYPE_UNSPECIFIED", + "START", + "STOP", + "QUERY" + ], + "enumDescriptions": [ + "An unspecified event type.", + "Event for start of a session.", + "Event for stop of a session.", + "Query events in the session." + ], + "type": "string" + }, + "userId": { + "description": "The information about the user that created the session.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1SessionEventQueryDetail": { + "description": "Execution details of the query.", + "id": "GoogleCloudDataplexV1SessionEventQueryDetail", + "properties": { + "dataProcessedBytes": { + "description": "The data processed by the query.", + "format": "int64", + "type": "string" + }, + "duration": { + "description": "Time taken for execution of the query.", + "format": "google-duration", + "type": "string" + }, + "engine": { + "description": "Query Execution engine.", + "enum": [ + "ENGINE_UNSPECIFIED", + "SPARK_SQL", + "BIGQUERY" + ], + "enumDescriptions": [ + "An unspecified Engine type.", + "Spark-sql engine is specified in Query.", + "BigQuery engine is specified in Query." + ], + "type": "string" + }, + "queryId": { + "description": "The unique Query id identifying the query.", + "type": "string" + }, + "queryText": { + "description": "The query text executed.", + "type": "string" + }, + "resultSizeBytes": { + "description": "The size of results the query produced.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1StorageFormat": { + "description": "Describes the format of the data within its storage location.", + "id": "GoogleCloudDataplexV1StorageFormat", + "properties": { + "compressionFormat": { + "description": "Optional. The compression type associated with the stored data. If unspecified, the data is uncompressed.", + "enum": [ + "COMPRESSION_FORMAT_UNSPECIFIED", + "GZIP", + "BZIP2" + ], + "enumDescriptions": [ + "CompressionFormat unspecified. Implies uncompressed data.", + "GZip compressed set of files.", + "BZip2 compressed set of files." + ], + "type": "string" + }, + "csv": { + "$ref": "GoogleCloudDataplexV1StorageFormatCsvOptions", + "description": "Optional. Additional information about CSV formatted data." + }, + "format": { + "description": "Output only. The data format associated with the stored data, which represents content type values. The value is inferred from mime type.", + "enum": [ + "FORMAT_UNSPECIFIED", + "PARQUET", + "AVRO", + "ORC", + "CSV", + "JSON", + "IMAGE", + "AUDIO", + "VIDEO", + "TEXT", + "TFRECORD", + "OTHER", + "UNKNOWN" + ], + "enumDescriptions": [ + "Format unspecified.", + "Parquet-formatted structured data.", + "Avro-formatted structured data.", + "Orc-formatted structured data.", + "Csv-formatted semi-structured data.", + "Json-formatted semi-structured data.", + "Image data formats (such as jpg and png).", + "Audio data formats (such as mp3, and wav).", + "Video data formats (such as mp4 and mpg).", + "Textual data formats (such as txt and xml).", + "TensorFlow record format.", + "Data that doesn't match a specific format.", + "Data of an unknown format." + ], + "readOnly": true, + "type": "string" + }, + "json": { + "$ref": "GoogleCloudDataplexV1StorageFormatJsonOptions", + "description": "Optional. Additional information about CSV formatted data." + }, + "mimeType": { + "description": "Required. The mime type descriptor for the data. Must match the pattern {type}/{subtype}. Supported values: application/x-parquet application/x-avro application/x-orc application/x-tfrecord application/json application/{subtypes} text/csv text/ image/{image subtype} video/{video subtype} audio/{audio subtype}", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1StorageFormatCsvOptions": { + "description": "Describes CSV and similar semi-structured data formats.", + "id": "GoogleCloudDataplexV1StorageFormatCsvOptions", + "properties": { + "delimiter": { + "description": "Optional. The delimiter used to separate values. Defaults to ','.", + "type": "string" + }, + "encoding": { + "description": "Optional. The character encoding of the data. Accepts \"US-ASCII\", \"UTF-8\", and \"ISO-8859-1\". Defaults to UTF-8 if unspecified.", + "type": "string" + }, + "headerRows": { + "description": "Optional. The number of rows to interpret as header rows that should be skipped when reading data rows. Defaults to 0.", + "format": "int32", + "type": "integer" + }, + "quote": { + "description": "Optional. The character used to quote column values. Accepts '\"' (double quotation mark) or ''' (single quotation mark). Defaults to '\"' (double quotation mark) if unspecified.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1StorageFormatJsonOptions": { + "description": "Describes JSON data format.", + "id": "GoogleCloudDataplexV1StorageFormatJsonOptions", + "properties": { + "encoding": { + "description": "Optional. The character encoding of the data. Accepts \"US-ASCII\", \"UTF-8\" and \"ISO-8859-1\". Defaults to UTF-8 if not specified.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1Task": { + "description": "A task represents a user-visible job.", + "id": "GoogleCloudDataplexV1Task", + "properties": { + "createTime": { + "description": "Output only. The time when the task was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the task.", + "type": "string" + }, + "displayName": { + "description": "Optional. User friendly display name.", + "type": "string" + }, + "executionSpec": { + "$ref": "GoogleCloudDataplexV1TaskExecutionSpec", + "description": "Required. Spec related to how a task is executed." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. User-defined labels for the task.", + "type": "object" + }, + "name": { + "description": "Output only. The relative resource name of the task, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/ tasks/{task_id}.", + "readOnly": true, + "type": "string" + }, + "spark": { + "$ref": "GoogleCloudDataplexV1TaskSparkTaskConfig", + "description": "Config related to running custom Spark tasks." + }, + "state": { + "description": "Output only. Current state of the task.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CREATING", + "DELETING", + "ACTION_REQUIRED" + ], + "enumDescriptions": [ + "State is not specified.", + "Resource is active, i.e., ready to use.", + "Resource is under creation.", + "Resource is under deletion.", + "Resource is active but has unresolved actions." + ], + "readOnly": true, + "type": "string" + }, + "triggerSpec": { + "$ref": "GoogleCloudDataplexV1TaskTriggerSpec", + "description": "Required. Spec related to how often and when a task should be triggered." + }, + "uid": { + "description": "Output only. System generated globally unique ID for the task. This ID will be different if the task is deleted and re-created with the same name.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the task was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1TaskExecutionSpec": { + "description": "Execution related settings, like retry and service_account.", + "id": "GoogleCloudDataplexV1TaskExecutionSpec", + "properties": { + "args": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The arguments to pass to the task. The args can use placeholders of the format ${placeholder} as part of key/value string. These will be interpolated before passing the args to the driver. Currently supported placeholders: - ${task_id} - ${job_time} To pass positional args, set the key as TASK_ARGS. The value should be a comma-separated string of all the positional arguments. To use a delimiter other than comma, refer to https://cloud.google.com/sdk/gcloud/reference/topic/escaping. In case of other keys being present in the args, then TASK_ARGS will be passed as the last argument.", + "type": "object" + }, + "maxJobExecutionLifetime": { + "description": "Optional. The maximum duration after which the job execution is expired.", + "format": "google-duration", + "type": "string" + }, + "serviceAccount": { + "description": "Required. Service account to use to execute a task. If not provided, the default Compute service account for the project is used.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1TaskInfrastructureSpec": { + "description": "Configuration for the underlying infrastructure used to run workloads.", + "id": "GoogleCloudDataplexV1TaskInfrastructureSpec", + "properties": { + "batch": { + "$ref": "GoogleCloudDataplexV1TaskInfrastructureSpecBatchComputeResources", + "description": "Compute resources needed for a Task when using Dataproc Serverless." + }, + "containerImage": { + "$ref": "GoogleCloudDataplexV1TaskInfrastructureSpecContainerImageRuntime", + "description": "Container Image Runtime Configuration." + }, + "vpcNetwork": { + "$ref": "GoogleCloudDataplexV1TaskInfrastructureSpecVpcNetwork", + "description": "Vpc network." + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1TaskInfrastructureSpecBatchComputeResources": { + "description": "Batch compute resources associated with the task.", + "id": "GoogleCloudDataplexV1TaskInfrastructureSpecBatchComputeResources", + "properties": { + "executorsCount": { + "description": "Optional. Total number of job executors.", + "format": "int32", + "type": "integer" + }, + "maxExecutorsCount": { + "description": "Optional. Max configurable executors. If max_executors_count > executors_count, then auto-scaling is enabled.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1TaskInfrastructureSpecContainerImageRuntime": { + "description": "Container Image Runtime Configuration used with Batch execution.", + "id": "GoogleCloudDataplexV1TaskInfrastructureSpecContainerImageRuntime", + "properties": { + "javaJars": { + "description": "Optional. A list of Java JARS to add to the classpath. Valid input includes Cloud Storage URIs to Jar binaries. For example, gs://bucket-name/my/path/to/file.jar", + "items": { + "type": "string" + }, + "type": "array" + }, + "properties": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Override to common configuration of open source components installed on the Dataproc cluster. The properties to set on daemon config files. Property keys are specified in prefix:property format, for example core:hadoop.tmp.dir. For more information, see Cluster properties (https://cloud.google.com/dataproc/docs/concepts/cluster-properties).", + "type": "object" + }, + "pythonPackages": { + "description": "Optional. A list of python packages to be installed. Valid formats include Cloud Storage URI to a PIP installable library. For example, gs://bucket-name/my/path/to/lib.tar.gz", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1TaskInfrastructureSpecVpcNetwork": { + "description": "Cloud VPC Network used to run the infrastructure.", + "id": "GoogleCloudDataplexV1TaskInfrastructureSpecVpcNetwork", + "properties": { + "network": { + "description": "Optional. The Cloud VPC network in which the job is run. By default, the Cloud VPC network named Default within the project is used.", + "type": "string" + }, + "networkTags": { + "description": "Optional. List of network tags to apply to the job.", + "items": { + "type": "string" + }, + "type": "array" + }, + "subNetwork": { + "description": "Optional. The Cloud VPC sub-network in which the job is run.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1TaskSparkTaskConfig": { + "description": "User-specified config for running a Spark task.", + "id": "GoogleCloudDataplexV1TaskSparkTaskConfig", + "properties": { + "archiveUris": { + "description": "Optional. Cloud Storage 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" + }, + "fileUris": { + "description": "Optional. Cloud Storage URIs of files to be placed in the working directory of each executor.", + "items": { + "type": "string" + }, + "type": "array" + }, + "infrastructureSpec": { + "$ref": "GoogleCloudDataplexV1TaskInfrastructureSpec", + "description": "Optional. Infrastructure specification for the 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. The execution args are passed in as a sequence of named process arguments (--key=value).", + "type": "string" + }, + "mainJarFileUri": { + "description": "The Cloud Storage URI of the jar file that contains the main class. The execution args are passed in as a sequence of named process arguments (--key=value).", + "type": "string" + }, + "pythonScriptFile": { + "description": "The Gcloud Storage URI of the main Python file to use as the driver. Must be a .py file. The execution args are passed in as a sequence of named process arguments (--key=value).", + "type": "string" + }, + "sqlScript": { + "description": "The query text. The execution args are used to declare a set of script variables (set key=\"value\";).", + "type": "string" + }, + "sqlScriptFile": { + "description": "A reference to a query file. This can be the Cloud Storage URI of the query file or it can the path to a SqlScript Content. The execution args are used to declare a set of script variables (set key=\"value\";).", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1TaskTriggerSpec": { + "description": "Task scheduling and trigger settings.", + "id": "GoogleCloudDataplexV1TaskTriggerSpec", + "properties": { + "disabled": { + "description": "Optional. Prevent the task from executing. This does not cancel already running tasks. It is intended to temporarily disable RECURRING tasks.", + "type": "boolean" + }, + "maxRetries": { + "description": "Optional. Number of retry attempts before aborting. Set to zero to never attempt to retry a failed task.", + "format": "int32", + "type": "integer" + }, + "schedule": { + "description": "Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running tasks periodically. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: \"CRON_TZ=${IANA_TIME_ZONE}\" or \"TZ=${IANA_TIME_ZONE}\". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, \"CRON_TZ=America/New_York 1 * * * *\", or \"TZ=America/New_York 1 * * * *\". This field is required for RECURRING tasks.", + "type": "string" + }, + "startTime": { + "description": "Optional. The first run of the task will be after this time. If not specified, the task will run shortly after being submitted if ON_DEMAND and based on the schedule if RECURRING.", + "format": "google-datetime", + "type": "string" + }, + "type": { + "description": "Required. Immutable. Trigger type of the user-specified Task.", + "enum": [ + "TYPE_UNSPECIFIED", + "ON_DEMAND", + "RECURRING" + ], + "enumDescriptions": [ + "Unspecified trigger type.", + "The task runs one-time shortly after Task Creation.", + "The task is scheduled to run periodically." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1Zone": { + "description": "A zone represents a logical group of related assets within a lake. A zone can be used to map to organizational structure or represent stages of data readiness from raw to curated. It provides managing behavior that is shared or inherited by all contained assets.", + "id": "GoogleCloudDataplexV1Zone", + "properties": { + "assetStatus": { + "$ref": "GoogleCloudDataplexV1AssetStatus", + "description": "Output only. Aggregated status of the underlying assets of the zone.", + "readOnly": true + }, + "createTime": { + "description": "Output only. The time when the zone was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the zone.", + "type": "string" + }, + "discoverySpec": { + "$ref": "GoogleCloudDataplexV1ZoneDiscoverySpec", + "description": "Optional. Specification of the discovery feature applied to data in this zone." + }, + "displayName": { + "description": "Optional. User friendly display name.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. User defined labels for the zone.", + "type": "object" + }, + "name": { + "description": "Output only. The relative resource name of the zone, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}.", + "readOnly": true, + "type": "string" + }, + "resourceSpec": { + "$ref": "GoogleCloudDataplexV1ZoneResourceSpec", + "description": "Required. Specification of the resources that are referenced by the assets within this zone." + }, + "state": { + "description": "Output only. Current state of the zone.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CREATING", + "DELETING", + "ACTION_REQUIRED" + ], + "enumDescriptions": [ + "State is not specified.", + "Resource is active, i.e., ready to use.", + "Resource is under creation.", + "Resource is under deletion.", + "Resource is active but has unresolved actions." + ], + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Required. Immutable. The type of the zone.", + "enum": [ + "TYPE_UNSPECIFIED", + "RAW", + "CURATED" + ], + "enumDescriptions": [ + "Zone type not specified.", + "A zone that contains data that needs further processing before it is considered generally ready for consumption and analytics workloads.", + "A zone that contains data that is considered to be ready for broader consumption and analytics workloads. Curated structured data stored in Cloud Storage must conform to certain file formats (parquet, avro and orc) and organized in a hive-compatible directory layout." + ], + "type": "string" + }, + "uid": { + "description": "Output only. System generated globally unique ID for the zone. This ID will be different if the zone is deleted and re-created with the same name.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the zone was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1ZoneDiscoverySpec": { + "description": "Settings to manage the metadata discovery and publishing in a zone.", + "id": "GoogleCloudDataplexV1ZoneDiscoverySpec", + "properties": { + "csvOptions": { + "$ref": "GoogleCloudDataplexV1ZoneDiscoverySpecCsvOptions", + "description": "Optional. Configuration for CSV data." + }, + "enabled": { + "description": "Required. Whether discovery is enabled.", + "type": "boolean" + }, + "excludePatterns": { + "description": "Optional. The list of patterns to apply for selecting data to exclude during discovery. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.", + "items": { + "type": "string" + }, + "type": "array" + }, + "includePatterns": { + "description": "Optional. The list of patterns to apply for selecting data to include during discovery if only a subset of the data should considered. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.", + "items": { + "type": "string" + }, + "type": "array" + }, + "jsonOptions": { + "$ref": "GoogleCloudDataplexV1ZoneDiscoverySpecJsonOptions", + "description": "Optional. Configuration for Json data." + }, + "schedule": { + "description": "Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running discovery periodically. Successive discovery runs must be scheduled at least 60 minutes apart. The default value is to run discovery every 60 minutes. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: \"CRON_TZ=${IANA_TIME_ZONE}\" or TZ=${IANA_TIME_ZONE}\". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, \"CRON_TZ=America/New_York 1 * * * *\", or \"TZ=America/New_York 1 * * * *\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1ZoneDiscoverySpecCsvOptions": { + "description": "Describe CSV and similar semi-structured data formats.", + "id": "GoogleCloudDataplexV1ZoneDiscoverySpecCsvOptions", + "properties": { + "delimiter": { + "description": "Optional. The delimiter being used to separate values. This defaults to ','.", + "type": "string" + }, + "disableTypeInference": { + "description": "Optional. Whether to disable the inference of data type for CSV data. If true, all columns will be registered as strings.", + "type": "boolean" + }, + "encoding": { + "description": "Optional. The character encoding of the data. The default is UTF-8.", + "type": "string" + }, + "headerRows": { + "description": "Optional. The number of rows to interpret as header rows that should be skipped when reading data rows.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1ZoneDiscoverySpecJsonOptions": { + "description": "Describe JSON data format.", + "id": "GoogleCloudDataplexV1ZoneDiscoverySpecJsonOptions", + "properties": { + "disableTypeInference": { + "description": "Optional. Whether to disable the inference of data type for Json data. If true, all columns will be registered as their primitive types (strings, number or boolean).", + "type": "boolean" + }, + "encoding": { + "description": "Optional. The character encoding of the data. The default is UTF-8.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1ZoneResourceSpec": { + "description": "Settings for resources attached as assets within a zone.", + "id": "GoogleCloudDataplexV1ZoneResourceSpec", + "properties": { + "locationType": { + "description": "Required. Immutable. The location type of the resources that are allowed to be attached to the assets within this zone.", + "enum": [ + "LOCATION_TYPE_UNSPECIFIED", + "SINGLE_REGION", + "MULTI_REGION" + ], + "enumDescriptions": [ + "Unspecified location type.", + "Resources that are associated with a single region.", + "Resources that are associated with a multi-region location." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudLocationListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "GoogleCloudLocationListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "GoogleCloudLocationLocation" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudLocationLocation": { + "description": "A resource that represents Google Cloud Platform location.", + "id": "GoogleCloudLocationLocation", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"} ", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: \"us-east1\".", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: \"projects/example-project/locations/us-east1\"", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs.If there are AuditConfigs for both allServices and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted.Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", + "id": "GoogleIamV1AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "GoogleIamV1AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging. For example, storage.googleapis.com, cloudsql.googleapis.com. allServices is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "id": "GoogleIamV1AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1Binding": { + "description": "Associates members, or principals, with a role.", + "id": "GoogleIamV1Binding", + "properties": { + "condition": { + "$ref": "GoogleTypeExpr", + "description": "The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the principals requesting access for a 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 the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members, or principals, to a single role. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).", + "id": "GoogleIamV1Policy", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "GoogleIamV1AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of members, or principals, with a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one principal.The bindings in a Policy can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the bindings grant 50 different roles to user:alice@example.com, and not to any other principal, then you can add another 1,450 principals to the bindings in the Policy.", + "items": { + "$ref": "GoogleIamV1Binding" + }, + "type": "array" + }, + "etag": { + "description": "etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An etag is returned in the response to getIamPolicy, and systems are expected to put that etag in the request to setIamPolicy to ensure that their change will be applied to the same version of the policy.Important: If you use IAM Conditions, you must include the etag field whenever you call setIamPolicy. If you omit this field, then IAM allows you to overwrite a version 3 policy with a version 1 policy, and all of the conditions in the version 3 policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy.Valid values are 0, 1, and 3. Requests that specify an invalid value are rejected.Any operation that affects conditional role bindings must specify version 3. This requirement applies to the following operations: Getting a policy that includes a conditional role binding Adding a conditional role binding to a policy Changing a conditional role binding in a policy Removing any role binding, with or without a condition, from a policy that includes 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" + }, + "GoogleIamV1SetIamPolicyRequest": { + "description": "Request message for SetIamPolicy method.", + "id": "GoogleIamV1SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "GoogleIamV1Policy", + "description": "REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them." + }, + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used:paths: \"bindings, etag\"", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1TestIamPermissionsRequest": { + "description": "Request message for TestIamPermissions method.", + "id": "GoogleIamV1TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the resource. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see IAM Overview (https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleIamV1TestIamPermissionsResponse": { + "description": "Response message for TestIamPermissions method.", + "id": "GoogleIamV1TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of TestPermissionsRequest.permissions that the caller is allowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleLongrunningCancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "GoogleLongrunningCancelOperationRequest", + "properties": {}, + "type": "object" + }, + "GoogleLongrunningListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "GoogleLongrunningListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "GoogleLongrunningOperation" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleLongrunningOperation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "GoogleLongrunningOperation", + "properties": { + "done": { + "description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.", + "type": "boolean" + }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleRpcStatus": { + "description": "The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors).", + "id": "GoogleRpcStatus", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "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": "Cloud Dataplex API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/dataproc/v1/dataproc-api.json b/etc/api/dataproc/v1/dataproc-api.json index 83dddb5fd2..65029233c3 100644 --- a/etc/api/dataproc/v1/dataproc-api.json +++ b/etc/api/dataproc/v1/dataproc-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -339,6 +339,134 @@ } } }, + "batches": { + "methods": { + "create": { + "description": "Creates a batch workload that executes asynchronously.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches", + "httpMethod": "POST", + "id": "dataproc.projects.locations.batches.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "batchId": { + "description": "Optional. The ID to use for the batch, which will become the final component of the batch's resource name.This value must be 4-63 characters. Valid characters are /[a-z][0-9]-/.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource where this batch will be created.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A unique ID used to identify the request. If the service receives two CreateBatchRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateBatchRequest)s with the same request_id, the second request is ignored and the Operation that corresponds to the first Batch created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/batches", + "request": { + "$ref": "Batch" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the batch workload resource. If the batch is not in terminal state, the delete fails and the response returns FAILED_PRECONDITION.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}", + "httpMethod": "DELETE", + "id": "dataproc.projects.locations.batches.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the batch resource to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the batch workload resource representation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}", + "httpMethod": "GET", + "id": "dataproc.projects.locations.batches.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the batch to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Batch" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists batch workloads.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches", + "httpMethod": "GET", + "id": "dataproc.projects.locations.batches.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of batches to return in each response. The service may return fewer than this value. The default page size is 20; the maximum page size is 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token received from a previous ListBatches call. Provide this token to retrieve the subsequent page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns this collection of batches.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/batches", + "response": { + "$ref": "ListBatchesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "workflowTemplates": { "methods": { "create": { @@ -351,7 +479,7 @@ ], "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}", + "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, @@ -888,6 +1016,21 @@ "region" ], "parameters": { + "actionOnFailedPrimaryWorkers": { + "description": "Optional. Failure action when primary worker creation fails.", + "enum": [ + "FAILURE_ACTION_UNSPECIFIED", + "NO_ACTION", + "DELETE" + ], + "enumDescriptions": [ + "When FailureAction is unspecified, failure action defaults to NO_ACTION.", + "Take no action on failure to create a cluster resource. NO_ACTION is the default.", + "Delete the failed cluster resource." + ], + "location": "query", + "type": "string" + }, "projectId": { "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", "location": "path", @@ -901,7 +1044,7 @@ "type": "string" }, "requestId": { - "description": "Optional. A unique id used to identify the request. If the server receives two CreateClusterRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateClusterRequest)s with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", + "description": "Optional. A unique ID used to identify the request. If the server receives two CreateClusterRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateClusterRequest)s with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", "location": "query", "type": "string" } @@ -952,7 +1095,7 @@ "type": "string" }, "requestId": { - "description": "Optional. A unique id used to identify the request. If the server receives two DeleteClusterRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.DeleteClusterRequest)s with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", + "description": "Optional. A unique ID used to identify the request. If the server receives two DeleteClusterRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.DeleteClusterRequest)s with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", "location": "query", "type": "string" } @@ -1164,7 +1307,7 @@ ] }, "patch": { - "description": "Updates a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata).", + "description": "Updates a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata). The cluster must be in a RUNNING state or an error is returned.", "flatPath": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", "httpMethod": "PATCH", "id": "dataproc.projects.regions.clusters.patch", @@ -1199,7 +1342,7 @@ "type": "string" }, "requestId": { - "description": "Optional. A unique id used to identify the request. If the server receives two UpdateClusterRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.UpdateClusterRequest)s with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", + "description": "Optional. A unique ID used to identify the request. If the server receives two UpdateClusterRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.UpdateClusterRequest)s with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", "location": "query", "type": "string" }, @@ -1221,6 +1364,47 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "repair": { + "description": "Repairs a cluster.", + "flatPath": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:repair", + "httpMethod": "POST", + "id": "dataproc.projects.regions.clusters.repair", + "parameterOrder": [ + "projectId", + "region", + "clusterName" + ], + "parameters": { + "clusterName": { + "description": "Required. The cluster name.", + "location": "path", + "required": true, + "type": "string" + }, + "projectId": { + "description": "Required. The ID of the Google Cloud Platform project the cluster belongs to.", + "location": "path", + "required": true, + "type": "string" + }, + "region": { + "description": "Required. The Dataproc region in which to handle the request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:repair", + "request": { + "$ref": "RepairClusterRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "setIamPolicy": { "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", "flatPath": "v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:setIamPolicy", @@ -1964,7 +2148,7 @@ ], "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}", + "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, @@ -2260,7 +2444,7 @@ } } }, - "revision": "20210322", + "revision": "20220224", "rootUrl": "https://dataproc.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -2301,6 +2485,13 @@ "description": "Required. The policy id.The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). Cannot begin or end with underscore or hyphen. Must consist of between 3 and 50 characters.", "type": "string" }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels to associate with this autoscaling policy. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with an autoscaling policy.", + "type": "object" + }, "name": { "description": "Output only. The \"resource name\" of the autoscaling policy, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.autoscalingPolicies, the resource name of the policy has the following format: projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id} For projects.locations.autoscalingPolicies, the resource name of the policy has the following format: projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}", "readOnly": true, @@ -2326,9 +2517,13 @@ "format": "google-duration", "type": "string" }, + "sparkStandaloneConfig": { + "$ref": "SparkStandaloneAutoscalingConfig", + "description": "Optional. Spark Standalone autoscaling configuration" + }, "yarnConfig": { "$ref": "BasicYarnAutoscalingConfig", - "description": "Required. YARN autoscaling configuration." + "description": "Optional. YARN autoscaling configuration." } }, "type": "object" @@ -2365,23 +2560,189 @@ }, "type": "object" }, + "Batch": { + "description": "A representation of a batch workload in the service.", + "id": "Batch", + "properties": { + "createTime": { + "description": "Output only. The time when the batch was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creator": { + "description": "Output only. The email address of the user who created the batch.", + "readOnly": true, + "type": "string" + }, + "environmentConfig": { + "$ref": "EnvironmentConfig", + "description": "Optional. Environment configuration for the batch execution." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels to associate with this batch. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a batch.", + "type": "object" + }, + "name": { + "description": "Output only. The resource name of the batch.", + "readOnly": true, + "type": "string" + }, + "operation": { + "description": "Output only. The resource name of the operation associated with this batch.", + "readOnly": true, + "type": "string" + }, + "pysparkBatch": { + "$ref": "PySparkBatch", + "description": "Optional. PySpark batch config." + }, + "runtimeConfig": { + "$ref": "RuntimeConfig", + "description": "Optional. Runtime configuration for the batch execution." + }, + "runtimeInfo": { + "$ref": "RuntimeInfo", + "description": "Output only. Runtime information about batch execution.", + "readOnly": true + }, + "sparkBatch": { + "$ref": "SparkBatch", + "description": "Optional. Spark batch config." + }, + "sparkRBatch": { + "$ref": "SparkRBatch", + "description": "Optional. SparkR batch config." + }, + "sparkSqlBatch": { + "$ref": "SparkSqlBatch", + "description": "Optional. SparkSql batch config." + }, + "state": { + "description": "Output only. The state of the batch.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "RUNNING", + "CANCELLING", + "CANCELLED", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "The batch state is unknown.", + "The batch is created before running.", + "The batch is running.", + "The batch is cancelling.", + "The batch cancellation was successful.", + "The batch completed successfully.", + "The batch is no longer running due to an error." + ], + "readOnly": true, + "type": "string" + }, + "stateHistory": { + "description": "Output only. Historical state information for the batch.", + "items": { + "$ref": "StateHistory" + }, + "readOnly": true, + "type": "array" + }, + "stateMessage": { + "description": "Output only. Batch state details, such as a failure description if the state is FAILED.", + "readOnly": true, + "type": "string" + }, + "stateTime": { + "description": "Output only. The time when the batch entered a current state.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "uuid": { + "description": "Output only. A batch UUID (Unique Universal Identifier). The service generates this value when it creates the batch.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BatchOperationMetadata": { + "description": "Metadata describing the Batch operation.", + "id": "BatchOperationMetadata", + "properties": { + "batch": { + "description": "Name of the batch for the operation.", + "type": "string" + }, + "batchUuid": { + "description": "Batch UUID for the operation.", + "type": "string" + }, + "createTime": { + "description": "The time when the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "Short description of the operation.", + "type": "string" + }, + "doneTime": { + "description": "The time when the operation finished.", + "format": "google-datetime", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels associated with the operation.", + "type": "object" + }, + "operationType": { + "description": "The operation type.", + "enum": [ + "BATCH_OPERATION_TYPE_UNSPECIFIED", + "BATCH" + ], + "enumDescriptions": [ + "Batch operation type is unknown.", + "Batch operation type." + ], + "type": "string" + }, + "warnings": { + "description": "Warnings encountered during operation execution.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Binding": { - "description": "Associates members with a role.", + "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 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)." + "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 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.", + "description": "Specifies the principals 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.", + "description": "Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.", "type": "string" } }, @@ -2394,7 +2755,7 @@ "type": "object" }, "Cluster": { - "description": "Describes the identifying information, config, and status of a cluster of Compute Engine instances.", + "description": "Describes the identifying information, config, and status of a Dataproc cluster", "id": "Cluster", "properties": { "clusterName": { @@ -2408,7 +2769,7 @@ }, "config": { "$ref": "ClusterConfig", - "description": "Required. The cluster config. Note that Dataproc may set default values, and values may change when clusters are updated." + "description": "Optional. The cluster config for a cluster of Compute Engine Instances. Note that Dataproc may set default values, and values may change when clusters are updated." }, "labels": { "additionalProperties": { @@ -2451,9 +2812,13 @@ "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.", + "description": "Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.", "type": "string" }, + "dataprocMetricConfig": { + "$ref": "DataprocMetricConfig", + "description": "Optional. The configuration(s) for a dataproc metric(s)." + }, "encryptionConfig": { "$ref": "EncryptionConfig", "description": "Optional. Encryption settings for the cluster." @@ -2483,7 +2848,7 @@ }, "masterConfig": { "$ref": "InstanceGroupConfig", - "description": "Optional. The Compute Engine config settings for the master instance in a cluster." + "description": "Optional. The Compute Engine config settings for the cluster's master instance." }, "metastoreConfig": { "$ref": "MetastoreConfig", @@ -2491,7 +2856,7 @@ }, "secondaryWorkerConfig": { "$ref": "InstanceGroupConfig", - "description": "Optional. The Compute Engine config settings for additional worker instances in a cluster." + "description": "Optional. The Compute Engine config settings for a cluster's secondary worker instances" }, "securityConfig": { "$ref": "SecurityConfig", @@ -2499,15 +2864,15 @@ }, "softwareConfig": { "$ref": "SoftwareConfig", - "description": "Optional. The config settings for software inside the cluster." + "description": "Optional. The config settings for cluster software." }, "tempBucket": { - "description": "Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket. This field requires a Cloud Storage bucket name, not a URI to a Cloud Storage bucket.", + "description": "Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.", "type": "string" }, "workerConfig": { "$ref": "InstanceGroupConfig", - "description": "Optional. The Compute Engine config settings for worker instances in a cluster." + "description": "Optional. The Compute Engine config settings for the cluster's worker instances." } }, "type": "object" @@ -2687,6 +3052,7 @@ "CREATING", "RUNNING", "ERROR", + "ERROR_DUE_TO_UPDATE", "DELETING", "UPDATING", "STOPPING", @@ -2696,8 +3062,9 @@ "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 is currently running and healthy. It is ready for use.Note: The cluster state changes from \"creating\" to \"running\" status after the master node(s), first two primary worker nodes (and the last primary worker node if primary workers > 2) are running.", "The cluster encountered an error. It is not ready for use.", + "The cluster has encountered an error while being updated. Jobs can be submitted to the cluster, but the cluster cannot be updated.", "The cluster is being deleted. It cannot be used.", "The cluster is being updated. It continues to accept and process jobs.", "The cluster is being stopped. It cannot be used.", @@ -2731,6 +3098,31 @@ }, "type": "object" }, + "ConfidentialInstanceConfig": { + "description": "Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)", + "id": "ConfidentialInstanceConfig", + "properties": { + "enableConfidentialCompute": { + "description": "Optional. Defines whether the instance should have confidential compute enabled.", + "type": "boolean" + } + }, + "type": "object" + }, + "DataprocMetricConfig": { + "description": "Contains dataproc metric config.", + "id": "DataprocMetricConfig", + "properties": { + "metrics": { + "description": "Required. Metrics to be enabled.", + "items": { + "$ref": "Metric" + }, + "type": "array" + } + }, + "type": "object" + }, "DiagnoseClusterRequest": { "description": "A request to collect cluster diagnostic information.", "id": "DiagnoseClusterRequest", @@ -2762,6 +3154,10 @@ "description": "Optional. Type of the boot disk (default is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent Disk Solid State Drive), or \"pd-standard\" (Persistent Disk Hard Disk Drive). See Disk types (https://cloud.google.com/compute/docs/disks#disk-types).", "type": "string" }, + "localSsdInterface": { + "description": "Optional. Interface type of local SSDs (default is \"scsi\"). Valid values: \"scsi\" (Small Computer System Interface), \"nvme\" (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance).", + "type": "string" + }, "numLocalSsds": { "description": "Optional. Number of attached SSDs, from 0 to 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", @@ -2806,6 +3202,51 @@ }, "type": "object" }, + "EnvironmentConfig": { + "description": "Environment configuration for a workload.", + "id": "EnvironmentConfig", + "properties": { + "executionConfig": { + "$ref": "ExecutionConfig", + "description": "Optional. Execution configuration for a workload." + }, + "peripheralsConfig": { + "$ref": "PeripheralsConfig", + "description": "Optional. Peripherals configuration that workload has access to." + } + }, + "type": "object" + }, + "ExecutionConfig": { + "description": "Execution configuration for a workload.", + "id": "ExecutionConfig", + "properties": { + "kmsKey": { + "description": "Optional. The Cloud KMS key to use for encryption.", + "type": "string" + }, + "networkTags": { + "description": "Optional. Tags used for network traffic control.", + "items": { + "type": "string" + }, + "type": "array" + }, + "networkUri": { + "description": "Optional. Network URI to connect workload to.", + "type": "string" + }, + "serviceAccount": { + "description": "Optional. Service account that used to execute workload.", + "type": "string" + }, + "subnetworkUri": { + "description": "Optional. Subnetwork URI to connect workload to.", + "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", @@ -2833,6 +3274,10 @@ "description": "Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster.", "id": "GceClusterConfig", "properties": { + "confidentialInstanceConfig": { + "$ref": "ConfidentialInstanceConfig", + "description": "Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)." + }, "internalIpOnly": { "description": "Optional. 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" @@ -2921,7 +3366,7 @@ "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).", + "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" } @@ -2929,7 +3374,7 @@ "type": "object" }, "GkeClusterConfig": { - "description": "The GKE config for this cluster.", + "description": "The cluster's GKE config.", "id": "GkeClusterConfig", "properties": { "namespacedGkeDeploymentTarget": { @@ -3171,8 +3616,12 @@ "description": "The user-friendly name of the Compute Engine instance.", "type": "string" }, + "publicEciesKey": { + "description": "The public ECIES key used for sharing data with this instance.", + "type": "string" + }, "publicKey": { - "description": "The public key used for sharing data with this instance.", + "description": "The public RSA key used for sharing data with this instance.", "type": "string" } }, @@ -3371,12 +3820,12 @@ "id": "JobScheduling", "properties": { "maxFailuresPerHour": { - "description": "Optional. Maximum number of times per hour a driver may be restarted as a result of driver exiting 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.", + "description": "Optional. Maximum number of times per hour a driver may be restarted as a result of driver exiting 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.Note: Currently, this restartable job option is not supported in Dataproc workflow template (https://cloud.google.com/dataproc/docs/concepts/workflows/using-workflows#adding_jobs_to_a_template) jobs.", "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.", + "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.Note: Currently, this restartable job option is not supported in Dataproc workflow template (https://cloud.google.com/dataproc/docs/concepts/workflows/using-workflows#adding_jobs_to_a_template) jobs.", "format": "int32", "type": "integer" } @@ -3563,6 +4012,24 @@ }, "type": "object" }, + "ListBatchesResponse": { + "description": "A list of batch workloads.", + "id": "ListBatchesResponse", + "properties": { + "batches": { + "description": "The batches from the specified collection.", + "items": { + "$ref": "Batch" + }, + "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" + }, "ListClustersResponse": { "description": "The list of all clusters in a project.", "id": "ListClustersResponse", @@ -3726,6 +4193,42 @@ }, "type": "object" }, + "Metric": { + "description": "Metric source to enable along with any optional metrics for this source that override the dataproc defaults", + "id": "Metric", + "properties": { + "metricOverrides": { + "description": "Optional. Optional Metrics to override the dataproc default metrics configured for the metric source", + "items": { + "type": "string" + }, + "type": "array" + }, + "metricSource": { + "description": "Required. MetricSource that should be enabled", + "enum": [ + "METRIC_SOURCE_UNSPECIFIED", + "MONITORING_AGENT_DEFAULTS", + "HDFS", + "SPARK", + "YARN", + "SPARK_HISTORY_SERVER", + "HIVESERVER2" + ], + "enumDescriptions": [ + "Required unspecified metric source", + "all default monitoring agent metrics that are published with prefix \"agent.googleapis.com\" when we enable a monitoring agent in Compute Engine", + "Hdfs metric source", + "Spark metric source", + "Yarn metric source", + "Spark history server metric source", + "hiveserver2 metric source" + ], + "type": "string" + } + }, + "type": "object" + }, "NamespacedGkeDeploymentTarget": { "description": "A full, namespace-isolated deployment target for an existing GKE cluster.", "id": "NamespacedGkeDeploymentTarget", @@ -3879,6 +4382,21 @@ }, "type": "object" }, + "PeripheralsConfig": { + "description": "Auxiliary services configuration for a workload.", + "id": "PeripheralsConfig", + "properties": { + "metastoreService": { + "description": "Optional. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[region]/services/[service_id]", + "type": "string" + }, + "sparkHistoryServerConfig": { + "$ref": "SparkHistoryServerConfig", + "description": "Optional. The Spark History Server configuration for the workload." + } + }, + "type": "object" + }, "PigJob": { "description": "A Dataproc job for running Apache Pig (https://pig.apache.org/) queries on YARN.", "id": "PigJob", @@ -3924,11 +4442,11 @@ "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/).", + "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 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.", + "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" }, @@ -3988,6 +4506,52 @@ }, "type": "object" }, + "PySparkBatch": { + "description": "A configuration for running an Apache PySpark (https://spark.apache.org/docs/latest/api/python/getting_started/quickstart.html) batch workload.", + "id": "PySparkBatch", + "properties": { + "archiveUris": { + "description": "Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", + "items": { + "type": "string" + }, + "type": "array" + }, + "args": { + "description": "Optional. The arguments to pass to the driver. Do not include arguments that can be set as batch properties, such as --conf, since a collision can occur that causes an incorrect batch submission.", + "items": { + "type": "string" + }, + "type": "array" + }, + "fileUris": { + "description": "Optional. HCFS URIs of files to be placed in the working directory of each executor.", + "items": { + "type": "string" + }, + "type": "array" + }, + "jarFileUris": { + "description": "Optional. HCFS URIs of jar files to add to the classpath of the Spark driver and tasks.", + "items": { + "type": "string" + }, + "type": "array" + }, + "mainPythonFileUri": { + "description": "Required. The HCFS URI of the main Python file to use as the Spark driver. Must be a .py file.", + "type": "string" + }, + "pythonFileUris": { + "description": "Optional. HCFS file URIs of Python files to pass to the PySpark framework. Supported file types: .py, .egg, and .zip.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "PySparkJob": { "description": "A Dataproc job for running Apache PySpark (https://spark.apache.org/docs/0.9.0/python-programming-guide.html) applications on YARN.", "id": "PySparkJob", @@ -4073,6 +4637,21 @@ }, "type": "object" }, + "RepairClusterRequest": { + "description": "A request to repair a cluster.", + "id": "RepairClusterRequest", + "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 RepairClusterRequests with the same ID, the second request is ignored, and the first google.longrunning.Operation created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", + "type": "string" + } + }, + "type": "object" + }, "ReservationAffinity": { "description": "Reservation Affinity for consuming Zonal reservation.", "id": "ReservationAffinity", @@ -4107,6 +4686,53 @@ }, "type": "object" }, + "RuntimeConfig": { + "description": "Runtime configuration for a workload.", + "id": "RuntimeConfig", + "properties": { + "containerImage": { + "description": "Optional. Optional custom container image for the job runtime environment. If not specified, a default container image will be used.", + "type": "string" + }, + "properties": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. A mapping of property names to values, which are used to configure workload execution.", + "type": "object" + }, + "version": { + "description": "Optional. Version of the batch runtime.", + "type": "string" + } + }, + "type": "object" + }, + "RuntimeInfo": { + "description": "Runtime information about workload execution.", + "id": "RuntimeInfo", + "properties": { + "diagnosticOutputUri": { + "description": "Output only. A URI pointing to the location of the diagnostics tarball.", + "readOnly": true, + "type": "string" + }, + "endpoints": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. Map of remote access endpoints (such as web interfaces and APIs) to their URIs.", + "readOnly": true, + "type": "object" + }, + "outputUri": { + "description": "Output only. A URI pointing to the location of the stdout and stderr of the workload.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "SecurityConfig": { "description": "Security related configuration, including encryption, Kerberos, etc.", "id": "SecurityConfig", @@ -4122,6 +4748,65 @@ }, "type": "object" }, + "SessionOperationMetadata": { + "description": "Metadata describing the Session operation.", + "id": "SessionOperationMetadata", + "properties": { + "createTime": { + "description": "The time when the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "Short description of the operation.", + "type": "string" + }, + "doneTime": { + "description": "The time when the operation was finished.", + "format": "google-datetime", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels associated with the operation.", + "type": "object" + }, + "operationType": { + "description": "The operation type.", + "enum": [ + "SESSION_OPERATION_TYPE_UNSPECIFIED", + "CREATE", + "TERMINATE", + "DELETE" + ], + "enumDescriptions": [ + "Session operation type is unknown.", + "Create Session operation type.", + "Terminate Session operation type.", + "Delete Session operation type." + ], + "type": "string" + }, + "session": { + "description": "Name of the session for the operation.", + "type": "string" + }, + "sessionUuid": { + "description": "Session UUID for the operation.", + "type": "string" + }, + "warnings": { + "description": "Warnings encountered during operation execution.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "SetIamPolicyRequest": { "description": "Request message for SetIamPolicy method.", "id": "SetIamPolicyRequest", @@ -4182,7 +4867,7 @@ "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. (beta)", + "The Druid query engine. (alpha)", "Flink", "HBase. (beta)", "The Hive Web HCatalog (the REST service for accessing HCatalog).", @@ -4207,8 +4892,62 @@ }, "type": "object" }, + "SparkBatch": { + "description": "A configuration for running an Apache Spark (https://spark.apache.org/) batch workload.", + "id": "SparkBatch", + "properties": { + "archiveUris": { + "description": "Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", + "items": { + "type": "string" + }, + "type": "array" + }, + "args": { + "description": "Optional. The arguments to pass to the driver. Do not include arguments that can be set as batch properties, such as --conf, since a collision can occur that causes an incorrect batch submission.", + "items": { + "type": "string" + }, + "type": "array" + }, + "fileUris": { + "description": "Optional. HCFS URIs of files to be placed in the working directory of each executor.", + "items": { + "type": "string" + }, + "type": "array" + }, + "jarFileUris": { + "description": "Optional. HCFS URIs of jar files to add to the classpath of the Spark driver and tasks.", + "items": { + "type": "string" + }, + "type": "array" + }, + "mainClass": { + "description": "Optional. The name of the driver main class. The jar file that contains the class must be in the classpath or specified in jar_file_uris.", + "type": "string" + }, + "mainJarFileUri": { + "description": "Optional. The HCFS URI of the jar file that contains the main class.", + "type": "string" + } + }, + "type": "object" + }, + "SparkHistoryServerConfig": { + "description": "Spark History Server configuration for the workload.", + "id": "SparkHistoryServerConfig", + "properties": { + "dataprocCluster": { + "description": "Optional. Resource name of an existing Dataproc Cluster to act as a Spark History Server for the workload.Example: projects/[project_id]/regions/[region]/clusters/[cluster_name]", + "type": "string" + } + }, + "type": "object" + }, "SparkJob": { - "description": "A Dataproc job for running Apache Spark (http://spark.apache.org/) applications on YARN.", + "description": "A Dataproc job for running Apache Spark (https://spark.apache.org/) applications on YARN.", "id": "SparkJob", "properties": { "archiveUris": { @@ -4261,6 +5000,38 @@ }, "type": "object" }, + "SparkRBatch": { + "description": "A configuration for running an Apache SparkR (https://spark.apache.org/docs/latest/sparkr.html) batch workload.", + "id": "SparkRBatch", + "properties": { + "archiveUris": { + "description": "Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", + "items": { + "type": "string" + }, + "type": "array" + }, + "args": { + "description": "Optional. The arguments to pass to the Spark driver. Do not include arguments that can be set as batch properties, such as --conf, since a collision can occur that causes an incorrect batch submission.", + "items": { + "type": "string" + }, + "type": "array" + }, + "fileUris": { + "description": "Optional. HCFS URIs of files to be placed in the working directory of each executor.", + "items": { + "type": "string" + }, + "type": "array" + }, + "mainRFileUri": { + "description": "Required. The HCFS URI of the main R file to use as the driver. Must be a .R or .r file.", + "type": "string" + } + }, + "type": "object" + }, "SparkRJob": { "description": "A Dataproc job for running Apache SparkR (https://spark.apache.org/docs/latest/sparkr.html) applications on YARN.", "id": "SparkRJob", @@ -4304,8 +5075,33 @@ }, "type": "object" }, + "SparkSqlBatch": { + "description": "A configuration for running Apache Spark SQL (https://spark.apache.org/sql/) queries as a batch workload.", + "id": "SparkSqlBatch", + "properties": { + "jarFileUris": { + "description": "Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH.", + "items": { + "type": "string" + }, + "type": "array" + }, + "queryFileUri": { + "description": "Required. The HCFS URI of the script that contains Spark SQL queries to execute.", + "type": "string" + }, + "queryVariables": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Mapping of query variable names to values (equivalent to the Spark SQL command: SET name=\"value\";).", + "type": "object" + } + }, + "type": "object" + }, "SparkSqlJob": { - "description": "A Dataproc job for running Apache Spark SQL (http://spark.apache.org/sql/) queries.", + "description": "A Dataproc job for running Apache Spark SQL (https://spark.apache.org/sql/) queries.", "id": "SparkSqlJob", "properties": { "jarFileUris": { @@ -4344,6 +5140,38 @@ }, "type": "object" }, + "SparkStandaloneAutoscalingConfig": { + "description": "Basic autoscaling configurations for Spark Standalone.", + "id": "SparkStandaloneAutoscalingConfig", + "properties": { + "gracefulDecommissionTimeout": { + "description": "Required. Timeout for Spark graceful decommissioning of spark workers. Specifies the duration to wait for spark worker to complete spark decomissioning tasks before forcefully removing workers. Only applicable to downscaling operations.Bounds: 0s, 1d.", + "format": "google-duration", + "type": "string" + }, + "scaleDownFactor": { + "description": "Required. Fraction of required executors to remove from Spark Serverless clusters. A scale-down factor of 1.0 will result in scaling down so that there are no more executors for the Spark Job.(more aggressive scaling). A scale-down factor closer to 0 will result in a smaller magnitude of scaling donw (less aggressive scaling).Bounds: 0.0, 1.0.", + "format": "double", + "type": "number" + }, + "scaleDownMinWorkerFraction": { + "description": "Optional. Minimum scale-down threshold as a fraction of total cluster size before scaling occurs. For example, in a 20-worker cluster, a threshold of 0.1 means the autoscaler must recommend at least a 2 worker scale-down for the cluster to scale. A threshold of 0 means the autoscaler will scale down on any recommended change.Bounds: 0.0, 1.0. Default: 0.0.", + "format": "double", + "type": "number" + }, + "scaleUpFactor": { + "description": "Required. Fraction of required workers to add to Spark Standalone clusters. A scale-up factor of 1.0 will result in scaling up so that there are no more required workers for the Spark Job (more aggressive scaling). A scale-up factor closer to 0 will result in a smaller magnitude of scaling up (less aggressive scaling).Bounds: 0.0, 1.0.", + "format": "double", + "type": "number" + }, + "scaleUpMinWorkerFraction": { + "description": "Optional. Minimum scale-up threshold as a fraction of total cluster size before scaling occurs. For example, in a 20-worker cluster, a threshold of 0.1 means the autoscaler must recommend at least a 2-worker scale-up for the cluster to scale. A threshold of 0 means the autoscaler will scale up on any recommended change.Bounds: 0.0, 1.0. Default: 0.0.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "StartClusterRequest": { "description": "A request to start a cluster.", "id": "StartClusterRequest", @@ -4353,7 +5181,48 @@ "type": "string" }, "requestId": { - "description": "Optional. A unique id used to identify the request. If the server receives two StartClusterRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.StartClusterRequest)s with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", + "description": "Optional. A unique ID used to identify the request. If the server receives two StartClusterRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.StartClusterRequest)s with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", + "type": "string" + } + }, + "type": "object" + }, + "StateHistory": { + "description": "Historical state information.", + "id": "StateHistory", + "properties": { + "state": { + "description": "Output only. The state of the batch at this point in history.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "RUNNING", + "CANCELLING", + "CANCELLED", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "The batch state is unknown.", + "The batch is created before running.", + "The batch is running.", + "The batch is cancelling.", + "The batch cancellation was successful.", + "The batch completed successfully.", + "The batch is no longer running due to an error." + ], + "readOnly": true, + "type": "string" + }, + "stateMessage": { + "description": "Output only. Details about the state at this point in history.", + "readOnly": true, + "type": "string" + }, + "stateStartTime": { + "description": "Output only. The time when the batch entered the historical state.", + "format": "google-datetime", + "readOnly": true, "type": "string" } }, @@ -4395,7 +5264,7 @@ "type": "string" }, "requestId": { - "description": "Optional. A unique id used to identify the request. If the server receives two StopClusterRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.StopClusterRequest)s with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", + "description": "Optional. A unique ID used to identify the request. If the server receives two StopClusterRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.StopClusterRequest)s with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", "type": "string" } }, diff --git a/etc/api/datastore/v1/datastore-api.json b/etc/api/datastore/v1/datastore-api.json index 3439398e48..c1ec710e7d 100644 --- a/etc/api/datastore/v1/datastore-api.json +++ b/etc/api/datastore/v1/datastore-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "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" @@ -17,6 +17,7 @@ "description": "Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application. ", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/datastore/", + "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" @@ -625,7 +626,7 @@ } } }, - "revision": "20210317", + "revision": "20220221", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "AllocateIdsRequest": { @@ -897,6 +898,53 @@ }, "type": "object" }, + "GoogleDatastoreAdminV1DatastoreFirestoreMigrationMetadata": { + "description": "Metadata for Datastore to Firestore migration operations. The DatastoreFirestoreMigration operation is not started by the end-user via an explicit \"creation\" method. This is an intentional deviation from the LRO design pattern. This singleton resource can be accessed at: \"projects/{project_id}/operations/datastore-firestore-migration\"", + "id": "GoogleDatastoreAdminV1DatastoreFirestoreMigrationMetadata", + "properties": { + "migrationState": { + "description": "The current state of migration from Cloud Datastore to Cloud Firestore in Datastore mode.", + "enum": [ + "MIGRATION_STATE_UNSPECIFIED", + "RUNNING", + "PAUSED", + "COMPLETE" + ], + "enumDescriptions": [ + "Unspecified.", + "The migration is running.", + "The migration is paused.", + "The migration is complete." + ], + "type": "string" + }, + "migrationStep": { + "description": "The current step of migration from Cloud Datastore to Cloud Firestore in Datastore mode.", + "enum": [ + "MIGRATION_STEP_UNSPECIFIED", + "PREPARE", + "START", + "APPLY_WRITES_SYNCHRONOUSLY", + "COPY_AND_VERIFY", + "REDIRECT_EVENTUALLY_CONSISTENT_READS", + "REDIRECT_STRONGLY_CONSISTENT_READS", + "REDIRECT_WRITES" + ], + "enumDescriptions": [ + "Unspecified.", + "Pre-migration: the database is prepared for migration.", + "Start of migration.", + "Writes are applied synchronously to at least one replica.", + "Data is copied to Cloud Firestore and then verified to match the data in Cloud Datastore.", + "Eventually-consistent reads are redirected to Cloud Firestore.", + "Strongly-consistent reads are redirected to Cloud Firestore.", + "Writes are redirected to Cloud Firestore." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleDatastoreAdminV1EntityFilter": { "description": "Identifies a subset of entities in a project. This is specified as combinations of kinds and namespaces (either or both of which may be all, as described in the following examples). Example usage: Entire project: kinds=[], namespace_ids=[] Kinds Foo and Bar in all namespaces: kinds=['Foo', 'Bar'], namespace_ids=[] Kinds Foo and Bar only in the default namespace: kinds=['Foo', 'Bar'], namespace_ids=[''] Kinds Foo and Bar in both the default and Baz namespaces: kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz'] The entire Baz namespace: kinds=[], namespace_ids=['Baz']", "id": "GoogleDatastoreAdminV1EntityFilter", @@ -1150,6 +1198,91 @@ }, "type": "object" }, + "GoogleDatastoreAdminV1MigrationProgressEvent": { + "description": "An event signifying the start of a new step in a [migration from Cloud Datastore to Cloud Firestore in Datastore mode](https://cloud.google.com/datastore/docs/upgrade-to-firestore).", + "id": "GoogleDatastoreAdminV1MigrationProgressEvent", + "properties": { + "prepareStepDetails": { + "$ref": "GoogleDatastoreAdminV1PrepareStepDetails", + "description": "Details for the `PREPARE` step." + }, + "redirectWritesStepDetails": { + "$ref": "GoogleDatastoreAdminV1RedirectWritesStepDetails", + "description": "Details for the `REDIRECT_WRITES` step." + }, + "step": { + "description": "The step that is starting. An event with step set to `START` indicates that the migration has been reverted back to the initial pre-migration state.", + "enum": [ + "MIGRATION_STEP_UNSPECIFIED", + "PREPARE", + "START", + "APPLY_WRITES_SYNCHRONOUSLY", + "COPY_AND_VERIFY", + "REDIRECT_EVENTUALLY_CONSISTENT_READS", + "REDIRECT_STRONGLY_CONSISTENT_READS", + "REDIRECT_WRITES" + ], + "enumDescriptions": [ + "Unspecified.", + "Pre-migration: the database is prepared for migration.", + "Start of migration.", + "Writes are applied synchronously to at least one replica.", + "Data is copied to Cloud Firestore and then verified to match the data in Cloud Datastore.", + "Eventually-consistent reads are redirected to Cloud Firestore.", + "Strongly-consistent reads are redirected to Cloud Firestore.", + "Writes are redirected to Cloud Firestore." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleDatastoreAdminV1MigrationStateEvent": { + "description": "An event signifying a change in state of a [migration from Cloud Datastore to Cloud Firestore in Datastore mode](https://cloud.google.com/datastore/docs/upgrade-to-firestore).", + "id": "GoogleDatastoreAdminV1MigrationStateEvent", + "properties": { + "state": { + "description": "The new state of the migration.", + "enum": [ + "MIGRATION_STATE_UNSPECIFIED", + "RUNNING", + "PAUSED", + "COMPLETE" + ], + "enumDescriptions": [ + "Unspecified.", + "The migration is running.", + "The migration is paused.", + "The migration is complete." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleDatastoreAdminV1PrepareStepDetails": { + "description": "Details for the `PREPARE` step.", + "id": "GoogleDatastoreAdminV1PrepareStepDetails", + "properties": { + "concurrencyMode": { + "description": "The concurrency mode this database will use when it reaches the `REDIRECT_WRITES` step.", + "enum": [ + "CONCURRENCY_MODE_UNSPECIFIED", + "PESSIMISTIC", + "OPTIMISTIC", + "OPTIMISTIC_WITH_ENTITY_GROUPS" + ], + "enumDescriptions": [ + "Unspecified.", + "Pessimistic concurrency.", + "Optimistic concurrency.", + "Optimistic concurrency with entity groups." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleDatastoreAdminV1Progress": { "description": "Measures the progress of a particular metric.", "id": "GoogleDatastoreAdminV1Progress", @@ -1167,6 +1300,29 @@ }, "type": "object" }, + "GoogleDatastoreAdminV1RedirectWritesStepDetails": { + "description": "Details for the `REDIRECT_WRITES` step.", + "id": "GoogleDatastoreAdminV1RedirectWritesStepDetails", + "properties": { + "concurrencyMode": { + "description": "Ths concurrency mode for this database.", + "enum": [ + "CONCURRENCY_MODE_UNSPECIFIED", + "PESSIMISTIC", + "OPTIMISTIC", + "OPTIMISTIC_WITH_ENTITY_GROUPS" + ], + "enumDescriptions": [ + "Unspecified.", + "Pessimistic concurrency.", + "Optimistic concurrency.", + "Optimistic concurrency with entity groups." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleDatastoreAdminV1beta1CommonMetadata": { "description": "Metadata common to all Datastore Admin operations.", "id": "GoogleDatastoreAdminV1beta1CommonMetadata", @@ -1460,7 +1616,7 @@ "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 must conform to the WGS84 standard. Values must be within normalized ranges.", + "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": { @@ -1633,12 +1789,12 @@ ], "enumDescriptions": [ "Unspecified. This value must not be used.", - "Less than.", - "Less than or equal.", - "Greater than.", - "Greater than or equal.", - "Equal.", - "Has ancestor." + "The given `property` is less than the given `value`. Requires: * That `property` comes first in `order_by`.", + "The given `property` is less than or equal to the given `value`. Requires: * That `property` comes first in `order_by`.", + "The given `property` is greater than the given `value`. Requires: * That `property` comes first in `order_by`.", + "The given `property` is greater than or equal to the given `value`. Requires: * That `property` comes first in `order_by`.", + "The given `property` is equal to the given `value`.", + "Limit the result set to the given entity and its descendants. Requires: * That `value` is an entity key." ], "type": "string" }, diff --git a/etc/api/datastore/v1beta1/datastore-api.json b/etc/api/datastore/v1beta1/datastore-api.json index a2768b78a9..6642e12f45 100644 --- a/etc/api/datastore/v1beta1/datastore-api.json +++ b/etc/api/datastore/v1beta1/datastore-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "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" @@ -17,6 +17,7 @@ "description": "Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application. ", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/datastore/", + "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" @@ -167,7 +168,7 @@ } } }, - "revision": "20210317", + "revision": "20220221", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "GoogleDatastoreAdminV1CommonMetadata": { @@ -236,6 +237,53 @@ }, "type": "object" }, + "GoogleDatastoreAdminV1DatastoreFirestoreMigrationMetadata": { + "description": "Metadata for Datastore to Firestore migration operations. The DatastoreFirestoreMigration operation is not started by the end-user via an explicit \"creation\" method. This is an intentional deviation from the LRO design pattern. This singleton resource can be accessed at: \"projects/{project_id}/operations/datastore-firestore-migration\"", + "id": "GoogleDatastoreAdminV1DatastoreFirestoreMigrationMetadata", + "properties": { + "migrationState": { + "description": "The current state of migration from Cloud Datastore to Cloud Firestore in Datastore mode.", + "enum": [ + "MIGRATION_STATE_UNSPECIFIED", + "RUNNING", + "PAUSED", + "COMPLETE" + ], + "enumDescriptions": [ + "Unspecified.", + "The migration is running.", + "The migration is paused.", + "The migration is complete." + ], + "type": "string" + }, + "migrationStep": { + "description": "The current step of migration from Cloud Datastore to Cloud Firestore in Datastore mode.", + "enum": [ + "MIGRATION_STEP_UNSPECIFIED", + "PREPARE", + "START", + "APPLY_WRITES_SYNCHRONOUSLY", + "COPY_AND_VERIFY", + "REDIRECT_EVENTUALLY_CONSISTENT_READS", + "REDIRECT_STRONGLY_CONSISTENT_READS", + "REDIRECT_WRITES" + ], + "enumDescriptions": [ + "Unspecified.", + "Pre-migration: the database is prepared for migration.", + "Start of migration.", + "Writes are applied synchronously to at least one replica.", + "Data is copied to Cloud Firestore and then verified to match the data in Cloud Datastore.", + "Eventually-consistent reads are redirected to Cloud Firestore.", + "Strongly-consistent reads are redirected to Cloud Firestore.", + "Writes are redirected to Cloud Firestore." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleDatastoreAdminV1EntityFilter": { "description": "Identifies a subset of entities in a project. This is specified as combinations of kinds and namespaces (either or both of which may be all, as described in the following examples). Example usage: Entire project: kinds=[], namespace_ids=[] Kinds Foo and Bar in all namespaces: kinds=['Foo', 'Bar'], namespace_ids=[] Kinds Foo and Bar only in the default namespace: kinds=['Foo', 'Bar'], namespace_ids=[''] Kinds Foo and Bar in both the default and Baz namespaces: kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz'] The entire Baz namespace: kinds=[], namespace_ids=['Baz']", "id": "GoogleDatastoreAdminV1EntityFilter", @@ -341,6 +389,91 @@ }, "type": "object" }, + "GoogleDatastoreAdminV1MigrationProgressEvent": { + "description": "An event signifying the start of a new step in a [migration from Cloud Datastore to Cloud Firestore in Datastore mode](https://cloud.google.com/datastore/docs/upgrade-to-firestore).", + "id": "GoogleDatastoreAdminV1MigrationProgressEvent", + "properties": { + "prepareStepDetails": { + "$ref": "GoogleDatastoreAdminV1PrepareStepDetails", + "description": "Details for the `PREPARE` step." + }, + "redirectWritesStepDetails": { + "$ref": "GoogleDatastoreAdminV1RedirectWritesStepDetails", + "description": "Details for the `REDIRECT_WRITES` step." + }, + "step": { + "description": "The step that is starting. An event with step set to `START` indicates that the migration has been reverted back to the initial pre-migration state.", + "enum": [ + "MIGRATION_STEP_UNSPECIFIED", + "PREPARE", + "START", + "APPLY_WRITES_SYNCHRONOUSLY", + "COPY_AND_VERIFY", + "REDIRECT_EVENTUALLY_CONSISTENT_READS", + "REDIRECT_STRONGLY_CONSISTENT_READS", + "REDIRECT_WRITES" + ], + "enumDescriptions": [ + "Unspecified.", + "Pre-migration: the database is prepared for migration.", + "Start of migration.", + "Writes are applied synchronously to at least one replica.", + "Data is copied to Cloud Firestore and then verified to match the data in Cloud Datastore.", + "Eventually-consistent reads are redirected to Cloud Firestore.", + "Strongly-consistent reads are redirected to Cloud Firestore.", + "Writes are redirected to Cloud Firestore." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleDatastoreAdminV1MigrationStateEvent": { + "description": "An event signifying a change in state of a [migration from Cloud Datastore to Cloud Firestore in Datastore mode](https://cloud.google.com/datastore/docs/upgrade-to-firestore).", + "id": "GoogleDatastoreAdminV1MigrationStateEvent", + "properties": { + "state": { + "description": "The new state of the migration.", + "enum": [ + "MIGRATION_STATE_UNSPECIFIED", + "RUNNING", + "PAUSED", + "COMPLETE" + ], + "enumDescriptions": [ + "Unspecified.", + "The migration is running.", + "The migration is paused.", + "The migration is complete." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleDatastoreAdminV1PrepareStepDetails": { + "description": "Details for the `PREPARE` step.", + "id": "GoogleDatastoreAdminV1PrepareStepDetails", + "properties": { + "concurrencyMode": { + "description": "The concurrency mode this database will use when it reaches the `REDIRECT_WRITES` step.", + "enum": [ + "CONCURRENCY_MODE_UNSPECIFIED", + "PESSIMISTIC", + "OPTIMISTIC", + "OPTIMISTIC_WITH_ENTITY_GROUPS" + ], + "enumDescriptions": [ + "Unspecified.", + "Pessimistic concurrency.", + "Optimistic concurrency.", + "Optimistic concurrency with entity groups." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleDatastoreAdminV1Progress": { "description": "Measures the progress of a particular metric.", "id": "GoogleDatastoreAdminV1Progress", @@ -358,6 +491,29 @@ }, "type": "object" }, + "GoogleDatastoreAdminV1RedirectWritesStepDetails": { + "description": "Details for the `REDIRECT_WRITES` step.", + "id": "GoogleDatastoreAdminV1RedirectWritesStepDetails", + "properties": { + "concurrencyMode": { + "description": "Ths concurrency mode for this database.", + "enum": [ + "CONCURRENCY_MODE_UNSPECIFIED", + "PESSIMISTIC", + "OPTIMISTIC", + "OPTIMISTIC_WITH_ENTITY_GROUPS" + ], + "enumDescriptions": [ + "Unspecified.", + "Pessimistic concurrency.", + "Optimistic concurrency.", + "Optimistic concurrency with entity groups." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleDatastoreAdminV1beta1CommonMetadata": { "description": "Metadata common to all Datastore Admin operations.", "id": "GoogleDatastoreAdminV1beta1CommonMetadata", diff --git a/etc/api/datastore/v1beta3/datastore-api.json b/etc/api/datastore/v1beta3/datastore-api.json index 5ac98deef6..3859534569 100644 --- a/etc/api/datastore/v1beta3/datastore-api.json +++ b/etc/api/datastore/v1beta3/datastore-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "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" @@ -17,6 +17,7 @@ "description": "Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application. ", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/datastore/", + "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" @@ -307,7 +308,7 @@ } } }, - "revision": "20210317", + "revision": "20220221", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "AllocateIdsRequest": { @@ -573,6 +574,53 @@ }, "type": "object" }, + "GoogleDatastoreAdminV1DatastoreFirestoreMigrationMetadata": { + "description": "Metadata for Datastore to Firestore migration operations. The DatastoreFirestoreMigration operation is not started by the end-user via an explicit \"creation\" method. This is an intentional deviation from the LRO design pattern. This singleton resource can be accessed at: \"projects/{project_id}/operations/datastore-firestore-migration\"", + "id": "GoogleDatastoreAdminV1DatastoreFirestoreMigrationMetadata", + "properties": { + "migrationState": { + "description": "The current state of migration from Cloud Datastore to Cloud Firestore in Datastore mode.", + "enum": [ + "MIGRATION_STATE_UNSPECIFIED", + "RUNNING", + "PAUSED", + "COMPLETE" + ], + "enumDescriptions": [ + "Unspecified.", + "The migration is running.", + "The migration is paused.", + "The migration is complete." + ], + "type": "string" + }, + "migrationStep": { + "description": "The current step of migration from Cloud Datastore to Cloud Firestore in Datastore mode.", + "enum": [ + "MIGRATION_STEP_UNSPECIFIED", + "PREPARE", + "START", + "APPLY_WRITES_SYNCHRONOUSLY", + "COPY_AND_VERIFY", + "REDIRECT_EVENTUALLY_CONSISTENT_READS", + "REDIRECT_STRONGLY_CONSISTENT_READS", + "REDIRECT_WRITES" + ], + "enumDescriptions": [ + "Unspecified.", + "Pre-migration: the database is prepared for migration.", + "Start of migration.", + "Writes are applied synchronously to at least one replica.", + "Data is copied to Cloud Firestore and then verified to match the data in Cloud Datastore.", + "Eventually-consistent reads are redirected to Cloud Firestore.", + "Strongly-consistent reads are redirected to Cloud Firestore.", + "Writes are redirected to Cloud Firestore." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleDatastoreAdminV1EntityFilter": { "description": "Identifies a subset of entities in a project. This is specified as combinations of kinds and namespaces (either or both of which may be all, as described in the following examples). Example usage: Entire project: kinds=[], namespace_ids=[] Kinds Foo and Bar in all namespaces: kinds=['Foo', 'Bar'], namespace_ids=[] Kinds Foo and Bar only in the default namespace: kinds=['Foo', 'Bar'], namespace_ids=[''] Kinds Foo and Bar in both the default and Baz namespaces: kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz'] The entire Baz namespace: kinds=[], namespace_ids=['Baz']", "id": "GoogleDatastoreAdminV1EntityFilter", @@ -678,6 +726,91 @@ }, "type": "object" }, + "GoogleDatastoreAdminV1MigrationProgressEvent": { + "description": "An event signifying the start of a new step in a [migration from Cloud Datastore to Cloud Firestore in Datastore mode](https://cloud.google.com/datastore/docs/upgrade-to-firestore).", + "id": "GoogleDatastoreAdminV1MigrationProgressEvent", + "properties": { + "prepareStepDetails": { + "$ref": "GoogleDatastoreAdminV1PrepareStepDetails", + "description": "Details for the `PREPARE` step." + }, + "redirectWritesStepDetails": { + "$ref": "GoogleDatastoreAdminV1RedirectWritesStepDetails", + "description": "Details for the `REDIRECT_WRITES` step." + }, + "step": { + "description": "The step that is starting. An event with step set to `START` indicates that the migration has been reverted back to the initial pre-migration state.", + "enum": [ + "MIGRATION_STEP_UNSPECIFIED", + "PREPARE", + "START", + "APPLY_WRITES_SYNCHRONOUSLY", + "COPY_AND_VERIFY", + "REDIRECT_EVENTUALLY_CONSISTENT_READS", + "REDIRECT_STRONGLY_CONSISTENT_READS", + "REDIRECT_WRITES" + ], + "enumDescriptions": [ + "Unspecified.", + "Pre-migration: the database is prepared for migration.", + "Start of migration.", + "Writes are applied synchronously to at least one replica.", + "Data is copied to Cloud Firestore and then verified to match the data in Cloud Datastore.", + "Eventually-consistent reads are redirected to Cloud Firestore.", + "Strongly-consistent reads are redirected to Cloud Firestore.", + "Writes are redirected to Cloud Firestore." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleDatastoreAdminV1MigrationStateEvent": { + "description": "An event signifying a change in state of a [migration from Cloud Datastore to Cloud Firestore in Datastore mode](https://cloud.google.com/datastore/docs/upgrade-to-firestore).", + "id": "GoogleDatastoreAdminV1MigrationStateEvent", + "properties": { + "state": { + "description": "The new state of the migration.", + "enum": [ + "MIGRATION_STATE_UNSPECIFIED", + "RUNNING", + "PAUSED", + "COMPLETE" + ], + "enumDescriptions": [ + "Unspecified.", + "The migration is running.", + "The migration is paused.", + "The migration is complete." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleDatastoreAdminV1PrepareStepDetails": { + "description": "Details for the `PREPARE` step.", + "id": "GoogleDatastoreAdminV1PrepareStepDetails", + "properties": { + "concurrencyMode": { + "description": "The concurrency mode this database will use when it reaches the `REDIRECT_WRITES` step.", + "enum": [ + "CONCURRENCY_MODE_UNSPECIFIED", + "PESSIMISTIC", + "OPTIMISTIC", + "OPTIMISTIC_WITH_ENTITY_GROUPS" + ], + "enumDescriptions": [ + "Unspecified.", + "Pessimistic concurrency.", + "Optimistic concurrency.", + "Optimistic concurrency with entity groups." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleDatastoreAdminV1Progress": { "description": "Measures the progress of a particular metric.", "id": "GoogleDatastoreAdminV1Progress", @@ -695,6 +828,29 @@ }, "type": "object" }, + "GoogleDatastoreAdminV1RedirectWritesStepDetails": { + "description": "Details for the `REDIRECT_WRITES` step.", + "id": "GoogleDatastoreAdminV1RedirectWritesStepDetails", + "properties": { + "concurrencyMode": { + "description": "Ths concurrency mode for this database.", + "enum": [ + "CONCURRENCY_MODE_UNSPECIFIED", + "PESSIMISTIC", + "OPTIMISTIC", + "OPTIMISTIC_WITH_ENTITY_GROUPS" + ], + "enumDescriptions": [ + "Unspecified.", + "Pessimistic concurrency.", + "Optimistic concurrency.", + "Optimistic concurrency with entity groups." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleDatastoreAdminV1beta1CommonMetadata": { "description": "Metadata common to all Datastore Admin operations.", "id": "GoogleDatastoreAdminV1beta1CommonMetadata", @@ -935,7 +1091,7 @@ "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 must conform to the WGS84 standard. Values must be within normalized ranges.", + "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": { @@ -1108,12 +1264,12 @@ ], "enumDescriptions": [ "Unspecified. This value must not be used.", - "Less than.", - "Less than or equal.", - "Greater than.", - "Greater than or equal.", - "Equal.", - "Has ancestor." + "The given `property` is less than the given `value`. Requires: * That `property` comes first in `order_by`.", + "The given `property` is less than or equal to the given `value`. Requires: * That `property` comes first in `order_by`.", + "The given `property` is greater than the given `value`. Requires: * That `property` comes first in `order_by`.", + "The given `property` is greater than or equal to the given `value`. Requires: * That `property` comes first in `order_by`.", + "The given `property` is equal to the given `value`.", + "Limit the result set to the given entity and its descendants. Requires: * That `value` is an entity key." ], "type": "string" }, diff --git a/etc/api/datastream/v1/datastream-api.json b/etc/api/datastream/v1/datastream-api.json new file mode 100644 index 0000000000..dea3c7f7ed --- /dev/null +++ b/etc/api/datastream/v1/datastream-api.json @@ -0,0 +1,2690 @@ +{ + "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. 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`. 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": "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": { + "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. 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" + ] + } + }, + "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": "20220207", + "rootUrl": "https://datastream.googleapis.com/", + "schemas": { + "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." + } + }, + "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": "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." + ], + "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" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "ConnectionProfile": { + "description": "A set of reusable connection configurations to be used as a source or destination for a stream.", + "id": "ConnectionProfile", + "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" + }, + "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. The resource's name.", + "readOnly": true, + "type": "string" + }, + "oracleProfile": { + "$ref": "OracleProfile", + "description": "Oracle ConnectionProfile configuration." + }, + "privateConnectivity": { + "$ref": "PrivateConnectivity", + "description": "Private connectivity." + }, + "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" + }, + "DestinationConfig": { + "description": "The configuration of the stream destination.", + "id": "DestinationConfig", + "properties": { + "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." + } + }, + "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." + } + }, + "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" + }, + "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.", + "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" + }, + "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 Google Cloud Platform 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" + }, + "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" + }, + "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" + }, + "primaryKey": { + "description": "Whether or not the column represents a primary key.", + "type": "boolean" + } + }, + "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" + }, + "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.", + "id": "MysqlProfile", + "properties": { + "hostname": { + "description": "Required. Hostname for the MySQL connection.", + "type": "string" + }, + "password": { + "description": "Required. Input only. Password for the MySQL connection.", + "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": { + "excludeObjects": { + "$ref": "MysqlRdbms", + "description": "MySQL objects to exclude from the stream." + }, + "includeObjects": { + "$ref": "MysqlRdbms", + "description": "MySQL objects to retrieve from the source." + } + }, + "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 lists, includes/excludes everything.", + "items": { + "$ref": "MysqlColumn" + }, + "type": "array" + }, + "table": { + "description": "Table name.", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal 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" + }, + "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" + }, + "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" + }, + "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.", + "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" + }, + "password": { + "description": "Required. Password for the Oracle connection.", + "type": "string" + }, + "port": { + "description": "Port for the Oracle connection, default value is 1521.", + "format": "int32", + "type": "integer" + }, + "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" + }, + "OracleSourceConfig": { + "description": "Oracle data source configuration", + "id": "OracleSourceConfig", + "properties": { + "excludeObjects": { + "$ref": "OracleRdbms", + "description": "Oracle objects to exclude from the stream." + }, + "includeObjects": { + "$ref": "OracleRdbms", + "description": "Oracle objects to include in the stream." + } + }, + "type": "object" + }, + "OracleTable": { + "description": "Oracle table.", + "id": "OracleTable", + "properties": { + "oracleColumns": { + "description": "Oracle columns in the schema. When unspecified as part of inclue/exclude lists, includes/excludes everything.", + "items": { + "$ref": "OracleColumn" + }, + "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. 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. 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" + }, + "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" + }, + "sourceConnectionProfile": { + "description": "Required. Source connection profile resoource. Format: `projects/{project}/locations/{location}/connectionProfiles/{name}`", + "type": "string" + } + }, + "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." + } + }, + "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.", + "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" + }, + "name": { + "description": "Output only. 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" + }, + "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. 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": "Validation execution status.", + "enum": [ + "STATE_UNSPECIFIED", + "NOT_EXECUTED", + "FAILED", + "PASSED" + ], + "enumDescriptions": [ + "Unspecified state.", + "Validation did not execute.", + "Validation failed.", + "Validation passed." + ], + "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) TODO(b/172995841) add validators.", + "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/etc/api/datastream/v1alpha1/datastream-api.json b/etc/api/datastream/v1alpha1/datastream-api.json new file mode 100644 index 0000000000..28a1add4f3 --- /dev/null +++ b/etc/api/datastream/v1alpha1/datastream-api.json @@ -0,0 +1,2680 @@ +{ + "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:v1alpha1", + "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": "v1alpha1/projects/{projectsId}/locations/{locationsId}:fetchStaticIps", + "httpMethod": "GET", + "id": "datastream.projects.locations.fetchStaticIps", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name resource of the Response type. 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": "v1alpha1/{+name}:fetchStaticIps", + "response": { + "$ref": "FetchStaticIpsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets information about a location.", + "flatPath": "v1alpha1/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": "v1alpha1/{+name}", + "response": { + "$ref": "Location" + }, + "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": "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": "v1alpha1/{+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": "v1alpha1/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" + }, + "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" + } + }, + "path": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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 under a parent data object that's optionally supplied in the request.", + "flatPath": "v1alpha1/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 ConnectionProfile type. Must be in the format `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/projects/{projectsId}/locations/{locationsId}/connectionProfiles/{connectionProfilesId}", + "httpMethod": "PATCH", + "id": "datastream.projects.locations.connectionProfiles.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. 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 do not update any resources. The default is false.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1alpha1/{+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": "v1alpha1/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": "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": "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": "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": "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": "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`. 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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/projects/{projectsId}/locations/{locationsId}/privateConnections", + "httpMethod": "POST", + "id": "datastream.projects.locations.privateConnections.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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 in a project and location.", + "flatPath": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Use this method to get details about a route.", + "flatPath": "v1alpha1/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": "v1alpha1/{+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 in a project and location.", + "flatPath": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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 do not create any resources. The default is false.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "fetchErrors": { + "description": "Use this method to fetch any errors associated with a stream.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/streams/{streamsId}:fetchErrors", + "httpMethod": "POST", + "id": "datastream.projects.locations.streams.fetchErrors", + "parameterOrder": [ + "stream" + ], + "parameters": { + "stream": { + "description": "Name of the Stream resource for which to fetch any errors.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/streams/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+stream}:fetchErrors", + "request": { + "$ref": "FetchErrorsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Use this method to get details about a stream.", + "flatPath": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/projects/{projectsId}/locations/{locationsId}/streams/{streamsId}", + "httpMethod": "PATCH", + "id": "datastream.projects.locations.streams.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "Optional. Execute the update without validating it.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Output only. 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": "v1alpha1/{+name}", + "request": { + "$ref": "Stream" + }, + "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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+parent}/objects", + "response": { + "$ref": "ListStreamObjectsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "startBackfillJob": { + "description": "Starts backfill job for the specified stream object.", + "flatPath": "v1alpha1/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": "v1alpha1/{+object}:startBackfillJob", + "response": { + "$ref": "StartBackfillJobResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "stopBackfillJob": { + "description": "Stops the backfill job for the specified stream object.", + "flatPath": "v1alpha1/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": "v1alpha1/{+object}:stopBackfillJob", + "response": { + "$ref": "StopBackfillJobResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20220207", + "rootUrl": "https://datastream.googleapis.com/", + "schemas": { + "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." + } + }, + "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": "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." + ], + "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" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "ConnectionProfile": { + "id": "ConnectionProfile", + "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" + }, + "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. The resource's name.", + "readOnly": true, + "type": "string" + }, + "noConnectivity": { + "$ref": "NoConnectivitySettings", + "description": "No connectivity option chosen." + }, + "oracleProfile": { + "$ref": "OracleProfile", + "description": "Oracle ConnectionProfile configuration." + }, + "privateConnectivity": { + "$ref": "PrivateConnectivity", + "description": "Private connectivity." + }, + "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" + }, + "DestinationConfig": { + "description": "The configuration of the stream destination.", + "id": "DestinationConfig", + "properties": { + "destinationConnectionProfileName": { + "description": "Required. Destination connection profile identifier.", + "type": "string" + }, + "gcsDestinationConfig": { + "$ref": "GcsDestinationConfig", + "description": "GCS destination configuration." + } + }, + "type": "object" + }, + "DiscoverConnectionProfileRequest": { + "description": "Request message for 'discover' ConnectionProfile request.", + "id": "DiscoverConnectionProfileRequest", + "properties": { + "connectionProfile": { + "$ref": "ConnectionProfile", + "description": "An ad-hoc ConnectionProfile configuration." + }, + "connectionProfileName": { + "description": "A reference to an existing ConnectionProfile.", + "type": "string" + }, + "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." + }, + "recursionDepth": { + "description": "The number of hierarchy levels below the current level to be retrieved.", + "format": "int32", + "type": "integer" + }, + "recursive": { + "description": "Whether to retrieve the full hierarchy of data objects (TRUE) or only the current level (FALSE).", + "type": "boolean" + } + }, + "type": "object" + }, + "DiscoverConnectionProfileResponse": { + "id": "DiscoverConnectionProfileResponse", + "properties": { + "mysqlRdbms": { + "$ref": "MysqlRdbms", + "description": "Enriched MySQL RDBMS object." + }, + "oracleRdbms": { + "$ref": "OracleRdbms", + "description": "Enriched Oracle RDBMS 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); } The JSON representation for `Empty` is empty JSON object `{}`.", + "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" + }, + "FetchErrorsRequest": { + "description": "Request message for 'FetchErrors' request.", + "id": "FetchErrorsRequest", + "properties": {}, + "type": "object" + }, + "FetchErrorsResponse": { + "description": "Response message for a 'FetchErrors' response.", + "id": "FetchErrorsResponse", + "properties": { + "errors": { + "description": "The list of errors on the Stream.", + "items": { + "$ref": "Error" + }, + "type": "array" + } + }, + "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.", + "format": "google-duration", + "type": "string" + }, + "fileRotationMb": { + "description": "The maximum file size to be saved in the bucket.", + "format": "int32", + "type": "integer" + }, + "gcsFileFormat": { + "description": "File format that data should be written in. Deprecated field (b/169501737) - use file_format instead.", + "enum": [ + "GCS_FILE_FORMAT_UNSPECIFIED", + "AVRO" + ], + "enumDescriptions": [ + "Unspecified Cloud Storage file format.", + "Avro file format" + ], + "type": "string" + }, + "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": { + "bucketName": { + "description": "Required. The full project and resource path for Cloud Storage bucket including the name.", + "type": "string" + }, + "rootPath": { + "description": "The root path inside the Cloud Storage bucket.", + "type": "string" + } + }, + "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": { + "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": { + "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": { + "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 Google Cloud Platform 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" + }, + "MysqlColumn": { + "description": "MySQL Column.", + "id": "MysqlColumn", + "properties": { + "collation": { + "description": "Column collation.", + "type": "string" + }, + "columnName": { + "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" + }, + "primaryKey": { + "description": "Whether or not the column represents a primary key.", + "type": "boolean" + } + }, + "type": "object" + }, + "MysqlDatabase": { + "description": "MySQL database.", + "id": "MysqlDatabase", + "properties": { + "databaseName": { + "description": "Database name.", + "type": "string" + }, + "mysqlTables": { + "description": "Tables in the database.", + "items": { + "$ref": "MysqlTable" + }, + "type": "array" + } + }, + "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.", + "id": "MysqlProfile", + "properties": { + "hostname": { + "description": "Required. Hostname for the MySQL connection.", + "type": "string" + }, + "password": { + "description": "Required. Input only. Password for the MySQL connection.", + "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": { + "allowlist": { + "$ref": "MysqlRdbms", + "description": "MySQL objects to retrieve from the source." + }, + "rejectlist": { + "$ref": "MysqlRdbms", + "description": "MySQL objects to exclude from the stream." + } + }, + "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 lists, includes/excludes everything.", + "items": { + "$ref": "MysqlColumn" + }, + "type": "array" + }, + "tableName": { + "description": "Table name.", + "type": "string" + } + }, + "type": "object" + }, + "NoConnectivitySettings": { + "description": "No connectivity settings.", + "id": "NoConnectivitySettings", + "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 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" + }, + "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" + }, + "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" + }, + "OracleColumn": { + "description": "Oracle Column.", + "id": "OracleColumn", + "properties": { + "columnName": { + "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.", + "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" + }, + "password": { + "description": "Required. Password for the Oracle connection.", + "type": "string" + }, + "port": { + "description": "Port for the Oracle connection, default value is 1521.", + "format": "int32", + "type": "integer" + }, + "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" + }, + "schemaName": { + "description": "Schema name.", + "type": "string" + } + }, + "type": "object" + }, + "OracleSourceConfig": { + "description": "Oracle data source configuration", + "id": "OracleSourceConfig", + "properties": { + "allowlist": { + "$ref": "OracleRdbms", + "description": "Oracle objects to include in the stream." + }, + "rejectlist": { + "$ref": "OracleRdbms", + "description": "Oracle objects to exclude from the stream." + } + }, + "type": "object" + }, + "OracleTable": { + "description": "Oracle table.", + "id": "OracleTable", + "properties": { + "oracleColumns": { + "description": "Oracle columns in the schema. When unspecified as part of inclue/exclude lists, includes/excludes everything.", + "items": { + "$ref": "OracleColumn" + }, + "type": "array" + }, + "tableName": { + "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. 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": [ + "", + "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": { + "privateConnectionName": { + "type": "string" + } + }, + "type": "object" + }, + "Route": { + "description": "The Route resource is the child of the PrivateConnection resource. It used to define a route for a PrivateConnection setup.", + "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. 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" + }, + "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" + }, + "sourceConnectionProfileName": { + "description": "Required. Source connection profile identifier.", + "type": "string" + } + }, + "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." + } + }, + "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.", + "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" + }, + "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": { + "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" + }, + "name": { + "description": "Output only. 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", + "CREATED", + "RUNNING", + "PAUSED", + "MAINTENANCE", + "FAILED", + "FAILED_PERMANENTLY", + "STARTING", + "DRAINING" + ], + "enumDescriptions": [ + "Unspecified stream state.", + "The stream has been created.", + "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" + }, + "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. The object'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": { + "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" + }, + "status": { + "description": "Validation execution status.", + "enum": [ + "STATUS_UNSPECIFIED", + "NOT_EXECUTED", + "FAILED", + "PASSED" + ], + "enumDescriptions": [ + "Unspecified status.", + "Validation did not execute.", + "Validation failed.", + "Validation passed." + ], + "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) TODO(b/172995841) add validators.", + "type": "string" + }, + "vpcName": { + "description": "Required. fully qualified name of the VPC Datastream will peer to.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Datastream API", + "version": "v1alpha1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/deploymentmanager/alpha/deploymentmanager-api.json b/etc/api/deploymentmanager/alpha/deploymentmanager-api.json index a693ec35ae..95a66eaa84 100644 --- a/etc/api/deploymentmanager/alpha/deploymentmanager-api.json +++ b/etc/api/deploymentmanager/alpha/deploymentmanager-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "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" @@ -224,7 +224,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -563,7 +563,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -927,7 +927,7 @@ "type": "string" }, "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1017,7 +1017,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1123,7 +1123,7 @@ "type": "string" }, "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1320,7 +1320,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1372,7 +1372,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1544,7 +1544,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1588,7 +1588,7 @@ } } }, - "revision": "20210320", + "revision": "20220225", "rootUrl": "https://deploymentmanager.googleapis.com/", "schemas": { "AsyncOptions": { @@ -1694,22 +1694,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -2523,7 +2523,7 @@ "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/).", + "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": { @@ -2534,7 +2534,7 @@ "type": "array" }, "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.", + "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" }, diff --git a/etc/api/deploymentmanager/v2/deploymentmanager-api.json b/etc/api/deploymentmanager/v2/deploymentmanager-api.json index 23e835cb2a..41d6f94933 100644 --- a/etc/api/deploymentmanager/v2/deploymentmanager-api.json +++ b/etc/api/deploymentmanager/v2/deploymentmanager-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "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" @@ -333,7 +333,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -693,7 +693,7 @@ "type": "string" }, "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -783,7 +783,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -889,7 +889,7 @@ "type": "string" }, "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -944,7 +944,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -988,7 +988,7 @@ } } }, - "revision": "20210320", + "revision": "20220225", "rootUrl": "https://deploymentmanager.googleapis.com/", "schemas": { "AuditConfig": { @@ -1040,22 +1040,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -1592,7 +1592,7 @@ "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/).", + "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": { @@ -1603,7 +1603,7 @@ "type": "array" }, "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.", + "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" }, diff --git a/etc/api/deploymentmanager/v2beta/deploymentmanager-api.json b/etc/api/deploymentmanager/v2beta/deploymentmanager-api.json index 18086905ae..ef164086b7 100644 --- a/etc/api/deploymentmanager/v2beta/deploymentmanager-api.json +++ b/etc/api/deploymentmanager/v2beta/deploymentmanager-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "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" @@ -224,7 +224,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -563,7 +563,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -927,7 +927,7 @@ "type": "string" }, "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1017,7 +1017,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1123,7 +1123,7 @@ "type": "string" }, "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1320,7 +1320,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1372,7 +1372,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1508,7 +1508,7 @@ ], "parameters": { "filter": { - "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison 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`. 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) ```", + "description": "A filter expression that filters resources listed in the response. The 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. 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) ```", "location": "query", "type": "string" }, @@ -1552,7 +1552,7 @@ } } }, - "revision": "20210320", + "revision": "20220225", "rootUrl": "https://deploymentmanager.googleapis.com/", "schemas": { "AsyncOptions": { @@ -1658,22 +1658,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -2426,7 +2426,7 @@ "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/).", + "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": { @@ -2437,7 +2437,7 @@ "type": "array" }, "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.", + "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" }, diff --git a/etc/api/dfareporting/v3.3/dfareporting-api.json b/etc/api/dfareporting/v3.3/dfareporting-api.json index e7b0303acf..f2a051c7ce 100644 --- a/etc/api/dfareporting/v3.3/dfareporting-api.json +++ b/etc/api/dfareporting/v3.3/dfareporting-api.json @@ -21,6 +21,7 @@ "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" @@ -6807,7 +6808,8 @@ "PLACEMENT_TAG_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4" + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4", + "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT" ], "enumDescriptions": [ "", @@ -6828,6 +6830,7 @@ "", "", "", + "", "" ], "location": "query", @@ -9638,7 +9641,7 @@ } } }, - "revision": "20210210", + "revision": "20220104", "rootUrl": "https://dfareporting.googleapis.com/", "schemas": { "Account": { @@ -11261,7 +11264,7 @@ "type": "boolean" }, "customVariables": { - "description": "Custom floodlight variables.", + "description": "Custom floodlight variables. This field may only be used when calling batchinsert; it is not supported by batchupdate.", "items": { "$ref": "CustomFloodlightVariable" }, @@ -12815,7 +12818,8 @@ "HTML5_FEATURE_UNSUPPORTED", "CLICK_TAG_IN_GWD", "CLICK_TAG_HARD_CODED", - "SVG_INVALID" + "SVG_INVALID", + "CLICK_TAG_IN_RICH_MEDIA" ], "enumDescriptions": [ "", @@ -12841,6 +12845,7 @@ "", "", "", + "", "" ], "type": "string" @@ -13405,7 +13410,7 @@ "type": "object" }, "CustomFloodlightVariable": { - "description": "A custom floodlight variable.", + "description": "A custom floodlight variable. This field may only be used when calling batchinsert; it is not supported by batchupdate.", "id": "CustomFloodlightVariable", "properties": { "kind": { @@ -16698,7 +16703,8 @@ "PLACEMENT_TAG_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4" + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4", + "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT" ], "enumDescriptions": [ "", @@ -16719,6 +16725,7 @@ "", "", "", + "", "" ], "type": "string" @@ -18917,7 +18924,8 @@ "PLACEMENT_TAG_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4" + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4", + "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT" ], "enumDescriptions": [ "", @@ -18938,6 +18946,7 @@ "", "", "", + "", "" ], "type": "string" @@ -19735,13 +19744,15 @@ "ACCOUNT_BY_DEFAULT", "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT", "ACCOUNT_ALWAYS", - "SUBACCOUNT_AND_ACCOUNT_ALWAYS" + "SUBACCOUNT_AND_ACCOUNT_ALWAYS", + "USER_PROFILE_ONLY" ], "enumDescriptions": [ "", "", "", "", + "", "" ], "type": "string" diff --git a/etc/api/dfareporting/v3.4/dfareporting-api.json b/etc/api/dfareporting/v3.4/dfareporting-api.json index f74e2cedb8..6436437d52 100644 --- a/etc/api/dfareporting/v3.4/dfareporting-api.json +++ b/etc/api/dfareporting/v3.4/dfareporting-api.json @@ -21,6 +21,7 @@ "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" @@ -6839,7 +6840,8 @@ "PLACEMENT_TAG_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4" + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4", + "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT" ], "enumDescriptions": [ "", @@ -6860,6 +6862,7 @@ "", "", "", + "", "" ], "location": "query", @@ -9670,7 +9673,7 @@ } } }, - "revision": "20210210", + "revision": "20220104", "rootUrl": "https://dfareporting.googleapis.com/", "schemas": { "Account": { @@ -11385,7 +11388,7 @@ "type": "boolean" }, "customVariables": { - "description": "Custom floodlight variables.", + "description": "Custom floodlight variables. This field may only be used when calling batchinsert; it is not supported by batchupdate.", "items": { "$ref": "CustomFloodlightVariable" }, @@ -12972,7 +12975,8 @@ "HTML5_FEATURE_UNSUPPORTED", "CLICK_TAG_IN_GWD", "CLICK_TAG_HARD_CODED", - "SVG_INVALID" + "SVG_INVALID", + "CLICK_TAG_IN_RICH_MEDIA" ], "enumDescriptions": [ "", @@ -12998,6 +13002,7 @@ "", "", "", + "", "" ], "type": "string" @@ -13786,7 +13791,7 @@ "type": "object" }, "CustomFloodlightVariable": { - "description": "A custom floodlight variable.", + "description": "A custom floodlight variable. This field may only be used when calling batchinsert; it is not supported by batchupdate.", "id": "CustomFloodlightVariable", "properties": { "kind": { @@ -17337,7 +17342,8 @@ "PLACEMENT_TAG_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4" + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4", + "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT" ], "enumDescriptions": [ "", @@ -17358,6 +17364,7 @@ "", "", "", + "", "" ], "type": "string" @@ -19656,7 +19663,8 @@ "PLACEMENT_TAG_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4" + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4", + "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT" ], "enumDescriptions": [ "", @@ -19677,6 +19685,7 @@ "", "", "", + "", "" ], "type": "string" @@ -20474,13 +20483,15 @@ "ACCOUNT_BY_DEFAULT", "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT", "ACCOUNT_ALWAYS", - "SUBACCOUNT_AND_ACCOUNT_ALWAYS" + "SUBACCOUNT_AND_ACCOUNT_ALWAYS", + "USER_PROFILE_ONLY" ], "enumDescriptions": [ "", "", "", "", + "", "" ], "type": "string" diff --git a/etc/api/dfareporting/v3.5/dfareporting-api.json b/etc/api/dfareporting/v3.5/dfareporting-api.json new file mode 100644 index 0000000000..ecb822d8b8 --- /dev/null +++ b/etc/api/dfareporting/v3.5/dfareporting-api.json @@ -0,0 +1,20546 @@ +{ + "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": "", + "baseUrl": "https://dfareporting.googleapis.com/", + "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.5", + "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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/accountPermissionGroups/{id}", + "response": { + "$ref": "AccountPermissionGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves the list of account permission groups.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/accountPermissionGroups", + "response": { + "$ref": "AccountPermissionGroupsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "accountPermissions": { + "methods": { + "get": { + "description": "Gets one account permission by ID.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/accountPermissions/{id}", + "response": { + "$ref": "AccountPermission" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves the list of account permissions.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/accountUserProfiles/{id}", + "response": { + "$ref": "AccountUserProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new account user profile.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/accounts", + "request": { + "$ref": "Account" + }, + "response": { + "$ref": "Account" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing account.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/ads/{id}", + "response": { + "$ref": "Ad" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new ad.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/ads", + "request": { + "$ref": "Ad" + }, + "response": { + "$ref": "Ad" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing ad.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/advertiserGroups/{id}", + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "description": "Gets one advertiser group by ID.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/advertiserGroups/{id}", + "response": { + "$ref": "AdvertiserGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new advertiser group.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/advertiserGroups", + "request": { + "$ref": "AdvertiserGroup" + }, + "response": { + "$ref": "AdvertiserGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing advertiser group.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/advertiserLandingPages/{id}", + "response": { + "$ref": "LandingPage" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new landing page.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/advertiserLandingPages", + "request": { + "$ref": "LandingPage" + }, + "response": { + "$ref": "LandingPage" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing landing page.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/advertisers/{id}", + "response": { + "$ref": "Advertiser" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new advertiser.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/advertisers", + "request": { + "$ref": "Advertiser" + }, + "response": { + "$ref": "Advertiser" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing advertiser.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/campaigns/{id}", + "response": { + "$ref": "Campaign" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new campaign.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/campaigns", + "request": { + "$ref": "Campaign" + }, + "response": { + "$ref": "Campaign" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing campaign.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/cities", + "response": { + "$ref": "CitiesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "connectionTypes": { + "methods": { + "get": { + "description": "Gets one connection type by ID.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/connectionTypes/{id}", + "response": { + "$ref": "ConnectionType" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of connection types.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/connectionTypes", + "response": { + "$ref": "ConnectionTypesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "contentCategories": { + "methods": { + "delete": { + "description": "Deletes an existing content category.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/contentCategories/{id}", + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "description": "Gets one content category by ID.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/contentCategories/{id}", + "response": { + "$ref": "ContentCategory" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new content category.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/contentCategories", + "request": { + "$ref": "ContentCategory" + }, + "response": { + "$ref": "ContentCategory" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing content category.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/contentCategories", + "request": { + "$ref": "ContentCategory" + }, + "response": { + "$ref": "ContentCategory" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "conversions": { + "methods": { + "batchinsert": { + "description": "Inserts conversions.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/conversions/batchinsert", + "request": { + "$ref": "ConversionsBatchInsertRequest" + }, + "response": { + "$ref": "ConversionsBatchInsertResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ddmconversions" + ] + }, + "batchupdate": { + "description": "Updates existing conversions.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/countries/{dartId}", + "response": { + "$ref": "Country" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of countries.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/countries", + "response": { + "$ref": "CountriesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "creativeAssets": { + "methods": { + "insert": { + "description": "Inserts a new creative asset.", + "flatPath": "dfareporting/v3.5/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets", + "httpMethod": "POST", + "id": "dfareporting.creativeAssets.insert", + "mediaUpload": { + "accept": [ + "*/*" + ], + "maxSize": "1073741824", + "protocols": { + "simple": { + "multipart": true, + "path": "/upload/dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}", + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "description": "Gets one creative field value by ID.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/creativeFields/{id}", + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "description": "Gets one creative field by ID.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/creativeFields/{id}", + "response": { + "$ref": "CreativeField" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new creative field.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/creativeFields", + "request": { + "$ref": "CreativeField" + }, + "response": { + "$ref": "CreativeField" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing creative field.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/creativeGroups/{id}", + "response": { + "$ref": "CreativeGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new creative group.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/creativeGroups", + "request": { + "$ref": "CreativeGroup" + }, + "response": { + "$ref": "CreativeGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing creative group.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/creatives/{id}", + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new creative.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/creatives", + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing creative.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/creatives", + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "dimensionValues": { + "methods": { + "query": { + "description": "Retrieves list of report dimension values for a list of filters.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/directorySites/{id}", + "response": { + "$ref": "DirectorySite" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new directory site.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/directorySites", + "response": { + "$ref": "DirectorySitesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "dynamicTargetingKeys": { + "methods": { + "delete": { + "description": "Deletes an existing dynamic targeting key.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/dynamicTargetingKeys", + "response": { + "$ref": "DynamicTargetingKeysListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "eventTags": { + "methods": { + "delete": { + "description": "Deletes an existing event tag.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/eventTags/{id}", + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "description": "Gets one event tag by ID.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/eventTags/{id}", + "response": { + "$ref": "EventTag" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new event tag.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/eventTags", + "request": { + "$ref": "EventTag" + }, + "response": { + "$ref": "EventTag" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing event tag.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/files", + "response": { + "$ref": "FileList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + } + } + }, + "floodlightActivities": { + "methods": { + "delete": { + "description": "Deletes an existing floodlight activity.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/floodlightActivities/{id}", + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "generatetag": { + "description": "Generates a tag for a floodlight activity.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/floodlightActivities/generatetag", + "response": { + "$ref": "FloodlightActivitiesGenerateTagResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "description": "Gets one floodlight activity by ID.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/floodlightActivities/{id}", + "response": { + "$ref": "FloodlightActivity" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new floodlight activity.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/floodlightActivities", + "request": { + "$ref": "FloodlightActivity" + }, + "response": { + "$ref": "FloodlightActivity" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing floodlight activity.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/floodlightActivityGroups/{id}", + "response": { + "$ref": "FloodlightActivityGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new floodlight activity group.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/floodlightConfigurations", + "request": { + "$ref": "FloodlightConfiguration" + }, + "response": { + "$ref": "FloodlightConfiguration" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing floodlight configuration.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/languages", + "response": { + "$ref": "LanguagesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "metros": { + "methods": { + "list": { + "description": "Retrieves a list of metros.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/metros", + "response": { + "$ref": "MetrosListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "mobileApps": { + "methods": { + "get": { + "description": "Gets one mobile app by ID.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/mobileApps/{id}", + "response": { + "$ref": "MobileApp" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves list of available mobile apps.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/mobileApps", + "response": { + "$ref": "MobileAppsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "mobileCarriers": { + "methods": { + "get": { + "description": "Gets one mobile carrier by ID.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/mobileCarriers/{id}", + "response": { + "$ref": "MobileCarrier" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of mobile carriers.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/operatingSystemVersions/{id}", + "response": { + "$ref": "OperatingSystemVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of operating system versions.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/operatingSystems/{dartId}", + "response": { + "$ref": "OperatingSystem" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of operating systems.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/operatingSystems", + "response": { + "$ref": "OperatingSystemsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "orderDocuments": { + "methods": { + "get": { + "description": "Gets one order document by ID.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/placementGroups/{id}", + "response": { + "$ref": "PlacementGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new placement group.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/placementGroups", + "request": { + "$ref": "PlacementGroup" + }, + "response": { + "$ref": "PlacementGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing placement group.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/placementStrategies/{id}", + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "description": "Gets one placement strategy by ID.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/placementStrategies/{id}", + "response": { + "$ref": "PlacementStrategy" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new placement strategy.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/placementStrategies", + "request": { + "$ref": "PlacementStrategy" + }, + "response": { + "$ref": "PlacementStrategy" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing placement strategy.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/placements/generatetags", + "response": { + "$ref": "PlacementsGenerateTagsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "description": "Gets one placement by ID.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/placements/{id}", + "response": { + "$ref": "Placement" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new placement.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/placements", + "request": { + "$ref": "Placement" + }, + "response": { + "$ref": "Placement" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing placement.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/platformTypes/{id}", + "response": { + "$ref": "PlatformType" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of platform types.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/platformTypes", + "response": { + "$ref": "PlatformTypesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "postalCodes": { + "methods": { + "get": { + "description": "Gets one postal code by ID.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/postalCodes/{code}", + "response": { + "$ref": "PostalCode" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Retrieves a list of postal codes.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/postalCodes", + "response": { + "$ref": "PostalCodesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "projects": { + "methods": { + "get": { + "description": "Gets one project by ID.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/projects", + "response": { + "$ref": "ProjectsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "regions": { + "methods": { + "list": { + "description": "Retrieves a list of regions.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/remarketingLists/{id}", + "response": { + "$ref": "RemarketingList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new remarketing list.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/remarketingLists", + "request": { + "$ref": "RemarketingList" + }, + "response": { + "$ref": "RemarketingList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing remarketing list.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/reports/{reportId}", + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + }, + "get": { + "description": "Retrieves a report by its ID.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/reports/{reportId}", + "response": { + "$ref": "Report" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + }, + "insert": { + "description": "Creates a report.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/reports", + "request": { + "$ref": "Report" + }, + "response": { + "$ref": "Report" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + }, + "list": { + "description": "Retrieves list of reports.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/reports/{reportId}", + "request": { + "$ref": "Report" + }, + "response": { + "$ref": "Report" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + }, + "run": { + "description": "Runs a report.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/reports/{reportId}/run", + "response": { + "$ref": "File" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + }, + "update": { + "description": "Updates a report.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/sites/{id}", + "response": { + "$ref": "Site" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new site.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/sites", + "request": { + "$ref": "Site" + }, + "response": { + "$ref": "Site" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing site.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/sizes/{id}", + "response": { + "$ref": "Size" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new size.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/sizes", + "response": { + "$ref": "SizesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "subaccounts": { + "methods": { + "get": { + "description": "Gets one subaccount by ID.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/subaccounts/{id}", + "response": { + "$ref": "Subaccount" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new subaccount.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/subaccounts", + "request": { + "$ref": "Subaccount" + }, + "response": { + "$ref": "Subaccount" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing subaccount.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/targetableRemarketingLists", + "response": { + "$ref": "TargetableRemarketingListsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "targetingTemplates": { + "methods": { + "get": { + "description": "Gets one targeting template by ID.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/targetingTemplates/{id}", + "response": { + "$ref": "TargetingTemplate" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new targeting template.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/targetingTemplates", + "request": { + "$ref": "TargetingTemplate" + }, + "response": { + "$ref": "TargetingTemplate" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing targeting template.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles", + "httpMethod": "GET", + "id": "dfareporting.userProfiles.list", + "parameterOrder": [], + "parameters": {}, + "path": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/userRolePermissions", + "response": { + "$ref": "UserRolePermissionsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "userRoles": { + "methods": { + "delete": { + "description": "Deletes an existing user role.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/userRoles/{id}", + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "description": "Gets one user role by ID.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/userRoles/{id}", + "response": { + "$ref": "UserRole" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "description": "Inserts a new user role.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/userRoles", + "request": { + "$ref": "UserRole" + }, + "response": { + "$ref": "UserRole" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "description": "Updates an existing user role.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/videoFormats/{id}", + "response": { + "$ref": "VideoFormat" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "description": "Lists available video formats.", + "flatPath": "dfareporting/v3.5/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": "dfareporting/v3.5/userprofiles/{profileId}/videoFormats", + "response": { + "$ref": "VideoFormatsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + } + }, + "revision": "20220104", + "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": { + "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" + } + }, + "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" + }, + "measurementPartnerLink": { + "$ref": "MeasurementPartnerAdvertiserLink", + "description": "Measurement partner advertiser link for tag wrapping." + }, + "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." + }, + "measurementPartnerLink": { + "$ref": "MeasurementPartnerCampaignLink", + "description": "Measurement partner campaign link for tag wrapping." + }, + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "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": [ + "ALLOWLIST", + "BLOCKLIST" + ], + "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" + }, + "MeasurementPartnerAdvertiserLink": { + "id": "MeasurementPartnerAdvertiserLink", + "properties": { + "linkStatus": { + "description": ".", + "enum": [ + "MEASUREMENT_PARTNER_UNLINKED", + "MEASUREMENT_PARTNER_LINKED", + "MEASUREMENT_PARTNER_LINK_PENDING", + "MEASUREMENT_PARTNER_LINK_FAILURE", + "MEASUREMENT_PARTNER_LINK_OPT_OUT", + "MEASUREMENT_PARTNER_LINK_OPT_OUT_PENDING", + "MEASUREMENT_PARTNER_LINK_WRAPPING_PENDING", + "MEASUREMENT_PARTNER_MODE_CHANGE_PENDING" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "measurementPartner": { + "description": "Measurement partner used for tag wrapping.", + "enum": [ + "NONE", + "INTEGRAL_AD_SCIENCE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "partnerAdvertiserId": { + "description": ".", + "type": "string" + } + }, + "type": "object" + }, + "MeasurementPartnerCampaignLink": { + "id": "MeasurementPartnerCampaignLink", + "properties": { + "linkStatus": { + "description": ".", + "enum": [ + "MEASUREMENT_PARTNER_UNLINKED", + "MEASUREMENT_PARTNER_LINKED", + "MEASUREMENT_PARTNER_LINK_PENDING", + "MEASUREMENT_PARTNER_LINK_FAILURE", + "MEASUREMENT_PARTNER_LINK_OPT_OUT", + "MEASUREMENT_PARTNER_LINK_OPT_OUT_PENDING", + "MEASUREMENT_PARTNER_LINK_WRAPPING_PENDING", + "MEASUREMENT_PARTNER_MODE_CHANGE_PENDING" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "measurementPartner": { + "description": "Measurement partner used for tag wrapping.", + "enum": [ + "NONE", + "INTEGRAL_AD_SCIENCE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "partnerCampaignId": { + "description": "Partner campaign ID needed for establishing linking with Measurement partner.", + "type": "string" + } + }, + "type": "object" + }, + "MeasurementPartnerWrappingData": { + "description": "Placement tag wrapping", + "id": "MeasurementPartnerWrappingData", + "properties": { + "linkStatus": { + "description": "Placement wrapping status.", + "enum": [ + "MEASUREMENT_PARTNER_UNLINKED", + "MEASUREMENT_PARTNER_LINKED", + "MEASUREMENT_PARTNER_LINK_PENDING", + "MEASUREMENT_PARTNER_LINK_FAILURE", + "MEASUREMENT_PARTNER_LINK_OPT_OUT", + "MEASUREMENT_PARTNER_LINK_OPT_OUT_PENDING", + "MEASUREMENT_PARTNER_LINK_WRAPPING_PENDING", + "MEASUREMENT_PARTNER_MODE_CHANGE_PENDING" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "measurementPartner": { + "description": "Measurement partner used for wrapping the placement.", + "enum": [ + "NONE", + "INTEGRAL_AD_SCIENCE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "tagWrappingMode": { + "description": "Measurement mode for the wrapped placement.", + "enum": [ + "NONE", + "BLOCKING", + "MONITORING", + "MONITORING_ONLY", + "VIDEO_PIXEL_MONITORING", + "TRACKING", + "NON_VPAID_MONITORING" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "wrappedTag": { + "description": "Tag provided by the measurement partner during wrapping.", + "type": "string" + } + }, + "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" + }, + "partnerWrappingData": { + "$ref": "MeasurementPartnerWrappingData", + "description": "Measurement partner provided settings for a wrapped placement." + }, + "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" + }, + "wrappingOptOut": { + "description": "Whether this placement opts out of tag wrapping.", + "type": "boolean" + } + }, + "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." + }, + "durationSeconds": { + "description": "Duration of a video placement in seconds.", + "format": "int32", + "type": "integer" + }, + "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": "", + "title": "Campaign Manager 360 API", + "version": "v3.5" +} \ No newline at end of file diff --git a/etc/api/dialogflow/v2/dialogflow-api.json b/etc/api/dialogflow/v2/dialogflow-api.json index b29258b95b..b03af1a12d 100644 --- a/etc/api/dialogflow/v2/dialogflow-api.json +++ b/etc/api/dialogflow/v2/dialogflow-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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" @@ -163,7 +163,7 @@ ] }, "setAgent": { - "description": "Creates/updates the specified agent.", + "description": "Creates/updates the specified agent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/agent", "httpMethod": "POST", "id": "dialogflow.projects.setAgent", @@ -202,7 +202,7 @@ "agent": { "methods": { "export": { - "description": "Exports the specified agent to a ZIP file. Operation ", + "description": "Exports the specified agent to a ZIP file. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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": "v2/projects/{projectsId}/agent:export", "httpMethod": "POST", "id": "dialogflow.projects.agent.export", @@ -288,7 +288,7 @@ ] }, "import": { - "description": "Imports the specified agent from a ZIP file. Uploads new intents and entity types without deleting the existing ones. Intents and entity types with the same name are replaced with the new versions from ImportAgentRequest. After the import, the imported draft agent will be trained automatically (unless disabled in agent settings). However, once the import is done, training may not be completed yet. Please call TrainAgent and wait for the operation it returns in order to train explicitly. Operation An operation which tracks when importing is complete. It only tracks when the draft agent is updated not when it is done training.", + "description": "Imports the specified agent from a ZIP file. Uploads new intents and entity types without deleting the existing ones. Intents and entity types with the same name are replaced with the new versions from ImportAgentRequest. After the import, the imported draft agent will be trained automatically (unless disabled in agent settings). However, once the import is done, training may not be completed yet. Please call TrainAgent and wait for the operation it returns in order to train explicitly. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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) The operation only tracks when importing is complete, not when it is done training. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/agent:import", "httpMethod": "POST", "id": "dialogflow.projects.agent.import", @@ -317,7 +317,7 @@ ] }, "restore": { - "description": "Restores the specified agent from a ZIP file. Replaces the current agent version with a new one. All the intents and entity types in the older version are deleted. After the restore, the restored draft agent will be trained automatically (unless disabled in agent settings). However, once the restore is done, training may not be completed yet. Please call TrainAgent and wait for the operation it returns in order to train explicitly. Operation An operation which tracks when restoring is complete. It only tracks when the draft agent is updated not when it is done training.", + "description": "Restores the specified agent from a ZIP file. Replaces the current agent version with a new one. All the intents and entity types in the older version are deleted. After the restore, the restored draft agent will be trained automatically (unless disabled in agent settings). However, once the restore is done, training may not be completed yet. Please call TrainAgent and wait for the operation it returns in order to train explicitly. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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) The operation only tracks when restoring is complete, not when it is done training. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/agent:restore", "httpMethod": "POST", "id": "dialogflow.projects.agent.restore", @@ -383,7 +383,7 @@ ] }, "train": { - "description": "Trains the specified agent. Operation ", + "description": "Trains the specified agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/agent:train", "httpMethod": "POST", "id": "dialogflow.projects.agent.train", @@ -421,7 +421,7 @@ ], "parameters": { "name": { - "description": "Required. The unique identifier of the fulfillment. Format: `projects//agent/fulfillment`.", + "description": "Required. The unique identifier of the fulfillment. Supported formats: - `projects//agent/fulfillment` - `projects//locations//agent/fulfillment` This field is not used for Fulfillment in an Environment.", "location": "path", "pattern": "^projects/[^/]+/agent/fulfillment$", "required": true, @@ -451,7 +451,7 @@ "entityTypes": { "methods": { "batchDelete": { - "description": "Deletes entity types in the specified agent. Operation ", + "description": "Deletes entity types in the specified agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/agent/entityTypes:batchDelete", "httpMethod": "POST", "id": "dialogflow.projects.agent.entityTypes.batchDelete", @@ -480,7 +480,7 @@ ] }, "batchUpdate": { - "description": "Updates/Creates multiple entity types in the specified agent. Operation ", + "description": "Updates/Creates multiple entity types in the specified agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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`: BatchUpdateEntityTypesResponse Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/agent/entityTypes:batchUpdate", "httpMethod": "POST", "id": "dialogflow.projects.agent.entityTypes.batchUpdate", @@ -509,7 +509,7 @@ ] }, "create": { - "description": "Creates an entity type in the specified agent.", + "description": "Creates an entity type in the specified agent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/agent/entityTypes", "httpMethod": "POST", "id": "dialogflow.projects.agent.entityTypes.create", @@ -543,7 +543,7 @@ ] }, "delete": { - "description": "Deletes the specified entity type.", + "description": "Deletes the specified entity type. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/agent/entityTypes/{entityTypesId}", "httpMethod": "DELETE", "id": "dialogflow.projects.agent.entityTypes.delete", @@ -642,7 +642,7 @@ ] }, "patch": { - "description": "Updates the specified entity type.", + "description": "Updates the specified entity type. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/agent/entityTypes/{entityTypesId}", "httpMethod": "PATCH", "id": "dialogflow.projects.agent.entityTypes.patch", @@ -686,7 +686,7 @@ "entities": { "methods": { "batchCreate": { - "description": "Creates multiple new entities in the specified entity type. Operation ", + "description": "Creates multiple new entities in the specified entity type. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/agent/entityTypes/{entityTypesId}/entities:batchCreate", "httpMethod": "POST", "id": "dialogflow.projects.agent.entityTypes.entities.batchCreate", @@ -715,7 +715,7 @@ ] }, "batchDelete": { - "description": "Deletes entities in the specified entity type. Operation ", + "description": "Deletes entities in the specified entity type. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/agent/entityTypes/{entityTypesId}/entities:batchDelete", "httpMethod": "POST", "id": "dialogflow.projects.agent.entityTypes.entities.batchDelete", @@ -744,7 +744,7 @@ ] }, "batchUpdate": { - "description": "Updates or creates multiple entities in the specified entity type. This method does not affect entities in the entity type that aren't explicitly specified in the request. Operation ", + "description": "Updates or creates multiple entities in the specified entity type. This method does not affect entities in the entity type that aren't explicitly specified in the request. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training). ", "flatPath": "v2/projects/{projectsId}/agent/entityTypes/{entityTypesId}/entities:batchUpdate", "httpMethod": "POST", "id": "dialogflow.projects.agent.entityTypes.entities.batchUpdate", @@ -778,8 +778,131 @@ }, "environments": { "methods": { + "create": { + "description": "Creates an agent environment.", + "flatPath": "v2/projects/{projectsId}/agent/environments", + "httpMethod": "POST", + "id": "dialogflow.projects.agent.environments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "environmentId": { + "description": "Required. The unique id of the new environment.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The agent to create an environment for. Supported formats: - `projects//agent` - `projects//locations//agent`", + "location": "path", + "pattern": "^projects/[^/]+/agent$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/environments", + "request": { + "$ref": "GoogleCloudDialogflowV2Environment" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2Environment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "delete": { + "description": "Deletes the specified agent environment.", + "flatPath": "v2/projects/{projectsId}/agent/environments/{environmentsId}", + "httpMethod": "DELETE", + "id": "dialogflow.projects.agent.environments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the environment to delete. / Format: - `projects//agent/environments/` - `projects//locations//agent/environments/` The environment ID for the default environment is `-`.", + "location": "path", + "pattern": "^projects/[^/]+/agent/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "get": { + "description": "Retrieves the specified agent environment.", + "flatPath": "v2/projects/{projectsId}/agent/environments/{environmentsId}", + "httpMethod": "GET", + "id": "dialogflow.projects.agent.environments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the environment. Supported formats: - `projects//agent/environments/` - `projects//locations//agent/environments/` The environment ID for the default environment is `-`.", + "location": "path", + "pattern": "^projects/[^/]+/agent/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleCloudDialogflowV2Environment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "getHistory": { + "description": "Gets the history of the specified environment.", + "flatPath": "v2/projects/{projectsId}/agent/environments/{environmentsId}/history", + "httpMethod": "GET", + "id": "dialogflow.projects.agent.environments.getHistory", + "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 name of the environment to retrieve history for. Supported formats: - `projects//agent/environments/` - `projects//locations//agent/environments/` The environment ID for the default environment is `-`.", + "location": "path", + "pattern": "^projects/[^/]+/agent/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/history", + "response": { + "$ref": "GoogleCloudDialogflowV2EnvironmentHistory" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "list": { - "description": "Returns the list of all non-draft environments of the specified agent.", + "description": "Returns the list of all non-default environments of the specified agent.", "flatPath": "v2/projects/{projectsId}/agent/environments", "httpMethod": "GET", "id": "dialogflow.projects.agent.environments.list", @@ -799,7 +922,7 @@ "type": "string" }, "parent": { - "description": "Required. The agent to list all environments from. Format: `projects//agent`.", + "description": "Required. The agent to list all environments from. Format: - `projects//agent` - `projects//locations//agent`", "location": "path", "pattern": "^projects/[^/]+/agent$", "required": true, @@ -814,6 +937,46 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/dialogflow" ] + }, + "patch": { + "description": "Updates the specified agent environment. This method allows you to deploy new agent versions into the environment. When an environment is pointed to a new agent version by setting `environment.agent_version`, the environment is temporarily set to the `LOADING` state. During that time, the environment continues serving the previous version of the agent. After the new agent version is done loading, the environment is set back to the `RUNNING` state. You can use \"-\" as Environment ID in environment name to update an agent version in the default environment. WARNING: this will negate all recent changes to the draft agent and can't be undone. You may want to save the draft agent to a version before calling this method.", + "flatPath": "v2/projects/{projectsId}/agent/environments/{environmentsId}", + "httpMethod": "PATCH", + "id": "dialogflow.projects.agent.environments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowLoadToDraftAndDiscardChanges": { + "description": "Optional. This field is used to prevent accidental overwrite of the default environment, which is an operation that cannot be undone. To confirm that the caller desires this overwrite, this field must be explicitly set to true when updating the default environment (environment ID = `-`).", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Output only. The unique identifier of this agent environment. Supported formats: - `projects//agent/environments/` - `projects//locations//agent/environments/` The environment ID for the default environment is `-`.", + "location": "path", + "pattern": "^projects/[^/]+/agent/environments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields get updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "request": { + "$ref": "GoogleCloudDialogflowV2Environment" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2Environment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] } }, "resources": { @@ -858,7 +1021,7 @@ "type": "string" }, "parent": { - "description": "Required. The agent to list all intents from. Format: `projects//agent`.", + "description": "Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment.", "location": "path", "pattern": "^projects/[^/]+/agent/environments/[^/]+$", "required": true, @@ -907,7 +1070,7 @@ ] }, "detectIntent": { - "description": "Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause contexts and 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/es/docs/agents-versions).", + "description": "Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause contexts and session entity types to be updated, which in turn might affect results of future queries. If you might use [Agent Assist](https://cloud.google.com/dialogflow/docs/#aa) or other CCAI products now or in the future, consider using AnalyzeContent instead of `DetectIntent`. `AnalyzeContent` has additional functionality for Agent Assist and other CCAI products. Note: Always use agent versions for production traffic. See [Versions and environments](https://cloud.google.com/dialogflow/es/docs/agents-versions).", "flatPath": "v2/projects/{projectsId}/agent/environments/{environmentsId}/users/{usersId}/sessions/{sessionsId}:detectIntent", "httpMethod": "POST", "id": "dialogflow.projects.agent.environments.users.sessions.detectIntent", @@ -1260,7 +1423,7 @@ "intents": { "methods": { "batchDelete": { - "description": "Deletes intents in the specified agent. Operation ", + "description": "Deletes intents in the specified agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/agent/intents:batchDelete", "httpMethod": "POST", "id": "dialogflow.projects.agent.intents.batchDelete", @@ -1289,7 +1452,7 @@ ] }, "batchUpdate": { - "description": "Updates/Creates multiple intents in the specified agent. Operation ", + "description": "Updates/Creates multiple intents in the specified agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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`: BatchUpdateIntentsResponse Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/agent/intents:batchUpdate", "httpMethod": "POST", "id": "dialogflow.projects.agent.intents.batchUpdate", @@ -1318,7 +1481,7 @@ ] }, "create": { - "description": "Creates an intent in the specified agent.", + "description": "Creates an intent in the specified agent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/agent/intents", "httpMethod": "POST", "id": "dialogflow.projects.agent.intents.create", @@ -1365,7 +1528,7 @@ ] }, "delete": { - "description": "Deletes the specified intent and its direct or indirect followup intents.", + "description": "Deletes the specified intent and its direct or indirect followup intents. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/agent/intents/{intentsId}", "httpMethod": "DELETE", "id": "dialogflow.projects.agent.intents.delete", @@ -1473,7 +1636,7 @@ "type": "string" }, "parent": { - "description": "Required. The agent to list all intents from. Format: `projects//agent`.", + "description": "Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment.", "location": "path", "pattern": "^projects/[^/]+/agent$", "required": true, @@ -1490,7 +1653,7 @@ ] }, "patch": { - "description": "Updates the specified intent.", + "description": "Updates the specified intent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/agent/intents/{intentsId}", "httpMethod": "PATCH", "id": "dialogflow.projects.agent.intents.patch", @@ -1641,6 +1804,11 @@ "parent" ], "parameters": { + "filter": { + "description": "The filter expression used to filter knowledge bases returned by the list method. The expression has the following syntax: [AND ] ... The following fields and operators are supported: * display_name with has(:) operator * language_code with equals(=) operator Examples: * 'language_code=en-us' matches knowledge bases with en-us language code. * 'display_name:articles' matches knowledge bases whose display name contains \"articles\". * 'display_name:\"Best Articles\"' matches knowledge bases whose display name contains \"Best Articles\". * 'language_code=en-gb AND display_name=articles' matches all knowledge bases whose display name contains \"articles\" and whose language code is \"en-gb\". Note: An empty filter string (i.e. \"\") is a no-op and will result in no filtering. For more information about filtering, see [API Filtering](https://aip.dev/160).", + "location": "query", + "type": "string" + }, "pageSize": { "description": "The maximum number of items to return in a single page. By default 10 and at most 100.", "format": "int32", @@ -1709,7 +1877,7 @@ "documents": { "methods": { "create": { - "description": "Creates a new document. Operation ", + "description": "Creates a new document. 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`: KnowledgeOperationMetadata - `response`: Document", "flatPath": "v2/projects/{projectsId}/agent/knowledgeBases/{knowledgeBasesId}/documents", "httpMethod": "POST", "id": "dialogflow.projects.agent.knowledgeBases.documents.create", @@ -1738,7 +1906,7 @@ ] }, "delete": { - "description": "Deletes the specified document. Operation ", + "description": "Deletes the specified document. 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`: KnowledgeOperationMetadata - `response`: An [Empty message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)", "flatPath": "v2/projects/{projectsId}/agent/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}", "httpMethod": "DELETE", "id": "dialogflow.projects.agent.knowledgeBases.documents.delete", @@ -1798,6 +1966,11 @@ "parent" ], "parameters": { + "filter": { + "description": "The filter expression used to filter documents returned by the list method. The expression has the following syntax: [AND ] ... The following fields and operators are supported: * knowledge_types with has(:) operator * display_name with has(:) operator * state with equals(=) operator Examples: * \"knowledge_types:FAQ\" matches documents with FAQ knowledge type. * \"display_name:customer\" matches documents whose display name contains \"customer\". * \"state=ACTIVE\" matches documents with ACTIVE state. * \"knowledge_types:FAQ AND state=ACTIVE\" matches all active FAQ documents. For more information about filtering, see [API Filtering](https://aip.dev/160).", + "location": "query", + "type": "string" + }, "pageSize": { "description": "The maximum number of items to return in a single page. By default 10 and at most 100.", "format": "int32", @@ -1827,7 +2000,7 @@ ] }, "patch": { - "description": "Updates the specified document. Operation ", + "description": "Updates the specified document. 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`: KnowledgeOperationMetadata - `response`: Document", "flatPath": "v2/projects/{projectsId}/agent/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}", "httpMethod": "PATCH", "id": "dialogflow.projects.agent.knowledgeBases.documents.patch", @@ -1862,7 +2035,7 @@ ] }, "reload": { - "description": "Reloads the specified document from its specified source, content_uri or content. The previously loaded content of the document will be deleted. Note: Even when the content of the document has not changed, there still may be side effects because of internal implementation changes. Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`. Operation ", + "description": "Reloads the specified document from its specified source, content_uri or content. The previously loaded content of the document will be deleted. Note: Even when the content of the document has not changed, there still may be side effects because of internal implementation changes. 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`: KnowledgeOperationMetadata - `response`: Document Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", "flatPath": "v2/projects/{projectsId}/agent/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}:reload", "httpMethod": "POST", "id": "dialogflow.projects.agent.knowledgeBases.documents.reload", @@ -1923,7 +2096,7 @@ ] }, "detectIntent": { - "description": "Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause contexts and 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/es/docs/agents-versions).", + "description": "Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause contexts and session entity types to be updated, which in turn might affect results of future queries. If you might use [Agent Assist](https://cloud.google.com/dialogflow/docs/#aa) or other CCAI products now or in the future, consider using AnalyzeContent instead of `DetectIntent`. `AnalyzeContent` has additional functionality for Agent Assist and other CCAI products. Note: Always use agent versions for production traffic. See [Versions and environments](https://cloud.google.com/dialogflow/es/docs/agents-versions).", "flatPath": "v2/projects/{projectsId}/agent/sessions/{sessionsId}:detectIntent", "httpMethod": "POST", "id": "dialogflow.projects.agent.sessions.detectIntent", @@ -2268,6 +2441,163 @@ } } } + }, + "versions": { + "methods": { + "create": { + "description": "Creates an agent version. The new version points to the agent instance in the \"default\" environment.", + "flatPath": "v2/projects/{projectsId}/agent/versions", + "httpMethod": "POST", + "id": "dialogflow.projects.agent.versions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The agent to create a version for. Supported formats: - `projects//agent` - `projects//locations//agent`", + "location": "path", + "pattern": "^projects/[^/]+/agent$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/versions", + "request": { + "$ref": "GoogleCloudDialogflowV2Version" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2Version" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "delete": { + "description": "Delete the specified agent version.", + "flatPath": "v2/projects/{projectsId}/agent/versions/{versionsId}", + "httpMethod": "DELETE", + "id": "dialogflow.projects.agent.versions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the version to delete. Supported formats: - `projects//agent/versions/` - `projects//locations//agent/versions/`", + "location": "path", + "pattern": "^projects/[^/]+/agent/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "get": { + "description": "Retrieves the specified agent version.", + "flatPath": "v2/projects/{projectsId}/agent/versions/{versionsId}", + "httpMethod": "GET", + "id": "dialogflow.projects.agent.versions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the version. Supported formats: - `projects//agent/versions/` - `projects//locations//agent/versions/`", + "location": "path", + "pattern": "^projects/[^/]+/agent/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleCloudDialogflowV2Version" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "list": { + "description": "Returns the list of all versions of the specified agent.", + "flatPath": "v2/projects/{projectsId}/agent/versions", + "httpMethod": "GET", + "id": "dialogflow.projects.agent.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 agent to list all versions from. Supported formats: - `projects//agent` - `projects//locations//agent`", + "location": "path", + "pattern": "^projects/[^/]+/agent$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/versions", + "response": { + "$ref": "GoogleCloudDialogflowV2ListVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "patch": { + "description": "Updates the specified agent version. Note that this method does not allow you to update the state of the agent the given version points to. It allows you to update only mutable properties of the version resource.", + "flatPath": "v2/projects/{projectsId}/agent/versions/{versionsId}", + "httpMethod": "PATCH", + "id": "dialogflow.projects.agent.versions.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The unique identifier of this agent version. Supported formats: - `projects//agent/versions/` - `projects//locations//agent/versions/`", + "location": "path", + "pattern": "^projects/[^/]+/agent/versions/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields get updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "request": { + "$ref": "GoogleCloudDialogflowV2Version" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2Version" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + } + } } } }, @@ -2352,8 +2682,382 @@ } } }, + "conversationDatasets": { + "methods": { + "get": { + "description": "Retrieves the specified conversation dataset.", + "flatPath": "v2/projects/{projectsId}/conversationDatasets/{conversationDatasetsId}", + "httpMethod": "GET", + "id": "dialogflow.projects.conversationDatasets.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The conversation dataset to retrieve. Format: `projects//locations//conversationDatasets/`", + "location": "path", + "pattern": "^projects/[^/]+/conversationDatasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleCloudDialogflowV2ConversationDataset" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "importConversationData": { + "description": "Import data into the specified conversation dataset. Note that it is not allowed to import data to a conversation dataset that already has data in it. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields: - `metadata`: ImportConversationDataOperationMetadata - `response`: ImportConversationDataOperationResponse", + "flatPath": "v2/projects/{projectsId}/conversationDatasets/{conversationDatasetsId}:importConversationData", + "httpMethod": "POST", + "id": "dialogflow.projects.conversationDatasets.importConversationData", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Dataset resource name. Format: `projects//locations//conversationDatasets/`", + "location": "path", + "pattern": "^projects/[^/]+/conversationDatasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:importConversationData", + "request": { + "$ref": "GoogleCloudDialogflowV2ImportConversationDataRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "list": { + "description": "Returns the list of all conversation datasets in the specified project and location.", + "flatPath": "v2/projects/{projectsId}/conversationDatasets", + "httpMethod": "GET", + "id": "dialogflow.projects.conversationDatasets.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of conversation datasets 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 project and location name to list all conversation datasets for. Format: `projects//locations/`", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/conversationDatasets", + "response": { + "$ref": "GoogleCloudDialogflowV2ListConversationDatasetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + } + } + }, + "conversationModels": { + "methods": { + "create": { + "description": "Creates a model. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields: - `metadata`: CreateConversationModelOperationMetadata - `response`: ConversationModel", + "flatPath": "v2/projects/{projectsId}/conversationModels", + "httpMethod": "POST", + "id": "dialogflow.projects.conversationModels.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The project to create conversation model for. Format: `projects/`", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/conversationModels", + "request": { + "$ref": "GoogleCloudDialogflowV2ConversationModel" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "delete": { + "description": "Deletes a model. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields: - `metadata`: DeleteConversationModelOperationMetadata - `response`: An [Empty message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)", + "flatPath": "v2/projects/{projectsId}/conversationModels/{conversationModelsId}", + "httpMethod": "DELETE", + "id": "dialogflow.projects.conversationModels.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The conversation model to delete. Format: `projects//conversationModels/`", + "location": "path", + "pattern": "^projects/[^/]+/conversationModels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "deploy": { + "description": "Deploys a model. If a model is already deployed, deploying it has no effect. A model can only serve prediction requests after it gets deployed. For article suggestion, custom model will not be used unless it is deployed. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields: - `metadata`: DeployConversationModelOperationMetadata - `response`: An [Empty message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)", + "flatPath": "v2/projects/{projectsId}/conversationModels/{conversationModelsId}:deploy", + "httpMethod": "POST", + "id": "dialogflow.projects.conversationModels.deploy", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The conversation model to deploy. Format: `projects//conversationModels/`", + "location": "path", + "pattern": "^projects/[^/]+/conversationModels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:deploy", + "request": { + "$ref": "GoogleCloudDialogflowV2DeployConversationModelRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "get": { + "description": "Gets conversation model.", + "flatPath": "v2/projects/{projectsId}/conversationModels/{conversationModelsId}", + "httpMethod": "GET", + "id": "dialogflow.projects.conversationModels.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The conversation model to retrieve. Format: `projects//conversationModels/`", + "location": "path", + "pattern": "^projects/[^/]+/conversationModels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleCloudDialogflowV2ConversationModel" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "list": { + "description": "Lists conversation models.", + "flatPath": "v2/projects/{projectsId}/conversationModels", + "httpMethod": "GET", + "id": "dialogflow.projects.conversationModels.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of conversation models 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 project to list all conversation models for. Format: `projects/`", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/conversationModels", + "response": { + "$ref": "GoogleCloudDialogflowV2ListConversationModelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "undeploy": { + "description": "Undeploys a model. If the model is not deployed this method has no effect. If the model is currently being used: - For article suggestion, article suggestion will fallback to the default model if model is undeployed. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields: - `metadata`: UndeployConversationModelOperationMetadata - `response`: An [Empty message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)", + "flatPath": "v2/projects/{projectsId}/conversationModels/{conversationModelsId}:undeploy", + "httpMethod": "POST", + "id": "dialogflow.projects.conversationModels.undeploy", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The conversation model to undeploy. Format: `projects//conversationModels/`", + "location": "path", + "pattern": "^projects/[^/]+/conversationModels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:undeploy", + "request": { + "$ref": "GoogleCloudDialogflowV2UndeployConversationModelRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + } + }, + "resources": { + "evaluations": { + "methods": { + "get": { + "description": "Gets an evaluation of conversation model.", + "flatPath": "v2/projects/{projectsId}/conversationModels/{conversationModelsId}/evaluations/{evaluationsId}", + "httpMethod": "GET", + "id": "dialogflow.projects.conversationModels.evaluations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The conversation model evaluation resource name. Format: `projects//conversationModels//evaluations/`", + "location": "path", + "pattern": "^projects/[^/]+/conversationModels/[^/]+/evaluations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleCloudDialogflowV2ConversationModelEvaluation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "list": { + "description": "Lists evaluations of a conversation model.", + "flatPath": "v2/projects/{projectsId}/conversationModels/{conversationModelsId}/evaluations", + "httpMethod": "GET", + "id": "dialogflow.projects.conversationModels.evaluations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of evaluations 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 conversation model resource name. Format: `projects//conversationModels/`", + "location": "path", + "pattern": "^projects/[^/]+/conversationModels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/evaluations", + "response": { + "$ref": "GoogleCloudDialogflowV2ListConversationModelEvaluationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + } + } + } + } + }, "conversationProfiles": { "methods": { + "clearSuggestionFeatureConfig": { + "description": "Clears a suggestion feature from a conversation profile for the given participant role. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields: - `metadata`: ClearSuggestionFeatureConfigOperationMetadata - `response`: ConversationProfile", + "flatPath": "v2/projects/{projectsId}/conversationProfiles/{conversationProfilesId}:clearSuggestionFeatureConfig", + "httpMethod": "POST", + "id": "dialogflow.projects.conversationProfiles.clearSuggestionFeatureConfig", + "parameterOrder": [ + "conversationProfile" + ], + "parameters": { + "conversationProfile": { + "description": "Required. The Conversation Profile to add or update the suggestion feature config. Format: `projects//locations//conversationProfiles/`.", + "location": "path", + "pattern": "^projects/[^/]+/conversationProfiles/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+conversationProfile}:clearSuggestionFeatureConfig", + "request": { + "$ref": "GoogleCloudDialogflowV2ClearSuggestionFeatureConfigRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "create": { "description": "Creates a conversation profile in the specified project. ConversationProfile.CreateTime and ConversationProfile.UpdateTime aren't populated in the response. You can retrieve them via GetConversationProfile API.", "flatPath": "v2/projects/{projectsId}/conversationProfiles", @@ -2506,6 +3210,35 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/dialogflow" ] + }, + "setSuggestionFeatureConfig": { + "description": "Adds or updates a suggestion feature in a conversation profile. If the conversation profile contains the type of suggestion feature for the participant role, it will update it. Otherwise it will insert the suggestion feature. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields: - `metadata`: SetSuggestionFeatureConfigOperationMetadata - `response`: ConversationProfile If a long running operation to add or update suggestion feature config for the same conversation profile, participant role and suggestion feature type exists, please cancel the existing long running operation before sending such request, otherwise the request will be rejected.", + "flatPath": "v2/projects/{projectsId}/conversationProfiles/{conversationProfilesId}:setSuggestionFeatureConfig", + "httpMethod": "POST", + "id": "dialogflow.projects.conversationProfiles.setSuggestionFeatureConfig", + "parameterOrder": [ + "conversationProfile" + ], + "parameters": { + "conversationProfile": { + "description": "Required. The Conversation Profile to add or update the suggestion feature config. Format: `projects//locations//conversationProfiles/`.", + "location": "path", + "pattern": "^projects/[^/]+/conversationProfiles/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+conversationProfile}:setSuggestionFeatureConfig", + "request": { + "$ref": "GoogleCloudDialogflowV2SetSuggestionFeatureConfigRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] } } }, @@ -2909,6 +3642,35 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/dialogflow" ] + }, + "suggestSmartReplies": { + "description": "Gets smart replies for a participant based on specific historical messages.", + "flatPath": "v2/projects/{projectsId}/conversations/{conversationsId}/participants/{participantsId}/suggestions:suggestSmartReplies", + "httpMethod": "POST", + "id": "dialogflow.projects.conversations.participants.suggestions.suggestSmartReplies", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the participant to fetch suggestion for. Format: `projects//locations//conversations//participants/`.", + "location": "path", + "pattern": "^projects/[^/]+/conversations/[^/]+/participants/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/suggestions:suggestSmartReplies", + "request": { + "$ref": "GoogleCloudDialogflowV2SuggestSmartRepliesRequest" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2SuggestSmartRepliesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] } } } @@ -3013,6 +3775,11 @@ "parent" ], "parameters": { + "filter": { + "description": "The filter expression used to filter knowledge bases returned by the list method. The expression has the following syntax: [AND ] ... The following fields and operators are supported: * display_name with has(:) operator * language_code with equals(=) operator Examples: * 'language_code=en-us' matches knowledge bases with en-us language code. * 'display_name:articles' matches knowledge bases whose display name contains \"articles\". * 'display_name:\"Best Articles\"' matches knowledge bases whose display name contains \"Best Articles\". * 'language_code=en-gb AND display_name=articles' matches all knowledge bases whose display name contains \"articles\" and whose language code is \"en-gb\". Note: An empty filter string (i.e. \"\") is a no-op and will result in no filtering. For more information about filtering, see [API Filtering](https://aip.dev/160).", + "location": "query", + "type": "string" + }, "pageSize": { "description": "The maximum number of items to return in a single page. By default 10 and at most 100.", "format": "int32", @@ -3081,7 +3848,7 @@ "documents": { "methods": { "create": { - "description": "Creates a new document. Operation ", + "description": "Creates a new document. 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`: KnowledgeOperationMetadata - `response`: Document", "flatPath": "v2/projects/{projectsId}/knowledgeBases/{knowledgeBasesId}/documents", "httpMethod": "POST", "id": "dialogflow.projects.knowledgeBases.documents.create", @@ -3110,7 +3877,7 @@ ] }, "delete": { - "description": "Deletes the specified document. Operation ", + "description": "Deletes the specified document. 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`: KnowledgeOperationMetadata - `response`: An [Empty message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)", "flatPath": "v2/projects/{projectsId}/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}", "httpMethod": "DELETE", "id": "dialogflow.projects.knowledgeBases.documents.delete", @@ -3135,6 +3902,35 @@ "https://www.googleapis.com/auth/dialogflow" ] }, + "export": { + "description": "Exports a smart messaging candidate document into the specified destination. 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`: KnowledgeOperationMetadata - `response`: Document", + "flatPath": "v2/projects/{projectsId}/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}:export", + "httpMethod": "POST", + "id": "dialogflow.projects.knowledgeBases.documents.export", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the document to export. Format: `projects//locations//knowledgeBases//documents/`.", + "location": "path", + "pattern": "^projects/[^/]+/knowledgeBases/[^/]+/documents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:export", + "request": { + "$ref": "GoogleCloudDialogflowV2ExportDocumentRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "get": { "description": "Retrieves the specified document.", "flatPath": "v2/projects/{projectsId}/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}", @@ -3161,6 +3957,35 @@ "https://www.googleapis.com/auth/dialogflow" ] }, + "import": { + "description": "Creates documents by importing data from external sources. Dialogflow supports up to 350 documents in each request. If you try to import more, Dialogflow will return an error. 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`: KnowledgeOperationMetadata - `response`: ImportDocumentsResponse", + "flatPath": "v2/projects/{projectsId}/knowledgeBases/{knowledgeBasesId}/documents:import", + "httpMethod": "POST", + "id": "dialogflow.projects.knowledgeBases.documents.import", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The knowledge base to import documents into. Format: `projects//locations//knowledgeBases/`.", + "location": "path", + "pattern": "^projects/[^/]+/knowledgeBases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/documents:import", + "request": { + "$ref": "GoogleCloudDialogflowV2ImportDocumentsRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "list": { "description": "Returns the list of all documents of the knowledge base.", "flatPath": "v2/projects/{projectsId}/knowledgeBases/{knowledgeBasesId}/documents", @@ -3170,6 +3995,11 @@ "parent" ], "parameters": { + "filter": { + "description": "The filter expression used to filter documents returned by the list method. The expression has the following syntax: [AND ] ... The following fields and operators are supported: * knowledge_types with has(:) operator * display_name with has(:) operator * state with equals(=) operator Examples: * \"knowledge_types:FAQ\" matches documents with FAQ knowledge type. * \"display_name:customer\" matches documents whose display name contains \"customer\". * \"state=ACTIVE\" matches documents with ACTIVE state. * \"knowledge_types:FAQ AND state=ACTIVE\" matches all active FAQ documents. For more information about filtering, see [API Filtering](https://aip.dev/160).", + "location": "query", + "type": "string" + }, "pageSize": { "description": "The maximum number of items to return in a single page. By default 10 and at most 100.", "format": "int32", @@ -3199,7 +4029,7 @@ ] }, "patch": { - "description": "Updates the specified document. Operation ", + "description": "Updates the specified document. 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`: KnowledgeOperationMetadata - `response`: Document", "flatPath": "v2/projects/{projectsId}/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}", "httpMethod": "PATCH", "id": "dialogflow.projects.knowledgeBases.documents.patch", @@ -3234,7 +4064,7 @@ ] }, "reload": { - "description": "Reloads the specified document from its specified source, content_uri or content. The previously loaded content of the document will be deleted. Note: Even when the content of the document has not changed, there still may be side effects because of internal implementation changes. Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`. Operation ", + "description": "Reloads the specified document from its specified source, content_uri or content. The previously loaded content of the document will be deleted. Note: Even when the content of the document has not changed, there still may be side effects because of internal implementation changes. 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`: KnowledgeOperationMetadata - `response`: Document Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", "flatPath": "v2/projects/{projectsId}/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}:reload", "httpMethod": "POST", "id": "dialogflow.projects.knowledgeBases.documents.reload", @@ -3294,6 +4124,32 @@ "https://www.googleapis.com/auth/dialogflow" ] }, + "get": { + "description": "Gets information about a location.", + "flatPath": "v2/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": "v2/{+name}", + "response": { + "$ref": "GoogleCloudLocationLocation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "getAgent": { "description": "Retrieves the specified agent.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent", @@ -3320,8 +4176,50 @@ "https://www.googleapis.com/auth/dialogflow" ] }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v2/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": "v2/{+name}/locations", + "response": { + "$ref": "GoogleCloudLocationListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "setAgent": { - "description": "Creates/updates the specified agent.", + "description": "Creates/updates the specified agent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent", "httpMethod": "POST", "id": "dialogflow.projects.locations.setAgent", @@ -3360,7 +4258,7 @@ "agent": { "methods": { "export": { - "description": "Exports the specified agent to a ZIP file. Operation ", + "description": "Exports the specified agent to a ZIP file. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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": "v2/projects/{projectsId}/locations/{locationsId}/agent:export", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.export", @@ -3446,7 +4344,7 @@ ] }, "import": { - "description": "Imports the specified agent from a ZIP file. Uploads new intents and entity types without deleting the existing ones. Intents and entity types with the same name are replaced with the new versions from ImportAgentRequest. After the import, the imported draft agent will be trained automatically (unless disabled in agent settings). However, once the import is done, training may not be completed yet. Please call TrainAgent and wait for the operation it returns in order to train explicitly. Operation An operation which tracks when importing is complete. It only tracks when the draft agent is updated not when it is done training.", + "description": "Imports the specified agent from a ZIP file. Uploads new intents and entity types without deleting the existing ones. Intents and entity types with the same name are replaced with the new versions from ImportAgentRequest. After the import, the imported draft agent will be trained automatically (unless disabled in agent settings). However, once the import is done, training may not be completed yet. Please call TrainAgent and wait for the operation it returns in order to train explicitly. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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) The operation only tracks when importing is complete, not when it is done training. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent:import", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.import", @@ -3475,7 +4373,7 @@ ] }, "restore": { - "description": "Restores the specified agent from a ZIP file. Replaces the current agent version with a new one. All the intents and entity types in the older version are deleted. After the restore, the restored draft agent will be trained automatically (unless disabled in agent settings). However, once the restore is done, training may not be completed yet. Please call TrainAgent and wait for the operation it returns in order to train explicitly. Operation An operation which tracks when restoring is complete. It only tracks when the draft agent is updated not when it is done training.", + "description": "Restores the specified agent from a ZIP file. Replaces the current agent version with a new one. All the intents and entity types in the older version are deleted. After the restore, the restored draft agent will be trained automatically (unless disabled in agent settings). However, once the restore is done, training may not be completed yet. Please call TrainAgent and wait for the operation it returns in order to train explicitly. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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) The operation only tracks when restoring is complete, not when it is done training. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent:restore", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.restore", @@ -3541,7 +4439,7 @@ ] }, "train": { - "description": "Trains the specified agent. Operation ", + "description": "Trains the specified agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent:train", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.train", @@ -3579,7 +4477,7 @@ ], "parameters": { "name": { - "description": "Required. The unique identifier of the fulfillment. Format: `projects//agent/fulfillment`.", + "description": "Required. The unique identifier of the fulfillment. Supported formats: - `projects//agent/fulfillment` - `projects//locations//agent/fulfillment` This field is not used for Fulfillment in an Environment.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/agent/fulfillment$", "required": true, @@ -3609,7 +4507,7 @@ "entityTypes": { "methods": { "batchDelete": { - "description": "Deletes entity types in the specified agent. Operation ", + "description": "Deletes entity types in the specified agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/entityTypes:batchDelete", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.entityTypes.batchDelete", @@ -3638,7 +4536,7 @@ ] }, "batchUpdate": { - "description": "Updates/Creates multiple entity types in the specified agent. Operation ", + "description": "Updates/Creates multiple entity types in the specified agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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`: BatchUpdateEntityTypesResponse Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/entityTypes:batchUpdate", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.entityTypes.batchUpdate", @@ -3667,7 +4565,7 @@ ] }, "create": { - "description": "Creates an entity type in the specified agent.", + "description": "Creates an entity type in the specified agent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/entityTypes", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.entityTypes.create", @@ -3701,7 +4599,7 @@ ] }, "delete": { - "description": "Deletes the specified entity type.", + "description": "Deletes the specified entity type. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/entityTypes/{entityTypesId}", "httpMethod": "DELETE", "id": "dialogflow.projects.locations.agent.entityTypes.delete", @@ -3800,7 +4698,7 @@ ] }, "patch": { - "description": "Updates the specified entity type.", + "description": "Updates the specified entity type. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/entityTypes/{entityTypesId}", "httpMethod": "PATCH", "id": "dialogflow.projects.locations.agent.entityTypes.patch", @@ -3844,7 +4742,7 @@ "entities": { "methods": { "batchCreate": { - "description": "Creates multiple new entities in the specified entity type. Operation ", + "description": "Creates multiple new entities in the specified entity type. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/entityTypes/{entityTypesId}/entities:batchCreate", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.entityTypes.entities.batchCreate", @@ -3873,7 +4771,7 @@ ] }, "batchDelete": { - "description": "Deletes entities in the specified entity type. Operation ", + "description": "Deletes entities in the specified entity type. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/entityTypes/{entityTypesId}/entities:batchDelete", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.entityTypes.entities.batchDelete", @@ -3902,7 +4800,7 @@ ] }, "batchUpdate": { - "description": "Updates or creates multiple entities in the specified entity type. This method does not affect entities in the entity type that aren't explicitly specified in the request. Operation ", + "description": "Updates or creates multiple entities in the specified entity type. This method does not affect entities in the entity type that aren't explicitly specified in the request. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training). ", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/entityTypes/{entityTypesId}/entities:batchUpdate", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.entityTypes.entities.batchUpdate", @@ -3936,8 +4834,131 @@ }, "environments": { "methods": { + "create": { + "description": "Creates an agent environment.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/environments", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.agent.environments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "environmentId": { + "description": "Required. The unique id of the new environment.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The agent to create an environment for. Supported formats: - `projects//agent` - `projects//locations//agent`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/environments", + "request": { + "$ref": "GoogleCloudDialogflowV2Environment" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2Environment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "delete": { + "description": "Deletes the specified agent environment.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/environments/{environmentsId}", + "httpMethod": "DELETE", + "id": "dialogflow.projects.locations.agent.environments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the environment to delete. / Format: - `projects//agent/environments/` - `projects//locations//agent/environments/` The environment ID for the default environment is `-`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "get": { + "description": "Retrieves the specified agent environment.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/environments/{environmentsId}", + "httpMethod": "GET", + "id": "dialogflow.projects.locations.agent.environments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the environment. Supported formats: - `projects//agent/environments/` - `projects//locations//agent/environments/` The environment ID for the default environment is `-`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleCloudDialogflowV2Environment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "getHistory": { + "description": "Gets the history of the specified environment.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/environments/{environmentsId}/history", + "httpMethod": "GET", + "id": "dialogflow.projects.locations.agent.environments.getHistory", + "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 name of the environment to retrieve history for. Supported formats: - `projects//agent/environments/` - `projects//locations//agent/environments/` The environment ID for the default environment is `-`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/history", + "response": { + "$ref": "GoogleCloudDialogflowV2EnvironmentHistory" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "list": { - "description": "Returns the list of all non-draft environments of the specified agent.", + "description": "Returns the list of all non-default environments of the specified agent.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/environments", "httpMethod": "GET", "id": "dialogflow.projects.locations.agent.environments.list", @@ -3957,7 +4978,7 @@ "type": "string" }, "parent": { - "description": "Required. The agent to list all environments from. Format: `projects//agent`.", + "description": "Required. The agent to list all environments from. Format: - `projects//agent` - `projects//locations//agent`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/agent$", "required": true, @@ -3972,9 +4993,108 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/dialogflow" ] + }, + "patch": { + "description": "Updates the specified agent environment. This method allows you to deploy new agent versions into the environment. When an environment is pointed to a new agent version by setting `environment.agent_version`, the environment is temporarily set to the `LOADING` state. During that time, the environment continues serving the previous version of the agent. After the new agent version is done loading, the environment is set back to the `RUNNING` state. You can use \"-\" as Environment ID in environment name to update an agent version in the default environment. WARNING: this will negate all recent changes to the draft agent and can't be undone. You may want to save the draft agent to a version before calling this method.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/environments/{environmentsId}", + "httpMethod": "PATCH", + "id": "dialogflow.projects.locations.agent.environments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowLoadToDraftAndDiscardChanges": { + "description": "Optional. This field is used to prevent accidental overwrite of the default environment, which is an operation that cannot be undone. To confirm that the caller desires this overwrite, this field must be explicitly set to true when updating the default environment (environment ID = `-`).", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Output only. The unique identifier of this agent environment. Supported formats: - `projects//agent/environments/` - `projects//locations//agent/environments/` The environment ID for the default environment is `-`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent/environments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields get updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "request": { + "$ref": "GoogleCloudDialogflowV2Environment" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2Environment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] } }, "resources": { + "intents": { + "methods": { + "list": { + "description": "Returns the list of all intents in the specified agent.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/environments/{environmentsId}/intents", + "httpMethod": "GET", + "id": "dialogflow.projects.locations.agent.environments.intents.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "intentView": { + "description": "Optional. The resource view to apply to the returned intent.", + "enum": [ + "INTENT_VIEW_UNSPECIFIED", + "INTENT_VIEW_FULL" + ], + "enumDescriptions": [ + "Training phrases field is not populated in the response.", + "All fields are populated." + ], + "location": "query", + "type": "string" + }, + "languageCode": { + "description": "Optional. The language used to access language-specific data. If not specified, the agent's default language is used. For more information, see [Multilingual intent and entity data](https://cloud.google.com/dialogflow/docs/agents-multilingual#intent-entity).", + "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 intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/intents", + "response": { + "$ref": "GoogleCloudDialogflowV2ListIntentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + } + } + }, "users": { "resources": { "sessions": { @@ -4006,7 +5126,7 @@ ] }, "detectIntent": { - "description": "Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause contexts and 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/es/docs/agents-versions).", + "description": "Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause contexts and session entity types to be updated, which in turn might affect results of future queries. If you might use [Agent Assist](https://cloud.google.com/dialogflow/docs/#aa) or other CCAI products now or in the future, consider using AnalyzeContent instead of `DetectIntent`. `AnalyzeContent` has additional functionality for Agent Assist and other CCAI products. Note: Always use agent versions for production traffic. See [Versions and environments](https://cloud.google.com/dialogflow/es/docs/agents-versions).", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/environments/{environmentsId}/users/{usersId}/sessions/{sessionsId}:detectIntent", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.environments.users.sessions.detectIntent", @@ -4359,7 +5479,7 @@ "intents": { "methods": { "batchDelete": { - "description": "Deletes intents in the specified agent. Operation ", + "description": "Deletes intents in the specified agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/intents:batchDelete", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.intents.batchDelete", @@ -4388,7 +5508,7 @@ ] }, "batchUpdate": { - "description": "Updates/Creates multiple intents in the specified agent. Operation ", + "description": "Updates/Creates multiple intents in the specified agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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`: BatchUpdateIntentsResponse Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/intents:batchUpdate", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.intents.batchUpdate", @@ -4417,7 +5537,7 @@ ] }, "create": { - "description": "Creates an intent in the specified agent.", + "description": "Creates an intent in the specified agent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/intents", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.intents.create", @@ -4464,7 +5584,7 @@ ] }, "delete": { - "description": "Deletes the specified intent and its direct or indirect followup intents.", + "description": "Deletes the specified intent and its direct or indirect followup intents. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/intents/{intentsId}", "httpMethod": "DELETE", "id": "dialogflow.projects.locations.agent.intents.delete", @@ -4572,7 +5692,7 @@ "type": "string" }, "parent": { - "description": "Required. The agent to list all intents from. Format: `projects//agent`.", + "description": "Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/agent$", "required": true, @@ -4589,7 +5709,7 @@ ] }, "patch": { - "description": "Updates the specified intent.", + "description": "Updates the specified intent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/intents/{intentsId}", "httpMethod": "PATCH", "id": "dialogflow.projects.locations.agent.intents.patch", @@ -4672,7 +5792,7 @@ ] }, "detectIntent": { - "description": "Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause contexts and 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/es/docs/agents-versions).", + "description": "Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause contexts and session entity types to be updated, which in turn might affect results of future queries. If you might use [Agent Assist](https://cloud.google.com/dialogflow/docs/#aa) or other CCAI products now or in the future, consider using AnalyzeContent instead of `DetectIntent`. `AnalyzeContent` has additional functionality for Agent Assist and other CCAI products. Note: Always use agent versions for production traffic. See [Versions and environments](https://cloud.google.com/dialogflow/es/docs/agents-versions).", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/sessions/{sessionsId}:detectIntent", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.sessions.detectIntent", @@ -5017,6 +6137,163 @@ } } } + }, + "versions": { + "methods": { + "create": { + "description": "Creates an agent version. The new version points to the agent instance in the \"default\" environment.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/versions", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.agent.versions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The agent to create a version for. Supported formats: - `projects//agent` - `projects//locations//agent`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/versions", + "request": { + "$ref": "GoogleCloudDialogflowV2Version" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2Version" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "delete": { + "description": "Delete the specified agent version.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/versions/{versionsId}", + "httpMethod": "DELETE", + "id": "dialogflow.projects.locations.agent.versions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the version to delete. Supported formats: - `projects//agent/versions/` - `projects//locations//agent/versions/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "get": { + "description": "Retrieves the specified agent version.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/versions/{versionsId}", + "httpMethod": "GET", + "id": "dialogflow.projects.locations.agent.versions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the version. Supported formats: - `projects//agent/versions/` - `projects//locations//agent/versions/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleCloudDialogflowV2Version" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "list": { + "description": "Returns the list of all versions of the specified agent.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/versions", + "httpMethod": "GET", + "id": "dialogflow.projects.locations.agent.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 agent to list all versions from. Supported formats: - `projects//agent` - `projects//locations//agent`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/versions", + "response": { + "$ref": "GoogleCloudDialogflowV2ListVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "patch": { + "description": "Updates the specified agent version. Note that this method does not allow you to update the state of the agent the given version points to. It allows you to update only mutable properties of the version resource.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/agent/versions/{versionsId}", + "httpMethod": "PATCH", + "id": "dialogflow.projects.locations.agent.versions.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The unique identifier of this agent version. Supported formats: - `projects//agent/versions/` - `projects//locations//agent/versions/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent/versions/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields get updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "request": { + "$ref": "GoogleCloudDialogflowV2Version" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2Version" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + } + } } } }, @@ -5101,8 +6378,466 @@ } } }, + "conversationDatasets": { + "methods": { + "create": { + "description": "Creates a new conversation dataset. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields: - `metadata`: CreateConversationDatasetOperationMetadata - `response`: ConversationDataset", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversationDatasets", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.conversationDatasets.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The project to create conversation dataset for. Format: `projects//locations/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/conversationDatasets", + "request": { + "$ref": "GoogleCloudDialogflowV2ConversationDataset" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "delete": { + "description": "Deletes the specified conversation dataset. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields: - `metadata`: DeleteConversationDatasetOperationMetadata - `response`: An [Empty message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversationDatasets/{conversationDatasetsId}", + "httpMethod": "DELETE", + "id": "dialogflow.projects.locations.conversationDatasets.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The conversation dataset to delete. Format: `projects//locations//conversationDatasets/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversationDatasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "get": { + "description": "Retrieves the specified conversation dataset.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversationDatasets/{conversationDatasetsId}", + "httpMethod": "GET", + "id": "dialogflow.projects.locations.conversationDatasets.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The conversation dataset to retrieve. Format: `projects//locations//conversationDatasets/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversationDatasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleCloudDialogflowV2ConversationDataset" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "importConversationData": { + "description": "Import data into the specified conversation dataset. Note that it is not allowed to import data to a conversation dataset that already has data in it. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields: - `metadata`: ImportConversationDataOperationMetadata - `response`: ImportConversationDataOperationResponse", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversationDatasets/{conversationDatasetsId}:importConversationData", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.conversationDatasets.importConversationData", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Dataset resource name. Format: `projects//locations//conversationDatasets/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversationDatasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:importConversationData", + "request": { + "$ref": "GoogleCloudDialogflowV2ImportConversationDataRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "list": { + "description": "Returns the list of all conversation datasets in the specified project and location.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversationDatasets", + "httpMethod": "GET", + "id": "dialogflow.projects.locations.conversationDatasets.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of conversation datasets 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 project and location name to list all conversation datasets for. Format: `projects//locations/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/conversationDatasets", + "response": { + "$ref": "GoogleCloudDialogflowV2ListConversationDatasetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + } + } + }, + "conversationModels": { + "methods": { + "create": { + "description": "Creates a model. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields: - `metadata`: CreateConversationModelOperationMetadata - `response`: ConversationModel", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversationModels", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.conversationModels.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The project to create conversation model for. Format: `projects/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/conversationModels", + "request": { + "$ref": "GoogleCloudDialogflowV2ConversationModel" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "delete": { + "description": "Deletes a model. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields: - `metadata`: DeleteConversationModelOperationMetadata - `response`: An [Empty message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversationModels/{conversationModelsId}", + "httpMethod": "DELETE", + "id": "dialogflow.projects.locations.conversationModels.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The conversation model to delete. Format: `projects//conversationModels/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversationModels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "deploy": { + "description": "Deploys a model. If a model is already deployed, deploying it has no effect. A model can only serve prediction requests after it gets deployed. For article suggestion, custom model will not be used unless it is deployed. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields: - `metadata`: DeployConversationModelOperationMetadata - `response`: An [Empty message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversationModels/{conversationModelsId}:deploy", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.conversationModels.deploy", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The conversation model to deploy. Format: `projects//conversationModels/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversationModels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:deploy", + "request": { + "$ref": "GoogleCloudDialogflowV2DeployConversationModelRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "get": { + "description": "Gets conversation model.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversationModels/{conversationModelsId}", + "httpMethod": "GET", + "id": "dialogflow.projects.locations.conversationModels.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The conversation model to retrieve. Format: `projects//conversationModels/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversationModels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleCloudDialogflowV2ConversationModel" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "list": { + "description": "Lists conversation models.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversationModels", + "httpMethod": "GET", + "id": "dialogflow.projects.locations.conversationModels.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of conversation models 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 project to list all conversation models for. Format: `projects/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/conversationModels", + "response": { + "$ref": "GoogleCloudDialogflowV2ListConversationModelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "undeploy": { + "description": "Undeploys a model. If the model is not deployed this method has no effect. If the model is currently being used: - For article suggestion, article suggestion will fallback to the default model if model is undeployed. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields: - `metadata`: UndeployConversationModelOperationMetadata - `response`: An [Empty message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversationModels/{conversationModelsId}:undeploy", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.conversationModels.undeploy", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The conversation model to undeploy. Format: `projects//conversationModels/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversationModels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:undeploy", + "request": { + "$ref": "GoogleCloudDialogflowV2UndeployConversationModelRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + } + }, + "resources": { + "evaluations": { + "methods": { + "create": { + "description": "Creates evaluation of a conversation model.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversationModels/{conversationModelsId}/evaluations", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.conversationModels.evaluations.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The conversation model resource name. Format: `projects//locations//conversationModels/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversationModels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/evaluations", + "request": { + "$ref": "GoogleCloudDialogflowV2CreateConversationModelEvaluationRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "get": { + "description": "Gets an evaluation of conversation model.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversationModels/{conversationModelsId}/evaluations/{evaluationsId}", + "httpMethod": "GET", + "id": "dialogflow.projects.locations.conversationModels.evaluations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The conversation model evaluation resource name. Format: `projects//conversationModels//evaluations/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversationModels/[^/]+/evaluations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleCloudDialogflowV2ConversationModelEvaluation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "list": { + "description": "Lists evaluations of a conversation model.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversationModels/{conversationModelsId}/evaluations", + "httpMethod": "GET", + "id": "dialogflow.projects.locations.conversationModels.evaluations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Maximum number of evaluations 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 conversation model resource name. Format: `projects//conversationModels/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversationModels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/evaluations", + "response": { + "$ref": "GoogleCloudDialogflowV2ListConversationModelEvaluationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + } + } + } + } + }, "conversationProfiles": { "methods": { + "clearSuggestionFeatureConfig": { + "description": "Clears a suggestion feature from a conversation profile for the given participant role. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields: - `metadata`: ClearSuggestionFeatureConfigOperationMetadata - `response`: ConversationProfile", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversationProfiles/{conversationProfilesId}:clearSuggestionFeatureConfig", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.conversationProfiles.clearSuggestionFeatureConfig", + "parameterOrder": [ + "conversationProfile" + ], + "parameters": { + "conversationProfile": { + "description": "Required. The Conversation Profile to add or update the suggestion feature config. Format: `projects//locations//conversationProfiles/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversationProfiles/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+conversationProfile}:clearSuggestionFeatureConfig", + "request": { + "$ref": "GoogleCloudDialogflowV2ClearSuggestionFeatureConfigRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "create": { "description": "Creates a conversation profile in the specified project. ConversationProfile.CreateTime and ConversationProfile.UpdateTime aren't populated in the response. You can retrieve them via GetConversationProfile API.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversationProfiles", @@ -5255,6 +6990,35 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/dialogflow" ] + }, + "setSuggestionFeatureConfig": { + "description": "Adds or updates a suggestion feature in a conversation profile. If the conversation profile contains the type of suggestion feature for the participant role, it will update it. Otherwise it will insert the suggestion feature. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields: - `metadata`: SetSuggestionFeatureConfigOperationMetadata - `response`: ConversationProfile If a long running operation to add or update suggestion feature config for the same conversation profile, participant role and suggestion feature type exists, please cancel the existing long running operation before sending such request, otherwise the request will be rejected.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversationProfiles/{conversationProfilesId}:setSuggestionFeatureConfig", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.conversationProfiles.setSuggestionFeatureConfig", + "parameterOrder": [ + "conversationProfile" + ], + "parameters": { + "conversationProfile": { + "description": "Required. The Conversation Profile to add or update the suggestion feature config. Format: `projects//locations//conversationProfiles/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversationProfiles/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+conversationProfile}:setSuggestionFeatureConfig", + "request": { + "$ref": "GoogleCloudDialogflowV2SetSuggestionFeatureConfigRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] } } }, @@ -5658,6 +7422,35 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/dialogflow" ] + }, + "suggestSmartReplies": { + "description": "Gets smart replies for a participant based on specific historical messages.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/participants/{participantsId}/suggestions:suggestSmartReplies", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.conversations.participants.suggestions.suggestSmartReplies", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the participant to fetch suggestion for. Format: `projects//locations//conversations//participants/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+/participants/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/suggestions:suggestSmartReplies", + "request": { + "$ref": "GoogleCloudDialogflowV2SuggestSmartRepliesRequest" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2SuggestSmartRepliesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] } } } @@ -5762,6 +7555,11 @@ "parent" ], "parameters": { + "filter": { + "description": "The filter expression used to filter knowledge bases returned by the list method. The expression has the following syntax: [AND ] ... The following fields and operators are supported: * display_name with has(:) operator * language_code with equals(=) operator Examples: * 'language_code=en-us' matches knowledge bases with en-us language code. * 'display_name:articles' matches knowledge bases whose display name contains \"articles\". * 'display_name:\"Best Articles\"' matches knowledge bases whose display name contains \"Best Articles\". * 'language_code=en-gb AND display_name=articles' matches all knowledge bases whose display name contains \"articles\" and whose language code is \"en-gb\". Note: An empty filter string (i.e. \"\") is a no-op and will result in no filtering. For more information about filtering, see [API Filtering](https://aip.dev/160).", + "location": "query", + "type": "string" + }, "pageSize": { "description": "The maximum number of items to return in a single page. By default 10 and at most 100.", "format": "int32", @@ -5830,7 +7628,7 @@ "documents": { "methods": { "create": { - "description": "Creates a new document. Operation ", + "description": "Creates a new document. 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`: KnowledgeOperationMetadata - `response`: Document", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/knowledgeBases/{knowledgeBasesId}/documents", "httpMethod": "POST", "id": "dialogflow.projects.locations.knowledgeBases.documents.create", @@ -5859,7 +7657,7 @@ ] }, "delete": { - "description": "Deletes the specified document. Operation ", + "description": "Deletes the specified document. 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`: KnowledgeOperationMetadata - `response`: An [Empty message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}", "httpMethod": "DELETE", "id": "dialogflow.projects.locations.knowledgeBases.documents.delete", @@ -5884,6 +7682,35 @@ "https://www.googleapis.com/auth/dialogflow" ] }, + "export": { + "description": "Exports a smart messaging candidate document into the specified destination. 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`: KnowledgeOperationMetadata - `response`: Document", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}:export", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.knowledgeBases.documents.export", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the document to export. Format: `projects//locations//knowledgeBases//documents/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/knowledgeBases/[^/]+/documents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:export", + "request": { + "$ref": "GoogleCloudDialogflowV2ExportDocumentRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "get": { "description": "Retrieves the specified document.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}", @@ -5910,6 +7737,35 @@ "https://www.googleapis.com/auth/dialogflow" ] }, + "import": { + "description": "Creates documents by importing data from external sources. Dialogflow supports up to 350 documents in each request. If you try to import more, Dialogflow will return an error. 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`: KnowledgeOperationMetadata - `response`: ImportDocumentsResponse", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/knowledgeBases/{knowledgeBasesId}/documents:import", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.knowledgeBases.documents.import", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The knowledge base to import documents into. Format: `projects//locations//knowledgeBases/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/knowledgeBases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/documents:import", + "request": { + "$ref": "GoogleCloudDialogflowV2ImportDocumentsRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "list": { "description": "Returns the list of all documents of the knowledge base.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/knowledgeBases/{knowledgeBasesId}/documents", @@ -5919,6 +7775,11 @@ "parent" ], "parameters": { + "filter": { + "description": "The filter expression used to filter documents returned by the list method. The expression has the following syntax: [AND ] ... The following fields and operators are supported: * knowledge_types with has(:) operator * display_name with has(:) operator * state with equals(=) operator Examples: * \"knowledge_types:FAQ\" matches documents with FAQ knowledge type. * \"display_name:customer\" matches documents whose display name contains \"customer\". * \"state=ACTIVE\" matches documents with ACTIVE state. * \"knowledge_types:FAQ AND state=ACTIVE\" matches all active FAQ documents. For more information about filtering, see [API Filtering](https://aip.dev/160).", + "location": "query", + "type": "string" + }, "pageSize": { "description": "The maximum number of items to return in a single page. By default 10 and at most 100.", "format": "int32", @@ -5948,7 +7809,7 @@ ] }, "patch": { - "description": "Updates the specified document. Operation ", + "description": "Updates the specified document. 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`: KnowledgeOperationMetadata - `response`: Document", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}", "httpMethod": "PATCH", "id": "dialogflow.projects.locations.knowledgeBases.documents.patch", @@ -5983,7 +7844,7 @@ ] }, "reload": { - "description": "Reloads the specified document from its specified source, content_uri or content. The previously loaded content of the document will be deleted. Note: Even when the content of the document has not changed, there still may be side effects because of internal implementation changes. Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`. Operation ", + "description": "Reloads the specified document from its specified source, content_uri or content. The previously loaded content of the document will be deleted. Note: Even when the content of the document has not changed, there still may be side effects because of internal implementation changes. 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`: KnowledgeOperationMetadata - `response`: Document Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}:reload", "httpMethod": "POST", "id": "dialogflow.projects.locations.knowledgeBases.documents.reload", @@ -6216,7 +8077,7 @@ } } }, - "revision": "20210329", + "revision": "20220228", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AudioInput": { @@ -6263,6 +8124,43 @@ }, "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" + }, "GoogleCloudDialogflowCxV3ConversationTurn": { "description": "One interaction between a human and virtual agent. The human provides some input and the virtual agent provides a response.", "id": "GoogleCloudDialogflowCxV3ConversationTurn", @@ -6282,6 +8180,10 @@ "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.", @@ -6314,7 +8216,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Required. Input only. The diagnostic info output for the turn.", + "description": "Required. Input only. The diagnostic info output for the turn. Required to calculate the testing coverage.", "type": "object" }, "differences": { @@ -6384,6 +8286,35 @@ }, "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", @@ -6399,6 +8330,75 @@ }, "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": "Required. 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" + } + }, + "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. Format: projects//locations//agents//flows//versions/.", + "type": "string" + } + }, + "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", @@ -6454,8 +8454,24 @@ }, "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" + }, "GoogleCloudDialogflowCxV3ExportTestCasesMetadata": { - "description": "Metadata returned for the TestCases.ExportTestCases long running operation.", + "description": "Metadata returned for the TestCases.ExportTestCases long running operation. This message currently has no fields.", "id": "GoogleCloudDialogflowCxV3ExportTestCasesMetadata", "properties": {}, "type": "object" @@ -6561,6 +8577,10 @@ }, "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": { @@ -6690,6 +8710,17 @@ }, "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" + }, "GoogleCloudDialogflowCxV3ImportTestCasesMetadata": { "description": "Metadata returned for the TestCases.ImportTestCases long running operation.", "id": "GoogleCloudDialogflowCxV3ImportTestCasesMetadata", @@ -6794,7 +8825,7 @@ "id": "GoogleCloudDialogflowCxV3Intent", "properties": { "description": { - "description": "Optional. Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.", + "description": "Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.", "type": "string" }, "displayName": { @@ -6809,7 +8840,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. 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.", + "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": { @@ -6962,6 +8993,10 @@ "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." @@ -7102,6 +9137,10 @@ "$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." }, + "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." @@ -7216,6 +9255,17 @@ }, "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", @@ -7235,8 +9285,33 @@ }, "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.", + "description": "Metadata returned for the TestCases.RunTestCase long running operation. This message currently has no fields.", "id": "GoogleCloudDialogflowCxV3RunTestCaseMetadata", "properties": {}, "type": "object" @@ -7510,6 +9585,10 @@ "$ref": "GoogleCloudDialogflowCxV3WebhookRequestIntentInfo", "description": "Information about the last matched intent." }, + "languageCode": { + "description": "The language code specified in the original request.", + "type": "string" + }, "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": { @@ -7733,6 +9812,43 @@ }, "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" + }, "GoogleCloudDialogflowCxV3beta1ConversationTurn": { "description": "One interaction between a human and virtual agent. The human provides some input and the virtual agent provides a response.", "id": "GoogleCloudDialogflowCxV3beta1ConversationTurn", @@ -7752,6 +9868,10 @@ "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.", @@ -7784,7 +9904,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Required. Input only. The diagnostic info output for the turn.", + "description": "Required. Input only. The diagnostic info output for the turn. Required to calculate the testing coverage.", "type": "object" }, "differences": { @@ -7854,6 +9974,35 @@ }, "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" + }, + "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" + }, "GoogleCloudDialogflowCxV3beta1DtmfInput": { "description": "Represents the input for dtmf event.", "id": "GoogleCloudDialogflowCxV3beta1DtmfInput", @@ -7869,6 +10018,75 @@ }, "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": "Required. 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" + } + }, + "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. Format: projects//locations//agents//flows//versions/.", + "type": "string" + } + }, + "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", @@ -7924,8 +10142,24 @@ }, "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" + }, "GoogleCloudDialogflowCxV3beta1ExportTestCasesMetadata": { - "description": "Metadata returned for the TestCases.ExportTestCases long running operation.", + "description": "Metadata returned for the TestCases.ExportTestCases long running operation. This message currently has no fields.", "id": "GoogleCloudDialogflowCxV3beta1ExportTestCasesMetadata", "properties": {}, "type": "object" @@ -8031,6 +10265,10 @@ }, "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": { @@ -8160,6 +10398,17 @@ }, "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" + }, "GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata": { "description": "Metadata returned for the TestCases.ImportTestCases long running operation.", "id": "GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata", @@ -8264,7 +10513,7 @@ "id": "GoogleCloudDialogflowCxV3beta1Intent", "properties": { "description": { - "description": "Optional. Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.", + "description": "Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.", "type": "string" }, "displayName": { @@ -8279,7 +10528,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. 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.", + "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": { @@ -8432,6 +10681,10 @@ "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." @@ -8572,6 +10825,10 @@ "$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." @@ -8686,6 +10943,17 @@ }, "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", @@ -8705,8 +10973,33 @@ }, "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" + }, + "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.", + "description": "Metadata returned for the TestCases.RunTestCase long running operation. This message currently has no fields.", "id": "GoogleCloudDialogflowCxV3beta1RunTestCaseMetadata", "properties": {}, "type": "object" @@ -8980,6 +11273,10 @@ "$ref": "GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo", "description": "Information about the last matched intent." }, + "languageCode": { + "description": "The language code specified in the original request.", + "type": "string" + }, "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": { @@ -9160,7 +11457,7 @@ "type": "object" }, "GoogleCloudDialogflowV2Agent": { - "description": "A Dialogflow agent is a virtual agent that handles conversations with your end-users. It is a natural language understanding module that understands the nuances of human language. Dialogflow translates end-user text or audio during a conversation to structured data that your apps and services can understand. You design and build a Dialogflow agent to handle the types of conversations required for your system. For more information about agents, see the [Agent guide](https://cloud.google.com/dialogflow/docs/agents-overview).", + "description": "A Dialogflow agent is a virtual agent that handles conversations with your end-users. It is a natural language understanding module that understands the nuances of human language. Dialogflow translates end-user text or audio during a conversation to structured data that your apps and services can understand. You design and build a Dialogflow agent to handle the types of conversations required for your system. For more information about agents, see the [Agent guide](https://cloud.google.com/dialogflow/docs/agents-overview). ", "id": "GoogleCloudDialogflowV2Agent", "properties": { "apiVersion": { @@ -9239,9 +11536,9 @@ ], "enumDescriptions": [ "Not specified. This value should never be used.", - "Standard tier.", - "Enterprise tier (Essentials).", - "Enterprise tier (Plus)." + "Trial Edition, previously known as Standard Edition.", + "Essentials Edition, previously known as Enterprise Essential Edition.", + "Essentials Edition (same as TIER_ENTERPRISE), previously known as Enterprise Plus Edition." ], "type": "string" }, @@ -9322,6 +11619,10 @@ "description": "The request message for Participants.AnalyzeContent.", "id": "GoogleCloudDialogflowV2AnalyzeContentRequest", "properties": { + "assistQueryParams": { + "$ref": "GoogleCloudDialogflowV2AssistQueryParameters", + "description": "Parameters for a human assist query." + }, "eventInput": { "$ref": "GoogleCloudDialogflowV2EventInput", "description": "An input event to send to Dialogflow." @@ -9508,12 +11809,47 @@ }, "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" + }, + "GoogleCloudDialogflowV2AssistQueryParameters": { + "description": "Represents the parameters of human assist query.", + "id": "GoogleCloudDialogflowV2AssistQueryParameters", + "properties": { + "documentsMetadataFilters": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value filters on the metadata of documents returned by article suggestion. If specified, article suggestion only returns suggested documents that match all filters in their Document.metadata. Multiple values for a metadata key should be concatenated by comma. For example, filters to match all documents that have 'US' or 'CA' in their market metadata values and 'agent' in their user metadata values will be ``` documents_metadata_filters { key: \"market\" value: \"US,CA\" } documents_metadata_filters { key: \"user\" value: \"agent\" } ```", + "type": "object" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2AutomatedAgentConfig": { "description": "Defines the Automated Agent to connect to a conversation.", "id": "GoogleCloudDialogflowV2AutomatedAgentConfig", "properties": { "agent": { - "description": "Required. ID of the Dialogflow agent environment to use. This project needs to either be the same project as the conversation or you need to grant `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` the `Dialogflow API Service Agent` role in this project. Format: `projects//locations//agent/environments/`. If environment is not specified, the default `draft` environment is used. Refer to [DetectIntentRequest](/dialogflow/docs/reference/rpc/google.cloud.dialogflow.v2#google.cloud.dialogflow.v2.DetectIntentRequest) for more details.", + "description": "Required. ID of the Dialogflow agent environment to use. This project needs to either be the same project as the conversation or you need to grant `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` the `Dialogflow API Service Agent` role in this project. - For ES agents, use format: `projects//locations//agent/environments/`. If environment is not specified, the default `draft` environment is used. Refer to [DetectIntentRequest](/dialogflow/docs/reference/rpc/google.cloud.dialogflow.v2#google.cloud.dialogflow.v2.DetectIntentRequest) for more details. - For CX agents, use format `projects//locations//agents//environments/`. If environment is not specified, the default `draft` environment is used.", "type": "string" } }, @@ -9523,6 +11859,24 @@ "description": "Represents a response from an automated agent.", "id": "GoogleCloudDialogflowV2AutomatedAgentReply", "properties": { + "allowCancellation": { + "description": "Indicates whether the partial automated agent reply is interruptible when a later reply message arrives. e.g. if the agent specified some music as partial response, it can be cancelled.", + "type": "boolean" + }, + "automatedAgentReplyType": { + "description": "AutomatedAgentReply type.", + "enum": [ + "AUTOMATED_AGENT_REPLY_TYPE_UNSPECIFIED", + "PARTIAL", + "FINAL" + ], + "enumDescriptions": [ + "Not specified. This should never happen.", + "Partial reply. e.g. Aggregated responses in a `Fulfillment` that enables `return_partial_response` can be returned as partial reply. WARNING: partial reply is not eligible for barge-in.", + "Final reply." + ], + "type": "string" + }, "detectIntentResponse": { "$ref": "GoogleCloudDialogflowV2DetectIntentResponse", "description": "Response of the Dialogflow Sessions.DetectIntent call." @@ -9704,6 +12058,93 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2ClearSuggestionFeatureConfigOperationMetadata": { + "description": "Metadata for a ConversationProfile.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" + ], + "enumDescriptions": [ + "Unspecified feature type.", + "Run article suggestion model.", + "Run FAQ model.", + "Run smart reply model." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2ClearSuggestionFeatureConfigRequest": { + "description": "The request message for ConversationProfiles.ClearFeature.", + "id": "GoogleCloudDialogflowV2ClearSuggestionFeatureConfigRequest", + "properties": { + "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" + ], + "enumDescriptions": [ + "Unspecified feature type.", + "Run article suggestion model.", + "Run FAQ model.", + "Run smart reply model." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2CompleteConversationRequest": { "description": "The request message for Conversations.CompleteConversation.", "id": "GoogleCloudDialogflowV2CompleteConversationRequest", @@ -9796,6 +12237,48 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2ConversationDataset": { + "description": "Represents a conversation dataset that a user imports raw data into. The data inside ConversationDataset can not be changed after ImportConversationData finishes (and calling ImportConversationData on a dataset that already has data is not allowed).", + "id": "GoogleCloudDialogflowV2ConversationDataset", + "properties": { + "conversationCount": { + "description": "Output only. The number of conversations this conversation dataset contains.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "conversationInfo": { + "$ref": "GoogleCloudDialogflowV2ConversationInfo", + "description": "Output only. Metadata set during conversation data import.", + "readOnly": true + }, + "createTime": { + "description": "Output only. Creation time of this dataset.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The description of the dataset. Maximum of 10000 bytes.", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the dataset. Maximum of 64 bytes.", + "type": "string" + }, + "inputConfig": { + "$ref": "GoogleCloudDialogflowV2InputConfig", + "description": "Output only. Input configurations set during conversation data import.", + "readOnly": true + }, + "name": { + "description": "Output only. ConversationDataset resource name. Format: `projects//locations//conversationDatasets/`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2ConversationEvent": { "description": "Represents a notification sent to Pub/Sub subscribers for conversation lifecycle events.", "id": "GoogleCloudDialogflowV2ConversationEvent", @@ -9835,6 +12318,114 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2ConversationInfo": { + "description": "Represents metadata of a conversation.", + "id": "GoogleCloudDialogflowV2ConversationInfo", + "properties": { + "languageCode": { + "description": "Optional. The language code of the conversation data within this dataset. See https://cloud.google.com/apis/design/standard_fields for more information. Supports all UTF-8 languages.", + "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" + }, + "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" + }, + "GoogleCloudDialogflowV2ConversationModelEvaluation": { + "description": "Represents evaluation result of a conversation model.", + "id": "GoogleCloudDialogflowV2ConversationModelEvaluation", + "properties": { + "createTime": { + "description": "Output only. Creation time of this model.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Optional. The display name of the model evaluation. At most 64 bytes long.", + "type": "string" + }, + "evaluationConfig": { + "$ref": "GoogleCloudDialogflowV2EvaluationConfig", + "description": "Optional. The configuration of the evaluation task." + }, + "name": { + "description": "The resource name of the evaluation. Format: `projects//conversationModels//evaluations/`", + "type": "string" + }, + "smartReplyMetrics": { + "$ref": "GoogleCloudDialogflowV2SmartReplyMetrics", + "description": "Output only. Only available when model is for smart reply.", + "readOnly": true + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2ConversationPhoneNumber": { "description": "Represents a phone number for telephony integration. It allows for connecting a particular conversation over telephony.", "id": "GoogleCloudDialogflowV2ConversationPhoneNumber", @@ -9874,7 +12465,7 @@ "description": "Configuration for connecting to a live agent. Currently, this feature is not general available, please contact Google to get access." }, "languageCode": { - "description": "Language which represents the conversationProfile. If unspecified, the default language code en-us applies. Users need to create a ConversationProfile for each language they want to support.", + "description": "Language code for the conversation profile. If not specified, the language is en-US. Language at ConversationProfile 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" }, "loggingConfig": { @@ -9893,10 +12484,18 @@ "$ref": "GoogleCloudDialogflowV2NotificationConfig", "description": "Configuration for publishing conversation lifecycle events." }, + "securitySettings": { + "description": "Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.", + "type": "string" + }, "sttConfig": { "$ref": "GoogleCloudDialogflowV2SpeechToTextConfig", "description": "Settings for speech transcription." }, + "timeZone": { + "description": "The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.", + "type": "string" + }, "updateTime": { "description": "Output only. Update time of the conversation profile.", "format": "google-datetime", @@ -9906,6 +12505,145 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2CreateConversationDatasetOperationMetadata": { + "description": "Metadata for ConversationDatasets.", + "id": "GoogleCloudDialogflowV2CreateConversationDatasetOperationMetadata", + "properties": {}, + "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" + }, + "GoogleCloudDialogflowV2CreateConversationModelEvaluationRequest": { + "description": "The request message for ConversationModels.CreateConversationModelEvaluation", + "id": "GoogleCloudDialogflowV2CreateConversationModelEvaluationRequest", + "properties": { + "conversationModelEvaluation": { + "$ref": "GoogleCloudDialogflowV2ConversationModelEvaluation", + "description": "Required. The conversation model evaluation to be created." + } + }, + "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 ConversationDatasets.", + "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" + }, + "GoogleCloudDialogflowV2DeployConversationModelRequest": { + "description": "The request message for ConversationModels.DeployConversationModel", + "id": "GoogleCloudDialogflowV2DeployConversationModelRequest", + "properties": {}, + "type": "object" + }, "GoogleCloudDialogflowV2DetectIntentRequest": { "description": "The request to detect user's intent.", "id": "GoogleCloudDialogflowV2DetectIntentRequest", @@ -9986,13 +12724,15 @@ "KNOWLEDGE_TYPE_UNSPECIFIED", "FAQ", "EXTRACTIVE_QA", - "ARTICLE_SUGGESTION" + "ARTICLE_SUGGESTION", + "AGENT_FACING_SMART_REPLY" ], "enumDescriptions": [ "The type is unspecified or arbitrary.", "The document content contains question and answer pairs as either HTML or CSV. Typical FAQ HTML formats are parsed accurately, but unusual formats may fail to be parsed. CSV must have questions in the first column and answers in the second, with no header. Because of this explicit format, they are always parsed accurately.", "Documents for which unstructured text is extracted and used for question answering.", - "The entire document content as a whole can be used for query results. Only for Contact Center Solutions on Dialogflow." + "The entire document content as a whole can be used for query results. Only for Contact Center Solutions on Dialogflow.", + "The document contains agent-facing Smart Reply entries." ], "type": "string" }, @@ -10022,6 +12762,27 @@ "description": "The raw content of the document. This field is only permitted for EXTRACTIVE_QA and FAQ knowledge types.", "format": "byte", "type": "string" + }, + "state": { + "description": "Output only. The current state of the document.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "UPDATING", + "RELOADING", + "DELETING" + ], + "enumDescriptions": [ + "The document state is unspecified.", + "The document creation is in progress.", + "The document is active and ready to use.", + "The document updation is in progress.", + "The document is reloading.", + "The document deletion is in progress." + ], + "readOnly": true, + "type": "string" } }, "type": "object" @@ -10144,15 +12905,19 @@ "id": "GoogleCloudDialogflowV2Environment", "properties": { "agentVersion": { - "description": "Optional. The agent version loaded into this environment. Format: `projects//agent/versions/`.", + "description": "Optional. The agent version loaded into this environment. Supported formats: - `projects//agent/versions/` - `projects//locations//agent/versions/`", "type": "string" }, "description": { "description": "Optional. The developer-provided description for this environment. The maximum length is 500 characters. If exceeded, the request is rejected.", "type": "string" }, + "fulfillment": { + "$ref": "GoogleCloudDialogflowV2Fulfillment", + "description": "Optional. The fulfillment settings to use for this environment." + }, "name": { - "description": "Output only. The unique identifier of this agent environment. Format: `projects//agent/environments/`. For Environment ID, \"-\" is reserved for 'draft' environment.", + "description": "Output only. The unique identifier of this agent environment. Supported formats: - `projects//agent/environments/` - `projects//locations//agent/environments/` The environment ID for the default environment is `-`.", "readOnly": true, "type": "string" }, @@ -10173,6 +12938,10 @@ "readOnly": true, "type": "string" }, + "textToSpeechSettings": { + "$ref": "GoogleCloudDialogflowV2TextToSpeechSettings", + "description": "Optional. Text to speech settings for this environment." + }, "updateTime": { "description": "Output only. The last update time of this environment. This field is read-only, i.e., it cannot be set by create and update methods.", "format": "google-datetime", @@ -10182,6 +12951,105 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2EnvironmentHistory": { + "description": "The response message for Environments.GetEnvironmentHistory.", + "id": "GoogleCloudDialogflowV2EnvironmentHistory", + "properties": { + "entries": { + "description": "Output only. The list of agent environments. There will be a maximum number of items returned based on the page_size field in the request.", + "items": { + "$ref": "GoogleCloudDialogflowV2EnvironmentHistoryEntry" + }, + "readOnly": true, + "type": "array" + }, + "nextPageToken": { + "description": "Output only. Token to retrieve the next page of results, or empty if there are no more results in the list.", + "readOnly": true, + "type": "string" + }, + "parent": { + "description": "Output only. The name of the environment this history is for. Supported formats: - `projects//agent/environments/` - `projects//locations//agent/environments/` The environment ID for the default environment is `-`.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2EnvironmentHistoryEntry": { + "description": "Represents an environment history entry.", + "id": "GoogleCloudDialogflowV2EnvironmentHistoryEntry", + "properties": { + "agentVersion": { + "description": "The agent version loaded into this environment history entry.", + "type": "string" + }, + "createTime": { + "description": "The creation time of this environment history entry.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "The developer-provided description for this environment history entry.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2EvaluationConfig": { + "description": "The configuration for model evaluation.", + "id": "GoogleCloudDialogflowV2EvaluationConfig", + "properties": { + "datasets": { + "description": "Required. Datasets used for evaluation.", + "items": { + "$ref": "GoogleCloudDialogflowV2InputDataset" + }, + "type": "array" + }, + "smartComposeConfig": { + "$ref": "GoogleCloudDialogflowV2EvaluationConfigSmartComposeConfig", + "description": "Configuration for smart compose model evalution." + }, + "smartReplyConfig": { + "$ref": "GoogleCloudDialogflowV2EvaluationConfigSmartReplyConfig", + "description": "Configuration for smart reply model evalution." + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2EvaluationConfigSmartComposeConfig": { + "description": "Smart compose specific configuration for evaluation job.", + "id": "GoogleCloudDialogflowV2EvaluationConfigSmartComposeConfig", + "properties": { + "allowlistDocument": { + "description": "The allowlist document resource name. Format: `projects//knowledgeBases//documents/`. Only used for smart compose model.", + "type": "string" + }, + "maxResultCount": { + "description": "Required. The model to be evaluated can return multiple results with confidence score on each query. These results will be sorted by the descending order of the scores and we only keep the first max_result_count results as the final results to evaluate.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2EvaluationConfigSmartReplyConfig": { + "description": "Smart reply specific configuration for evaluation job.", + "id": "GoogleCloudDialogflowV2EvaluationConfigSmartReplyConfig", + "properties": { + "allowlistDocument": { + "description": "The allowlist document resource name. Format: `projects//knowledgeBases//documents/`. Only used for smart reply model.", + "type": "string" + }, + "maxResultCount": { + "description": "Required. The model to be evaluated can return multiple results with confidence score on each query. These results will be sorted by the descending order of the scores and we only keep the first max_result_count results as the final results to evaluate.", + "format": "int32", + "type": "integer" + } + }, + "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", @@ -10232,6 +13100,36 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2ExportDocumentRequest": { + "description": "Request message for Documents.ExportDocument.", + "id": "GoogleCloudDialogflowV2ExportDocumentRequest", + "properties": { + "exportFullContent": { + "description": "When enabled, export the full content of the document including empirical probability.", + "type": "boolean" + }, + "gcsDestination": { + "$ref": "GoogleCloudDialogflowV2GcsDestination", + "description": "Cloud Storage file path to export the document." + }, + "smartMessagingPartialUpdate": { + "description": "When enabled, export the smart messaging allowlist document for partial update.", + "type": "boolean" + } + }, + "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", @@ -10272,7 +13170,7 @@ "id": "GoogleCloudDialogflowV2Fulfillment", "properties": { "displayName": { - "description": "Optional. The human-readable name of the fulfillment, unique within the agent.", + "description": "Optional. The human-readable name of the fulfillment, unique within the agent. This field is not used for Fulfillment in an Environment.", "type": "string" }, "enabled": { @@ -10291,7 +13189,7 @@ "description": "Configuration for a generic web service." }, "name": { - "description": "Required. The unique identifier of the fulfillment. Format: `projects//agent/fulfillment`.", + "description": "Required. The unique identifier of the fulfillment. Supported formats: - `projects//agent/fulfillment` - `projects//locations//agent/fulfillment` This field is not used for Fulfillment in an Environment.", "type": "string" } }, @@ -10321,7 +13219,7 @@ "id": "GoogleCloudDialogflowV2FulfillmentGenericWebService", "properties": { "isCloudFunction": { - "description": "Optional. Indicates if generic web service is created through Cloud Functions integration. Defaults to false.", + "description": "Optional. Indicates if generic web service is created through Cloud Functions integration. Defaults to false. is_cloud_function is deprecated. Cloud functions can be configured by its uri as a regular web service now.", "type": "boolean" }, "password": { @@ -10346,6 +13244,31 @@ }, "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" + }, + "GoogleCloudDialogflowV2GcsSources": { + "description": "Google Cloud Storage location for the inputs.", + "id": "GoogleCloudDialogflowV2GcsSources", + "properties": { + "uris": { + "description": "Required. Google Cloud Storage URIs for the inputs. A URI is of the form: gs://bucket/object-prefix-or-name Whether a prefix or name is used depends on the use case.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2HumanAgentAssistantConfig": { "description": "Defines the Human Agent Assist to connect to a conversation.", "id": "GoogleCloudDialogflowV2HumanAgentAssistantConfig", @@ -10374,12 +13297,24 @@ "id": "GoogleCloudDialogflowV2HumanAgentAssistantConfigConversationModelConfig", "properties": { "model": { - "description": "Required. Conversation model resource name. Format: `projects//conversationModels/`.", + "description": "Conversation model resource name. Format: `projects//conversationModels/`.", "type": "string" } }, "type": "object" }, + "GoogleCloudDialogflowV2HumanAgentAssistantConfigConversationProcessConfig": { + "description": "Config to process conversation.", + "id": "GoogleCloudDialogflowV2HumanAgentAssistantConfigConversationProcessConfig", + "properties": { + "recentSentencesCount": { + "description": "Number of recent non-small-talk sentences to use as context for article and FAQ suggestion", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2HumanAgentAssistantConfigMessageAnalysisConfig": { "description": "Configuration for analyses to run on each conversation message.", "id": "GoogleCloudDialogflowV2HumanAgentAssistantConfigMessageAnalysisConfig", @@ -10421,6 +13356,10 @@ "$ref": "GoogleCloudDialogflowV2HumanAgentAssistantConfigConversationModelConfig", "description": "Configs of custom conversation model." }, + "conversationProcessConfig": { + "$ref": "GoogleCloudDialogflowV2HumanAgentAssistantConfigConversationProcessConfig", + "description": "Configs for processing conversation." + }, "enableEventBasedSuggestion": { "description": "Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.", "type": "boolean" @@ -10445,7 +13384,7 @@ "id": "GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfig", "properties": { "confidenceThreshold": { - "description": "Confidence threshold of query result. Agent Assist gives each suggestion a score in the range [0.0, 1.0], based on the relevance between the suggestion and the current conversation context. A score of 0.0 has no relevance, while a score of 1.0 has high relevance. Only suggestions with a score greater than or equal to the value of this field are included in the results. For a baseline model (the default), the recommended value is in the range [0.05, 0.1]. For a custom model, there is no recommended value. Tune this value by starting from a very low value and slowly increasing until you have desired results. If this field is not set, it defaults to 0.0, which means that all suggestions are returned. Supported features: ARTICLE_SUGGESTION.", + "description": "Confidence threshold of query result. Agent Assist gives each suggestion a score in the range [0.0, 1.0], based on the relevance between the suggestion and the current conversation context. A score of 0.0 has no relevance, while a score of 1.0 has high relevance. Only suggestions with a score greater than or equal to the value of this field are included in the results. For a baseline model (the default), the recommended value is in the range [0.05, 0.1]. For a custom model, there is no recommended value. Tune this value by starting from a very low value and slowly increasing until you have desired results. If this field is not set, it defaults to 0.0, which means that all suggestions are returned. Supported features: ARTICLE_SUGGESTION, FAQ, SMART_REPLY, SMART_COMPOSE.", "format": "float", "type": "number" }, @@ -10633,6 +13572,128 @@ }, "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" + }, + "GoogleCloudDialogflowV2ImportConversationDataRequest": { + "description": "The request message for ConversationDatasets.ImportConversationData.", + "id": "GoogleCloudDialogflowV2ImportConversationDataRequest", + "properties": { + "inputConfig": { + "$ref": "GoogleCloudDialogflowV2InputConfig", + "description": "Required. Configuration describing where to import data from." + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2ImportDocumentTemplate": { + "description": "The template used for importing documents.", + "id": "GoogleCloudDialogflowV2ImportDocumentTemplate", + "properties": { + "knowledgeTypes": { + "description": "Required. The knowledge type of document content.", + "items": { + "enum": [ + "KNOWLEDGE_TYPE_UNSPECIFIED", + "FAQ", + "EXTRACTIVE_QA", + "ARTICLE_SUGGESTION", + "AGENT_FACING_SMART_REPLY" + ], + "enumDescriptions": [ + "The type is unspecified or arbitrary.", + "The document content contains question and answer pairs as either HTML or CSV. Typical FAQ HTML formats are parsed accurately, but unusual formats may fail to be parsed. CSV must have questions in the first column and answers in the second, with no header. Because of this explicit format, they are always parsed accurately.", + "Documents for which unstructured text is extracted and used for question answering.", + "The entire document content as a whole can be used for query results. Only for Contact Center Solutions on Dialogflow.", + "The document contains agent-facing Smart Reply entries." + ], + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Metadata for the document. The metadata supports arbitrary key-value pairs. Suggested use cases include storing a document's title, an external URL distinct from the document's content_uri, etc. The max size of a `key` or a `value` of the metadata is 1024 bytes.", + "type": "object" + }, + "mimeType": { + "description": "Required. The MIME type of the document.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2ImportDocumentsRequest": { + "description": "Request message for Documents.ImportDocuments.", + "id": "GoogleCloudDialogflowV2ImportDocumentsRequest", + "properties": { + "documentTemplate": { + "$ref": "GoogleCloudDialogflowV2ImportDocumentTemplate", + "description": "Required. Document template used for importing all the documents." + }, + "gcsSource": { + "$ref": "GoogleCloudDialogflowV2GcsSources", + "description": "The Google Cloud Storage location for the documents. The path can include a wildcard. These URIs may have the forms `gs:///`. `gs:////*.`." + }, + "importGcsCustomMetadata": { + "description": "Whether to import custom metadata from Google Cloud Storage. Only valid when the document source is Google Cloud Storage URI.", + "type": "boolean" + } + }, + "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" + }, "GoogleCloudDialogflowV2InputAudioConfig": { "description": "Instructs the speech recognizer how to process the audio content.", "id": "GoogleCloudDialogflowV2InputAudioConfig", @@ -10719,6 +13780,28 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2InputConfig": { + "description": "Represents the configuration of importing a set of conversation files in Google Cloud Storage.", + "id": "GoogleCloudDialogflowV2InputConfig", + "properties": { + "gcsSource": { + "$ref": "GoogleCloudDialogflowV2GcsSources", + "description": "The Cloud Storage URI has the form gs:////agent*.json. Wildcards are allowed and will be expanded into all matched JSON files, which will be read as one conversation per file." + } + }, + "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", @@ -10774,10 +13857,11 @@ "type": "array" }, "followupIntentInfo": { - "description": "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.", + "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": { @@ -10838,7 +13922,8 @@ "type": "boolean" }, "rootFollowupIntentName": { - "description": "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/`.", + "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": { @@ -11664,6 +14749,14 @@ "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": [ @@ -11720,6 +14813,60 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2ListConversationDatasetsResponse": { + "description": "The response message for ConversationDatasets.ListConversationDatasets.", + "id": "GoogleCloudDialogflowV2ListConversationDatasetsResponse", + "properties": { + "conversationDatasets": { + "description": "The list of datasets to return.", + "items": { + "$ref": "GoogleCloudDialogflowV2ConversationDataset" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The token to use to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2ListConversationModelEvaluationsResponse": { + "description": "The response message for ConversationModels.ListConversationModelEvaluations", + "id": "GoogleCloudDialogflowV2ListConversationModelEvaluationsResponse", + "properties": { + "conversationModelEvaluations": { + "description": "The list of evaluations to return.", + "items": { + "$ref": "GoogleCloudDialogflowV2ConversationModelEvaluation" + }, + "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" + }, + "GoogleCloudDialogflowV2ListConversationModelsResponse": { + "description": "The response message for ConversationModels.ListConversationModels", + "id": "GoogleCloudDialogflowV2ListConversationModelsResponse", + "properties": { + "conversationModels": { + "description": "The list of models to return.", + "items": { + "$ref": "GoogleCloudDialogflowV2ConversationModel" + }, + "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" + }, "GoogleCloudDialogflowV2ListConversationProfilesResponse": { "description": "The response message for ConversationProfiles.ListConversationProfiles.", "id": "GoogleCloudDialogflowV2ListConversationProfilesResponse", @@ -11900,6 +15047,24 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2ListVersionsResponse": { + "description": "The response message for Versions.ListVersions.", + "id": "GoogleCloudDialogflowV2ListVersionsResponse", + "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": "The list of agent versions. There will be a maximum number of items returned based on the page_size field in the request.", + "items": { + "$ref": "GoogleCloudDialogflowV2Version" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2LoggingConfig": { "description": "Defines logging behavior for conversation lifecycle events.", "id": "GoogleCloudDialogflowV2LoggingConfig", @@ -11920,7 +15085,7 @@ "type": "string" }, "createTime": { - "description": "Output only. The time when the message was created.", + "description": "Output only. The time when the message was created in Contact Center AI.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -11935,7 +15100,7 @@ "readOnly": true }, "name": { - "description": "The unique identifier of the message. Format: `projects//locations//conversations//messages/`.", + "description": "Optional. The unique identifier of the message. Format: `projects//locations//conversations//messages/`.", "type": "string" }, "participant": { @@ -11959,6 +15124,16 @@ ], "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" @@ -11993,14 +15168,14 @@ "JSON" ], "enumDescriptions": [ - "If it is unspeified, PROTO will be used.", - "Pubsub message will be serialized proto.", - "Pubsub message will be json." + "If it is unspecified, PROTO will be used.", + "Pub/Sub message will be serialized proto.", + "Pub/Sub message will be json." ], "type": "string" }, "topic": { - "description": "Name of the Pub/Sub topic to publish conversation events like CONVERSATION_STARTED as serialized ConversationEvent protos. Notification works for phone calls, if this topic either is in the same project as the conversation or you grant `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` the `Dialogflow Service Agent` role in the topic project. Format: `projects//locations//topics/`.", + "description": "Name of the Pub/Sub topic to publish conversation events like CONVERSATION_STARTED as serialized ConversationEvent protos. For telephony integration to receive notification, make sure either this topic is in the same project as the conversation or you grant `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` the `Dialogflow Service Agent` role in the topic project. For chat integration to receive notification, make sure API caller has been granted the `Dialogflow Service Agent` role for the topic. Format: `projects//locations//topics/`.", "type": "string" } }, @@ -12085,6 +15260,13 @@ "description": "Represents a conversation participant (human agent, virtual agent, end-user).", "id": "GoogleCloudDialogflowV2Participant", "properties": { + "documentsMetadataFilters": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Key-value filters on the metadata of documents returned by article suggestion. If specified, article suggestion only returns suggested documents that match all filters in their Document.metadata. Multiple values for a metadata key should be concatenated by comma. For example, filters to match all documents that have 'US' or 'CA' in their market metadata values and 'agent' in their user metadata values will be ``` documents_metadata_filters { key: \"market\" value: \"US,CA\" } documents_metadata_filters { key: \"user\" value: \"agent\" } ```", + "type": "object" + }, "name": { "description": "Optional. The unique identifier of this participant. Format: `projects//locations//conversations//participants/`.", "type": "string" @@ -12195,6 +15377,10 @@ "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.", + "type": "boolean" + }, "diagnosticInfo": { "additionalProperties": { "description": "Properties of the object.", @@ -12277,6 +15463,14 @@ "contentUri": { "description": "Optional. The path of gcs source file for reloading document content. For now, only gcs uri is supported. For documents stored in Google Cloud Storage, these URIs must have the form `gs:///`.", "type": "string" + }, + "importGcsCustomMetadata": { + "description": "Optional. Whether to import custom metadata from Google Cloud Storage. Only valid when the document source is Google Cloud Storage URI.", + "type": "boolean" + }, + "smartMessagingPartialUpdate": { + "description": "Optional. When enabled, the reload request is to apply partial update to the smart messaging allowlist.", + "type": "boolean" } }, "type": "object" @@ -12386,6 +15580,163 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2SetSuggestionFeatureConfigOperationMetadata": { + "description": "Metadata for a ConversationProfile.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" + ], + "enumDescriptions": [ + "Unspecified feature type.", + "Run article suggestion model.", + "Run FAQ model.", + "Run smart reply model." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2SetSuggestionFeatureConfigRequest": { + "description": "The request message for ConversationProfiles.SetSuggestionFeature.", + "id": "GoogleCloudDialogflowV2SetSuggestionFeatureConfigRequest", + "properties": { + "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" + }, + "suggestionFeatureConfig": { + "$ref": "GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionFeatureConfig", + "description": "Required. The suggestion feature config to add or update." + } + }, + "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" + }, + "GoogleCloudDialogflowV2SmartReplyMetrics": { + "description": "The evaluation metrics for smart reply model.", + "id": "GoogleCloudDialogflowV2SmartReplyMetrics", + "properties": { + "allowlistCoverage": { + "description": "Percentage of target participant messages in the evaluation dataset for which similar messages have appeared at least once in the allowlist. Should be [0, 1].", + "format": "float", + "type": "number" + }, + "conversationCount": { + "description": "Total number of conversations used to generate this metric.", + "format": "int64", + "type": "string" + }, + "topNMetrics": { + "description": "Metrics of top n smart replies, sorted by TopNMetric.n.", + "items": { + "$ref": "GoogleCloudDialogflowV2SmartReplyMetricsTopNMetrics" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2SmartReplyMetricsTopNMetrics": { + "description": "Evaluation metrics when retrieving `n` smart replies with the model.", + "id": "GoogleCloudDialogflowV2SmartReplyMetricsTopNMetrics", + "properties": { + "n": { + "description": "Number of retrieved smart replies. For example, when `n` is 3, this evaluation contains metrics for when Dialogflow retrieves 3 smart replies with the model.", + "format": "int32", + "type": "integer" + }, + "recall": { + "description": "Defined as `number of queries whose top n smart replies have at least one similar (token match similarity above the defined threshold) reply as the real reply` divided by `number of queries with at least one smart reply`. Value ranges from 0.0 to 1.0 inclusive.", + "format": "float", + "type": "number" + } + }, + "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" + }, "GoogleCloudDialogflowV2SpeechContext": { "description": "Hints for the speech recognizer to help with recognition in a specific conversation state.", "id": "GoogleCloudDialogflowV2SpeechContext", @@ -12410,7 +15761,7 @@ "id": "GoogleCloudDialogflowV2SpeechToTextConfig", "properties": { "speechModelVariant": { - "description": "Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.", + "description": "The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.", "enum": [ "SPEECH_MODEL_VARIANT_UNSPECIFIED", "USE_BEST_AVAILABLE", @@ -12432,13 +15783,17 @@ "description": "The request message for Participants.SuggestArticles.", "id": "GoogleCloudDialogflowV2SuggestArticlesRequest", "properties": { + "assistQueryParams": { + "$ref": "GoogleCloudDialogflowV2AssistQueryParameters", + "description": "Parameters for a human assist query." + }, "contextSize": { - "description": "Max number of messages prior to and including latest_message to use as context when compiling the suggestion. By default 20 and at most 50.", + "description": "Optional. Max number of messages prior to and including latest_message to use as context when compiling the suggestion. By default 20 and at most 50.", "format": "int32", "type": "integer" }, "latestMessage": { - "description": "The name of the latest conversation message to compile suggestion for. If empty, it will be the latest message of the conversation. Format: `projects//locations//conversations//messages/`.", + "description": "Optional. The name of the latest conversation message to compile suggestion for. If empty, it will be the latest message of the conversation. Format: `projects//locations//conversations//messages/`.", "type": "string" } }, @@ -12471,13 +15826,17 @@ "description": "The request message for Participants.SuggestFaqAnswers.", "id": "GoogleCloudDialogflowV2SuggestFaqAnswersRequest", "properties": { + "assistQueryParams": { + "$ref": "GoogleCloudDialogflowV2AssistQueryParameters", + "description": "Parameters for a human assist query." + }, "contextSize": { - "description": "Max number of messages prior to and including [latest_message] to use as context when compiling the suggestion. By default 20 and at most 50.", + "description": "Optional. Max number of messages prior to and including [latest_message] to use as context when compiling the suggestion. By default 20 and at most 50.", "format": "int32", "type": "integer" }, "latestMessage": { - "description": "The name of the latest conversation message to compile suggestion for. If empty, it will be the latest message of the conversation. Format: `projects//locations//conversations//messages/`.", + "description": "Optional. The name of the latest conversation message to compile suggestion for. If empty, it will be the latest message of the conversation. Format: `projects//locations//conversations//messages/`.", "type": "string" } }, @@ -12506,6 +15865,50 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2SuggestSmartRepliesRequest": { + "description": "The request message for Participants.SuggestSmartReplies.", + "id": "GoogleCloudDialogflowV2SuggestSmartRepliesRequest", + "properties": { + "contextSize": { + "description": "Max number of messages prior to and including [latest_message] to use as context when compiling the suggestion. By default 20 and at most 50.", + "format": "int32", + "type": "integer" + }, + "currentTextInput": { + "$ref": "GoogleCloudDialogflowV2TextInput", + "description": "The current natural language text segment to compile suggestion for. This provides a way for user to get follow up smart reply suggestion after a smart reply selection, without sending a text message." + }, + "latestMessage": { + "description": "The name of the latest conversation message to compile suggestion for. If empty, it will be the latest message of the conversation. 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" + }, "GoogleCloudDialogflowV2SuggestionFeature": { "description": "The type of Human Agent Assistant API suggestion to perform, and the maximum number of results to return for that type. Multiple `Feature` objects can be specified in the `features` list.", "id": "GoogleCloudDialogflowV2SuggestionFeature", @@ -12515,12 +15918,14 @@ "enum": [ "TYPE_UNSPECIFIED", "ARTICLE_SUGGESTION", - "FAQ" + "FAQ", + "SMART_REPLY" ], "enumDescriptions": [ "Unspecified feature type.", "Run article suggestion model.", - "Run FAQ model." + "Run FAQ model.", + "Run smart reply model." ], "type": "string" } @@ -12542,6 +15947,10 @@ "suggestFaqAnswersResponse": { "$ref": "GoogleCloudDialogflowV2SuggestFaqAnswersResponse", "description": "SuggestFaqAnswersResponse if request is for FAQ_ANSWER." + }, + "suggestSmartRepliesResponse": { + "$ref": "GoogleCloudDialogflowV2SuggestSmartRepliesResponse", + "description": "SuggestSmartRepliesResponse if request is for SMART_REPLY." } }, "type": "object" @@ -12594,12 +16003,77 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2TextToSpeechSettings": { + "description": "Instructs the speech synthesizer on how to generate the output audio content.", + "id": "GoogleCloudDialogflowV2TextToSpeechSettings", + "properties": { + "enableTextToSpeech": { + "description": "Optional. Indicates whether text to speech is enabled. Even when this field is false, other settings in this proto are still retained.", + "type": "boolean" + }, + "outputAudioEncoding": { + "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" + ], + "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." + ], + "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" + }, + "synthesizeSpeechConfigs": { + "additionalProperties": { + "$ref": "GoogleCloudDialogflowV2SynthesizeSpeechConfig" + }, + "description": "Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig.", + "type": "object" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2TrainAgentRequest": { "description": "The request message for Agents.TrainAgent.", "id": "GoogleCloudDialogflowV2TrainAgentRequest", "properties": {}, "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" + }, + "GoogleCloudDialogflowV2UndeployConversationModelRequest": { + "description": "The request message for ConversationModels.UndeployConversationModel", + "id": "GoogleCloudDialogflowV2UndeployConversationModelRequest", + "properties": {}, + "type": "object" + }, "GoogleCloudDialogflowV2ValidationError": { "description": "Represents a single validation error.", "id": "GoogleCloudDialogflowV2ValidationError", @@ -12612,7 +16086,7 @@ "type": "array" }, "errorMessage": { - "description": "The detailed error messsage.", + "description": "The detailed error message.", "type": "string" }, "severity": { @@ -12650,6 +16124,51 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2Version": { + "description": "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. For more information, see the [versions and environments guide](https://cloud.google.com/dialogflow/docs/agents-versions).", + "id": "GoogleCloudDialogflowV2Version", + "properties": { + "createTime": { + "description": "Output only. The creation time of this version. This field is read-only, i.e., it cannot be set by create and update methods.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The developer-provided description of this version.", + "type": "string" + }, + "name": { + "description": "Output only. The unique identifier of this agent version. Supported formats: - `projects//agent/versions/` - `projects//locations//agent/versions/`", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Output only. The status of this version. This field is read-only and cannot be set by create and update methods.", + "enum": [ + "VERSION_STATUS_UNSPECIFIED", + "IN_PROGRESS", + "READY", + "FAILED" + ], + "enumDescriptions": [ + "Not specified. This value is not used.", + "Version is not ready to serve (e.g. training is in progress).", + "Version is ready to serve.", + "Version training failed." + ], + "readOnly": true, + "type": "string" + }, + "versionNumber": { + "description": "Output only. The sequential number of this version. This field is read-only which means it cannot be set by create and update methods.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2VoiceSelectionParams": { "description": "Description of which voice to use for speech synthesis.", "id": "GoogleCloudDialogflowV2VoiceSelectionParams", @@ -12828,6 +16347,54 @@ }, "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" + ], + "enumDescriptions": [ + "Unspecified feature type.", + "Run article suggestion model.", + "Run FAQ model.", + "Run smart reply model." + ], + "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", @@ -13000,6 +16567,17 @@ }, "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", @@ -13035,6 +16613,17 @@ }, "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", @@ -14335,6 +17924,14 @@ "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": [ @@ -14470,6 +18067,10 @@ "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.", + "type": "boolean" + }, "diagnosticInfo": { "additionalProperties": { "description": "Properties of the object.", @@ -14609,6 +18210,54 @@ }, "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" + ], + "enumDescriptions": [ + "Unspecified feature type.", + "Run article suggestion model.", + "Run FAQ model.", + "Run smart reply model." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1SmartReplyAnswer": { "description": "Represents a smart reply answer.", "id": "GoogleCloudDialogflowV2beta1SmartReplyAnswer", @@ -14900,6 +18549,58 @@ }, "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 Google Cloud Platform 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", @@ -14987,7 +18688,7 @@ "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 must conform to the WGS84 standard. Values must be within normalized ranges.", + "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": { diff --git a/etc/api/dialogflow/v2beta1/dialogflow-api.json b/etc/api/dialogflow/v2beta1/dialogflow-api.json index 34223f895c..47f6d0aaab 100644 --- a/etc/api/dialogflow/v2beta1/dialogflow-api.json +++ b/etc/api/dialogflow/v2beta1/dialogflow-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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" @@ -163,7 +163,7 @@ ] }, "setAgent": { - "description": "Creates/updates the specified agent.", + "description": "Creates/updates the specified agent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/agent", "httpMethod": "POST", "id": "dialogflow.projects.setAgent", @@ -202,7 +202,7 @@ "agent": { "methods": { "export": { - "description": "Exports the specified agent to a ZIP file. Operation ", + "description": "Exports the specified agent to a ZIP file. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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": "v2beta1/projects/{projectsId}/agent:export", "httpMethod": "POST", "id": "dialogflow.projects.agent.export", @@ -288,7 +288,7 @@ ] }, "import": { - "description": "Imports the specified agent from a ZIP file. Uploads new intents and entity types without deleting the existing ones. Intents and entity types with the same name are replaced with the new versions from ImportAgentRequest. After the import, the imported draft agent will be trained automatically (unless disabled in agent settings). However, once the import is done, training may not be completed yet. Please call TrainAgent and wait for the operation it returns in order to train explicitly. Operation An operation which tracks when importing is complete. It only tracks when the draft agent is updated not when it is done training.", + "description": "Imports the specified agent from a ZIP file. Uploads new intents and entity types without deleting the existing ones. Intents and entity types with the same name are replaced with the new versions from ImportAgentRequest. After the import, the imported draft agent will be trained automatically (unless disabled in agent settings). However, once the import is done, training may not be completed yet. Please call TrainAgent and wait for the operation it returns in order to train explicitly. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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) The operation only tracks when importing is complete, not when it is done training. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/agent:import", "httpMethod": "POST", "id": "dialogflow.projects.agent.import", @@ -317,7 +317,7 @@ ] }, "restore": { - "description": "Restores the specified agent from a ZIP file. Replaces the current agent version with a new one. All the intents and entity types in the older version are deleted. After the restore, the restored draft agent will be trained automatically (unless disabled in agent settings). However, once the restore is done, training may not be completed yet. Please call TrainAgent and wait for the operation it returns in order to train explicitly. Operation An operation which tracks when restoring is complete. It only tracks when the draft agent is updated not when it is done training.", + "description": "Restores the specified agent from a ZIP file. Replaces the current agent version with a new one. All the intents and entity types in the older version are deleted. After the restore, the restored draft agent will be trained automatically (unless disabled in agent settings). However, once the restore is done, training may not be completed yet. Please call TrainAgent and wait for the operation it returns in order to train explicitly. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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) The operation only tracks when restoring is complete, not when it is done training. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/agent:restore", "httpMethod": "POST", "id": "dialogflow.projects.agent.restore", @@ -383,7 +383,7 @@ ] }, "train": { - "description": "Trains the specified agent. Operation ", + "description": "Trains the specified agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/agent:train", "httpMethod": "POST", "id": "dialogflow.projects.agent.train", @@ -451,7 +451,7 @@ "entityTypes": { "methods": { "batchDelete": { - "description": "Deletes entity types in the specified agent. Operation ", + "description": "Deletes entity types in the specified agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/agent/entityTypes:batchDelete", "httpMethod": "POST", "id": "dialogflow.projects.agent.entityTypes.batchDelete", @@ -480,7 +480,7 @@ ] }, "batchUpdate": { - "description": "Updates/Creates multiple entity types in the specified agent. Operation ", + "description": "Updates/Creates multiple entity types in the specified agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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`: BatchUpdateEntityTypesResponse Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/agent/entityTypes:batchUpdate", "httpMethod": "POST", "id": "dialogflow.projects.agent.entityTypes.batchUpdate", @@ -509,7 +509,7 @@ ] }, "create": { - "description": "Creates an entity type in the specified agent.", + "description": "Creates an entity type in the specified agent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/agent/entityTypes", "httpMethod": "POST", "id": "dialogflow.projects.agent.entityTypes.create", @@ -543,7 +543,7 @@ ] }, "delete": { - "description": "Deletes the specified entity type.", + "description": "Deletes the specified entity type. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/agent/entityTypes/{entityTypesId}", "httpMethod": "DELETE", "id": "dialogflow.projects.agent.entityTypes.delete", @@ -642,7 +642,7 @@ ] }, "patch": { - "description": "Updates the specified entity type.", + "description": "Updates the specified entity type. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/agent/entityTypes/{entityTypesId}", "httpMethod": "PATCH", "id": "dialogflow.projects.agent.entityTypes.patch", @@ -686,7 +686,7 @@ "entities": { "methods": { "batchCreate": { - "description": "Creates multiple new entities in the specified entity type. Operation ", + "description": "Creates multiple new entities in the specified entity type. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/agent/entityTypes/{entityTypesId}/entities:batchCreate", "httpMethod": "POST", "id": "dialogflow.projects.agent.entityTypes.entities.batchCreate", @@ -715,7 +715,7 @@ ] }, "batchDelete": { - "description": "Deletes entities in the specified entity type. Operation ", + "description": "Deletes entities in the specified entity type. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/agent/entityTypes/{entityTypesId}/entities:batchDelete", "httpMethod": "POST", "id": "dialogflow.projects.agent.entityTypes.entities.batchDelete", @@ -744,7 +744,7 @@ ] }, "batchUpdate": { - "description": "Updates or creates multiple entities in the specified entity type. This method does not affect entities in the entity type that aren't explicitly specified in the request. Operation ", + "description": "Updates or creates multiple entities in the specified entity type. This method does not affect entities in the entity type that aren't explicitly specified in the request. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training). This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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": "v2beta1/projects/{projectsId}/agent/entityTypes/{entityTypesId}/entities:batchUpdate", "httpMethod": "POST", "id": "dialogflow.projects.agent.entityTypes.entities.batchUpdate", @@ -778,6 +778,129 @@ }, "environments": { "methods": { + "create": { + "description": "Creates an agent environment.", + "flatPath": "v2beta1/projects/{projectsId}/agent/environments", + "httpMethod": "POST", + "id": "dialogflow.projects.agent.environments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "environmentId": { + "description": "Required. The unique id of the new environment.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The agent to create an environment for. Supported formats: - `projects//agent` - `projects//locations//agent`", + "location": "path", + "pattern": "^projects/[^/]+/agent$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+parent}/environments", + "request": { + "$ref": "GoogleCloudDialogflowV2beta1Environment" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2beta1Environment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "delete": { + "description": "Deletes the specified agent environment.", + "flatPath": "v2beta1/projects/{projectsId}/agent/environments/{environmentsId}", + "httpMethod": "DELETE", + "id": "dialogflow.projects.agent.environments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the environment to delete. / Format: - `projects//agent/environments/` - `projects//locations//agent/environments/`", + "location": "path", + "pattern": "^projects/[^/]+/agent/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "get": { + "description": "Retrieves the specified agent environment.", + "flatPath": "v2beta1/projects/{projectsId}/agent/environments/{environmentsId}", + "httpMethod": "GET", + "id": "dialogflow.projects.agent.environments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the environment. Supported formats: - `projects//agent/environments/` - `projects//locations//agent/environments/`", + "location": "path", + "pattern": "^projects/[^/]+/agent/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+name}", + "response": { + "$ref": "GoogleCloudDialogflowV2beta1Environment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "getHistory": { + "description": "Gets the history of the specified environment.", + "flatPath": "v2beta1/projects/{projectsId}/agent/environments/{environmentsId}/history", + "httpMethod": "GET", + "id": "dialogflow.projects.agent.environments.getHistory", + "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 name of the environment to retrieve history for. Supported formats: - `projects//agent/environments/` - `projects//locations//agent/environments/`", + "location": "path", + "pattern": "^projects/[^/]+/agent/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+parent}/history", + "response": { + "$ref": "GoogleCloudDialogflowV2beta1EnvironmentHistory" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "list": { "description": "Returns the list of all non-draft environments of the specified agent.", "flatPath": "v2beta1/projects/{projectsId}/agent/environments", @@ -814,6 +937,46 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/dialogflow" ] + }, + "patch": { + "description": "Updates the specified agent environment. This method allows you to deploy new agent versions into the environment. When an environment is pointed to a new agent version by setting `environment.agent_version`, the environment is temporarily set to the `LOADING` state. During that time, the environment keeps on serving the previous version of the agent. After the new agent version is done loading, the environment is set back to the `RUNNING` state. You can use \"-\" as Environment ID in environment name to update version in \"draft\" environment. WARNING: this will negate all recent changes to draft and can't be undone. You may want to save the draft to a version before calling this function.", + "flatPath": "v2beta1/projects/{projectsId}/agent/environments/{environmentsId}", + "httpMethod": "PATCH", + "id": "dialogflow.projects.agent.environments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowLoadToDraftAndDiscardChanges": { + "description": "Optional. This field is used to prevent accidental overwrite of the draft environment, which is an operation that cannot be undone. To confirm that the caller desires this overwrite, this field must be explicitly set to true when updating the draft environment (environment ID = `-`).", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Output only. The unique identifier of this agent environment. Supported formats: - `projects//agent/environments/` - `projects//locations//agent/environments/`", + "location": "path", + "pattern": "^projects/[^/]+/agent/environments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields get updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2beta1/{+name}", + "request": { + "$ref": "GoogleCloudDialogflowV2beta1Environment" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2beta1Environment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] } }, "resources": { @@ -858,7 +1021,7 @@ "type": "string" }, "parent": { - "description": "Required. The agent to list all intents from. Format: `projects//agent`.", + "description": "Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment.", "location": "path", "pattern": "^projects/[^/]+/agent/environments/[^/]+$", "required": true, @@ -907,7 +1070,7 @@ ] }, "detectIntent": { - "description": "Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause contexts and 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/es/docs/agents-versions).", + "description": "Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause contexts and session entity types to be updated, which in turn might affect results of future queries. If you might use [Agent Assist](https://cloud.google.com/dialogflow/docs/#aa) or other CCAI products now or in the future, consider using AnalyzeContent instead of `DetectIntent`. `AnalyzeContent` has additional functionality for Agent Assist and other CCAI products. Note: Always use agent versions for production traffic. See [Versions and environments](https://cloud.google.com/dialogflow/es/docs/agents-versions).", "flatPath": "v2beta1/projects/{projectsId}/agent/environments/{environmentsId}/users/{usersId}/sessions/{sessionsId}:detectIntent", "httpMethod": "POST", "id": "dialogflow.projects.agent.environments.users.sessions.detectIntent", @@ -1260,7 +1423,7 @@ "intents": { "methods": { "batchDelete": { - "description": "Deletes intents in the specified agent. Operation ", + "description": "Deletes intents in the specified agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/agent/intents:batchDelete", "httpMethod": "POST", "id": "dialogflow.projects.agent.intents.batchDelete", @@ -1289,7 +1452,7 @@ ] }, "batchUpdate": { - "description": "Updates/Creates multiple intents in the specified agent. Operation ", + "description": "Updates/Creates multiple intents in the specified agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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`: BatchUpdateIntentsResponse Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/agent/intents:batchUpdate", "httpMethod": "POST", "id": "dialogflow.projects.agent.intents.batchUpdate", @@ -1318,7 +1481,7 @@ ] }, "create": { - "description": "Creates an intent in the specified agent.", + "description": "Creates an intent in the specified agent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/agent/intents", "httpMethod": "POST", "id": "dialogflow.projects.agent.intents.create", @@ -1365,7 +1528,7 @@ ] }, "delete": { - "description": "Deletes the specified intent and its direct or indirect followup intents.", + "description": "Deletes the specified intent and its direct or indirect followup intents. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/agent/intents/{intentsId}", "httpMethod": "DELETE", "id": "dialogflow.projects.agent.intents.delete", @@ -1473,7 +1636,7 @@ "type": "string" }, "parent": { - "description": "Required. The agent to list all intents from. Format: `projects//agent`.", + "description": "Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment.", "location": "path", "pattern": "^projects/[^/]+/agent$", "required": true, @@ -1490,7 +1653,7 @@ ] }, "patch": { - "description": "Updates the specified intent.", + "description": "Updates the specified intent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/agent/intents/{intentsId}", "httpMethod": "PATCH", "id": "dialogflow.projects.agent.intents.patch", @@ -1714,7 +1877,7 @@ "documents": { "methods": { "create": { - "description": "Creates a new document. Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", + "description": "Creates a new document. 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`: KnowledgeOperationMetadata - `response`: Document Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", "flatPath": "v2beta1/projects/{projectsId}/agent/knowledgeBases/{knowledgeBasesId}/documents", "httpMethod": "POST", "id": "dialogflow.projects.agent.knowledgeBases.documents.create", @@ -1748,7 +1911,7 @@ ] }, "delete": { - "description": "Deletes the specified document. Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", + "description": "Deletes the specified document. 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`: KnowledgeOperationMetadata - `response`: An [Empty message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", "flatPath": "v2beta1/projects/{projectsId}/agent/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}", "httpMethod": "DELETE", "id": "dialogflow.projects.agent.knowledgeBases.documents.delete", @@ -1842,7 +2005,7 @@ ] }, "patch": { - "description": "Updates the specified document. Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", + "description": "Updates the specified document. 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`: KnowledgeOperationMetadata - `response`: Document Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", "flatPath": "v2beta1/projects/{projectsId}/agent/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}", "httpMethod": "PATCH", "id": "dialogflow.projects.agent.knowledgeBases.documents.patch", @@ -1877,7 +2040,7 @@ ] }, "reload": { - "description": "Reloads the specified document from its specified source, content_uri or content. The previously loaded content of the document will be deleted. Note: Even when the content of the document has not changed, there still may be side effects because of internal implementation changes. Note: If the document source is Google Cloud Storage URI, its metadata will be replaced with the custom metadata from Google Cloud Storage if the `import_gcs_custom_metadata` field is set to true in the request. Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", + "description": "Reloads the specified document from its specified source, content_uri or content. The previously loaded content of the document will be deleted. Note: Even when the content of the document has not changed, there still may be side effects because of internal implementation changes. Note: If the document source is Google Cloud Storage URI, its metadata will be replaced with the custom metadata from Google Cloud Storage if the `import_gcs_custom_metadata` field is set to true in the request. 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`: KnowledgeOperationMetadata - `response`: Document Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", "flatPath": "v2beta1/projects/{projectsId}/agent/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}:reload", "httpMethod": "POST", "id": "dialogflow.projects.agent.knowledgeBases.documents.reload", @@ -1938,7 +2101,7 @@ ] }, "detectIntent": { - "description": "Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause contexts and 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/es/docs/agents-versions).", + "description": "Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause contexts and session entity types to be updated, which in turn might affect results of future queries. If you might use [Agent Assist](https://cloud.google.com/dialogflow/docs/#aa) or other CCAI products now or in the future, consider using AnalyzeContent instead of `DetectIntent`. `AnalyzeContent` has additional functionality for Agent Assist and other CCAI products. Note: Always use agent versions for production traffic. See [Versions and environments](https://cloud.google.com/dialogflow/es/docs/agents-versions).", "flatPath": "v2beta1/projects/{projectsId}/agent/sessions/{sessionsId}:detectIntent", "httpMethod": "POST", "id": "dialogflow.projects.agent.sessions.detectIntent", @@ -2283,6 +2446,163 @@ } } } + }, + "versions": { + "methods": { + "create": { + "description": "Creates an agent version. The new version points to the agent instance in the \"default\" environment.", + "flatPath": "v2beta1/projects/{projectsId}/agent/versions", + "httpMethod": "POST", + "id": "dialogflow.projects.agent.versions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The agent to create a version for. Supported formats: - `projects//agent` - `projects//locations//agent`", + "location": "path", + "pattern": "^projects/[^/]+/agent$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+parent}/versions", + "request": { + "$ref": "GoogleCloudDialogflowV2beta1Version" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2beta1Version" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "delete": { + "description": "Delete the specified agent version.", + "flatPath": "v2beta1/projects/{projectsId}/agent/versions/{versionsId}", + "httpMethod": "DELETE", + "id": "dialogflow.projects.agent.versions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the version to delete. Supported formats: - `projects//agent/versions/` - `projects//locations//agent/versions/`", + "location": "path", + "pattern": "^projects/[^/]+/agent/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "get": { + "description": "Retrieves the specified agent version.", + "flatPath": "v2beta1/projects/{projectsId}/agent/versions/{versionsId}", + "httpMethod": "GET", + "id": "dialogflow.projects.agent.versions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the version. Supported formats: - `projects//agent/versions/` - `projects//locations//agent/versions/`", + "location": "path", + "pattern": "^projects/[^/]+/agent/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+name}", + "response": { + "$ref": "GoogleCloudDialogflowV2beta1Version" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "list": { + "description": "Returns the list of all versions of the specified agent.", + "flatPath": "v2beta1/projects/{projectsId}/agent/versions", + "httpMethod": "GET", + "id": "dialogflow.projects.agent.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 agent to list all versions from. Supported formats: - `projects//agent` - `projects//locations//agent`", + "location": "path", + "pattern": "^projects/[^/]+/agent$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+parent}/versions", + "response": { + "$ref": "GoogleCloudDialogflowV2beta1ListVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "patch": { + "description": "Updates the specified agent version. Note that this method does not allow you to update the state of the agent the given version points to. It allows you to update only mutable properties of the version resource.", + "flatPath": "v2beta1/projects/{projectsId}/agent/versions/{versionsId}", + "httpMethod": "PATCH", + "id": "dialogflow.projects.agent.versions.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The unique identifier of this agent version. Supported formats: - `projects//agent/versions/` - `projects//locations//agent/versions/`", + "location": "path", + "pattern": "^projects/[^/]+/agent/versions/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields get updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2beta1/{+name}", + "request": { + "$ref": "GoogleCloudDialogflowV2beta1Version" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2beta1Version" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + } + } } } }, @@ -2390,6 +2710,35 @@ }, "conversationProfiles": { "methods": { + "clearSuggestionFeatureConfig": { + "description": "Clears a suggestion feature from a conversation profile for the given participant role. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields: - `metadata`: ClearSuggestionFeatureConfigOperationMetadata - `response`: ConversationProfile", + "flatPath": "v2beta1/projects/{projectsId}/conversationProfiles/{conversationProfilesId}:clearSuggestionFeatureConfig", + "httpMethod": "POST", + "id": "dialogflow.projects.conversationProfiles.clearSuggestionFeatureConfig", + "parameterOrder": [ + "conversationProfile" + ], + "parameters": { + "conversationProfile": { + "description": "Required. The Conversation Profile to add or update the suggestion feature config. Format: `projects//locations//conversationProfiles/`.", + "location": "path", + "pattern": "^projects/[^/]+/conversationProfiles/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+conversationProfile}:clearSuggestionFeatureConfig", + "request": { + "$ref": "GoogleCloudDialogflowV2beta1ClearSuggestionFeatureConfigRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "create": { "description": "Creates a conversation profile in the specified project. ConversationProfile.CreateTime and ConversationProfile.UpdateTime aren't populated in the response. You can retrieve them via GetConversationProfile API.", "flatPath": "v2beta1/projects/{projectsId}/conversationProfiles", @@ -2542,6 +2891,35 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/dialogflow" ] + }, + "setSuggestionFeatureConfig": { + "description": "Adds or updates a suggestion feature in a conversation profile. If the conversation profile contains the type of suggestion feature for the participant role, it will update it. Otherwise it will insert the suggestion feature. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields: - `metadata`: SetSuggestionFeatureConfigOperationMetadata - `response`: ConversationProfile If a long running operation to add or update suggestion feature config for the same conversation profile, participant role and suggestion feature type exists, please cancel the existing long running operation before sending such request, otherwise the request will be rejected.", + "flatPath": "v2beta1/projects/{projectsId}/conversationProfiles/{conversationProfilesId}:setSuggestionFeatureConfig", + "httpMethod": "POST", + "id": "dialogflow.projects.conversationProfiles.setSuggestionFeatureConfig", + "parameterOrder": [ + "conversationProfile" + ], + "parameters": { + "conversationProfile": { + "description": "Required. The Conversation Profile to add or update the suggestion feature config. Format: `projects//locations//conversationProfiles/`.", + "location": "path", + "pattern": "^projects/[^/]+/conversationProfiles/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+conversationProfile}:setSuggestionFeatureConfig", + "request": { + "$ref": "GoogleCloudDialogflowV2beta1SetSuggestionFeatureConfigRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] } } }, @@ -2947,7 +3325,7 @@ ] }, "list": { - "description": "Deprecated: Use inline suggestion, event based suggestion or Suggestion* API instead. See HumanAgentAssistantConfig.name for more details. Removal Date: 2020-09-01. Retrieves suggestions for live agents. This method should be used by human agent client software to fetch auto generated suggestions in real-time, while the conversation with an end user is in progress. The functionality is implemented in terms of the [list pagination](/apis/design/design_patterns#list_pagination) design pattern. The client app should use the `next_page_token` field to fetch the next batch of suggestions. `suggestions` are sorted by `create_time` in descending order. To fetch latest suggestion, just set `page_size` to 1. To fetch new suggestions without duplication, send request with filter `create_time_epoch_microseconds > [first item's create_time of previous request]` and empty page_token.", + "description": "Deprecated: Use inline suggestion, event based suggestion or Suggestion* API instead. See HumanAgentAssistantConfig.name for more details. Removal Date: 2020-09-01. Retrieves suggestions for live agents. This method should be used by human agent client software to fetch auto generated suggestions in real-time, while the conversation with an end user is in progress. The functionality is implemented in terms of the [list pagination](https://cloud.google.com/apis/design/design_patterns#list_pagination) design pattern. The client app should use the `next_page_token` field to fetch the next batch of suggestions. `suggestions` are sorted by `create_time` in descending order. To fetch latest suggestion, just set `page_size` to 1. To fetch new suggestions without duplication, send request with filter `create_time_epoch_microseconds > [first item's create_time of previous request]` and empty page_token.", "flatPath": "v2beta1/projects/{projectsId}/conversations/{conversationsId}/participants/{participantsId}/suggestions", "httpMethod": "GET", "id": "dialogflow.projects.conversations.participants.suggestions.list", @@ -3251,7 +3629,7 @@ "documents": { "methods": { "create": { - "description": "Creates a new document. Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", + "description": "Creates a new document. 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`: KnowledgeOperationMetadata - `response`: Document Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", "flatPath": "v2beta1/projects/{projectsId}/knowledgeBases/{knowledgeBasesId}/documents", "httpMethod": "POST", "id": "dialogflow.projects.knowledgeBases.documents.create", @@ -3285,7 +3663,7 @@ ] }, "delete": { - "description": "Deletes the specified document. Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", + "description": "Deletes the specified document. 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`: KnowledgeOperationMetadata - `response`: An [Empty message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", "flatPath": "v2beta1/projects/{projectsId}/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}", "httpMethod": "DELETE", "id": "dialogflow.projects.knowledgeBases.documents.delete", @@ -3337,7 +3715,7 @@ ] }, "import": { - "description": "Create documents by importing data from external sources.", + "description": "Create documents by importing data from external sources. Dialogflow supports up to 350 documents in each request. If you try to import more, Dialogflow will return an error. 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`: KnowledgeOperationMetadata - `response`: ImportDocumentsResponse", "flatPath": "v2beta1/projects/{projectsId}/knowledgeBases/{knowledgeBasesId}/documents:import", "httpMethod": "POST", "id": "dialogflow.projects.knowledgeBases.documents.import", @@ -3408,7 +3786,7 @@ ] }, "patch": { - "description": "Updates the specified document. Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", + "description": "Updates the specified document. 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`: KnowledgeOperationMetadata - `response`: Document Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", "flatPath": "v2beta1/projects/{projectsId}/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}", "httpMethod": "PATCH", "id": "dialogflow.projects.knowledgeBases.documents.patch", @@ -3443,7 +3821,7 @@ ] }, "reload": { - "description": "Reloads the specified document from its specified source, content_uri or content. The previously loaded content of the document will be deleted. Note: Even when the content of the document has not changed, there still may be side effects because of internal implementation changes. Note: If the document source is Google Cloud Storage URI, its metadata will be replaced with the custom metadata from Google Cloud Storage if the `import_gcs_custom_metadata` field is set to true in the request. Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", + "description": "Reloads the specified document from its specified source, content_uri or content. The previously loaded content of the document will be deleted. Note: Even when the content of the document has not changed, there still may be side effects because of internal implementation changes. Note: If the document source is Google Cloud Storage URI, its metadata will be replaced with the custom metadata from Google Cloud Storage if the `import_gcs_custom_metadata` field is set to true in the request. 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`: KnowledgeOperationMetadata - `response`: Document Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", "flatPath": "v2beta1/projects/{projectsId}/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}:reload", "httpMethod": "POST", "id": "dialogflow.projects.knowledgeBases.documents.reload", @@ -3503,6 +3881,32 @@ "https://www.googleapis.com/auth/dialogflow" ] }, + "get": { + "description": "Gets information about a location.", + "flatPath": "v2beta1/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": "v2beta1/{+name}", + "response": { + "$ref": "GoogleCloudLocationLocation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "getAgent": { "description": "Retrieves the specified agent.", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent", @@ -3529,8 +3933,50 @@ "https://www.googleapis.com/auth/dialogflow" ] }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v2beta1/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": "v2beta1/{+name}/locations", + "response": { + "$ref": "GoogleCloudLocationListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "setAgent": { - "description": "Creates/updates the specified agent.", + "description": "Creates/updates the specified agent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent", "httpMethod": "POST", "id": "dialogflow.projects.locations.setAgent", @@ -3569,7 +4015,7 @@ "agent": { "methods": { "export": { - "description": "Exports the specified agent to a ZIP file. Operation ", + "description": "Exports the specified agent to a ZIP file. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent:export", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.export", @@ -3655,7 +4101,7 @@ ] }, "import": { - "description": "Imports the specified agent from a ZIP file. Uploads new intents and entity types without deleting the existing ones. Intents and entity types with the same name are replaced with the new versions from ImportAgentRequest. After the import, the imported draft agent will be trained automatically (unless disabled in agent settings). However, once the import is done, training may not be completed yet. Please call TrainAgent and wait for the operation it returns in order to train explicitly. Operation An operation which tracks when importing is complete. It only tracks when the draft agent is updated not when it is done training.", + "description": "Imports the specified agent from a ZIP file. Uploads new intents and entity types without deleting the existing ones. Intents and entity types with the same name are replaced with the new versions from ImportAgentRequest. After the import, the imported draft agent will be trained automatically (unless disabled in agent settings). However, once the import is done, training may not be completed yet. Please call TrainAgent and wait for the operation it returns in order to train explicitly. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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) The operation only tracks when importing is complete, not when it is done training. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent:import", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.import", @@ -3684,7 +4130,7 @@ ] }, "restore": { - "description": "Restores the specified agent from a ZIP file. Replaces the current agent version with a new one. All the intents and entity types in the older version are deleted. After the restore, the restored draft agent will be trained automatically (unless disabled in agent settings). However, once the restore is done, training may not be completed yet. Please call TrainAgent and wait for the operation it returns in order to train explicitly. Operation An operation which tracks when restoring is complete. It only tracks when the draft agent is updated not when it is done training.", + "description": "Restores the specified agent from a ZIP file. Replaces the current agent version with a new one. All the intents and entity types in the older version are deleted. After the restore, the restored draft agent will be trained automatically (unless disabled in agent settings). However, once the restore is done, training may not be completed yet. Please call TrainAgent and wait for the operation it returns in order to train explicitly. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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) The operation only tracks when restoring is complete, not when it is done training. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent:restore", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.restore", @@ -3750,7 +4196,7 @@ ] }, "train": { - "description": "Trains the specified agent. Operation ", + "description": "Trains the specified agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent:train", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.train", @@ -3818,7 +4264,7 @@ "entityTypes": { "methods": { "batchDelete": { - "description": "Deletes entity types in the specified agent. Operation ", + "description": "Deletes entity types in the specified agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/entityTypes:batchDelete", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.entityTypes.batchDelete", @@ -3847,7 +4293,7 @@ ] }, "batchUpdate": { - "description": "Updates/Creates multiple entity types in the specified agent. Operation ", + "description": "Updates/Creates multiple entity types in the specified agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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`: BatchUpdateEntityTypesResponse Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/entityTypes:batchUpdate", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.entityTypes.batchUpdate", @@ -3876,7 +4322,7 @@ ] }, "create": { - "description": "Creates an entity type in the specified agent.", + "description": "Creates an entity type in the specified agent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/entityTypes", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.entityTypes.create", @@ -3910,7 +4356,7 @@ ] }, "delete": { - "description": "Deletes the specified entity type.", + "description": "Deletes the specified entity type. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/entityTypes/{entityTypesId}", "httpMethod": "DELETE", "id": "dialogflow.projects.locations.agent.entityTypes.delete", @@ -4009,7 +4455,7 @@ ] }, "patch": { - "description": "Updates the specified entity type.", + "description": "Updates the specified entity type. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/entityTypes/{entityTypesId}", "httpMethod": "PATCH", "id": "dialogflow.projects.locations.agent.entityTypes.patch", @@ -4053,7 +4499,7 @@ "entities": { "methods": { "batchCreate": { - "description": "Creates multiple new entities in the specified entity type. Operation ", + "description": "Creates multiple new entities in the specified entity type. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/entityTypes/{entityTypesId}/entities:batchCreate", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.entityTypes.entities.batchCreate", @@ -4082,7 +4528,7 @@ ] }, "batchDelete": { - "description": "Deletes entities in the specified entity type. Operation ", + "description": "Deletes entities in the specified entity type. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/entityTypes/{entityTypesId}/entities:batchDelete", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.entityTypes.entities.batchDelete", @@ -4111,7 +4557,7 @@ ] }, "batchUpdate": { - "description": "Updates or creates multiple entities in the specified entity type. This method does not affect entities in the entity type that aren't explicitly specified in the request. Operation ", + "description": "Updates or creates multiple entities in the specified entity type. This method does not affect entities in the entity type that aren't explicitly specified in the request. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training). This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/entityTypes/{entityTypesId}/entities:batchUpdate", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.entityTypes.entities.batchUpdate", @@ -4145,6 +4591,129 @@ }, "environments": { "methods": { + "create": { + "description": "Creates an agent environment.", + "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/environments", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.agent.environments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "environmentId": { + "description": "Required. The unique id of the new environment.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The agent to create an environment for. Supported formats: - `projects//agent` - `projects//locations//agent`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+parent}/environments", + "request": { + "$ref": "GoogleCloudDialogflowV2beta1Environment" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2beta1Environment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "delete": { + "description": "Deletes the specified agent environment.", + "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/environments/{environmentsId}", + "httpMethod": "DELETE", + "id": "dialogflow.projects.locations.agent.environments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the environment to delete. / Format: - `projects//agent/environments/` - `projects//locations//agent/environments/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "get": { + "description": "Retrieves the specified agent environment.", + "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/environments/{environmentsId}", + "httpMethod": "GET", + "id": "dialogflow.projects.locations.agent.environments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the environment. Supported formats: - `projects//agent/environments/` - `projects//locations//agent/environments/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+name}", + "response": { + "$ref": "GoogleCloudDialogflowV2beta1Environment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "getHistory": { + "description": "Gets the history of the specified environment.", + "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/environments/{environmentsId}/history", + "httpMethod": "GET", + "id": "dialogflow.projects.locations.agent.environments.getHistory", + "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 name of the environment to retrieve history for. Supported formats: - `projects//agent/environments/` - `projects//locations//agent/environments/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+parent}/history", + "response": { + "$ref": "GoogleCloudDialogflowV2beta1EnvironmentHistory" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "list": { "description": "Returns the list of all non-draft environments of the specified agent.", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/environments", @@ -4181,9 +4750,108 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/dialogflow" ] + }, + "patch": { + "description": "Updates the specified agent environment. This method allows you to deploy new agent versions into the environment. When an environment is pointed to a new agent version by setting `environment.agent_version`, the environment is temporarily set to the `LOADING` state. During that time, the environment keeps on serving the previous version of the agent. After the new agent version is done loading, the environment is set back to the `RUNNING` state. You can use \"-\" as Environment ID in environment name to update version in \"draft\" environment. WARNING: this will negate all recent changes to draft and can't be undone. You may want to save the draft to a version before calling this function.", + "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/environments/{environmentsId}", + "httpMethod": "PATCH", + "id": "dialogflow.projects.locations.agent.environments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowLoadToDraftAndDiscardChanges": { + "description": "Optional. This field is used to prevent accidental overwrite of the draft environment, which is an operation that cannot be undone. To confirm that the caller desires this overwrite, this field must be explicitly set to true when updating the draft environment (environment ID = `-`).", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Output only. The unique identifier of this agent environment. Supported formats: - `projects//agent/environments/` - `projects//locations//agent/environments/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent/environments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields get updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2beta1/{+name}", + "request": { + "$ref": "GoogleCloudDialogflowV2beta1Environment" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2beta1Environment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] } }, "resources": { + "intents": { + "methods": { + "list": { + "description": "Returns the list of all intents in the specified agent.", + "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/environments/{environmentsId}/intents", + "httpMethod": "GET", + "id": "dialogflow.projects.locations.agent.environments.intents.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "intentView": { + "description": "Optional. The resource view to apply to the returned intent.", + "enum": [ + "INTENT_VIEW_UNSPECIFIED", + "INTENT_VIEW_FULL" + ], + "enumDescriptions": [ + "Training phrases field is not populated in the response.", + "All fields are populated." + ], + "location": "query", + "type": "string" + }, + "languageCode": { + "description": "Optional. The language used to access language-specific data. If not specified, the agent's default language is used. For more information, see [Multilingual intent and entity data](https://cloud.google.com/dialogflow/docs/agents-multilingual#intent-entity).", + "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 intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+parent}/intents", + "response": { + "$ref": "GoogleCloudDialogflowV2beta1ListIntentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + } + } + }, "users": { "resources": { "sessions": { @@ -4215,7 +4883,7 @@ ] }, "detectIntent": { - "description": "Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause contexts and 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/es/docs/agents-versions).", + "description": "Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause contexts and session entity types to be updated, which in turn might affect results of future queries. If you might use [Agent Assist](https://cloud.google.com/dialogflow/docs/#aa) or other CCAI products now or in the future, consider using AnalyzeContent instead of `DetectIntent`. `AnalyzeContent` has additional functionality for Agent Assist and other CCAI products. Note: Always use agent versions for production traffic. See [Versions and environments](https://cloud.google.com/dialogflow/es/docs/agents-versions).", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/environments/{environmentsId}/users/{usersId}/sessions/{sessionsId}:detectIntent", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.environments.users.sessions.detectIntent", @@ -4568,7 +5236,7 @@ "intents": { "methods": { "batchDelete": { - "description": "Deletes intents in the specified agent. Operation ", + "description": "Deletes intents in the specified agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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 an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/intents:batchDelete", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.intents.batchDelete", @@ -4597,7 +5265,7 @@ ] }, "batchUpdate": { - "description": "Updates/Creates multiple intents in the specified agent. Operation ", + "description": "Updates/Creates multiple intents in the specified agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). 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`: BatchUpdateIntentsResponse Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/intents:batchUpdate", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.intents.batchUpdate", @@ -4626,7 +5294,7 @@ ] }, "create": { - "description": "Creates an intent in the specified agent.", + "description": "Creates an intent in the specified agent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/intents", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.intents.create", @@ -4673,7 +5341,7 @@ ] }, "delete": { - "description": "Deletes the specified intent and its direct or indirect followup intents.", + "description": "Deletes the specified intent and its direct or indirect followup intents. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/intents/{intentsId}", "httpMethod": "DELETE", "id": "dialogflow.projects.locations.agent.intents.delete", @@ -4781,7 +5449,7 @@ "type": "string" }, "parent": { - "description": "Required. The agent to list all intents from. Format: `projects//agent`.", + "description": "Required. The agent to list all intents from. Format: `projects//agent` or `projects//locations//agent`. Alternatively, you can specify the environment to list intents for. Format: `projects//agent/environments/` or `projects//locations//agent/environments/`. Note: training phrases of the intents will not be returned for non-draft environment.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/agent$", "required": true, @@ -4798,7 +5466,7 @@ ] }, "patch": { - "description": "Updates the specified intent.", + "description": "Updates the specified intent. Note: You should always train an agent prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/es/docs/training).", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/intents/{intentsId}", "httpMethod": "PATCH", "id": "dialogflow.projects.locations.agent.intents.patch", @@ -4881,7 +5549,7 @@ ] }, "detectIntent": { - "description": "Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause contexts and 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/es/docs/agents-versions).", + "description": "Processes a natural language query and returns structured, actionable data as a result. This method is not idempotent, because it may cause contexts and session entity types to be updated, which in turn might affect results of future queries. If you might use [Agent Assist](https://cloud.google.com/dialogflow/docs/#aa) or other CCAI products now or in the future, consider using AnalyzeContent instead of `DetectIntent`. `AnalyzeContent` has additional functionality for Agent Assist and other CCAI products. Note: Always use agent versions for production traffic. See [Versions and environments](https://cloud.google.com/dialogflow/es/docs/agents-versions).", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/sessions/{sessionsId}:detectIntent", "httpMethod": "POST", "id": "dialogflow.projects.locations.agent.sessions.detectIntent", @@ -5226,6 +5894,163 @@ } } } + }, + "versions": { + "methods": { + "create": { + "description": "Creates an agent version. The new version points to the agent instance in the \"default\" environment.", + "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/versions", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.agent.versions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The agent to create a version for. Supported formats: - `projects//agent` - `projects//locations//agent`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+parent}/versions", + "request": { + "$ref": "GoogleCloudDialogflowV2beta1Version" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2beta1Version" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "delete": { + "description": "Delete the specified agent version.", + "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/versions/{versionsId}", + "httpMethod": "DELETE", + "id": "dialogflow.projects.locations.agent.versions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the version to delete. Supported formats: - `projects//agent/versions/` - `projects//locations//agent/versions/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "get": { + "description": "Retrieves the specified agent version.", + "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/versions/{versionsId}", + "httpMethod": "GET", + "id": "dialogflow.projects.locations.agent.versions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the version. Supported formats: - `projects//agent/versions/` - `projects//locations//agent/versions/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+name}", + "response": { + "$ref": "GoogleCloudDialogflowV2beta1Version" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "list": { + "description": "Returns the list of all versions of the specified agent.", + "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/versions", + "httpMethod": "GET", + "id": "dialogflow.projects.locations.agent.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 agent to list all versions from. Supported formats: - `projects//agent` - `projects//locations//agent`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+parent}/versions", + "response": { + "$ref": "GoogleCloudDialogflowV2beta1ListVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "patch": { + "description": "Updates the specified agent version. Note that this method does not allow you to update the state of the agent the given version points to. It allows you to update only mutable properties of the version resource.", + "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/agent/versions/{versionsId}", + "httpMethod": "PATCH", + "id": "dialogflow.projects.locations.agent.versions.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The unique identifier of this agent version. Supported formats: - `projects//agent/versions/` - `projects//locations//agent/versions/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agent/versions/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields get updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2beta1/{+name}", + "request": { + "$ref": "GoogleCloudDialogflowV2beta1Version" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2beta1Version" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + } + } } } }, @@ -5333,6 +6158,35 @@ }, "conversationProfiles": { "methods": { + "clearSuggestionFeatureConfig": { + "description": "Clears a suggestion feature from a conversation profile for the given participant role. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields: - `metadata`: ClearSuggestionFeatureConfigOperationMetadata - `response`: ConversationProfile", + "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/conversationProfiles/{conversationProfilesId}:clearSuggestionFeatureConfig", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.conversationProfiles.clearSuggestionFeatureConfig", + "parameterOrder": [ + "conversationProfile" + ], + "parameters": { + "conversationProfile": { + "description": "Required. The Conversation Profile to add or update the suggestion feature config. Format: `projects//locations//conversationProfiles/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversationProfiles/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+conversationProfile}:clearSuggestionFeatureConfig", + "request": { + "$ref": "GoogleCloudDialogflowV2beta1ClearSuggestionFeatureConfigRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "create": { "description": "Creates a conversation profile in the specified project. ConversationProfile.CreateTime and ConversationProfile.UpdateTime aren't populated in the response. You can retrieve them via GetConversationProfile API.", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/conversationProfiles", @@ -5485,6 +6339,35 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/dialogflow" ] + }, + "setSuggestionFeatureConfig": { + "description": "Adds or updates a suggestion feature in a conversation profile. If the conversation profile contains the type of suggestion feature for the participant role, it will update it. Otherwise it will insert the suggestion feature. This method is a [long-running operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The returned `Operation` type has the following method-specific fields: - `metadata`: SetSuggestionFeatureConfigOperationMetadata - `response`: ConversationProfile If a long running operation to add or update suggestion feature config for the same conversation profile, participant role and suggestion feature type exists, please cancel the existing long running operation before sending such request, otherwise the request will be rejected.", + "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/conversationProfiles/{conversationProfilesId}:setSuggestionFeatureConfig", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.conversationProfiles.setSuggestionFeatureConfig", + "parameterOrder": [ + "conversationProfile" + ], + "parameters": { + "conversationProfile": { + "description": "Required. The Conversation Profile to add or update the suggestion feature config. Format: `projects//locations//conversationProfiles/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversationProfiles/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+conversationProfile}:setSuggestionFeatureConfig", + "request": { + "$ref": "GoogleCloudDialogflowV2beta1SetSuggestionFeatureConfigRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] } } }, @@ -6123,7 +7006,7 @@ "documents": { "methods": { "create": { - "description": "Creates a new document. Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", + "description": "Creates a new document. 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`: KnowledgeOperationMetadata - `response`: Document Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/knowledgeBases/{knowledgeBasesId}/documents", "httpMethod": "POST", "id": "dialogflow.projects.locations.knowledgeBases.documents.create", @@ -6157,7 +7040,7 @@ ] }, "delete": { - "description": "Deletes the specified document. Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", + "description": "Deletes the specified document. 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`: KnowledgeOperationMetadata - `response`: An [Empty message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}", "httpMethod": "DELETE", "id": "dialogflow.projects.locations.knowledgeBases.documents.delete", @@ -6209,7 +7092,7 @@ ] }, "import": { - "description": "Create documents by importing data from external sources.", + "description": "Create documents by importing data from external sources. Dialogflow supports up to 350 documents in each request. If you try to import more, Dialogflow will return an error. 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`: KnowledgeOperationMetadata - `response`: ImportDocumentsResponse", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/knowledgeBases/{knowledgeBasesId}/documents:import", "httpMethod": "POST", "id": "dialogflow.projects.locations.knowledgeBases.documents.import", @@ -6280,7 +7163,7 @@ ] }, "patch": { - "description": "Updates the specified document. Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", + "description": "Updates the specified document. 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`: KnowledgeOperationMetadata - `response`: Document Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}", "httpMethod": "PATCH", "id": "dialogflow.projects.locations.knowledgeBases.documents.patch", @@ -6315,7 +7198,7 @@ ] }, "reload": { - "description": "Reloads the specified document from its specified source, content_uri or content. The previously loaded content of the document will be deleted. Note: Even when the content of the document has not changed, there still may be side effects because of internal implementation changes. Note: If the document source is Google Cloud Storage URI, its metadata will be replaced with the custom metadata from Google Cloud Storage if the `import_gcs_custom_metadata` field is set to true in the request. Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", + "description": "Reloads the specified document from its specified source, content_uri or content. The previously loaded content of the document will be deleted. Note: Even when the content of the document has not changed, there still may be side effects because of internal implementation changes. Note: If the document source is Google Cloud Storage URI, its metadata will be replaced with the custom metadata from Google Cloud Storage if the `import_gcs_custom_metadata` field is set to true in the request. 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`: KnowledgeOperationMetadata - `response`: Document Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.", "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/knowledgeBases/{knowledgeBasesId}/documents/{documentsId}:reload", "httpMethod": "POST", "id": "dialogflow.projects.locations.knowledgeBases.documents.reload", @@ -6548,7 +7431,7 @@ } } }, - "revision": "20210329", + "revision": "20220228", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AudioInput": { @@ -6595,6 +7478,43 @@ }, "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" + }, "GoogleCloudDialogflowCxV3ConversationTurn": { "description": "One interaction between a human and virtual agent. The human provides some input and the virtual agent provides a response.", "id": "GoogleCloudDialogflowCxV3ConversationTurn", @@ -6614,6 +7534,10 @@ "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.", @@ -6646,7 +7570,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Required. Input only. The diagnostic info output for the turn.", + "description": "Required. Input only. The diagnostic info output for the turn. Required to calculate the testing coverage.", "type": "object" }, "differences": { @@ -6716,6 +7640,35 @@ }, "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", @@ -6731,6 +7684,75 @@ }, "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": "Required. 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" + } + }, + "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. Format: projects//locations//agents//flows//versions/.", + "type": "string" + } + }, + "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", @@ -6786,8 +7808,24 @@ }, "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" + }, "GoogleCloudDialogflowCxV3ExportTestCasesMetadata": { - "description": "Metadata returned for the TestCases.ExportTestCases long running operation.", + "description": "Metadata returned for the TestCases.ExportTestCases long running operation. This message currently has no fields.", "id": "GoogleCloudDialogflowCxV3ExportTestCasesMetadata", "properties": {}, "type": "object" @@ -6893,6 +7931,10 @@ }, "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": { @@ -7022,6 +8064,17 @@ }, "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" + }, "GoogleCloudDialogflowCxV3ImportTestCasesMetadata": { "description": "Metadata returned for the TestCases.ImportTestCases long running operation.", "id": "GoogleCloudDialogflowCxV3ImportTestCasesMetadata", @@ -7126,7 +8179,7 @@ "id": "GoogleCloudDialogflowCxV3Intent", "properties": { "description": { - "description": "Optional. Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.", + "description": "Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.", "type": "string" }, "displayName": { @@ -7141,7 +8194,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. 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.", + "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": { @@ -7294,6 +8347,10 @@ "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." @@ -7434,6 +8491,10 @@ "$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." }, + "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." @@ -7548,6 +8609,17 @@ }, "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", @@ -7567,8 +8639,33 @@ }, "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.", + "description": "Metadata returned for the TestCases.RunTestCase long running operation. This message currently has no fields.", "id": "GoogleCloudDialogflowCxV3RunTestCaseMetadata", "properties": {}, "type": "object" @@ -7842,6 +8939,10 @@ "$ref": "GoogleCloudDialogflowCxV3WebhookRequestIntentInfo", "description": "Information about the last matched intent." }, + "languageCode": { + "description": "The language code specified in the original request.", + "type": "string" + }, "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": { @@ -8065,6 +9166,43 @@ }, "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" + }, "GoogleCloudDialogflowCxV3beta1ConversationTurn": { "description": "One interaction between a human and virtual agent. The human provides some input and the virtual agent provides a response.", "id": "GoogleCloudDialogflowCxV3beta1ConversationTurn", @@ -8084,6 +9222,10 @@ "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.", @@ -8116,7 +9258,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Required. Input only. The diagnostic info output for the turn.", + "description": "Required. Input only. The diagnostic info output for the turn. Required to calculate the testing coverage.", "type": "object" }, "differences": { @@ -8186,6 +9328,35 @@ }, "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" + }, + "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" + }, "GoogleCloudDialogflowCxV3beta1DtmfInput": { "description": "Represents the input for dtmf event.", "id": "GoogleCloudDialogflowCxV3beta1DtmfInput", @@ -8201,6 +9372,75 @@ }, "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": "Required. 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" + } + }, + "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. Format: projects//locations//agents//flows//versions/.", + "type": "string" + } + }, + "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", @@ -8256,8 +9496,24 @@ }, "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" + }, "GoogleCloudDialogflowCxV3beta1ExportTestCasesMetadata": { - "description": "Metadata returned for the TestCases.ExportTestCases long running operation.", + "description": "Metadata returned for the TestCases.ExportTestCases long running operation. This message currently has no fields.", "id": "GoogleCloudDialogflowCxV3beta1ExportTestCasesMetadata", "properties": {}, "type": "object" @@ -8363,6 +9619,10 @@ }, "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": { @@ -8492,6 +9752,17 @@ }, "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" + }, "GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata": { "description": "Metadata returned for the TestCases.ImportTestCases long running operation.", "id": "GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata", @@ -8596,7 +9867,7 @@ "id": "GoogleCloudDialogflowCxV3beta1Intent", "properties": { "description": { - "description": "Optional. Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.", + "description": "Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.", "type": "string" }, "displayName": { @@ -8611,7 +9882,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. 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.", + "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": { @@ -8764,6 +10035,10 @@ "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." @@ -8904,6 +10179,10 @@ "$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." @@ -9018,6 +10297,17 @@ }, "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", @@ -9037,8 +10327,33 @@ }, "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" + }, + "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.", + "description": "Metadata returned for the TestCases.RunTestCase long running operation. This message currently has no fields.", "id": "GoogleCloudDialogflowCxV3beta1RunTestCaseMetadata", "properties": {}, "type": "object" @@ -9312,6 +10627,10 @@ "$ref": "GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo", "description": "Information about the last matched intent." }, + "languageCode": { + "description": "The language code specified in the original request.", + "type": "string" + }, "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": { @@ -9548,6 +10867,27 @@ }, "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", @@ -9576,6 +10916,54 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2ClearSuggestionFeatureConfigOperationMetadata": { + "description": "Metadata for a ConversationProfile.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" + ], + "enumDescriptions": [ + "Unspecified feature type.", + "Run article suggestion model.", + "Run FAQ model.", + "Run smart reply model." + ], + "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", @@ -9639,6 +11027,195 @@ }, "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" + }, + "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 ConversationDatasets.", + "id": "GoogleCloudDialogflowV2CreateConversationDatasetOperationMetadata", + "properties": {}, + "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 ConversationDatasets.", + "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" + }, "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", @@ -9750,6 +11327,17 @@ }, "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", @@ -9785,6 +11373,17 @@ }, "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", @@ -9807,6 +11406,70 @@ }, "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" + }, + "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", @@ -9862,10 +11525,11 @@ "type": "array" }, "followupIntentInfo": { - "description": "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.", + "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": { @@ -9926,7 +11590,8 @@ "type": "boolean" }, "rootFollowupIntentName": { - "description": "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/`.", + "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": { @@ -10719,6 +12384,14 @@ "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": [ @@ -10748,7 +12421,7 @@ "type": "string" }, "createTime": { - "description": "Output only. The time when the message was created.", + "description": "Output only. The time when the message was created in Contact Center AI.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -10763,7 +12436,7 @@ "readOnly": true }, "name": { - "description": "The unique identifier of the message. Format: `projects//locations//conversations//messages/`.", + "description": "Optional. The unique identifier of the message. Format: `projects//locations//conversations//messages/`.", "type": "string" }, "participant": { @@ -10787,6 +12460,16 @@ ], "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" @@ -10844,6 +12527,10 @@ "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.", + "type": "boolean" + }, "diagnosticInfo": { "additionalProperties": { "description": "Properties of the object.", @@ -10979,6 +12666,95 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2SetSuggestionFeatureConfigOperationMetadata": { + "description": "Metadata for a ConversationProfile.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" + ], + "enumDescriptions": [ + "Unspecified feature type.", + "Run article suggestion model.", + "Run FAQ model.", + "Run smart reply model." + ], + "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" + }, "GoogleCloudDialogflowV2SuggestArticlesResponse": { "description": "The response message for Participants.SuggestArticles.", "id": "GoogleCloudDialogflowV2SuggestArticlesResponse", @@ -11025,6 +12801,30 @@ }, "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", @@ -11040,6 +12840,26 @@ "suggestFaqAnswersResponse": { "$ref": "GoogleCloudDialogflowV2SuggestFaqAnswersResponse", "description": "SuggestFaqAnswersResponse if request is for FAQ_ANSWER." + }, + "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" @@ -11116,7 +12936,7 @@ "type": "object" }, "GoogleCloudDialogflowV2beta1Agent": { - "description": "A Dialogflow agent is a virtual agent that handles conversations with your end-users. It is a natural language understanding module that understands the nuances of human language. Dialogflow translates end-user text or audio during a conversation to structured data that your apps and services can understand. You design and build a Dialogflow agent to handle the types of conversations required for your system. For more information about agents, see the [Agent guide](https://cloud.google.com/dialogflow/docs/agents-overview).", + "description": "A Dialogflow agent is a virtual agent that handles conversations with your end-users. It is a natural language understanding module that understands the nuances of human language. Dialogflow translates end-user text or audio during a conversation to structured data that your apps and services can understand. You design and build a Dialogflow agent to handle the types of conversations required for your system. For more information about agents, see the [Agent guide](https://cloud.google.com/dialogflow/docs/agents-overview). ", "id": "GoogleCloudDialogflowV2beta1Agent", "properties": { "apiVersion": { @@ -11195,9 +13015,9 @@ ], "enumDescriptions": [ "Not specified. This value should never be used.", - "Standard tier.", - "Enterprise tier (Essentials).", - "Enterprise tier (Plus)." + "Trial Edition, previously known as Standard Edition.", + "Essentials Edition, previously known as Enterprise Essential Edition.", + "Essentials Edition (same as TIER_ENTERPRISE), previously known as Enterprise Plus Edition." ], "type": "string" }, @@ -11303,6 +13123,10 @@ "description": "The request message for Participants.AnalyzeContent.", "id": "GoogleCloudDialogflowV2beta1AnalyzeContentRequest", "properties": { + "assistQueryParams": { + "$ref": "GoogleCloudDialogflowV2beta1AssistQueryParameters", + "description": "Parameters for a human assist query." + }, "eventInput": { "$ref": "GoogleCloudDialogflowV2beta1EventInput", "description": "An input event to send to Dialogflow." @@ -11488,6 +13312,20 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1AssistQueryParameters": { + "description": "Represents the parameters of human assist query.", + "id": "GoogleCloudDialogflowV2beta1AssistQueryParameters", + "properties": { + "documentsMetadataFilters": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value filters on the metadata of documents returned by article suggestion. If specified, article suggestion only returns suggested documents that match all filters in their Document.metadata. Multiple values for a metadata key should be concatenated by comma. For example, filters to match all documents that have 'US' or 'CA' in their market metadata values and 'agent' in their user metadata values will be ``` documents_metadata_filters { key: \"market\" value: \"US,CA\" } documents_metadata_filters { key: \"user\" value: \"agent\" } ```", + "type": "object" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1AutomatedAgentConfig": { "description": "Defines the Automated Agent to connect to a conversation.", "id": "GoogleCloudDialogflowV2beta1AutomatedAgentConfig", @@ -11503,12 +13341,30 @@ "description": "Represents a response from an automated agent.", "id": "GoogleCloudDialogflowV2beta1AutomatedAgentReply", "properties": { + "allowCancellation": { + "description": "Indicates whether the partial automated agent reply is interruptible when a later reply message arrives. e.g. if the agent specified some music as partial response, it can be cancelled.", + "type": "boolean" + }, + "automatedAgentReplyType": { + "description": "AutomatedAgentReply type.", + "enum": [ + "AUTOMATED_AGENT_REPLY_TYPE_UNSPECIFIED", + "PARTIAL", + "FINAL" + ], + "enumDescriptions": [ + "Not specified. This should never happen.", + "Partial reply. e.g. Aggregated responses in a `Fulfillment` that enables `return_partial_response` can be returned as partial reply. WARNING: partial reply is not eligible for barge-in.", + "Final reply." + ], + "type": "string" + }, "cxSessionParameters": { "additionalProperties": { "description": "Properties of the object.", "type": "any" }, - "description": "The collection of current Dialogflow CX agent session parameters at the time of this response.", + "description": "The collection of current Dialogflow CX agent session parameters at the time of this response. Deprecated: Use `parameters` instead.", "type": "object" }, "detectIntentResponse": { @@ -11523,6 +13379,19 @@ "description": "Name of the intent if an intent is matched for the query. For a V2 query, the value format is `projects//locations/ /agent/intents/`. For a V3 query, the value format is `projects//locations/ /agents//intents/`.", "type": "string" }, + "matchConfidence": { + "description": "The confidence of the 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" + }, + "parameters": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The collection of current parameters at the time of this response.", + "type": "object" + }, "responseMessages": { "description": "Response messages from the automated agent.", "items": { @@ -11736,6 +13605,93 @@ }, "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" + ], + "enumDescriptions": [ + "Unspecified feature type.", + "Run article suggestion model.", + "Run FAQ model.", + "Run smart reply model." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1ClearSuggestionFeatureConfigRequest": { + "description": "The request message for ConversationProfiles.ClearFeature.", + "id": "GoogleCloudDialogflowV2beta1ClearSuggestionFeatureConfigRequest", + "properties": { + "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" + ], + "enumDescriptions": [ + "Unspecified feature type.", + "Run article suggestion model.", + "Run FAQ model.", + "Run smart reply model." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1CompileSuggestionRequest": { "description": "The request message for Participants.CompileSuggestion.", "id": "GoogleCloudDialogflowV2beta1CompileSuggestionRequest", @@ -11940,7 +13896,7 @@ "description": "Configuration for connecting to a live agent. Currently, this feature is not general available, please contact Google to get access." }, "languageCode": { - "description": "Language code for the conversation profile. If not specified, the language is en-US. Language at ConversationProfile should be set for all non en-us languages.", + "description": "Language code for the conversation profile. If not specified, the language is en-US. Language at ConversationProfile 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" }, "loggingConfig": { @@ -11959,10 +13915,18 @@ "$ref": "GoogleCloudDialogflowV2beta1NotificationConfig", "description": "Configuration for publishing conversation lifecycle events." }, + "securitySettings": { + "description": "Name of the CX SecuritySettings reference for the agent. Format: `projects//locations//securitySettings/`.", + "type": "string" + }, "sttConfig": { "$ref": "GoogleCloudDialogflowV2beta1SpeechToTextConfig", "description": "Settings for speech transcription." }, + "timeZone": { + "description": "The time zone of this conversational profile from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. Defaults to America/New_York.", + "type": "string" + }, "updateTime": { "description": "Output only. Update time of the conversation profile.", "format": "google-datetime", @@ -12068,7 +14032,7 @@ "type": "string" }, "enableAutoReload": { - "description": "Optional. If true, we try to automatically reload the document every day (at a time picked by the system). If false or unspecified, we don't try to automatically reload the document. Currently you can only enable automatic reload for documents sourced from a public url, see `source` field for the source types. Reload status can be tracked in `latest_reload_status`. If a reload fails, we will keep the document unchanged. If a reload fails with internal errors, the system will try to reload the document on the next day. If a reload fails with non-retriable errors (e.g. PERMISION_DENIED), the system will not try to reload the document anymore. You need to manually reload the document successfully by calling `ReloadDocument` and clear the errors.", + "description": "Optional. If true, we try to automatically reload the document every day (at a time picked by the system). If false or unspecified, we don't try to automatically reload the document. Currently you can only enable automatic reload for documents sourced from a public url, see `source` field for the source types. Reload status can be tracked in `latest_reload_status`. If a reload fails, we will keep the document unchanged. If a reload fails with internal errors, the system will try to reload the document on the next day. If a reload fails with non-retriable errors (e.g. PERMISSION_DENIED), the system will not try to reload the document anymore. You need to manually reload the document successfully by calling `ReloadDocument` and clear the errors.", "type": "boolean" }, "knowledgeTypes": { @@ -12079,6 +14043,7 @@ "FAQ", "EXTRACTIVE_QA", "ARTICLE_SUGGESTION", + "AGENT_FACING_SMART_REPLY", "SMART_REPLY" ], "enumDescriptions": [ @@ -12086,6 +14051,7 @@ "The document content contains question and answer pairs as either HTML or CSV. Typical FAQ HTML formats are parsed accurately, but unusual formats may fail to be parsed. CSV must have questions in the first column and answers in the second, with no header. Because of this explicit format, they are always parsed accurately.", "Documents for which unstructured text is extracted and used for question answering.", "The entire document content as a whole can be used for query results. Only for Contact Center Solutions on Dialogflow.", + "The document contains agent-facing Smart Reply entries.", "The legacy enum for agent-facing smart reply feature." ], "type": "string" @@ -12116,6 +14082,27 @@ "description": "The raw content of the document. This field is only permitted for EXTRACTIVE_QA and FAQ knowledge types.", "format": "byte", "type": "string" + }, + "state": { + "description": "Output only. The current state of the document.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "UPDATING", + "RELOADING", + "DELETING" + ], + "enumDescriptions": [ + "The document state is unspecified.", + "The document creation is in progress.", + "The document is active and ready to use.", + "The document updation is in progress.", + "The document is reloading.", + "The document deletion is in progress." + ], + "readOnly": true, + "type": "string" } }, "type": "object" @@ -12245,6 +14232,10 @@ "description": "Optional. The developer-provided description for this environment. The maximum length is 500 characters. If exceeded, the request is rejected.", "type": "string" }, + "fulfillment": { + "$ref": "GoogleCloudDialogflowV2beta1Fulfillment", + "description": "Optional. The fulfillment settings to use for this environment." + }, "name": { "description": "Output only. The unique identifier of this agent environment. Supported formats: - `projects//agent/environments/` - `projects//locations//agent/environments/`", "readOnly": true, @@ -12267,6 +14258,10 @@ "readOnly": true, "type": "string" }, + "textToSpeechSettings": { + "$ref": "GoogleCloudDialogflowV2beta1TextToSpeechSettings", + "description": "Optional. Text to speech settings for this environment." + }, "updateTime": { "description": "Output only. The last update time of this environment. This field is read-only, i.e., it cannot be set by create and update methods.", "format": "google-datetime", @@ -12276,6 +14271,51 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1EnvironmentHistory": { + "description": "The response message for Environments.GetEnvironmentHistory.", + "id": "GoogleCloudDialogflowV2beta1EnvironmentHistory", + "properties": { + "entries": { + "description": "Output only. The list of agent environments. There will be a maximum number of items returned based on the page_size field in the request.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1EnvironmentHistoryEntry" + }, + "readOnly": true, + "type": "array" + }, + "nextPageToken": { + "description": "Output only. Token to retrieve the next page of results, or empty if there are no more results in the list.", + "readOnly": true, + "type": "string" + }, + "parent": { + "description": "Output only. The name of the environment this history is for. Supported formats: - `projects//agent/environments/` - `projects//locations//agent/environments/`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1EnvironmentHistoryEntry": { + "description": "Represents an environment history entry.", + "id": "GoogleCloudDialogflowV2beta1EnvironmentHistoryEntry", + "properties": { + "agentVersion": { + "description": "The agent version loaded into this environment history entry.", + "type": "string" + }, + "createTime": { + "description": "The creation time of this environment history entry.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "The developer-provided description for this environment history entry.", + "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", @@ -12326,6 +14366,17 @@ }, "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", @@ -12415,7 +14466,7 @@ "id": "GoogleCloudDialogflowV2beta1FulfillmentGenericWebService", "properties": { "isCloudFunction": { - "description": "Indicates if generic web service is created through Cloud Functions integration. Defaults to false.", + "description": "Optional. Indicates if generic web service is created through Cloud Functions integration. Defaults to false. is_cloud_function is deprecated. Cloud functions can be configured by its uri as a regular web service now.", "type": "boolean" }, "password": { @@ -12440,6 +14491,17 @@ }, "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" + }, "GoogleCloudDialogflowV2beta1GcsSource": { "description": "Google Cloud Storage location for single input.", "id": "GoogleCloudDialogflowV2beta1GcsSource", @@ -12493,12 +14555,24 @@ "id": "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigConversationModelConfig", "properties": { "model": { - "description": "Required. Conversation model resource name. Format: `projects//conversationModels/`.", + "description": "Conversation model resource name. Format: `projects//conversationModels/`.", "type": "string" } }, "type": "object" }, + "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigConversationProcessConfig": { + "description": "Config to process conversation.", + "id": "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigConversationProcessConfig", + "properties": { + "recentSentencesCount": { + "description": "Number of recent non-small-talk sentences to use as context for article and FAQ suggestion", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigMessageAnalysisConfig": { "description": "Configuration for analyses to run on each conversation message.", "id": "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigMessageAnalysisConfig", @@ -12540,6 +14614,10 @@ "$ref": "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigConversationModelConfig", "description": "Configs of custom conversation model." }, + "conversationProcessConfig": { + "$ref": "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigConversationProcessConfig", + "description": "Configs for processing conversation." + }, "enableEventBasedSuggestion": { "description": "Automatically iterates all participants and tries to compile suggestions. Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.", "type": "boolean" @@ -12764,6 +14842,7 @@ "FAQ", "EXTRACTIVE_QA", "ARTICLE_SUGGESTION", + "AGENT_FACING_SMART_REPLY", "SMART_REPLY" ], "enumDescriptions": [ @@ -12771,6 +14850,7 @@ "The document content contains question and answer pairs as either HTML or CSV. Typical FAQ HTML formats are parsed accurately, but unusual formats may fail to be parsed. CSV must have questions in the first column and answers in the second, with no header. Because of this explicit format, they are always parsed accurately.", "Documents for which unstructured text is extracted and used for question answering.", "The entire document content as a whole can be used for query results. Only for Contact Center Solutions on Dialogflow.", + "The document contains agent-facing Smart Reply entries.", "The legacy enum for agent-facing smart reply feature." ], "type": "string" @@ -14207,6 +16287,14 @@ "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": [ @@ -14461,6 +16549,24 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1ListVersionsResponse": { + "description": "The response message for Versions.ListVersions.", + "id": "GoogleCloudDialogflowV2beta1ListVersionsResponse", + "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": "The list of agent versions. There will be a maximum number of items returned based on the page_size field in the request.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1Version" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1LoggingConfig": { "description": "Defines logging behavior for conversation lifecycle events.", "id": "GoogleCloudDialogflowV2beta1LoggingConfig", @@ -14571,7 +16677,7 @@ "type": "string" }, "topic": { - "description": "Name of the Pub/Sub topic to publish conversation events like CONVERSATION_STARTED as serialized ConversationEvent protos. Notification works for phone calls, if this topic either is in the same project as the conversation or you grant `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` the `Dialogflow Service Agent` role in the topic project. Format: `projects//locations//topics/`.", + "description": "Name of the Pub/Sub topic to publish conversation events like CONVERSATION_STARTED as serialized ConversationEvent protos. For telephony integration to receive notification, make sure either this topic is in the same project as the conversation or you grant `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` the `Dialogflow Service Agent` role in the topic project. For chat integration to receive notification, make sure API caller has been granted the `Dialogflow Service Agent` role for the topic. Format: `projects//locations//topics/`.", "type": "string" } }, @@ -14656,6 +16762,13 @@ "description": "Represents a conversation participant (human agent, virtual agent, end-user).", "id": "GoogleCloudDialogflowV2beta1Participant", "properties": { + "documentsMetadataFilters": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Key-value filters on the metadata of documents returned by article suggestion. If specified, article suggestion only returns suggested documents that match all filters in their Document.metadata. Multiple values for a metadata key should be concatenated by comma. For example, filters to match all documents that have 'US' or 'CA' in their market metadata values and 'agent' in their user metadata values will be ``` documents_metadata_filters { key: \"market\" value: \"US,CA\" } documents_metadata_filters { key: \"user\" value: \"agent\" } ```", + "type": "object" + }, "name": { "description": "Optional. The unique identifier of this participant. Format: `projects//locations//conversations//participants/`.", "type": "string" @@ -14784,6 +16897,10 @@ "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.", + "type": "boolean" + }, "diagnosticInfo": { "additionalProperties": { "description": "Properties of the object.", @@ -14898,6 +17015,10 @@ "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." @@ -14926,6 +17047,21 @@ }, "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", @@ -15045,6 +17181,81 @@ }, "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" + ], + "enumDescriptions": [ + "Unspecified feature type.", + "Run article suggestion model.", + "Run FAQ model.", + "Run smart reply model." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1SetSuggestionFeatureConfigRequest": { + "description": "The request message for ConversationProfiles.SetSuggestionFeature.", + "id": "GoogleCloudDialogflowV2beta1SetSuggestionFeatureConfigRequest", + "properties": { + "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" + }, + "suggestionFeatureConfig": { + "$ref": "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionFeatureConfig", + "description": "Required. The suggestion feature config to add or update." + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1SmartReplyAnswer": { "description": "Represents a smart reply answer.", "id": "GoogleCloudDialogflowV2beta1SmartReplyAnswer", @@ -15089,7 +17300,7 @@ "id": "GoogleCloudDialogflowV2beta1SpeechToTextConfig", "properties": { "speechModelVariant": { - "description": "Optional. The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request.", + "description": "The speech model used in speech to text. `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as `USE_ENHANCED`. It can be overridden in AnalyzeContentRequest and StreamingAnalyzeContentRequest request. If enhanced model variant is specified and an enhanced version of the specified model for the language does not exist, then it would emit an error.", "enum": [ "SPEECH_MODEL_VARIANT_UNSPECIFIED", "USE_BEST_AVAILABLE", @@ -15126,6 +17337,10 @@ "description": "The request message for Participants.SuggestArticles.", "id": "GoogleCloudDialogflowV2beta1SuggestArticlesRequest", "properties": { + "assistQueryParams": { + "$ref": "GoogleCloudDialogflowV2beta1AssistQueryParameters", + "description": "Optional. Parameters for a human assist query." + }, "contextSize": { "description": "Optional. Max number of messages prior to and including latest_message to use as context when compiling the suggestion. By default 20 and at most 50.", "format": "int32", @@ -15165,6 +17380,10 @@ "description": "The request message for Participants.SuggestFaqAnswers.", "id": "GoogleCloudDialogflowV2beta1SuggestFaqAnswersRequest", "properties": { + "assistQueryParams": { + "$ref": "GoogleCloudDialogflowV2beta1AssistQueryParameters", + "description": "Optional. Parameters for a human assist query." + }, "contextSize": { "description": "Optional. Max number of messages prior to and including [latest_message] to use as context when compiling the suggestion. By default 20 and at most 50.", "format": "int32", @@ -15491,6 +17710,49 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1TextToSpeechSettings": { + "description": "Instructs the speech synthesizer on how to generate the output audio content.", + "id": "GoogleCloudDialogflowV2beta1TextToSpeechSettings", + "properties": { + "enableTextToSpeech": { + "description": "Optional. Indicates whether text to speech is enabled. Even when this field is false, other settings in this proto are still retained.", + "type": "boolean" + }, + "outputAudioEncoding": { + "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" + ], + "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." + ], + "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" + }, + "synthesizeSpeechConfigs": { + "additionalProperties": { + "$ref": "GoogleCloudDialogflowV2beta1SynthesizeSpeechConfig" + }, + "description": "Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig.", + "type": "object" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1TrainAgentRequest": { "description": "The request message for Agents.TrainAgent.", "id": "GoogleCloudDialogflowV2beta1TrainAgentRequest", @@ -15509,7 +17771,7 @@ "type": "array" }, "errorMessage": { - "description": "The detailed error messsage.", + "description": "The detailed error message.", "type": "string" }, "severity": { @@ -15547,6 +17809,51 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1Version": { + "description": "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. For more information, see the [versions and environments guide](https://cloud.google.com/dialogflow/docs/agents-versions).", + "id": "GoogleCloudDialogflowV2beta1Version", + "properties": { + "createTime": { + "description": "Output only. The creation time of this version. This field is read-only, i.e., it cannot be set by create and update methods.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The developer-provided description of this version.", + "type": "string" + }, + "name": { + "description": "Output only. The unique identifier of this agent version. Supported formats: - `projects//agent/versions/` - `projects//locations//agent/versions/`", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Output only. The status of this version. This field is read-only and cannot be set by create and update methods.", + "enum": [ + "VERSION_STATUS_UNSPECIFIED", + "IN_PROGRESS", + "READY", + "FAILED" + ], + "enumDescriptions": [ + "Not specified. This value is not used.", + "Version is not ready to serve (e.g. training is in progress).", + "Version is ready to serve.", + "Version training failed." + ], + "readOnly": true, + "type": "string" + }, + "versionNumber": { + "description": "Output only. The sequential number of this version. This field is read-only which means it cannot be set by create and update methods.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1VoiceSelectionParams": { "description": "Description of which voice to use for speech synthesis.", "id": "GoogleCloudDialogflowV2beta1VoiceSelectionParams", @@ -15753,6 +18060,58 @@ }, "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 Google Cloud Platform 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", @@ -15840,7 +18199,7 @@ "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 must conform to the WGS84 standard. Values must be within normalized ranges.", + "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": { diff --git a/etc/api/dialogflow/v3/dialogflow-api.json b/etc/api/dialogflow/v3/dialogflow-api.json index 3b9f2cc9de..1c57ded539 100644 --- a/etc/api/dialogflow/v3/dialogflow-api.json +++ b/etc/api/dialogflow/v3/dialogflow-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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" @@ -111,11 +111,81 @@ "projects": { "resources": { "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v3/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": "v3/{+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": "v3/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": "v3/{+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.", + "description": "Creates an agent in the specified location. Note: You should always train flows prior to sending them queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).", "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents", "httpMethod": "POST", "id": "dialogflow.projects.locations.agents.create", @@ -170,7 +240,7 @@ ] }, "export": { - "description": "Exports the specified agent to a binary file.", + "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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}:export", "httpMethod": "POST", "id": "dialogflow.projects.locations.agents.export", @@ -293,7 +363,7 @@ ] }, "patch": { - "description": "Updates the specified agent.", + "description": "Updates the specified agent. Note: You should always train flows prior to sending them queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).", "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}", "httpMethod": "PATCH", "id": "dialogflow.projects.locations.agents.patch", @@ -328,7 +398,7 @@ ] }, "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.", + "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 flows prior to sending them queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).", "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}:restore", "httpMethod": "POST", "id": "dialogflow.projects.locations.agents.restore", @@ -387,10 +457,82 @@ } }, "resources": { + "changelogs": { + "methods": { + "get": { + "description": "Retrieves the specified Changelog.", + "flatPath": "v3/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": "v3/{+name}", + "response": { + "$ref": "GoogleCloudDialogflowCxV3Changelog" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "list": { + "description": "Returns the list of Changelogs.", + "flatPath": "v3/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": "v3/{+parent}/changelogs", + "response": { + "$ref": "GoogleCloudDialogflowCxV3ListChangelogsResponse" + }, + "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.", + "description": "Creates an entity type 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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/entityTypes", "httpMethod": "POST", "id": "dialogflow.projects.locations.agents.entityTypes.create", @@ -424,7 +566,7 @@ ] }, "delete": { - "description": "Deletes the specified entity type.", + "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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/entityTypes/{entityTypesId}", "httpMethod": "DELETE", "id": "dialogflow.projects.locations.agents.entityTypes.delete", @@ -528,7 +670,7 @@ ] }, "patch": { - "description": "Updates the specified entity type.", + "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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/entityTypes/{entityTypesId}", "httpMethod": "PATCH", "id": "dialogflow.projects.locations.agents.entityTypes.patch", @@ -572,7 +714,7 @@ "environments": { "methods": { "create": { - "description": "Creates an Environment in the specified Agent.", + "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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments", "httpMethod": "POST", "id": "dialogflow.projects.locations.agents.environments.create", @@ -626,6 +768,35 @@ "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": "v3/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": "v3/{+environment}:deployFlow", + "request": { + "$ref": "GoogleCloudDialogflowCxV3DeployFlowRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "get": { "description": "Retrieves the specified Environment.", "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}", @@ -727,7 +898,7 @@ ] }, "patch": { - "description": "Updates the specified Environment.", + "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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/environments/{environmentsId}", "httpMethod": "PATCH", "id": "dialogflow.projects.locations.agents.environments.patch", @@ -760,9 +931,146 @@ "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": "v3/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": "v3/{+environment}:runContinuousTest", + "request": { + "$ref": "GoogleCloudDialogflowCxV3RunContinuousTestRequest" + }, + "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": "v3/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": "v3/{+parent}/continuousTestResults", + "response": { + "$ref": "GoogleCloudDialogflowCxV3ListContinuousTestResultsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + } + } + }, + "deployments": { + "methods": { + "get": { + "description": "Retrieves the specified Deployment.", + "flatPath": "v3/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": "v3/{+name}", + "response": { + "$ref": "GoogleCloudDialogflowCxV3Deployment" + }, + "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": "v3/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": "v3/{+parent}/deployments", + "response": { + "$ref": "GoogleCloudDialogflowCxV3ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + } + } + }, "experiments": { "methods": { "create": { @@ -1233,7 +1541,7 @@ "flows": { "methods": { "create": { - "description": "Creates a flow in the specified agent.", + "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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows", "httpMethod": "POST", "id": "dialogflow.projects.locations.agents.flows.create", @@ -1242,7 +1550,7 @@ ], "parameters": { "languageCode": { - "description": "The language of the following fields in `flow`: * `Flow.event_handlers.trigger_fulfillment.messages` * `Flow.transition_routes.trigger_fulfillment.messages` 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.", + "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" }, @@ -1297,6 +1605,35 @@ "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": "v3/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": "v3/{+name}:export", + "request": { + "$ref": "GoogleCloudDialogflowCxV3ExportFlowRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "get": { "description": "Retrieves the specified flow.", "flatPath": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}", @@ -1307,7 +1644,7 @@ ], "parameters": { "languageCode": { - "description": "The language to retrieve the flow for. The following fields are language dependent: * `Flow.event_handlers.trigger_fulfillment.messages` * `Flow.transition_routes.trigger_fulfillment.messages` 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.", + "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" }, @@ -1359,6 +1696,35 @@ "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": "v3/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": "v3/{+parent}/flows:import", + "request": { + "$ref": "GoogleCloudDialogflowCxV3ImportFlowRequest" + }, + "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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows", @@ -1369,7 +1735,7 @@ ], "parameters": { "languageCode": { - "description": "The language to list flows for. The following fields are language dependent: * `Flow.event_handlers.trigger_fulfillment.messages` * `Flow.transition_routes.trigger_fulfillment.messages` 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.", + "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" }, @@ -1402,7 +1768,7 @@ ] }, "patch": { - "description": "Updates the specified flow.", + "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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}", "httpMethod": "PATCH", "id": "dialogflow.projects.locations.agents.flows.patch", @@ -1411,7 +1777,7 @@ ], "parameters": { "languageCode": { - "description": "The language of the following fields in `flow`: * `Flow.event_handlers.trigger_fulfillment.messages` * `Flow.transition_routes.trigger_fulfillment.messages` 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.", + "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" }, @@ -1423,7 +1789,7 @@ "type": "string" }, "updateMask": { - "description": "Required. The mask to control which fields get updated. If `update_mask` is not specified, an error will be returned.", + "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" @@ -1442,7 +1808,7 @@ ] }, "train": { - "description": "Trains the specified flow. Note that only the flow in 'draft' environment is trained.", + "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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}:train", "httpMethod": "POST", "id": "dialogflow.projects.locations.agents.flows.train", @@ -1504,7 +1870,7 @@ "pages": { "methods": { "create": { - "description": "Creates a page in the specified flow.", + "description": "Creates a page 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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/pages", "httpMethod": "POST", "id": "dialogflow.projects.locations.agents.flows.pages.create", @@ -1513,7 +1879,7 @@ ], "parameters": { "languageCode": { - "description": "The language of the following fields in `page`: * `Page.entry_fulfillment.messages` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` * `Page.transition_routes.trigger_fulfillment.messages` * `Page.transition_route_groups.transition_routes.trigger_fulfillment.messages` 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.", + "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" }, @@ -1538,7 +1904,7 @@ ] }, "delete": { - "description": "Deletes the specified page.", + "description": "Deletes the specified page. 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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/pages/{pagesId}", "httpMethod": "DELETE", "id": "dialogflow.projects.locations.agents.flows.pages.delete", @@ -1578,7 +1944,7 @@ ], "parameters": { "languageCode": { - "description": "The language to retrieve the page for. The following fields are language dependent: * `Page.entry_fulfillment.messages` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` * `Page.transition_routes.trigger_fulfillment.messages` * `Page.transition_route_groups.transition_routes.trigger_fulfillment.messages` 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.", + "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" }, @@ -1609,7 +1975,7 @@ ], "parameters": { "languageCode": { - "description": "The language to list pages for. The following fields are language dependent: * `Page.entry_fulfillment.messages` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` * `Page.transition_routes.trigger_fulfillment.messages` * `Page.transition_route_groups.transition_routes.trigger_fulfillment.messages` 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.", + "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" }, @@ -1642,7 +2008,7 @@ ] }, "patch": { - "description": "Updates the specified page.", + "description": "Updates the specified page. 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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/pages/{pagesId}", "httpMethod": "PATCH", "id": "dialogflow.projects.locations.agents.flows.pages.patch", @@ -1651,7 +2017,7 @@ ], "parameters": { "languageCode": { - "description": "The language of the following fields in `page`: * `Page.entry_fulfillment.messages` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` * `Page.transition_routes.trigger_fulfillment.messages` * `Page.transition_route_groups.transition_routes.trigger_fulfillment.messages` 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.", + "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" }, @@ -1686,7 +2052,7 @@ "transitionRouteGroups": { "methods": { "create": { - "description": "Creates an TransitionRouteGroup in the specified flow.", + "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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/transitionRouteGroups", "httpMethod": "POST", "id": "dialogflow.projects.locations.agents.flows.transitionRouteGroups.create", @@ -1695,7 +2061,7 @@ ], "parameters": { "languageCode": { - "description": "The language to list transition route groups for. The field `messages` in TransitionRoute is language dependent. 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.", + "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" }, @@ -1720,7 +2086,7 @@ ] }, "delete": { - "description": "Deletes the specified TransitionRouteGroup.", + "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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/transitionRouteGroups/{transitionRouteGroupsId}", "httpMethod": "DELETE", "id": "dialogflow.projects.locations.agents.flows.transitionRouteGroups.delete", @@ -1760,7 +2126,7 @@ ], "parameters": { "languageCode": { - "description": "The language to list transition route groups for. The field `messages` in TransitionRoute is language dependent. 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.", + "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" }, @@ -1791,7 +2157,7 @@ ], "parameters": { "languageCode": { - "description": "The language to list transition route groups for. The field `messages` in TransitionRoute is language dependent. 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.", + "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" }, @@ -1824,7 +2190,7 @@ ] }, "patch": { - "description": "Updates the specified TransitionRouteGroup.", + "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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/transitionRouteGroups/{transitionRouteGroupsId}", "httpMethod": "PATCH", "id": "dialogflow.projects.locations.agents.flows.transitionRouteGroups.patch", @@ -1833,7 +2199,7 @@ ], "parameters": { "languageCode": { - "description": "The language to list transition route groups for. The field `messages` in TransitionRoute is language dependent. 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.", + "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" }, @@ -1867,8 +2233,37 @@ }, "versions": { "methods": { + "compareVersions": { + "description": "Compares the specified base version with target version.", + "flatPath": "v3/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": "v3/{+baseVersion}:compareVersions", + "request": { + "$ref": "GoogleCloudDialogflowCxV3CompareVersionsRequest" + }, + "response": { + "$ref": "GoogleCloudDialogflowCxV3CompareVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "create": { - "description": "Creates a Version in the specified Flow.", + "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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/versions", "httpMethod": "POST", "id": "dialogflow.projects.locations.agents.flows.versions.create", @@ -1986,7 +2381,7 @@ ] }, "load": { - "description": "Loads a specified version to draft version.", + "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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/flows/{flowsId}/versions/{versionsId}:load", "httpMethod": "POST", "id": "dialogflow.projects.locations.agents.flows.versions.load", @@ -1995,7 +2390,7 @@ ], "parameters": { "name": { - "description": "Required. The Version to be loaded to draft version. Format: `projects//locations//agents//flows//versions/`.", + "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, @@ -2056,7 +2451,7 @@ "intents": { "methods": { "create": { - "description": "Creates an intent in the specified agent.", + "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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/intents", "httpMethod": "POST", "id": "dialogflow.projects.locations.agents.intents.create", @@ -2090,7 +2485,7 @@ ] }, "delete": { - "description": "Deletes the specified intent.", + "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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/intents/{intentsId}", "httpMethod": "DELETE", "id": "dialogflow.projects.locations.agents.intents.delete", @@ -2204,7 +2599,7 @@ ] }, "patch": { - "description": "Updates the specified intent.", + "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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/intents/{intentsId}", "httpMethod": "PATCH", "id": "dialogflow.projects.locations.agents.intents.patch", @@ -2527,7 +2922,7 @@ ] }, "batchRun": { - "description": "Kicks off a batch run of test cases.", + "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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases:batchRun", "httpMethod": "POST", "id": "dialogflow.projects.locations.agents.testCases.batchRun", @@ -2628,7 +3023,7 @@ ] }, "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.", + "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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases:export", "httpMethod": "POST", "id": "dialogflow.projects.locations.agents.testCases.export", @@ -2683,7 +3078,7 @@ ] }, "import": { - "description": "Imports the test cases from a Cloud Storage bucket or a local file. It always creates new test cases and won't overwite any existing ones. The provided ID in the imported test case is neglected.", + "description": "Imports the test cases from a Cloud Storage bucket or a local file. It always creates new test cases and won't overwite 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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases:import", "httpMethod": "POST", "id": "dialogflow.projects.locations.agents.testCases.import", @@ -2799,7 +3194,7 @@ ] }, "run": { - "description": "Kicks off a test case 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": "v3/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/testCases/{testCasesId}:run", "httpMethod": "POST", "id": "dialogflow.projects.locations.agents.testCases.run", @@ -3295,7 +3690,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the settings. Format: `projects//locations//securitySettings/`.", + "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, @@ -3425,19 +3820,49 @@ } } }, - "revision": "20210329", + "revision": "20220228", "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. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.", + "id": "GoogleCloudDialogflowCxV3AdvancedSettings", + "properties": { + "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." + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3AdvancedSettingsLoggingSettings": { + "description": "Define behaviors on logging.", + "id": "GoogleCloudDialogflowCxV3AdvancedSettingsLoggingSettings", + "properties": { + "enableInteractionLogging": { + "description": "If true, DF Interaction logging is currently enabled.", + "type": "boolean" + }, + "enableStackdriverLogging": { + "description": "If true, StackDriver logging is currently enabled.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudDialogflowCxV3Agent": { "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, and so on to manage the conversation flows..", "id": "GoogleCloudDialogflowCxV3Agent", "properties": { + "advancedSettings": { + "$ref": "GoogleCloudDialogflowCxV3AdvancedSettings", + "description": "Hierarchical advanced settings for this agent. The settings exposed at the lower level overrides the settings exposed at the higher level." + }, "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" }, "defaultLanguageCode": { - "description": "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.", + "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": { @@ -3453,7 +3878,7 @@ "type": "boolean" }, "enableStackdriverLogging": { - "description": "Indicates if stackdriver logging is enabled for the agent.", + "description": "Indicates if stackdriver logging is enabled for the agent. Please use agent.advanced_settings instead.", "type": "boolean" }, "name": { @@ -3472,6 +3897,13 @@ "description": "Immutable. 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/`.", "type": "string" }, + "supportedLanguageCodes": { + "description": "The list of all languages supported by the agent (except for the `default_language_code`).", + "items": { + "type": "string" + }, + "type": "array" + }, "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" @@ -3596,6 +4028,114 @@ }, "type": "object" }, + "GoogleCloudDialogflowCxV3Changelog": { + "description": "Changelogs represents a change made to a given agent.", + "id": "GoogleCloudDialogflowCxV3Changelog", + "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" + }, + "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" + }, + "GoogleCloudDialogflowCxV3CompareVersionsRequest": { + "description": "The request message for Versions.CompareVersions.", + "id": "GoogleCloudDialogflowCxV3CompareVersionsRequest", + "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" + }, + "GoogleCloudDialogflowCxV3CompareVersionsResponse": { + "description": "The response message for Versions.CompareVersions.", + "id": "GoogleCloudDialogflowCxV3CompareVersionsResponse", + "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" + }, + "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" + }, "GoogleCloudDialogflowCxV3ConversationTurn": { "description": "One interaction between a human and virtual agent. The human provides some input and the virtual agent provides a response.", "id": "GoogleCloudDialogflowCxV3ConversationTurn", @@ -3615,6 +4155,10 @@ "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.", @@ -3647,7 +4191,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Required. Input only. The diagnostic info output for the turn.", + "description": "Required. Input only. The diagnostic info output for the turn. Required to calculate the testing coverage.", "type": "object" }, "differences": { @@ -3717,6 +4261,109 @@ }, "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" + }, + "GoogleCloudDialogflowCxV3DeployFlowRequest": { + "description": "The request message for Environments.DeployFlow.", + "id": "GoogleCloudDialogflowCxV3DeployFlowRequest", + "properties": { + "flowVersion": { + "description": "Required. The flow version to deploy. Format: `projects//locations//agents// flows//versions/`.", + "type": "string" + } + }, + "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" + }, + "GoogleCloudDialogflowCxV3Deployment": { + "description": "Represents an 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": "GoogleCloudDialogflowCxV3Deployment", + "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": "GoogleCloudDialogflowCxV3DeploymentResult", + "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" + }, + "GoogleCloudDialogflowCxV3DeploymentResult": { + "description": "Result of the deployment.", + "id": "GoogleCloudDialogflowCxV3DeploymentResult", + "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" + }, "GoogleCloudDialogflowCxV3DetectIntentRequest": { "description": "The request to detect user's intent.", "id": "GoogleCloudDialogflowCxV3DetectIntentRequest", @@ -3740,6 +4387,10 @@ "description": "The message returned from the DetectIntent method.", "id": "GoogleCloudDialogflowCxV3DetectIntentResponse", "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", @@ -3756,6 +4407,20 @@ "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" @@ -3885,6 +4550,10 @@ "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", @@ -3901,6 +4570,28 @@ }, "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", @@ -3995,24 +4686,38 @@ "$ref": "GoogleCloudDialogflowCxV3ExperimentResult", "description": "Inference result of the experiment." }, + "rolloutConfig": { + "$ref": "GoogleCloudDialogflowCxV3RolloutConfig", + "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": "GoogleCloudDialogflowCxV3RolloutState", + "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 Expriments.StartExperiment: PENDING->RUNNING. Transition triggered by Expriments.CancelExperiment: PENDING->CANCELLED or RUNNING->CANCELLED.", + "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" + "DONE", + "ROLLOUT_FAILED" ], "enumDescriptions": [ "State unspecified.", "The experiment is created but not started yet.", "The experiment is running.", - "The experiment is done." + "The experiment is done.", + "The experiment with auto-rollout enabled has failed." ], "type": "string" }, @@ -4174,6 +4879,10 @@ "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.", "type": "string" + }, + "environment": { + "description": "Optional. Environment name. If not set, draft environment is assumed. Format: `projects//locations//agents//environments/`.", + "type": "string" } }, "type": "object" @@ -4194,8 +4903,39 @@ }, "type": "object" }, + "GoogleCloudDialogflowCxV3ExportFlowRequest": { + "description": "The request message for Flows.ExportFlow.", + "id": "GoogleCloudDialogflowCxV3ExportFlowRequest", + "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.", + "type": "string" + }, + "includeReferencedFlows": { + "description": "Optional. Whether to export flows referenced by the specified flow.", + "type": "boolean" + } + }, + "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" + }, "GoogleCloudDialogflowCxV3ExportTestCasesMetadata": { - "description": "Metadata returned for the TestCases.ExportTestCases long running operation.", + "description": "Metadata returned for the TestCases.ExportTestCases long running operation. This message currently has no fields.", "id": "GoogleCloudDialogflowCxV3ExportTestCasesMetadata", "properties": {}, "type": "object" @@ -4440,6 +5180,10 @@ }, "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": { @@ -4569,6 +5313,47 @@ }, "type": "object" }, + "GoogleCloudDialogflowCxV3ImportFlowRequest": { + "description": "The request message for Flows.ImportFlow.", + "id": "GoogleCloudDialogflowCxV3ImportFlowRequest", + "properties": { + "flowContent": { + "description": "Uncompressed raw byte content for flow.", + "format": "byte", + "type": "string" + }, + "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:///`.", + "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" + }, + "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" + }, "GoogleCloudDialogflowCxV3ImportTestCasesMetadata": { "description": "Metadata returned for the TestCases.ImportTestCases long running operation.", "id": "GoogleCloudDialogflowCxV3ImportTestCasesMetadata", @@ -4689,7 +5474,7 @@ "id": "GoogleCloudDialogflowCxV3Intent", "properties": { "description": { - "description": "Optional. Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.", + "description": "Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.", "type": "string" }, "displayName": { @@ -4704,7 +5489,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. 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.", + "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": { @@ -4857,6 +5642,60 @@ }, "type": "object" }, + "GoogleCloudDialogflowCxV3ListChangelogsResponse": { + "description": "The response message for Changelogs.ListChangelogs.", + "id": "GoogleCloudDialogflowCxV3ListChangelogsResponse", + "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": "GoogleCloudDialogflowCxV3Changelog" + }, + "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" + }, + "GoogleCloudDialogflowCxV3ListContinuousTestResultsResponse": { + "description": "The response message for Environments.ListTestCaseResults.", + "id": "GoogleCloudDialogflowCxV3ListContinuousTestResultsResponse", + "properties": { + "continuousTestResults": { + "description": "The list of continuous test results.", + "items": { + "$ref": "GoogleCloudDialogflowCxV3ContinuousTestResult" + }, + "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" + }, + "GoogleCloudDialogflowCxV3ListDeploymentsResponse": { + "description": "The response message for Deployments.ListDeployments.", + "id": "GoogleCloudDialogflowCxV3ListDeploymentsResponse", + "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": "GoogleCloudDialogflowCxV3Deployment" + }, + "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" + }, "GoogleCloudDialogflowCxV3ListEntityTypesResponse": { "description": "The response message for EntityTypes.ListEntityTypes.", "id": "GoogleCloudDialogflowCxV3ListEntityTypesResponse", @@ -5096,7 +5935,7 @@ "id": "GoogleCloudDialogflowCxV3LoadVersionRequest", "properties": { "allowOverrideAgentResources": { - "description": "This field is used to prevent accidental overwrite of other agent resources in the draft version, 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).", + "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" } }, @@ -5130,7 +5969,7 @@ "type": "number" }, "event": { - "description": "The event that matched the query. Only filled for `EVENT` match type.", + "description": "The event that matched the query. Filled for `EVENT`, `NO_MATCH` and `NO_INPUT` match types.", "type": "string" }, "intent": { @@ -5351,6 +6190,10 @@ "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." @@ -5451,13 +6294,20 @@ "type": "boolean" }, "currentPage": { - "description": "The unique identifier of the page to override the current page in the session. Format: `projects//locations//agents//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.", + "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" }, "disableWebhook": { "description": "Whether to disable webhook calls for this request.", "type": "boolean" }, + "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." @@ -5467,7 +6317,7 @@ "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. 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: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter's entity type is a composite entity: map from composite entity property names to property values - Else: parameter value", + "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: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter's entity type is a composite entity: map from composite entity property names to property values - Else: parameter value", "type": "object" }, "payload": { @@ -5475,7 +6325,7 @@ "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.", + "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" }, "sessionEntityTypes": { @@ -5515,6 +6365,10 @@ "description": "The free-form diagnostic info. For example, this field could contain webhook call latency. The string keys of the Struct's fields map can change without notice.", "type": "object" }, + "dtmf": { + "$ref": "GoogleCloudDialogflowCxV3DtmfInput", + "description": "If a DTMF was provided as input, this field will contain a copy of the DTMFInput." + }, "intent": { "$ref": "GoogleCloudDialogflowCxV3Intent", "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." @@ -5652,6 +6506,10 @@ "$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." }, + "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." @@ -5766,6 +6624,17 @@ }, "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", @@ -5815,8 +6684,103 @@ }, "type": "object" }, + "GoogleCloudDialogflowCxV3RolloutConfig": { + "description": "The configuration for auto rollout.", + "id": "GoogleCloudDialogflowCxV3RolloutConfig", + "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": "GoogleCloudDialogflowCxV3RolloutConfigRolloutStep" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3RolloutConfigRolloutStep": { + "description": "A single rollout step with specified traffic allocation.", + "id": "GoogleCloudDialogflowCxV3RolloutConfigRolloutStep", + "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" + }, + "GoogleCloudDialogflowCxV3RolloutState": { + "description": "State of the auto-rollout process.", + "id": "GoogleCloudDialogflowCxV3RolloutState", + "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" + }, + "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" + }, + "GoogleCloudDialogflowCxV3RunContinuousTestRequest": { + "description": "The request message for Environments.RunContinuousTest.", + "id": "GoogleCloudDialogflowCxV3RunContinuousTestRequest", + "properties": {}, + "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.", + "description": "Metadata returned for the TestCases.RunTestCase long running operation. This message currently has no fields.", "id": "GoogleCloudDialogflowCxV3RunTestCaseMetadata", "properties": {}, "type": "object" @@ -5847,16 +6811,24 @@ "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": "GoogleCloudDialogflowCxV3SecuritySettings", "properties": { + "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": "GoogleCloudDialogflowCxV3SecuritySettingsInsightsExportSettings", + "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 inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects/PROJECT_ID/inspectTemplates/TEMPLATE_ID` OR `organizations/ORGANIZATION_ID/inspectTemplates/TEMPLATE_ID`", + "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": "Required. Resource name of the settings. Format: `projects//locations//securitySettings/`.", + "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": { @@ -5868,14 +6840,14 @@ ], "enumDescriptions": [ "Unspecified. Do not use.", - "Dialogflow history. This does not include Stackdriver log, which is owned by the user not Dialogflow." + "Dialogflow history. This does not include Cloud logging, which is owned by the user - not Dialogflow." ], "type": "string" }, "type": "array" }, "redactionScope": { - "description": "Defines on what data we apply redaction. Note that we don't redact data to which we don't have access, e.g., Stackdriver logs.", + "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" @@ -5899,13 +6871,24 @@ "type": "string" }, "retentionWindowDays": { - "description": "Retains the data for the specified number of days. User must Set a value lower than Dialogflow's default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow's default TTL.", + "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. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow's default TTL. Note: Interaction logging is a limited access feature. Talk to your Google representative to check availability for you.", "format": "int32", "type": "integer" } }, "type": "object" }, + "GoogleCloudDialogflowCxV3SecuritySettingsInsightsExportSettings": { + "description": "Settings for exporting conversations to [Insights](https://cloud.google.com/contact-center/insights/docs).", + "id": "GoogleCloudDialogflowCxV3SecuritySettingsInsightsExportSettings", + "properties": { + "enableInsightsExport": { + "description": "If enabled, we will automatically exports conversations to Insights and Insights runs its analyzers.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudDialogflowCxV3SentimentAnalysisResult": { "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": "GoogleCloudDialogflowCxV3SentimentAnalysisResult", @@ -6647,6 +7630,10 @@ "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", @@ -6659,6 +7646,14 @@ "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" + }, "password": { "description": "The password for HTTP Basic authentication.", "type": "string" @@ -6697,6 +7692,10 @@ "$ref": "GoogleCloudDialogflowCxV3WebhookRequestIntentInfo", "description": "Information about the last matched intent." }, + "languageCode": { + "description": "The language code specified in the original request.", + "type": "string" + }, "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": { @@ -6876,6 +7875,21 @@ }, "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" + }, "GoogleCloudDialogflowCxV3beta1AudioInput": { "description": "Represents the natural speech audio to be processed.", "id": "GoogleCloudDialogflowCxV3beta1AudioInput", @@ -6920,6 +7934,43 @@ }, "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" + }, "GoogleCloudDialogflowCxV3beta1ConversationTurn": { "description": "One interaction between a human and virtual agent. The human provides some input and the virtual agent provides a response.", "id": "GoogleCloudDialogflowCxV3beta1ConversationTurn", @@ -6939,6 +7990,10 @@ "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.", @@ -6971,7 +8026,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Required. Input only. The diagnostic info output for the turn.", + "description": "Required. Input only. The diagnostic info output for the turn. Required to calculate the testing coverage.", "type": "object" }, "differences": { @@ -7041,6 +8096,35 @@ }, "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" + }, + "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" + }, "GoogleCloudDialogflowCxV3beta1DtmfInput": { "description": "Represents the input for dtmf event.", "id": "GoogleCloudDialogflowCxV3beta1DtmfInput", @@ -7056,6 +8140,75 @@ }, "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": "Required. 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" + } + }, + "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. Format: projects//locations//agents//flows//versions/.", + "type": "string" + } + }, + "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", @@ -7111,8 +8264,24 @@ }, "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" + }, "GoogleCloudDialogflowCxV3beta1ExportTestCasesMetadata": { - "description": "Metadata returned for the TestCases.ExportTestCases long running operation.", + "description": "Metadata returned for the TestCases.ExportTestCases long running operation. This message currently has no fields.", "id": "GoogleCloudDialogflowCxV3beta1ExportTestCasesMetadata", "properties": {}, "type": "object" @@ -7218,6 +8387,10 @@ }, "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": { @@ -7347,6 +8520,17 @@ }, "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" + }, "GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata": { "description": "Metadata returned for the TestCases.ImportTestCases long running operation.", "id": "GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata", @@ -7451,7 +8635,7 @@ "id": "GoogleCloudDialogflowCxV3beta1Intent", "properties": { "description": { - "description": "Optional. Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.", + "description": "Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.", "type": "string" }, "displayName": { @@ -7466,7 +8650,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. 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.", + "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": { @@ -7619,6 +8803,10 @@ "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." @@ -7759,6 +8947,10 @@ "$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." @@ -7873,6 +9065,17 @@ }, "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", @@ -7892,8 +9095,33 @@ }, "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" + }, + "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.", + "description": "Metadata returned for the TestCases.RunTestCase long running operation. This message currently has no fields.", "id": "GoogleCloudDialogflowCxV3beta1RunTestCaseMetadata", "properties": {}, "type": "object" @@ -8167,6 +9395,10 @@ "$ref": "GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo", "description": "Information about the last matched intent." }, + "languageCode": { + "description": "The language code specified in the original request.", + "type": "string" + }, "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": { @@ -8403,6 +9635,27 @@ }, "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", @@ -8431,6 +9684,54 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2ClearSuggestionFeatureConfigOperationMetadata": { + "description": "Metadata for a ConversationProfile.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" + ], + "enumDescriptions": [ + "Unspecified feature type.", + "Run article suggestion model.", + "Run FAQ model.", + "Run smart reply model." + ], + "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", @@ -8494,6 +9795,195 @@ }, "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" + }, + "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 ConversationDatasets.", + "id": "GoogleCloudDialogflowV2CreateConversationDatasetOperationMetadata", + "properties": {}, + "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 ConversationDatasets.", + "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" + }, "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", @@ -8605,6 +10095,17 @@ }, "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", @@ -8640,6 +10141,17 @@ }, "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", @@ -8662,6 +10174,70 @@ }, "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" + }, + "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", @@ -8717,10 +10293,11 @@ "type": "array" }, "followupIntentInfo": { - "description": "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.", + "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": { @@ -8781,7 +10358,8 @@ "type": "boolean" }, "rootFollowupIntentName": { - "description": "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/`.", + "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": { @@ -9574,6 +11152,14 @@ "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": [ @@ -9603,7 +11189,7 @@ "type": "string" }, "createTime": { - "description": "Output only. The time when the message was created.", + "description": "Output only. The time when the message was created in Contact Center AI.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -9618,7 +11204,7 @@ "readOnly": true }, "name": { - "description": "The unique identifier of the message. Format: `projects//locations//conversations//messages/`.", + "description": "Optional. The unique identifier of the message. Format: `projects//locations//conversations//messages/`.", "type": "string" }, "participant": { @@ -9642,6 +11228,16 @@ ], "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" @@ -9699,6 +11295,10 @@ "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.", + "type": "boolean" + }, "diagnosticInfo": { "additionalProperties": { "description": "Properties of the object.", @@ -9834,6 +11434,95 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2SetSuggestionFeatureConfigOperationMetadata": { + "description": "Metadata for a ConversationProfile.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" + ], + "enumDescriptions": [ + "Unspecified feature type.", + "Run article suggestion model.", + "Run FAQ model.", + "Run smart reply model." + ], + "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" + }, "GoogleCloudDialogflowV2SuggestArticlesResponse": { "description": "The response message for Participants.SuggestArticles.", "id": "GoogleCloudDialogflowV2SuggestArticlesResponse", @@ -9880,6 +11569,30 @@ }, "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", @@ -9895,6 +11608,26 @@ "suggestFaqAnswersResponse": { "$ref": "GoogleCloudDialogflowV2SuggestFaqAnswersResponse", "description": "SuggestFaqAnswersResponse if request is for FAQ_ANSWER." + }, + "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" @@ -10050,6 +11783,54 @@ }, "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" + ], + "enumDescriptions": [ + "Unspecified feature type.", + "Run article suggestion model.", + "Run FAQ model.", + "Run smart reply model." + ], + "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", @@ -10222,6 +12003,17 @@ }, "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", @@ -10257,6 +12049,17 @@ }, "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", @@ -11557,6 +13360,14 @@ "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": [ @@ -11692,6 +13503,10 @@ "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.", + "type": "boolean" + }, "diagnosticInfo": { "additionalProperties": { "description": "Properties of the object.", @@ -11831,6 +13646,54 @@ }, "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" + ], + "enumDescriptions": [ + "Unspecified feature type.", + "Run article suggestion model.", + "Run FAQ model.", + "Run smart reply model." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1SmartReplyAnswer": { "description": "Represents a smart reply answer.", "id": "GoogleCloudDialogflowV2beta1SmartReplyAnswer", @@ -12122,6 +13985,58 @@ }, "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 Google Cloud Platform 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", @@ -12209,7 +14124,7 @@ "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 must conform to the WGS84 standard. Values must be within normalized ranges.", + "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": { diff --git a/etc/api/dialogflow/v3beta1/dialogflow-api.json b/etc/api/dialogflow/v3beta1/dialogflow-api.json index 7dcbc5f9b0..032a32f4bd 100644 --- a/etc/api/dialogflow/v3beta1/dialogflow-api.json +++ b/etc/api/dialogflow/v3beta1/dialogflow-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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" @@ -111,11 +111,81 @@ "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.", + "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", @@ -170,7 +240,7 @@ ] }, "export": { - "description": "Exports the specified agent to a binary file.", + "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", @@ -293,7 +363,7 @@ ] }, "patch": { - "description": "Updates the specified agent.", + "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", @@ -328,7 +398,7 @@ ] }, "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.", + "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", @@ -387,6 +457,78 @@ } }, "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" + ] + } + } + }, "entityTypes": { "methods": { "create": { @@ -424,7 +566,7 @@ ] }, "delete": { - "description": "Deletes the specified entity type.", + "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", @@ -528,7 +670,7 @@ ] }, "patch": { - "description": "Updates the specified entity type.", + "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", @@ -572,7 +714,7 @@ "environments": { "methods": { "create": { - "description": "Creates an Environment in the specified Agent.", + "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", @@ -626,6 +768,35 @@ "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}", @@ -727,7 +898,7 @@ ] }, "patch": { - "description": "Updates the specified Environment.", + "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", @@ -760,9 +931,146 @@ "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": { @@ -1233,7 +1541,7 @@ "flows": { "methods": { "create": { - "description": "Creates a flow in the specified agent.", + "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", @@ -1242,7 +1550,7 @@ ], "parameters": { "languageCode": { - "description": "The language of the following fields in `flow`: * `Flow.event_handlers.trigger_fulfillment.messages` * `Flow.transition_routes.trigger_fulfillment.messages` 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.", + "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" }, @@ -1297,6 +1605,35 @@ "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}", @@ -1307,7 +1644,7 @@ ], "parameters": { "languageCode": { - "description": "The language to retrieve the flow for. The following fields are language dependent: * `Flow.event_handlers.trigger_fulfillment.messages` * `Flow.transition_routes.trigger_fulfillment.messages` 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.", + "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" }, @@ -1359,6 +1696,35 @@ "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", @@ -1369,7 +1735,7 @@ ], "parameters": { "languageCode": { - "description": "The language to list flows for. The following fields are language dependent: * `Flow.event_handlers.trigger_fulfillment.messages` * `Flow.transition_routes.trigger_fulfillment.messages` 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.", + "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" }, @@ -1402,7 +1768,7 @@ ] }, "patch": { - "description": "Updates the specified flow.", + "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", @@ -1411,7 +1777,7 @@ ], "parameters": { "languageCode": { - "description": "The language of the following fields in `flow`: * `Flow.event_handlers.trigger_fulfillment.messages` * `Flow.transition_routes.trigger_fulfillment.messages` 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.", + "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" }, @@ -1423,7 +1789,7 @@ "type": "string" }, "updateMask": { - "description": "Required. The mask to control which fields get updated. If `update_mask` is not specified, an error will be returned.", + "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" @@ -1442,7 +1808,7 @@ ] }, "train": { - "description": "Trains the specified flow. Note that only the flow in 'draft' environment is trained.", + "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", @@ -1513,7 +1879,7 @@ ], "parameters": { "languageCode": { - "description": "The language of the following fields in `page`: * `Page.entry_fulfillment.messages` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` * `Page.transition_routes.trigger_fulfillment.messages` * `Page.transition_route_groups.transition_routes.trigger_fulfillment.messages` 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.", + "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" }, @@ -1578,7 +1944,7 @@ ], "parameters": { "languageCode": { - "description": "The language to retrieve the page for. The following fields are language dependent: * `Page.entry_fulfillment.messages` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` * `Page.transition_routes.trigger_fulfillment.messages` * `Page.transition_route_groups.transition_routes.trigger_fulfillment.messages` 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.", + "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" }, @@ -1609,7 +1975,7 @@ ], "parameters": { "languageCode": { - "description": "The language to list pages for. The following fields are language dependent: * `Page.entry_fulfillment.messages` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` * `Page.transition_routes.trigger_fulfillment.messages` * `Page.transition_route_groups.transition_routes.trigger_fulfillment.messages` 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.", + "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" }, @@ -1651,7 +2017,7 @@ ], "parameters": { "languageCode": { - "description": "The language of the following fields in `page`: * `Page.entry_fulfillment.messages` * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` * `Page.transition_routes.trigger_fulfillment.messages` * `Page.transition_route_groups.transition_routes.trigger_fulfillment.messages` 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.", + "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" }, @@ -1686,7 +2052,7 @@ "transitionRouteGroups": { "methods": { "create": { - "description": "Creates an TransitionRouteGroup in the specified flow.", + "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", @@ -1695,7 +2061,7 @@ ], "parameters": { "languageCode": { - "description": "The language to list transition route groups for. The field `messages` in TransitionRoute is language dependent. 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.", + "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" }, @@ -1720,7 +2086,7 @@ ] }, "delete": { - "description": "Deletes the specified TransitionRouteGroup.", + "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", @@ -1760,7 +2126,7 @@ ], "parameters": { "languageCode": { - "description": "The language to list transition route groups for. The field `messages` in TransitionRoute is language dependent. 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.", + "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" }, @@ -1791,7 +2157,7 @@ ], "parameters": { "languageCode": { - "description": "The language to list transition route groups for. The field `messages` in TransitionRoute is language dependent. 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.", + "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" }, @@ -1824,7 +2190,7 @@ ] }, "patch": { - "description": "Updates the specified TransitionRouteGroup.", + "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", @@ -1833,7 +2199,7 @@ ], "parameters": { "languageCode": { - "description": "The language to list transition route groups for. The field `messages` in TransitionRoute is language dependent. 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.", + "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" }, @@ -1867,8 +2233,37 @@ }, "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.", + "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", @@ -1986,7 +2381,7 @@ ] }, "load": { - "description": "Loads a specified version to draft version.", + "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", @@ -1995,7 +2390,7 @@ ], "parameters": { "name": { - "description": "Required. The Version to be loaded to draft version. Format: `projects//locations//agents//flows//versions/`.", + "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, @@ -2056,7 +2451,7 @@ "intents": { "methods": { "create": { - "description": "Creates an intent in the specified agent.", + "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", @@ -2090,7 +2485,7 @@ ] }, "delete": { - "description": "Deletes the specified intent.", + "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", @@ -2204,7 +2599,7 @@ ] }, "patch": { - "description": "Updates the specified intent.", + "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", @@ -2527,7 +2922,7 @@ ] }, "batchRun": { - "description": "Kicks off a batch run of test cases.", + "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", @@ -2628,7 +3023,7 @@ ] }, "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.", + "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", @@ -2683,7 +3078,7 @@ ] }, "import": { - "description": "Imports the test cases from a Cloud Storage bucket or a local file. It always creates new test cases and won't overwite any existing ones. The provided ID in the imported test case is neglected.", + "description": "Imports the test cases from a Cloud Storage bucket or a local file. It always creates new test cases and won't overwite 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", @@ -2799,7 +3194,7 @@ ] }, "run": { - "description": "Kicks off a test case 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", @@ -3295,7 +3690,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the settings. Format: `projects//locations//securitySettings/`.", + "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, @@ -3425,7 +3820,7 @@ } } }, - "revision": "20210329", + "revision": "20220228", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AudioInput": { @@ -3472,6 +3867,43 @@ }, "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" + }, "GoogleCloudDialogflowCxV3ConversationTurn": { "description": "One interaction between a human and virtual agent. The human provides some input and the virtual agent provides a response.", "id": "GoogleCloudDialogflowCxV3ConversationTurn", @@ -3491,6 +3923,10 @@ "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.", @@ -3523,7 +3959,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Required. Input only. The diagnostic info output for the turn.", + "description": "Required. Input only. The diagnostic info output for the turn. Required to calculate the testing coverage.", "type": "object" }, "differences": { @@ -3593,6 +4029,35 @@ }, "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", @@ -3608,6 +4073,75 @@ }, "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": "Required. 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" + } + }, + "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. Format: projects//locations//agents//flows//versions/.", + "type": "string" + } + }, + "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", @@ -3663,8 +4197,24 @@ }, "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" + }, "GoogleCloudDialogflowCxV3ExportTestCasesMetadata": { - "description": "Metadata returned for the TestCases.ExportTestCases long running operation.", + "description": "Metadata returned for the TestCases.ExportTestCases long running operation. This message currently has no fields.", "id": "GoogleCloudDialogflowCxV3ExportTestCasesMetadata", "properties": {}, "type": "object" @@ -3770,6 +4320,10 @@ }, "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": { @@ -3899,6 +4453,17 @@ }, "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" + }, "GoogleCloudDialogflowCxV3ImportTestCasesMetadata": { "description": "Metadata returned for the TestCases.ImportTestCases long running operation.", "id": "GoogleCloudDialogflowCxV3ImportTestCasesMetadata", @@ -4003,7 +4568,7 @@ "id": "GoogleCloudDialogflowCxV3Intent", "properties": { "description": { - "description": "Optional. Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.", + "description": "Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.", "type": "string" }, "displayName": { @@ -4018,7 +4583,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. 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.", + "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": { @@ -4171,6 +4736,10 @@ "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." @@ -4311,6 +4880,10 @@ "$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." }, + "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." @@ -4425,6 +4998,17 @@ }, "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", @@ -4444,8 +5028,33 @@ }, "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.", + "description": "Metadata returned for the TestCases.RunTestCase long running operation. This message currently has no fields.", "id": "GoogleCloudDialogflowCxV3RunTestCaseMetadata", "properties": {}, "type": "object" @@ -4719,6 +5328,10 @@ "$ref": "GoogleCloudDialogflowCxV3WebhookRequestIntentInfo", "description": "Information about the last matched intent." }, + "languageCode": { + "description": "The language code specified in the original request.", + "type": "string" + }, "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": { @@ -4898,16 +5511,46 @@ }, "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. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.", + "id": "GoogleCloudDialogflowCxV3beta1AdvancedSettings", + "properties": { + "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." + } + }, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1AdvancedSettingsLoggingSettings": { + "description": "Define behaviors on logging.", + "id": "GoogleCloudDialogflowCxV3beta1AdvancedSettingsLoggingSettings", + "properties": { + "enableInteractionLogging": { + "description": "If true, DF Interaction logging is currently enabled.", + "type": "boolean" + }, + "enableStackdriverLogging": { + "description": "If true, StackDriver logging is currently enabled.", + "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, 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." + }, "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" }, "defaultLanguageCode": { - "description": "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.", + "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": { @@ -4923,7 +5566,7 @@ "type": "boolean" }, "enableStackdriverLogging": { - "description": "Indicates if stackdriver logging is enabled for the agent.", + "description": "Indicates if stackdriver logging is enabled for the agent. Please use agent.advanced_settings instead.", "type": "boolean" }, "name": { @@ -4942,6 +5585,13 @@ "description": "Immutable. 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/`.", "type": "string" }, + "supportedLanguageCodes": { + "description": "The list of all languages supported by the agent (except for the `default_language_code`).", + "items": { + "type": "string" + }, + "type": "array" + }, "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" @@ -5066,6 +5716,114 @@ }, "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" + }, + "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" + }, "GoogleCloudDialogflowCxV3beta1ConversationTurn": { "description": "One interaction between a human and virtual agent. The human provides some input and the virtual agent provides a response.", "id": "GoogleCloudDialogflowCxV3beta1ConversationTurn", @@ -5085,6 +5843,10 @@ "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.", @@ -5117,7 +5879,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Required. Input only. The diagnostic info output for the turn.", + "description": "Required. Input only. The diagnostic info output for the turn. Required to calculate the testing coverage.", "type": "object" }, "differences": { @@ -5187,6 +5949,109 @@ }, "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 an 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", @@ -5210,6 +6075,10 @@ "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", @@ -5226,6 +6095,20 @@ "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" @@ -5355,6 +6238,10 @@ "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", @@ -5371,6 +6258,28 @@ }, "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", @@ -5465,24 +6374,38 @@ "$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 Expriments.StartExperiment: PENDING->RUNNING. Transition triggered by Expriments.CancelExperiment: PENDING->CANCELLED or RUNNING->CANCELLED.", + "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" + "DONE", + "ROLLOUT_FAILED" ], "enumDescriptions": [ "State unspecified.", "The experiment is created but not started yet.", "The experiment is running.", - "The experiment is done." + "The experiment is done.", + "The experiment with auto-rollout enabled has failed." ], "type": "string" }, @@ -5644,6 +6567,10 @@ "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.", "type": "string" + }, + "environment": { + "description": "Optional. Environment name. If not set, draft environment is assumed. Format: `projects//locations//agents//environments/`.", + "type": "string" } }, "type": "object" @@ -5664,8 +6591,39 @@ }, "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.", + "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" + }, "GoogleCloudDialogflowCxV3beta1ExportTestCasesMetadata": { - "description": "Metadata returned for the TestCases.ExportTestCases long running operation.", + "description": "Metadata returned for the TestCases.ExportTestCases long running operation. This message currently has no fields.", "id": "GoogleCloudDialogflowCxV3beta1ExportTestCasesMetadata", "properties": {}, "type": "object" @@ -5910,6 +6868,10 @@ }, "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": { @@ -6039,6 +7001,47 @@ }, "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" + }, + "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:///`.", + "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" + }, "GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata": { "description": "Metadata returned for the TestCases.ImportTestCases long running operation.", "id": "GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata", @@ -6159,7 +7162,7 @@ "id": "GoogleCloudDialogflowCxV3beta1Intent", "properties": { "description": { - "description": "Optional. Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.", + "description": "Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.", "type": "string" }, "displayName": { @@ -6174,7 +7177,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. 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.", + "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": { @@ -6327,6 +7330,60 @@ }, "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" + }, + "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", @@ -6566,7 +7623,7 @@ "id": "GoogleCloudDialogflowCxV3beta1LoadVersionRequest", "properties": { "allowOverrideAgentResources": { - "description": "This field is used to prevent accidental overwrite of other agent resources in the draft version, 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).", + "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" } }, @@ -6600,7 +7657,7 @@ "type": "number" }, "event": { - "description": "The event that matched the query. Only filled for `EVENT` match type.", + "description": "The event that matched the query. Filled for `EVENT`, `NO_MATCH` and `NO_INPUT` match types.", "type": "string" }, "intent": { @@ -6821,6 +7878,10 @@ "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." @@ -6921,13 +7982,20 @@ "type": "boolean" }, "currentPage": { - "description": "The unique identifier of the page to override the current page in the session. Format: `projects//locations//agents//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.", + "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" }, "disableWebhook": { "description": "Whether to disable webhook calls for this request.", "type": "boolean" }, + "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." @@ -6937,7 +8005,7 @@ "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. 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: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter's entity type is a composite entity: map from composite entity property names to property values - Else: parameter value", + "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: map - Else: depending on parameter value type, could be one of string, number, boolean, null, list or map - MapValue value: - If parameter's entity type is a composite entity: map from composite entity property names to property values - Else: parameter value", "type": "object" }, "payload": { @@ -6945,7 +8013,7 @@ "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.", + "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" }, "sessionEntityTypes": { @@ -6985,6 +8053,10 @@ "description": "The free-form diagnostic info. For example, this field could contain webhook call latency. The string keys of the Struct's fields map can change without notice.", "type": "object" }, + "dtmf": { + "$ref": "GoogleCloudDialogflowCxV3beta1DtmfInput", + "description": "If a DTMF was provided as input, this field will contain a copy of the DTMFInput." + }, "intent": { "$ref": "GoogleCloudDialogflowCxV3beta1Intent", "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." @@ -7122,6 +8194,10 @@ "$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." @@ -7236,6 +8312,17 @@ }, "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", @@ -7285,8 +8372,103 @@ }, "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.", + "description": "Metadata returned for the TestCases.RunTestCase long running operation. This message currently has no fields.", "id": "GoogleCloudDialogflowCxV3beta1RunTestCaseMetadata", "properties": {}, "type": "object" @@ -7317,16 +8499,24 @@ "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": { + "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 inspect template name. Use this template to define inspect base settings. If empty, we use the default DLP inspect config. The template name will have one of the following formats: `projects/PROJECT_ID/inspectTemplates/TEMPLATE_ID` OR `organizations/ORGANIZATION_ID/inspectTemplates/TEMPLATE_ID`", + "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": "Required. Resource name of the settings. Format: `projects//locations//securitySettings/`.", + "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": { @@ -7338,14 +8528,14 @@ ], "enumDescriptions": [ "Unspecified. Do not use.", - "Dialogflow history. This does not include Stackdriver log, which is owned by the user not Dialogflow." + "Dialogflow history. This does not include Cloud logging, which is owned by the user - not Dialogflow." ], "type": "string" }, "type": "array" }, "redactionScope": { - "description": "Defines on what data we apply redaction. Note that we don't redact data to which we don't have access, e.g., Stackdriver logs.", + "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" @@ -7369,13 +8559,24 @@ "type": "string" }, "retentionWindowDays": { - "description": "Retains the data for the specified number of days. User must Set a value lower than Dialogflow's default 30d TTL. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow's default TTL.", + "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. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use Dialogflow's default TTL. Note: Interaction logging is a limited access feature. Talk to your Google representative to check availability for you.", "format": "int32", "type": "integer" } }, "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", @@ -8117,6 +9318,10 @@ "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", @@ -8129,6 +9334,14 @@ "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" + }, "password": { "description": "The password for HTTP Basic authentication.", "type": "string" @@ -8167,6 +9380,10 @@ "$ref": "GoogleCloudDialogflowCxV3beta1WebhookRequestIntentInfo", "description": "Information about the last matched intent." }, + "languageCode": { + "description": "The language code specified in the original request.", + "type": "string" + }, "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": { @@ -8346,6 +9563,21 @@ }, "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", @@ -8403,6 +9635,27 @@ }, "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", @@ -8431,6 +9684,54 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2ClearSuggestionFeatureConfigOperationMetadata": { + "description": "Metadata for a ConversationProfile.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" + ], + "enumDescriptions": [ + "Unspecified feature type.", + "Run article suggestion model.", + "Run FAQ model.", + "Run smart reply model." + ], + "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", @@ -8494,6 +9795,195 @@ }, "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" + }, + "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 ConversationDatasets.", + "id": "GoogleCloudDialogflowV2CreateConversationDatasetOperationMetadata", + "properties": {}, + "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 ConversationDatasets.", + "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" + }, "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", @@ -8605,6 +10095,17 @@ }, "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", @@ -8640,6 +10141,17 @@ }, "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", @@ -8662,6 +10174,70 @@ }, "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" + }, + "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", @@ -8717,10 +10293,11 @@ "type": "array" }, "followupIntentInfo": { - "description": "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.", + "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": { @@ -8781,7 +10358,8 @@ "type": "boolean" }, "rootFollowupIntentName": { - "description": "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/`.", + "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": { @@ -9574,6 +11152,14 @@ "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": [ @@ -9603,7 +11189,7 @@ "type": "string" }, "createTime": { - "description": "Output only. The time when the message was created.", + "description": "Output only. The time when the message was created in Contact Center AI.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -9618,7 +11204,7 @@ "readOnly": true }, "name": { - "description": "The unique identifier of the message. Format: `projects//locations//conversations//messages/`.", + "description": "Optional. The unique identifier of the message. Format: `projects//locations//conversations//messages/`.", "type": "string" }, "participant": { @@ -9642,6 +11228,16 @@ ], "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" @@ -9699,6 +11295,10 @@ "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.", + "type": "boolean" + }, "diagnosticInfo": { "additionalProperties": { "description": "Properties of the object.", @@ -9834,6 +11434,95 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2SetSuggestionFeatureConfigOperationMetadata": { + "description": "Metadata for a ConversationProfile.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" + ], + "enumDescriptions": [ + "Unspecified feature type.", + "Run article suggestion model.", + "Run FAQ model.", + "Run smart reply model." + ], + "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" + }, "GoogleCloudDialogflowV2SuggestArticlesResponse": { "description": "The response message for Participants.SuggestArticles.", "id": "GoogleCloudDialogflowV2SuggestArticlesResponse", @@ -9880,6 +11569,30 @@ }, "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", @@ -9895,6 +11608,26 @@ "suggestFaqAnswersResponse": { "$ref": "GoogleCloudDialogflowV2SuggestFaqAnswersResponse", "description": "SuggestFaqAnswersResponse if request is for FAQ_ANSWER." + }, + "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" @@ -10050,6 +11783,54 @@ }, "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" + ], + "enumDescriptions": [ + "Unspecified feature type.", + "Run article suggestion model.", + "Run FAQ model.", + "Run smart reply model." + ], + "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", @@ -10222,6 +12003,17 @@ }, "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", @@ -10257,6 +12049,17 @@ }, "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", @@ -11557,6 +13360,14 @@ "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": [ @@ -11692,6 +13503,10 @@ "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.", + "type": "boolean" + }, "diagnosticInfo": { "additionalProperties": { "description": "Properties of the object.", @@ -11831,6 +13646,54 @@ }, "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" + ], + "enumDescriptions": [ + "Unspecified feature type.", + "Run article suggestion model.", + "Run FAQ model.", + "Run smart reply model." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1SmartReplyAnswer": { "description": "Represents a smart reply answer.", "id": "GoogleCloudDialogflowV2beta1SmartReplyAnswer", @@ -12122,6 +13985,58 @@ }, "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 Google Cloud Platform 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", @@ -12209,7 +14124,7 @@ "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 must conform to the WGS84 standard. Values must be within normalized ranges.", + "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": { diff --git a/etc/api/digitalassetlinks/v1/digitalassetlinks-api.json b/etc/api/digitalassetlinks/v1/digitalassetlinks-api.json index 6803fa26ad..a762b525e5 100644 --- a/etc/api/digitalassetlinks/v1/digitalassetlinks-api.json +++ b/etc/api/digitalassetlinks/v1/digitalassetlinks-api.json @@ -96,6 +96,21 @@ "resources": { "assetlinks": { "methods": { + "bulkCheck": { + "description": "Send a bundle of statement checks in a single RPC to minimize latency and service load. Statements need not be all for the same source and/or target. We recommend using this method when you need to check more than one statement in a short period of time.", + "flatPath": "v1/assetlinks:bulkCheck", + "httpMethod": "POST", + "id": "digitalassetlinks.assetlinks.bulkCheck", + "parameterOrder": [], + "parameters": {}, + "path": "v1/assetlinks:bulkCheck", + "request": { + "$ref": "BulkCheckRequest" + }, + "response": { + "$ref": "BulkCheckResponse" + } + }, "check": { "description": "Determines whether the specified (directional) relationship exists between the specified source and target assets. The relation describes the intent of the link between the two assets as claimed by the source asset. An example for such relationships is the delegation of privileges or permissions. This command is most often used by infrastructure systems to check preconditions for an action. For example, a client may want to know if it is OK to send a web URL to a particular mobile app instead. The client can check for the relevant asset link from the website to the mobile app to decide if the operation should be allowed. A note about security: if you specify a secure asset as the source, such as an HTTPS website or an Android app, the API will ensure that any statements used to generate the response have been made in a secure way by the owner of that asset. Conversely, if the source asset is an insecure HTTP website (that is, the URL starts with `http://` instead of `https://`), the API cannot verify its statements securely, and it is not possible to ensure that the website's statements have not been altered by a third party. For more information, see the [Digital Asset Links technical design specification](https://github.com/google/digitalassetlinks/blob/master/well-known/details.md).", "flatPath": "v1/assetlinks:check", @@ -184,7 +199,7 @@ } } }, - "revision": "20210322", + "revision": "20220301", "rootUrl": "https://digitalassetlinks.googleapis.com/", "schemas": { "AndroidAppAsset": { @@ -217,6 +232,84 @@ }, "type": "object" }, + "BulkCheckRequest": { + "description": "Message used to check for the existence of multiple digital asset links within a single RPC.", + "id": "BulkCheckRequest", + "properties": { + "allowGoogleInternalDataSources": { + "description": "Same configuration as in Check request, all statements checks will use same configurations.", + "type": "boolean" + }, + "defaultRelation": { + "description": "If specified, will be used in any given template statement that doesn\u2019t specify a relation.", + "type": "string" + }, + "defaultSource": { + "$ref": "Asset", + "description": "If specified, will be used in any given template statement that doesn\u2019t specify a source." + }, + "defaultTarget": { + "$ref": "Asset", + "description": "If specified, will be used in any given template statement that doesn\u2019t specify a target." + }, + "skipCacheLookup": { + "description": "Same configuration as in Check request, all statements checks will use same configurations.", + "type": "boolean" + }, + "statements": { + "description": "List of statements to check. For each statement, you can omit a field if the corresponding default_* field below was supplied. Minimum 1 statement; maximum 1,000 statements. Any additional statements will be ignored.", + "items": { + "$ref": "StatementTemplate" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkCheckResponse": { + "description": "Response for BulkCheck call. Results are sent in a list in the same order in which they were sent. Individual check errors are described in the appropriate check_results entry. If the entire call fails, the response will include a bulk_error_code field describing the error.", + "id": "BulkCheckResponse", + "properties": { + "bulkErrorCode": { + "description": "Error code for the entire request. Present only if the entire request failed. Individual check errors will not trigger the presence of this field.", + "enum": [ + "ERROR_CODE_UNSPECIFIED", + "ERROR_CODE_INVALID_QUERY", + "ERROR_CODE_FETCH_ERROR", + "ERROR_CODE_FAILED_SSL_VALIDATION", + "ERROR_CODE_REDIRECT", + "ERROR_CODE_TOO_LARGE", + "ERROR_CODE_MALFORMED_HTTP_RESPONSE", + "ERROR_CODE_WRONG_CONTENT_TYPE", + "ERROR_CODE_MALFORMED_CONTENT", + "ERROR_CODE_SECURE_ASSET_INCLUDES_INSECURE", + "ERROR_CODE_FETCH_BUDGET_EXHAUSTED" + ], + "enumDescriptions": [ + "", + "Unable to parse query.", + "Unable to fetch the asset links data.", + "Invalid HTTPS certificate .", + "HTTP redirects (e.g, 301) are not allowed.", + "Asset links data exceeds maximum size.", + "Can't parse HTTP response.", + "HTTP Content-type should be application/json.", + "JSON content is malformed.", + "A secure asset includes an insecure asset (security downgrade).", + "Too many includes (maybe a loop)." + ], + "type": "string" + }, + "checkResults": { + "description": "List of results for each check request. Results are returned in the same order in which they were sent in the request.", + "items": { + "$ref": "CheckResponse" + }, + "type": "array" + } + }, + "type": "object" + }, "CertificateInfo": { "description": "Describes an X509 certificate.", "id": "CertificateInfo", @@ -356,6 +449,25 @@ }, "type": "object" }, + "StatementTemplate": { + "description": "A single statement to check in a bulk call using BulkCheck. See CheckRequest for details about each field.", + "id": "StatementTemplate", + "properties": { + "relation": { + "description": "The relationship being asserted between the source and target. If omitted, you must specify a BulkCheckRequest.default_relation value to use here.", + "type": "string" + }, + "source": { + "$ref": "Asset", + "description": "The source asset that is asserting the statement. If omitted, you must specify a BulkCheckRequest.default_source value to use here." + }, + "target": { + "$ref": "Asset", + "description": "The target that the source is declaring the relationship with. If omitted, you must specify a BulkCheckRequest.default_target to use here." + } + }, + "type": "object" + }, "WebAsset": { "description": "Describes a web asset.", "id": "WebAsset", diff --git a/etc/api/discovery/v1/discovery-api.json b/etc/api/discovery/v1/discovery-api.json index 651d406044..5f026b9db6 100644 --- a/etc/api/discovery/v1/discovery-api.json +++ b/etc/api/discovery/v1/discovery-api.json @@ -526,6 +526,10 @@ "description": "Whether this method requires an ETag to be specified. The ETag is sent as an HTTP If-Match or If-None-Match header.", "type": "boolean" }, + "flatPath": { + "description": "The URI path of this REST method in (RFC 6570) format without level 2 features ({+var}). Supplementary to the path property.", + "type": "string" + }, "httpMethod": { "description": "HTTP method used by this method.", "type": "string" diff --git a/etc/api/displayvideo/v1/displayvideo-api.json b/etc/api/displayvideo/v1/displayvideo-api.json index e3e0336c55..73f7b3d23a 100644 --- a/etc/api/displayvideo/v1/displayvideo-api.json +++ b/etc/api/displayvideo/v1/displayvideo-api.json @@ -21,7 +21,7 @@ "baseUrl": "https://displayvideo.googleapis.com/", "batchPath": "batch", "canonicalName": "Display Video", - "description": "Display & Video 360 API allows users to manage and create campaigns and reports.", + "description": "Display & Video 360 API allows users to automate complex Display & Video 360 workflows, such as creating insertion orders and setting targeting options for individual line items.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/display-video/", "fullyEncodeReservedExpansion": true, @@ -377,7 +377,7 @@ "assets": { "methods": { "upload": { - "description": "Uploads an asset. Returns the ID of the newly uploaded asset if successful. The asset file size should be no more than 10 MB for images, 200 MB for ZIP files, and 1 GB for videos.", + "description": "Uploads an asset. Returns the ID of the newly uploaded asset if successful. The asset file size should be no more than 10 MB for images, 200 MB for ZIP files, and 1 GB for videos. Must be used within the [multipart media upload process](/display-video/api/guides/how-tos/upload#multipart). Examples using provided client libraries can be found in our [Creating Creatives guide](/display-video/api/guides/creating-creatives/overview#upload_an_asset).", "flatPath": "v1/advertisers/{advertisersId}/assets", "httpMethod": "POST", "id": "displayvideo.advertisers.assets.upload", @@ -753,7 +753,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -793,7 +798,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "location": "path", "pattern": "^[^/]+$", @@ -847,7 +857,7 @@ "type": "string" }, "pageSize": { - "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", "format": "int32", "location": "query", "type": "integer" @@ -897,7 +907,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -937,7 +952,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "location": "path", "pattern": "^[^/]+$", @@ -1897,7 +1917,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -1937,7 +1962,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "location": "path", "pattern": "^[^/]+$", @@ -1991,7 +2021,7 @@ "type": "string" }, "pageSize": { - "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", "format": "int32", "location": "query", "type": "integer" @@ -2041,7 +2071,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -2081,7 +2116,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "location": "path", "pattern": "^[^/]+$", @@ -2103,10 +2143,104 @@ } } }, + "invoices": { + "methods": { + "list": { + "description": "Lists invoices posted for an advertiser in a given month. Invoices generated by billing profiles with a \"Partner\" invoice level are not retrievable through this method.", + "flatPath": "v1/advertisers/{advertisersId}/invoices", + "httpMethod": "GET", + "id": "displayvideo.advertisers.invoices.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to list invoices for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "issueMonth": { + "description": "The month to list the invoices for. If not set, the request will retrieve invoices for the previous month. Must be in the format YYYYMM.", + "location": "query", + "type": "string" + }, + "loiSapinInvoiceType": { + "description": "Select type of invoice to retrieve for Loi Sapin advertisers. Only applicable to Loi Sapin advertisers. Will be ignored otherwise.", + "enum": [ + "LOI_SAPIN_INVOICE_TYPE_UNSPECIFIED", + "LOI_SAPIN_INVOICE_TYPE_MEDIA", + "LOI_SAPIN_INVOICE_TYPE_PLATFORM" + ], + "enumDescriptions": [ + "Value is not specified.", + "Invoices with Media cost.", + "Invoices with Platform fee." + ], + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "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 next_page_token returned from the previous call to `ListInvoices` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/invoices", + "response": { + "$ref": "ListInvoicesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/display-video-mediaplanning" + ] + }, + "lookupInvoiceCurrency": { + "description": "Retrieves the invoice currency used by an advertiser in a given month.", + "flatPath": "v1/advertisers/{advertisersId}/invoices:lookupInvoiceCurrency", + "httpMethod": "GET", + "id": "displayvideo.advertisers.invoices.lookupInvoiceCurrency", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to lookup currency for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "invoiceMonth": { + "description": "Month for which the currency is needed. If not set, the request will return existing currency settings for the advertiser. Must be in the format YYYYMM.", + "location": "query", + "type": "string" + } + }, + "path": "v1/advertisers/{+advertiserId}/invoices:lookupInvoiceCurrency", + "response": { + "$ref": "LookupInvoiceCurrencyResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/display-video-mediaplanning" + ] + } + } + }, "lineItems": { "methods": { "bulkEditLineItemAssignedTargetingOptions": { - "description": "Bulk edits targeting options under a single line item. The operation will delete the assigned targeting options provided in BulkEditLineItemAssignedTargetingOptionsRequest.delete_requests and then create the assigned targeting options provided in BulkEditLineItemAssignedTargetingOptionsRequest.create_requests .", + "description": "Bulk edits targeting options under a single line item. The operation will delete the assigned targeting options provided in BulkEditLineItemAssignedTargetingOptionsRequest.delete_requests and then create the assigned targeting options provided in BulkEditLineItemAssignedTargetingOptionsRequest.create_requests. Requests to this endpoint cannot be made concurrently with the following requests updating the same line item: * BulkEditLineItemAssignedTargetingOptions * UpdateLineItem * CreateLineItemAssignedTargetingOption * DeleteLineItemAssignedTargetingOption", "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}:bulkEditLineItemAssignedTargetingOptions", "httpMethod": "POST", "id": "displayvideo.advertisers.lineItems.bulkEditLineItemAssignedTargetingOptions", @@ -2264,7 +2398,7 @@ ] }, "generateDefault": { - "description": "Creates a new line item with settings (including targeting) inherited from the insertion order. Returns the newly created line item if successful. There are default values based on the three fields: * The insertion order's InsertionOrderType * The insertion order's InsertionOrderAutomationType * The given line_item_type", + "description": "Creates a new line item with settings (including targeting) inherited from the insertion order and an `ENTITY_STATUS_DRAFT` entity_status. Returns the newly created line item if successful. There are default values based on the three fields: * The insertion order's insertion_order_type * The insertion order's automation_type * The given line_item_type", "flatPath": "v1/advertisers/{advertisersId}/lineItems:generateDefault", "httpMethod": "POST", "id": "displayvideo.advertisers.lineItems.generateDefault", @@ -2345,7 +2479,7 @@ "type": "string" }, "filter": { - "description": "Allows filtering by line item properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator used on `flight.dateRange.endDate` must be LESS THAN (<). * The operator used on `updateTime` must be `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)`. * The operator used on `warningMessages` must be `HAS (:)`. * The operators used on all other fields must be `EQUALS (=)`. * Supported fields: - `campaignId` - `displayName` - `insertionOrderId` - `entityStatus` - `lineItemId` - `lineItemType` - `flight.dateRange.endDate` (input formatted as YYYY-MM-DD) - `warningMessages` - `flight.triggerId` - `updateTime` (input in ISO 8601 format, or YYYY-MM-DDTHH:MM:SSZ) * The operator can be `NO LESS THAN (>=)` or `NO GREATER THAN (<=)`. - `updateTime` (format of ISO 8601) Examples: * All line items under an insertion order: `insertionOrderId=\"1234\"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` and `LINE_ITEM_TYPE_DISPLAY_DEFAULT` line items under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\") AND lineItemType=\"LINE_ITEM_TYPE_DISPLAY_DEFAULT\"` * All line items whose flight dates end before March 28, 2019: `flight.dateRange.endDate<\"2019-03-28\"` * All line items that have `NO_VALID_CREATIVE` in `warningMessages`: `warningMessages:\"NO_VALID_CREATIVE\"` * All line items with an update time less than or equal to `2020-11-04T18:54:47Z (format of ISO 8601)`: `updateTime<=\"2020-11-04T18:54:47Z\"` * All line items with an update time greater than or equal to `2020-11-04T18:54:47Z (format of ISO 8601)`: `updateTime>=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters.", + "description": "Allows filtering by line item properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator used on `flight.dateRange.endDate` must be LESS THAN (<). * The operator used on `updateTime` must be `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)`. * The operator used on `warningMessages` must be `HAS (:)`. * The operators used on all other fields must be `EQUALS (=)`. * Supported properties: - `campaignId` - `displayName` - `insertionOrderId` - `entityStatus` - `lineItemId` - `lineItemType` - `flight.dateRange.endDate` (input formatted as YYYY-MM-DD) - `warningMessages` - `flight.triggerId` - `updateTime` (input in ISO 8601 format, or YYYY-MM-DDTHH:MM:SSZ) - `targetedChannelId` - `targetedNegativeKeywordListId` Examples: * All line items under an insertion order: `insertionOrderId=\"1234\"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` and `LINE_ITEM_TYPE_DISPLAY_DEFAULT` line items under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\") AND lineItemType=\"LINE_ITEM_TYPE_DISPLAY_DEFAULT\"` * All line items whose flight dates end before March 28, 2019: `flight.dateRange.endDate<\"2019-03-28\"` * All line items that have `NO_VALID_CREATIVE` in `warningMessages`: `warningMessages:\"NO_VALID_CREATIVE\"` * All line items with an update time less than or equal to `2020-11-04T18:54:47Z (format of ISO 8601)`: `updateTime<=\"2020-11-04T18:54:47Z\"` * All line items with an update time greater than or equal to `2020-11-04T18:54:47Z (format of ISO 8601)`: `updateTime>=\"2020-11-04T18:54:47Z\"` * All line items that are using both the specified channel and specified negative keyword list in their targeting: `targetedNegativeKeywordListId=789 AND targetedChannelId=12345` The length of this field should be no more than 500 characters.", "location": "query", "type": "string" }, @@ -2375,7 +2509,7 @@ ] }, "patch": { - "description": "Updates an existing line item. Returns the updated line item if successful.", + "description": "Updates an existing line item. Returns the updated line item if successful. Requests to this endpoint cannot be made concurrently with the following requests updating the same line item: * BulkEditLineItemAssignedTargetingOptions * UpdateLineItem * CreateLineItemAssignedTargetingOption * DeleteLineItemAssignedTargetingOption", "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}", "httpMethod": "PATCH", "id": "displayvideo.advertisers.lineItems.patch", @@ -2425,7 +2559,7 @@ "assignedTargetingOptions": { "methods": { "create": { - "description": "Assigns a targeting option to a line item. Returns the assigned targeting option if successful.", + "description": "Assigns a targeting option to a line item. Returns the assigned targeting option if successful. Requests to this endpoint cannot be made concurrently with the following requests updating the same line item: * BulkEditLineItemAssignedTargetingOptions * UpdateLineItem * CreateLineItemAssignedTargetingOption * DeleteLineItemAssignedTargetingOption", "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", "httpMethod": "POST", "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.create", @@ -2491,7 +2625,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -2531,7 +2670,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "location": "path", "pattern": "^[^/]+$", @@ -2551,7 +2695,7 @@ ] }, "delete": { - "description": "Deletes an assigned targeting option from a line item.", + "description": "Deletes an assigned targeting option from a line item. Requests to this endpoint cannot be made concurrently with the following requests updating the same line item: * BulkEditLineItemAssignedTargetingOptions * UpdateLineItem * CreateLineItemAssignedTargetingOption * DeleteLineItemAssignedTargetingOption", "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", "httpMethod": "DELETE", "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete", @@ -2625,7 +2769,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -2665,7 +2814,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "location": "path", "pattern": "^[^/]+$", @@ -2756,7 +2910,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -2796,7 +2955,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "location": "path", "pattern": "^[^/]+$", @@ -2850,7 +3014,7 @@ "type": "string" }, "pageSize": { - "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", "format": "int32", "location": "query", "type": "integer" @@ -2900,7 +3064,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -2940,7 +3109,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "location": "path", "pattern": "^[^/]+$", @@ -3888,7 +4062,7 @@ ] }, "replace": { - "description": "Replaces all negative keywords in a single negative keyword list. The operation will replace the keywords in a negative keywords with keywords provided in ReplaceNegativeKeywordsRequest.new_negative_keywords.", + "description": "Replaces all negative keywords in a single negative keyword list. The operation will replace the keywords in a negative keyword list with keywords provided in ReplaceNegativeKeywordsRequest.new_negative_keywords.", "flatPath": "v1/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords:replace", "httpMethod": "POST", "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.replace", @@ -3951,7 +4125,7 @@ "type": "string" }, "targetingType": { - "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`", + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`", "enum": [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", @@ -3990,7 +4164,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -4030,7 +4209,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "location": "path", "pattern": "^[^/]+$", @@ -4076,7 +4260,7 @@ "type": "string" }, "targetingType": { - "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`", + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`", "enum": [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", @@ -4115,7 +4299,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -4155,7 +4344,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "location": "path", "pattern": "^[^/]+$", @@ -4198,7 +4392,7 @@ "type": "string" }, "targetingType": { - "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`", + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`", "enum": [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", @@ -4237,7 +4431,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -4277,7 +4476,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "location": "path", "pattern": "^[^/]+$", @@ -4322,7 +4526,7 @@ "type": "string" }, "pageSize": { - "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", "format": "int32", "location": "query", "type": "integer" @@ -4333,7 +4537,7 @@ "type": "string" }, "targetingType": { - "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`", + "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`", "enum": [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", @@ -4372,7 +4576,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -4412,7 +4621,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "location": "path", "pattern": "^[^/]+$", @@ -4527,6 +4741,24 @@ }, "customBiddingAlgorithms": { "methods": { + "create": { + "description": "Creates a new custom bidding algorithm. Returns the newly created custom bidding algorithm if successful.", + "flatPath": "v1/customBiddingAlgorithms", + "httpMethod": "POST", + "id": "displayvideo.customBiddingAlgorithms.create", + "parameterOrder": [], + "parameters": {}, + "path": "v1/customBiddingAlgorithms", + "request": { + "$ref": "CustomBiddingAlgorithm" + }, + "response": { + "$ref": "CustomBiddingAlgorithm" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, "get": { "description": "Gets a custom bidding algorithm.", "flatPath": "v1/customBiddingAlgorithms/{customBiddingAlgorithmsId}", @@ -4579,7 +4811,7 @@ "type": "string" }, "filter": { - "description": "Allows filtering by custom bidding algorithm fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND`. A sequence of restrictions * implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `CONTAINS (:)` or `EQUALS (=)`. * The operator must be `CONTAINS (:)` for the following field: - `displayName` * The operator must be `EQUALS (=)` for the following field: - `customBiddingAlgorithmType` * For `displayName`, the value is a string. We return all custom bidding algorithms whose display_name contains such string. * For `customBiddingAlgorithmType`, the value is a string. We return all algorithms whose custom_bidding_algorithm_type is equal to the given type. Examples: * All custom bidding algorithms for which the display name contains \"politics\": `displayName:politics`. * All custom bidding algorithms for which the type is \"SCRIPT_BASED\": `customBiddingAlgorithmType=SCRIPT_BASED` The length of this field should be no more than 500 characters.", + "description": "Allows filtering by custom bidding algorithm fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND`. A sequence of restrictions * implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `CONTAINS (:)` or `EQUALS (=)`. * The operator must be `CONTAINS (:)` for the following field: - `displayName` * The operator must be `EQUALS (=)` for the following field: - `customBiddingAlgorithmType` - `customBiddingAlgorithmState` * For `displayName`, the value is a string. We return all custom bidding algorithms whose display_name contains such string. * For `customBiddingAlgorithmType`, the value is a string. We return all algorithms whose custom_bidding_algorithm_type is equal to the given type. * For `customBiddingAlgorithmState`, the value is a string. We return all algorithms whose custom_bidding_algorithm_state is equal to the given type. Examples: * All custom bidding algorithms for which the display name contains \"politics\": `displayName:politics`. * All custom bidding algorithms for which the type is \"SCRIPT_BASED\": `customBiddingAlgorithmType=SCRIPT_BASED` * All custom bidding algorithms for which the state is \"ENABLED\": `customBiddingAlgorithmState=ENABLED` The length of this field should be no more than 500 characters.", "location": "query", "type": "string" }, @@ -4613,6 +4845,227 @@ "scopes": [ "https://www.googleapis.com/auth/display-video" ] + }, + "patch": { + "description": "Updates an existing custom bidding algorithm. Returns the updated custom bidding algorithm if successful.", + "flatPath": "v1/customBiddingAlgorithms/{customBiddingAlgorithmsId}", + "httpMethod": "PATCH", + "id": "displayvideo.customBiddingAlgorithms.patch", + "parameterOrder": [ + "customBiddingAlgorithmId" + ], + "parameters": { + "customBiddingAlgorithmId": { + "description": "Output only. The unique ID of the custom bidding algorithm. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/customBiddingAlgorithms/{+customBiddingAlgorithmId}", + "request": { + "$ref": "CustomBiddingAlgorithm" + }, + "response": { + "$ref": "CustomBiddingAlgorithm" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "uploadScript": { + "description": "Creates a custom bidding script reference object for a script file. The resulting reference object provides a resource path to which the script file should be uploaded. This reference object should be included in when creating a new custom bidding script object.", + "flatPath": "v1/customBiddingAlgorithms/{customBiddingAlgorithmsId}:uploadScript", + "httpMethod": "GET", + "id": "displayvideo.customBiddingAlgorithms.uploadScript", + "parameterOrder": [ + "customBiddingAlgorithmId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm owns the script.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have write access to this custom bidding script.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/customBiddingAlgorithms/{+customBiddingAlgorithmId}:uploadScript", + "response": { + "$ref": "CustomBiddingScriptRef" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "scripts": { + "methods": { + "create": { + "description": "Creates a new custom bidding script. Returns the newly created script if successful.", + "flatPath": "v1/customBiddingAlgorithms/{customBiddingAlgorithmsId}/scripts", + "httpMethod": "POST", + "id": "displayvideo.customBiddingAlgorithms.scripts.create", + "parameterOrder": [ + "customBiddingAlgorithmId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm that owns the script.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have write access to this custom bidding script.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts", + "request": { + "$ref": "CustomBiddingScript" + }, + "response": { + "$ref": "CustomBiddingScript" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a custom bidding script.", + "flatPath": "v1/customBiddingAlgorithms/{customBiddingAlgorithmsId}/scripts/{scriptsId}", + "httpMethod": "GET", + "id": "displayvideo.customBiddingAlgorithms.scripts.get", + "parameterOrder": [ + "customBiddingAlgorithmId", + "customBiddingScriptId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm owns the script.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "customBiddingScriptId": { + "description": "Required. The ID of the custom bidding script to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have write access to this custom bidding script.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts/{+customBiddingScriptId}", + "response": { + "$ref": "CustomBiddingScript" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists custom bidding scripts that belong to the given algorithm. The order is defined by the order_by parameter.", + "flatPath": "v1/customBiddingAlgorithms/{customBiddingAlgorithmsId}/scripts", + "httpMethod": "GET", + "id": "displayvideo.customBiddingAlgorithms.scripts.list", + "parameterOrder": [ + "customBiddingAlgorithmId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm owns the script.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `createTime desc` (default) The default sorting order is descending. To specify ascending order for a field, the suffix \"desc\" should be removed. Example: `createTime`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "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 next_page_token returned from the previous call to `ListCustomBiddingScripts` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have write access to this custom bidding script.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts", + "response": { + "$ref": "ListCustomBiddingScriptsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } } } }, @@ -4697,6 +5150,60 @@ }, "firstAndThirdPartyAudiences": { "methods": { + "create": { + "description": "Creates a FirstAndThirdPartyAudience. Only supported for the following audience_type: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID`", + "flatPath": "v1/firstAndThirdPartyAudiences", + "httpMethod": "POST", + "id": "displayvideo.firstAndThirdPartyAudiences.create", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser under whom the FirstAndThirdPartyAudience will be created.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/firstAndThirdPartyAudiences", + "request": { + "$ref": "FirstAndThirdPartyAudience" + }, + "response": { + "$ref": "FirstAndThirdPartyAudience" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "editCustomerMatchMembers": { + "description": "Updates the member list of a Customer Match audience. Only supported for the following audience_type: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID`", + "flatPath": "v1/firstAndThirdPartyAudiences/{firstAndThirdPartyAudiencesId}:editCustomerMatchMembers", + "httpMethod": "POST", + "id": "displayvideo.firstAndThirdPartyAudiences.editCustomerMatchMembers", + "parameterOrder": [ + "firstAndThirdPartyAudienceId" + ], + "parameters": { + "firstAndThirdPartyAudienceId": { + "description": "Required. The ID of the Customer Match FirstAndThirdPartyAudience whose members will be edited.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}:editCustomerMatchMembers", + "request": { + "$ref": "EditCustomerMatchMembersRequest" + }, + "response": { + "$ref": "EditCustomerMatchMembersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, "get": { "description": "Gets a first and third party audience.", "flatPath": "v1/firstAndThirdPartyAudiences/{firstAndThirdPartyAudiencesId}", @@ -4783,6 +5290,47 @@ "scopes": [ "https://www.googleapis.com/auth/display-video" ] + }, + "patch": { + "description": "Updates an existing FirstAndThirdPartyAudience. Only supported for the following audience_type: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID`", + "flatPath": "v1/firstAndThirdPartyAudiences/{firstAndThirdPartyAudiencesId}", + "httpMethod": "PATCH", + "id": "displayvideo.firstAndThirdPartyAudiences.patch", + "parameterOrder": [ + "firstAndThirdPartyAudienceId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the owner advertiser of the updated FirstAndThirdPartyAudience.", + "format": "int64", + "location": "query", + "type": "string" + }, + "firstAndThirdPartyAudienceId": { + "description": "Output only. The unique ID of the first and third party audience. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update. Updates are only supported for the following fields: * `displayName` * `description` * `membershipDurationDays`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}", + "request": { + "$ref": "FirstAndThirdPartyAudience" + }, + "response": { + "$ref": "FirstAndThirdPartyAudience" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] } } }, @@ -5454,6 +6002,47 @@ "https://www.googleapis.com/auth/doubleclickbidmanager" ], "supportsMediaDownload": true + }, + "upload": { + "description": "Uploads media. Upload is supported on the URI `/upload/media/{resource_name=**}?upload_type=media.` **Note**: Upload requests will not be successful without including `upload_type=media` query string.", + "flatPath": "media/{mediaId}", + "httpMethod": "POST", + "id": "displayvideo.media.upload", + "mediaUpload": { + "accept": [ + "*/*" + ], + "protocols": { + "simple": { + "multipart": true, + "path": "/upload/media/{+resourceName}" + } + } + }, + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "resourceName": { + "description": "Name of the media that is being downloaded. See ReadRequest.resource_name.", + "location": "path", + "pattern": "^.*$", + "required": true, + "type": "string" + } + }, + "path": "media/{+resourceName}", + "request": { + "$ref": "GoogleBytestreamMedia" + }, + "response": { + "$ref": "GoogleBytestreamMedia" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/doubleclickbidmanager" + ], + "supportsMediaUpload": true } } }, @@ -6030,7 +6619,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -6070,7 +6664,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "location": "path", "pattern": "^[^/]+$", @@ -6155,7 +6754,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -6195,7 +6799,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "location": "path", "pattern": "^[^/]+$", @@ -6277,7 +6886,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -6317,7 +6931,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "location": "path", "pattern": "^[^/]+$", @@ -6412,7 +7031,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -6452,7 +7076,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "location": "path", "pattern": "^[^/]+$", @@ -6556,7 +7185,7 @@ "type": "string" }, "targetingType": { - "description": "Required. The type of targeting option to retrieve.", + "description": "Required. The type of targeting option to retrieve. Accepted values are: * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID`", "enum": [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", @@ -6595,7 +7224,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -6635,7 +7269,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "location": "path", "pattern": "^[^/]+$", @@ -6688,7 +7327,7 @@ "type": "string" }, "targetingType": { - "description": "Required. The type of targeting option to be listed.", + "description": "Required. The type of targeting option to be listed. Accepted values are: * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID`", "enum": [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", @@ -6727,7 +7366,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -6767,7 +7411,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "location": "path", "pattern": "^[^/]+$", @@ -6793,7 +7442,7 @@ ], "parameters": { "targetingType": { - "description": "Required. The type of targeting options to retrieve. Accepted values are: * `TARGETING_TYPE_GEO_REGION`", + "description": "Required. The type of targeting options to retrieve. Accepted values are: * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_BUSINESS_CHAIN`", "enum": [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", @@ -6832,7 +7481,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -6872,7 +7526,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "location": "path", "pattern": "^[^/]+$", @@ -7071,7 +7730,7 @@ } } }, - "revision": "20210325", + "revision": "20220303", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActivateManualTriggerRequest": { @@ -7258,7 +7917,7 @@ "type": "string" }, "entityStatus": { - "description": "Required. Controls whether or not insertion orders and line items of the advertiser can spend their budgets and bid on inventory. * Accepted values are `ENTITY_STATUS_ACTIVE` and `ENTITY_STATUS_SCHEDULED_FOR_DELETION`. * If set to `ENTITY_STATUS_SCHEDULED_FOR_DELETION`, the advertiser will be deleted 30 days from when it was first scheduled for deletion.", + "description": "Required. Controls whether or not insertion orders and line items of the advertiser can spend their budgets and bid on inventory. * Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_PAUSED` and `ENTITY_STATUS_SCHEDULED_FOR_DELETION`. * If set to `ENTITY_STATUS_SCHEDULED_FOR_DELETION`, the advertiser will be deleted 30 days from when it was first scheduled for deletion.", "enum": [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", @@ -7295,6 +7954,10 @@ "format": "int64", "type": "string" }, + "prismaEnabled": { + "description": "Whether integration with Mediaocean (Prisma) is enabled. By enabling this, you agree to the following: On behalf of my company, I authorize Mediaocean (Prisma) to send budget segment plans to Google, and I authorize Google to send corresponding reporting and invoices from DV360 to Mediaocean for the purposes of budget planning, billing, and reconciliation for this advertiser.", + "type": "boolean" + }, "servingConfig": { "$ref": "AdvertiserTargetingConfig", "description": "Targeting settings related to ad serving of the advertiser." @@ -7409,7 +8072,7 @@ "id": "AgeRangeAssignedTargetingOptionDetails", "properties": { "ageRange": { - "description": "Output only. The age range of an audience. We only support targeting a continuous age range of an audience. Thus, the age range represented in this field can be 1) targeted solely, or, 2) part of a larger continuous age range. The reach of a continuous age range targeting can be expanded by also targeting an audience of an unknown age.", + "description": "The age range of an audience. We only support targeting a continuous age range of an audience. Thus, the age range represented in this field can be 1) targeted solely, or, 2) part of a larger continuous age range. The reach of a continuous age range targeting can be expanded by also targeting an audience of an unknown age. Output only in v1. Required in v2.", "enum": [ "AGE_RANGE_UNSPECIFIED", "AGE_RANGE_18_24", @@ -7430,7 +8093,6 @@ "The age range of the audience is 65 and up.", "The age range of the audience is unknown." ], - "readOnly": true, "type": "string" }, "targetingOptionId": { @@ -7692,6 +8354,10 @@ "$ref": "AudienceGroupAssignedTargetingOptionDetails", "description": "Audience targeting details. This field will be populated when the targeting_type is `TARGETING_TYPE_AUDIENCE_GROUP`. You can only target one audience group option per resource." }, + "audioContentTypeDetails": { + "$ref": "AudioContentTypeAssignedTargetingOptionDetails", + "description": "Audio content type details. This field will be populated when the targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`." + }, "authorizedSellerStatusDetails": { "$ref": "AuthorizedSellerStatusAssignedTargetingOptionDetails", "description": "Authorized seller status details. This field will be populated when the targeting_type is `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. You can only target one authorized seller status option per resource. If a resource doesn't have an authorized seller status option, all authorized sellers indicated as DIRECT or RESELLER in the ads.txt file are targeted by default." @@ -7700,6 +8366,10 @@ "$ref": "BrowserAssignedTargetingOptionDetails", "description": "Browser details. This field will be populated when the targeting_type is `TARGETING_TYPE_BROWSER`." }, + "businessChainDetails": { + "$ref": "BusinessChainAssignedTargetingOptionDetails", + "description": "Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`." + }, "carrierAndIspDetails": { "$ref": "CarrierAndIspAssignedTargetingOptionDetails", "description": "Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`." @@ -7794,10 +8464,18 @@ "readOnly": true, "type": "string" }, + "nativeContentPositionDetails": { + "$ref": "NativeContentPositionAssignedTargetingOptionDetails", + "description": "Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`." + }, "negativeKeywordListDetails": { "$ref": "NegativeKeywordListAssignedTargetingOptionDetails", "description": "Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource." }, + "omidDetails": { + "$ref": "OmidAssignedTargetingOptionDetails", + "description": "Open Measurement enabled inventory details. This field will be populated when the targeting_type is `TARGETING_TYPE_OMID`." + }, "onScreenPositionDetails": { "$ref": "OnScreenPositionAssignedTargetingOptionDetails", "description": "On screen position details. This field will be populated when the targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`." @@ -7810,6 +8488,10 @@ "$ref": "ParentalStatusAssignedTargetingOptionDetails", "description": "Parental status details. This field will be populated when the targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`." }, + "poiDetails": { + "$ref": "PoiAssignedTargetingOptionDetails", + "description": "POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`." + }, "proximityLocationListDetails": { "$ref": "ProximityLocationListAssignedTargetingOptionDetails", "description": "Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`." @@ -7866,7 +8548,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -7906,7 +8593,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "readOnly": true, "type": "string" @@ -7989,16 +8681,16 @@ "type": "object" }, "AudienceGroupAssignedTargetingOptionDetails": { - "description": "Assigned audience group targeting option details. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_AUDIENCE_GROUP`. The relation between each group is UNION, except for excluded_first_and_third_party_audience_group and excluded_google_audience_group, of which COMPLEMENT is UNION'ed with other groups.", + "description": "Assigned audience group targeting option details. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_AUDIENCE_GROUP`. The relation between each group is UNION, except for excluded_first_and_third_party_audience_group and excluded_google_audience_group, of which COMPLEMENT is used as an INTERSECTION with other groups.", "id": "AudienceGroupAssignedTargetingOptionDetails", "properties": { "excludedFirstAndThirdPartyAudienceGroup": { "$ref": "FirstAndThirdPartyAudienceGroup", - "description": "The first and third party audience ids and recencies of the excluded first and third party audience group. Used for negative targeting. Its COMPLEMENT is used to UNION other audience groups." + "description": "The first and third party audience ids and recencies of the excluded first and third party audience group. Used for negative targeting. The COMPLEMENT of the UNION of this group and other excluded audience groups is used as an INTERSECTION to any positive audience targeting. All items are logically \u2018OR\u2019 of each other." }, "excludedGoogleAudienceGroup": { "$ref": "GoogleAudienceGroup", - "description": "The Google audience ids of the excluded Google audience group. Used for negative targeting. It's COMPLEMENT is used to UNION other audience groups. Only contains Affinity, In-market and Installed-apps type Google audiences. All items are logically \u2018OR\u2019 of each other." + "description": "The Google audience ids of the excluded Google audience group. Used for negative targeting. The COMPLEMENT of the UNION of this group and other excluded audience groups is used as an INTERSECTION to any positive audience targeting. Only contains Affinity, In-market and Installed-apps type Google audiences. All items are logically \u2018OR\u2019 of each other." }, "includedCombinedAudienceGroup": { "$ref": "CombinedAudienceGroup", @@ -8022,6 +8714,61 @@ }, "type": "object" }, + "AudioContentTypeAssignedTargetingOptionDetails": { + "description": "Details for audio content type assigned targeting option. This will be populated in the audio_content_type_details field when targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`. Explicitly targeting all options is not supported. Remove all audio content type targeting options to achieve this effect.", + "id": "AudioContentTypeAssignedTargetingOptionDetails", + "properties": { + "audioContentType": { + "description": "The audio content type. Output only in v1. Required in v2.", + "enum": [ + "AUDIO_CONTENT_TYPE_UNSPECIFIED", + "AUDIO_CONTENT_TYPE_UNKNOWN", + "AUDIO_CONTENT_TYPE_MUSIC", + "AUDIO_CONTENT_TYPE_BROADCAST", + "AUDIO_CONTENT_TYPE_PODCAST" + ], + "enumDescriptions": [ + "Audio content type is not specified in this version. This enum is a place holder for a default value and does not represent a real content stream type.", + "The audio content type is unknown.", + "The audio content type is music.", + "The audio content type is broadcast.", + "The audio content type is podcast." + ], + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`.", + "type": "string" + } + }, + "type": "object" + }, + "AudioContentTypeTargetingOptionDetails": { + "description": "Represents a targetable audio content type. This will be populated in the audio_content_type_details field when targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`.", + "id": "AudioContentTypeTargetingOptionDetails", + "properties": { + "audioContentType": { + "description": "Output only. The audio content type.", + "enum": [ + "AUDIO_CONTENT_TYPE_UNSPECIFIED", + "AUDIO_CONTENT_TYPE_UNKNOWN", + "AUDIO_CONTENT_TYPE_MUSIC", + "AUDIO_CONTENT_TYPE_BROADCAST", + "AUDIO_CONTENT_TYPE_PODCAST" + ], + "enumDescriptions": [ + "Audio content type is not specified in this version. This enum is a place holder for a default value and does not represent a real content stream type.", + "The audio content type is unknown.", + "The audio content type is music.", + "The audio content type is broadcast.", + "The audio content type is podcast." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "AudioVideoOffset": { "description": "The length an audio or a video has been played.", "id": "AudioVideoOffset", @@ -8185,19 +8932,49 @@ }, "type": "object" }, + "BudgetSummary": { + "description": "Summarized information of an individual campaign budget.", + "id": "BudgetSummary", + "properties": { + "externalBudgetId": { + "description": "Corresponds to the external_budget_id of a campaign budget. If the value is not set in the campaign budget, this field will be empty.", + "type": "string" + }, + "preTaxAmountMicros": { + "description": "The sum of charges made under this budget before taxes, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.", + "format": "int64", + "type": "string" + }, + "prismaCpeCode": { + "$ref": "PrismaCpeCode", + "description": "Relevant client, product, and estimate codes from the Mediaocean Prisma tool. Only applicable for campaign budgets with an external_budget_source of EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN." + }, + "taxAmountMicros": { + "description": "The amount of tax applied to charges under this budget, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.", + "format": "int64", + "type": "string" + }, + "totalAmountMicros": { + "description": "The total sum of charges made under this budget, including tax, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "BulkEditAdvertiserAssignedTargetingOptionsRequest": { "description": "Request message for BulkEditAdvertiserAssignedTargetingOptions.", "id": "BulkEditAdvertiserAssignedTargetingOptionsRequest", "properties": { "createRequests": { - "description": "The assigned targeting options to create in batch, specified as a list of `CreateAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`", + "description": "The assigned targeting options to create in batch, specified as a list of `CreateAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`", "items": { "$ref": "CreateAssignedTargetingOptionsRequest" }, "type": "array" }, "deleteRequests": { - "description": "The assigned targeting options to delete in batch, specified as a list of `DeleteAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`", + "description": "The assigned targeting options to delete in batch, specified as a list of `DeleteAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`", "items": { "$ref": "DeleteAssignedTargetingOptionsRequest" }, @@ -8553,6 +9330,140 @@ }, "type": "object" }, + "BusinessChainAssignedTargetingOptionDetails": { + "description": "Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.", + "id": "BusinessChainAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of a business chain, e.g. \"KFC\", \"Chase Bank\".", + "readOnly": true, + "type": "string" + }, + "proximityRadiusAmount": { + "description": "Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.", + "format": "double", + "type": "number" + }, + "proximityRadiusUnit": { + "description": "Required. The unit of distance by which the targeting radius is measured.", + "enum": [ + "DISTANCE_UNIT_UNSPECIFIED", + "DISTANCE_UNIT_MILES", + "DISTANCE_UNIT_KILOMETERS" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Miles.", + "Kilometers." + ], + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`. Accepted business chain targeting option IDs can be retrieved using SearchTargetingOptions.", + "type": "string" + } + }, + "type": "object" + }, + "BusinessChainSearchTerms": { + "description": "Search terms for Business Chain targeting options. At least one of the field should be populated.", + "id": "BusinessChainSearchTerms", + "properties": { + "businessChainQuery": { + "description": "The search query for the desired business chain. The query must be the full name of the business, e.g. \"KFC\", \"mercedes-benz\".", + "type": "string" + }, + "regionQuery": { + "description": "The search query for the desired geo region, e.g. \"Seattle\", \"United State\".", + "type": "string" + } + }, + "type": "object" + }, + "BusinessChainTargetingOptionDetails": { + "description": "Represents a targetable business chain within a geo region. This will be populated in the business_chain_details field when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.", + "id": "BusinessChainTargetingOptionDetails", + "properties": { + "businessChain": { + "description": "Output only. The display name of the business chain, e.g. \"KFC\", \"Chase Bank\".", + "readOnly": true, + "type": "string" + }, + "geoRegion": { + "description": "Output only. The display name of the geographic region, e.g. \"Ontario, Canada\".", + "readOnly": true, + "type": "string" + }, + "geoRegionType": { + "description": "Output only. The type of the geographic region.", + "enum": [ + "GEO_REGION_TYPE_UNKNOWN", + "GEO_REGION_TYPE_OTHER", + "GEO_REGION_TYPE_COUNTRY", + "GEO_REGION_TYPE_REGION", + "GEO_REGION_TYPE_TERRITORY", + "GEO_REGION_TYPE_PROVINCE", + "GEO_REGION_TYPE_STATE", + "GEO_REGION_TYPE_PREFECTURE", + "GEO_REGION_TYPE_GOVERNORATE", + "GEO_REGION_TYPE_CANTON", + "GEO_REGION_TYPE_UNION_TERRITORY", + "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY", + "GEO_REGION_TYPE_DMA_REGION", + "GEO_REGION_TYPE_METRO", + "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT", + "GEO_REGION_TYPE_COUNTY", + "GEO_REGION_TYPE_MUNICIPALITY", + "GEO_REGION_TYPE_CITY", + "GEO_REGION_TYPE_POSTAL_CODE", + "GEO_REGION_TYPE_DEPARTMENT", + "GEO_REGION_TYPE_AIRPORT", + "GEO_REGION_TYPE_TV_REGION", + "GEO_REGION_TYPE_OKRUG", + "GEO_REGION_TYPE_BOROUGH", + "GEO_REGION_TYPE_CITY_REGION", + "GEO_REGION_TYPE_ARRONDISSEMENT", + "GEO_REGION_TYPE_NEIGHBORHOOD", + "GEO_REGION_TYPE_UNIVERSITY", + "GEO_REGION_TYPE_DISTRICT" + ], + "enumDescriptions": [ + "The geographic region type is unknown.", + "The geographic region type is other.", + "The geographic region is a country.", + "The geographic region type is region.", + "The geographic region is a territory.", + "The geographic region is a province.", + "The geographic region is a state.", + "The geographic region is a prefecture.", + "The geographic region is a governorate.", + "The geographic region is a canton.", + "The geographic region is a union territory.", + "The geographic region is an autonomous community.", + "The geographic region is a designated market area (DMA) region.", + "The geographic region type is metro.", + "The geographic region is a congressional district.", + "The geographic region is a county.", + "The geographic region is a municipality.", + "The geographic region is a city.", + "The geographic region targeting type is postal code.", + "The geographic region targeting type is department.", + "The geographic region is an airport.", + "The geographic region is a TV region.", + "The geographic region is an okrug.", + "The geographic region is a borough.", + "The geographic region is a city region.", + "The geographic region is an arrondissement.", + "The geographic region is a neighborhood.", + "The geographic region is a university.", + "The geographic region is a district." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Campaign": { "description": "A single campaign.", "id": "Campaign", @@ -8563,6 +9474,13 @@ "readOnly": true, "type": "string" }, + "campaignBudgets": { + "description": "The list of budgets available to this campaign. If this field is not set, the campaign uses an unlimited budget.", + "items": { + "$ref": "CampaignBudget" + }, + "type": "array" + }, "campaignFlight": { "$ref": "CampaignFlight", "description": "Required. The planned spend and duration of the campaign." @@ -8619,6 +9537,71 @@ }, "type": "object" }, + "CampaignBudget": { + "description": "Settings that control how the campaign budget is allocated.", + "id": "CampaignBudget", + "properties": { + "budgetAmountMicros": { + "description": "Required. The total amount the linked insertion order segments can budget. The amount is in micros. Must be greater than 0. For example, 500000000 represents 500 standard units of the currency.", + "format": "int64", + "type": "string" + }, + "budgetId": { + "description": "The unique ID of the campaign budget. Assigned by the system. Do not set for new budgets. Must be included when updating or adding budgets to campaign_budgets. Otherwise, a new ID will be generated and assigned.", + "format": "int64", + "type": "string" + }, + "budgetUnit": { + "description": "Required. Immutable. Specifies whether the budget is measured in currency or impressions.", + "enum": [ + "BUDGET_UNIT_UNSPECIFIED", + "BUDGET_UNIT_CURRENCY", + "BUDGET_UNIT_IMPRESSIONS" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Budgeting in currency amounts.", + "Budgeting in impression amounts." + ], + "type": "string" + }, + "dateRange": { + "$ref": "DateRange", + "description": "Required. The date range for the campaign budget. Linked budget segments may have a different date range. They are resolved relative to the parent advertiser's time zone. Both `start_date` and `end_date` must be before the year 2037." + }, + "displayName": { + "description": "Required. The display name of the budget. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "externalBudgetId": { + "description": "Immutable. The ID identifying this budget to the external source. If this field is set and the invoice detail level of the corresponding billing profile is set to \"Budget level PO\", all impressions served against this budget will include this ID on the invoice. Must be unique under the campaign.", + "type": "string" + }, + "externalBudgetSource": { + "description": "Required. The external source of the budget.", + "enum": [ + "EXTERNAL_BUDGET_SOURCE_UNSPECIFIED", + "EXTERNAL_BUDGET_SOURCE_NONE", + "EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN" + ], + "enumDescriptions": [ + "External budget source value is not specified or unknown in this version.", + "Budget has no external source.", + "Budget source is Mediaocean." + ], + "type": "string" + }, + "invoiceGroupingId": { + "description": "Immutable. The ID used to group budgets to be included the same invoice. If this field is set and the invoice level of the corresponding billing profile is set to \"Budget invoice grouping ID\", all external_budget_id sharing the same invoice_grouping_id will be grouped in the same invoice.", + "type": "string" + }, + "prismaConfig": { + "$ref": "PrismaConfig", + "description": "Additional metadata for use by the Mediaocean Prisma tool. Required for Mediaocean budgets. Only applicable to prisma_enabled advertisers." + } + }, + "type": "object" + }, "CampaignFlight": { "description": "Settings that track the planned spend and duration of a campaign.", "id": "CampaignFlight", @@ -8767,10 +9750,22 @@ "readOnly": true, "type": "string" }, + "negativelyTargetedLineItemCount": { + "description": "Output only. Number of line items that are directly targeting this channel negatively.", + "format": "int64", + "readOnly": true, + "type": "string" + }, "partnerId": { "description": "The ID of the partner that owns the channel.", "format": "int64", "type": "string" + }, + "positivelyTargetedLineItemCount": { + "description": "Output only. Number of line items that are directly targeting this channel positively.", + "format": "int64", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -8899,6 +9894,60 @@ }, "type": "object" }, + "ContactInfo": { + "description": "Contact information defining a Customer Match audience member.", + "id": "ContactInfo", + "properties": { + "countryCode": { + "description": "Country code of the member. Must also be set with the following fields: * hashed_first_name * hashed_last_name * zip_codes", + "type": "string" + }, + "hashedEmails": { + "description": "A list of SHA256 hashed email of the member. Before hashing, remove all whitespace and make sure the string is all lowercase.", + "items": { + "type": "string" + }, + "type": "array" + }, + "hashedFirstName": { + "description": "SHA256 hashed first name of the member. Before hashing, remove all whitespace and make sure the string is all lowercase. Must also be set with the following fields: * country_code * hashed_last_name * zip_codes", + "type": "string" + }, + "hashedLastName": { + "description": "SHA256 hashed last name of the member. Before hashing, remove all whitespace and make sure the string is all lowercase. Must also be set with the following fields: * country_code * hashed_first_name * zip_codes", + "type": "string" + }, + "hashedPhoneNumbers": { + "description": "A list of SHA256 hashed phone numbers of the member. Before hashing, all phone numbers must be formatted using the [E.164 format](//en.wikipedia.org/wiki/E.164) and include the country calling code.", + "items": { + "type": "string" + }, + "type": "array" + }, + "zipCodes": { + "description": "A list of zip codes of the member. Must also be set with the following fields: * country_code * hashed_first_name * hashed_last_name", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ContactInfoList": { + "description": "Wrapper message for a list of contact information defining Customer Match audience members.", + "id": "ContactInfoList", + "properties": { + "contactInfos": { + "description": "A list of ContactInfo objects defining Customer Match audience members.", + "items": { + "$ref": "ContactInfo" + }, + "type": "array" + } + }, + "type": "object" + }, "ContentInstreamPositionAssignedTargetingOptionDetails": { "description": "Assigned content instream position targeting option details. This will be populated in the content_instream_position_details field when targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.", "id": "ContentInstreamPositionAssignedTargetingOptionDetails", @@ -8921,7 +9970,7 @@ "type": "string" }, "contentInstreamPosition": { - "description": "Output only. The content instream position for video or audio ads.", + "description": "The content instream position for video or audio ads. Output only in v1. Required in v2.", "enum": [ "CONTENT_INSTREAM_POSITION_UNSPECIFIED", "CONTENT_INSTREAM_POSITION_PRE_ROLL", @@ -8936,7 +9985,6 @@ "Ads that play at the end of streaming content.", "Ads instream position is unknown." ], - "readOnly": true, "type": "string" }, "targetingOptionId": { @@ -8994,7 +10042,7 @@ "type": "string" }, "contentOutstreamPosition": { - "description": "Output only. The content outstream position.", + "description": "The content outstream position. Output only in v1. Required in v2.", "enum": [ "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED", "CONTENT_OUTSTREAM_POSITION_UNKNOWN", @@ -9011,7 +10059,6 @@ "Ads that appear in a scrollable stream of content. A feed is typically editorial (e.g. a list of articles or news) or listings (e.g. a list of products or services).", "Ads shown before or between content loads." ], - "readOnly": true, "type": "string" }, "targetingOptionId": { @@ -9156,7 +10203,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -9196,7 +10248,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "type": "string" } @@ -9240,7 +10297,8 @@ "SDF_VERSION_5", "SDF_VERSION_5_1", "SDF_VERSION_5_2", - "SDF_VERSION_5_3" + "SDF_VERSION_5_3", + "SDF_VERSION_5_4" ], "enumDescriptions": [ "SDF version value is not specified or is unknown in this version.", @@ -9251,7 +10309,8 @@ "SDF version 5.", "SDF version 5.1", "SDF version 5.2", - "SDF version 5.3" + "SDF version 5.3", + "SDF version 5.4" ], "type": "string" } @@ -9621,7 +10680,7 @@ "id": "CreativeConfig", "properties": { "creativeType": { - "description": "The type of creative that can be assigned to the inventory source.", + "description": "The type of creative that can be assigned to the inventory source. Only the following types are supported: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_VIDEO`", "enum": [ "CREATIVE_TYPE_UNSPECIFIED", "CREATIVE_TYPE_STANDARD", @@ -9684,17 +10743,36 @@ "readOnly": true, "type": "string" }, + "customBiddingAlgorithmState": { + "description": "Output only. The status of custom bidding algorithm.", + "enum": [ + "STATE_UNSPECIFIED", + "ENABLED", + "DORMANT", + "SUSPENDED" + ], + "enumDescriptions": [ + "State is not specified or is unknown in this version.", + "Algorithm is enabled, either recently used, currently used or scheduled to be used. The algorithm is actively scoring impressions.", + "Algorithm has not been used recently. Although the algorithm still acts as `ENABLED`, it will eventually be suspended if not used.", + "Algorithm is susepended from scoring impressions and doesn't have a serving model trained. If the algorithm is assigned to a line item or otherwise updated, it will switch back to the `ENABLED` state and require time to prepare the serving model again." + ], + "readOnly": true, + "type": "string" + }, "customBiddingAlgorithmType": { "description": "Required. Immutable. The type of custom bidding algorithm.", "enum": [ "CUSTOM_BIDDING_ALGORITHM_TYPE_UNSPECIFIED", "SCRIPT_BASED", - "ADS_DATA_HUB_BASED" + "ADS_DATA_HUB_BASED", + "GOAL_BUILDER_BASED" ], "enumDescriptions": [ "Algorithm type is not specified or is unknown in this version.", "Algorithm generated through customer-uploaded custom bidding script files.", - "Algorithm created through Ads Data Hub product." + "Algorithm created through Ads Data Hub product.", + "Algorithm created through goal builder in DV3 UI." ], "type": "string" }, @@ -9731,6 +10809,89 @@ "description": "Immutable. The unique ID of the partner that owns the custom bidding algorithm.", "format": "int64", "type": "string" + }, + "sharedAdvertiserIds": { + "description": "The IDs of the advertisers who have access to this algorithm. If advertiser_id is set, this field will only consist of that value. This field will not be set if the algorithm [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an advertiser [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor).", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CustomBiddingScript": { + "description": "A single custom bidding script.", + "id": "CustomBiddingScript", + "properties": { + "active": { + "description": "Output only. Whether the script is currently being used for scoring by the parent algorithm.", + "readOnly": true, + "type": "boolean" + }, + "createTime": { + "description": "Output only. The time when the script was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Output only. The unique ID of the custom bidding algorithm the script belongs to.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "customBiddingScriptId": { + "description": "Output only. The unique ID of the custom bidding script.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "errors": { + "description": "Output only. Error details of a rejected custom bidding script. This field will only be populated when Script.state is REJECTED.", + "items": { + "$ref": "ScriptError" + }, + "readOnly": true, + "type": "array" + }, + "name": { + "description": "Output only. The resource name of the custom bidding script.", + "readOnly": true, + "type": "string" + }, + "script": { + "$ref": "CustomBiddingScriptRef", + "description": "The reference to the uploaded script file." + }, + "state": { + "description": "Output only. The state of the custom bidding script.", + "enum": [ + "STATE_UNSPECIFIED", + "ACCEPTED", + "REJECTED", + "PENDING" + ], + "enumDescriptions": [ + "The script state is not specified or is unknown in this version.", + "The script has been accepted for scoring impressions.", + "The script has been rejected by backend pipelines. It may have errors.", + "The script is being processed for backend pipelines." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CustomBiddingScriptRef": { + "description": "The reference to the uploaded custom bidding script file.", + "id": "CustomBiddingScriptRef", + "properties": { + "resourceName": { + "description": "A resource name to be used in media.download to Download the script files. Or media.upload to Upload the script files. Resource names have the format `customBiddingAlgorithms/{custom_bidding_algorithm_id}/scriptRef/{ref_id}`.", + "type": "string" } }, "type": "object" @@ -9785,7 +10946,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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": { @@ -9933,7 +11094,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -9973,7 +11139,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "type": "string" } @@ -10017,7 +11188,7 @@ "id": "DeviceTypeAssignedTargetingOptionDetails", "properties": { "deviceType": { - "description": "Output only. The display name of the device type.", + "description": "The display name of the device type. Output only in v1. Required in v2.", "enum": [ "DEVICE_TYPE_UNSPECIFIED", "DEVICE_TYPE_COMPUTER", @@ -10032,7 +11203,6 @@ "The device type is smart phone..", "The device type is tablet." ], - "readOnly": true, "type": "string" }, "targetingOptionId": { @@ -10491,6 +11661,38 @@ }, "type": "object" }, + "EditCustomerMatchMembersRequest": { + "description": "Request message for FirstAndThirdPartyAudienceService.EditCustomerMatchMembers.", + "id": "EditCustomerMatchMembersRequest", + "properties": { + "addedContactInfoList": { + "$ref": "ContactInfoList", + "description": "Input only. A list of contact information to define the members to be added." + }, + "addedMobileDeviceIdList": { + "$ref": "MobileDeviceIdList", + "description": "Input only. A list of mobile device IDs to define the members to be added." + }, + "advertiserId": { + "description": "Required. The ID of the owner advertiser of the updated Customer Match FirstAndThirdPartyAudience.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "EditCustomerMatchMembersResponse": { + "description": "The response of FirstAndThirdPartyAudienceService.EditCustomerMatchMembers.", + "id": "EditCustomerMatchMembersResponse", + "properties": { + "firstAndThirdPartyAudienceId": { + "description": "Required. The ID of the updated Customer Match FirstAndThirdPartyAudience.", + "format": "int64", + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", "id": "Empty", @@ -10502,7 +11704,7 @@ "id": "EnvironmentAssignedTargetingOptionDetails", "properties": { "environment": { - "description": "Output only. The serving environment.", + "description": "The serving environment. Output only in v1. Required in v2.", "enum": [ "ENVIRONMENT_UNSPECIFIED", "ENVIRONMENT_WEB_OPTIMIZED", @@ -10515,7 +11717,6 @@ "Target inventory displayed in browsers. This includes inventory that was not designed for the device but viewed on it, such as websites optimized for desktop but viewed on a mobile device. ENVIRONMENT_WEB_OPTIMIZED should be targeted prior to the addition of this targeting option.", "Target inventory displayed in apps." ], - "readOnly": true, "type": "string" }, "targetingOptionId": { @@ -10643,7 +11844,10 @@ "EXCHANGE_NEXSTAR_DIGITAL", "EXCHANGE_WAZE", "EXCHANGE_SOUNDCAST", - "EXCHANGE_SHARETHROUGH" + "EXCHANGE_SHARETHROUGH", + "EXCHANGE_RED_FOR_PUBLISHERS", + "EXCHANGE_MEDIANET", + "EXCHANGE_TAPJOY" ], "enumDescriptions": [ "Exchange is not specified or is unknown in this version.", @@ -10708,7 +11912,10 @@ "Nexstar Digital.", "Waze.", "SoundCast.", - "Sharethrough." + "Sharethrough.", + "Red For Publishers.", + "Media.net.", + "Tapjoy." ], "type": "string" }, @@ -10799,7 +12006,10 @@ "EXCHANGE_NEXSTAR_DIGITAL", "EXCHANGE_WAZE", "EXCHANGE_SOUNDCAST", - "EXCHANGE_SHARETHROUGH" + "EXCHANGE_SHARETHROUGH", + "EXCHANGE_RED_FOR_PUBLISHERS", + "EXCHANGE_MEDIANET", + "EXCHANGE_TAPJOY" ], "enumDescriptions": [ "Exchange is not specified or is unknown in this version.", @@ -10864,7 +12074,10 @@ "Nexstar Digital.", "Waze.", "SoundCast.", - "Sharethrough." + "Sharethrough.", + "Red For Publishers.", + "Media.net.", + "Tapjoy." ], "type": "string" }, @@ -10956,7 +12169,10 @@ "EXCHANGE_NEXSTAR_DIGITAL", "EXCHANGE_WAZE", "EXCHANGE_SOUNDCAST", - "EXCHANGE_SHARETHROUGH" + "EXCHANGE_SHARETHROUGH", + "EXCHANGE_RED_FOR_PUBLISHERS", + "EXCHANGE_MEDIANET", + "EXCHANGE_TAPJOY" ], "enumDescriptions": [ "Exchange is not specified or is unknown in this version.", @@ -11021,7 +12237,10 @@ "Nexstar Digital.", "Waze.", "SoundCast.", - "Sharethrough." + "Sharethrough.", + "Red For Publishers.", + "Media.net.", + "Tapjoy." ], "readOnly": true, "type": "string" @@ -11072,6 +12291,10 @@ "readOnly": true, "type": "string" }, + "appId": { + "description": "The app_id matches with the type of the mobile_device_ids being uploaded. Only applicable to audience_type `CUSTOMER_MATCH_DEVICE_ID`", + "type": "string" + }, "audienceSource": { "description": "Output only. The source of the audience.", "enum": [ @@ -11096,7 +12319,7 @@ "type": "string" }, "audienceType": { - "description": "Output only. The type of the audience.", + "description": "The type of the audience.", "enum": [ "AUDIENCE_TYPE_UNSPECIFIED", "CUSTOMER_MATCH_CONTACT_INFO", @@ -11119,9 +12342,12 @@ "Audience was created based on past interactions with videos, YouTube ads, or YouTube channel.", "Subtype of third party audience type." ], - "readOnly": true, "type": "string" }, + "contactInfoList": { + "$ref": "ContactInfoList", + "description": "Input only. A list of contact information to define the initial audience members. Only applicable to audience_type `CUSTOMER_MATCH_CONTACT_INFO`" + }, "description": { "description": "The user-provided description of the audience. Only applicable to first party audiences.", "type": "string" @@ -11161,7 +12387,7 @@ "type": "string" }, "firstAndThirdPartyAudienceType": { - "description": "Output only. Whether the audience is a first or third party audience.", + "description": "Whether the audience is a first or third party audience.", "enum": [ "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_UNSPECIFIED", "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_FIRST_PARTY", @@ -11172,7 +12398,6 @@ "Audience that is created via usage of client data.", "Audience that is provided by Third Party data providers." ], - "readOnly": true, "type": "string" }, "gmailAudienceSize": { @@ -11182,10 +12407,14 @@ "type": "string" }, "membershipDurationDays": { - "description": "The duration in days that an entry remains in the audience after the qualifying event. Only applicable to first party audiences.", + "description": "The duration in days that an entry remains in the audience after the qualifying event. If the audience has no expiration, set the value of this field to 10000. Otherwise, the set value must be greater than 0 and less than or equal to 540. Only applicable to first party audiences. This field is required if one of the following audience_type is used: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID`", "format": "int64", "type": "string" }, + "mobileDeviceIdList": { + "$ref": "MobileDeviceIdList", + "description": "Input only. A list of mobile device IDs to define the initial audience members. Only applicable to audience_type `CUSTOMER_MATCH_DEVICE_ID`" + }, "name": { "description": "Output only. The resource name of the first and third party audience.", "readOnly": true, @@ -11249,6 +12478,7 @@ "RECENCY_28_DAYS", "RECENCY_30_DAYS", "RECENCY_40_DAYS", + "RECENCY_45_DAYS", "RECENCY_60_DAYS", "RECENCY_90_DAYS", "RECENCY_120_DAYS", @@ -11280,6 +12510,7 @@ "Recency is 28 days.", "Recency is 30 days.", "Recency is 40 days.", + "Recency is 45 days.", "Recency is 60 days.", "Recency is 90 days.", "Recency is 120 days.", @@ -11363,7 +12594,7 @@ "id": "FrequencyCap", "properties": { "maxImpressions": { - "description": "The maximum number of times a user may be shown with the same ad during this period. Must be greater than 0. Required when unlimited is `false`.", + "description": "The maximum number of times a user may be shown the same ad during this period. Must be greater than 0. Required when unlimited is `false` and max_views is not set.", "format": "int32", "type": "integer" }, @@ -11406,7 +12637,7 @@ "id": "GenderAssignedTargetingOptionDetails", "properties": { "gender": { - "description": "Output only. The gender of the audience.", + "description": "The gender of the audience. Output only in v1. Required in v2.", "enum": [ "GENDER_UNSPECIFIED", "GENDER_MALE", @@ -11419,7 +12650,6 @@ "The audience gender is female.", "The audience gender is unknown." ], - "readOnly": true, "type": "string" }, "targetingOptionId": { @@ -11977,6 +13207,23 @@ "$ref": "PerformanceGoal", "description": "Required. Performance goal of the insertion order." }, + "reservationType": { + "description": "Output only. The reservation type of the insertion order.", + "enum": [ + "RESERVATION_TYPE_UNSPECIFIED", + "RESERVATION_TYPE_NOT_GUARANTEED", + "RESERVATION_TYPE_PROGRAMMATIC_GUARANTEED", + "RESERVATION_TYPE_TAG_GUARANTEED" + ], + "enumDescriptions": [ + "Reservation type value is not specified or is unknown in this version.", + "Not created through a guaranteed inventory source.", + "Created through a programmatic guaranteed inventory source.", + "Created through a tag guaranteed inventory source." + ], + "readOnly": true, + "type": "string" + }, "updateTime": { "description": "Output only. The timestamp when the insertion order was last updated. Assigned by the system.", "format": "google-datetime", @@ -12040,7 +13287,7 @@ "type": "string" }, "campaignBudgetId": { - "description": "The ID of the campaign budget linked to this insertion order budget segment.", + "description": "The budget_id of the campaign budget that this insertion order budget segment is a part of.", "format": "int64", "type": "string" }, @@ -12387,7 +13634,10 @@ "EXCHANGE_NEXSTAR_DIGITAL", "EXCHANGE_WAZE", "EXCHANGE_SOUNDCAST", - "EXCHANGE_SHARETHROUGH" + "EXCHANGE_SHARETHROUGH", + "EXCHANGE_RED_FOR_PUBLISHERS", + "EXCHANGE_MEDIANET", + "EXCHANGE_TAPJOY" ], "enumDescriptions": [ "Exchange is not specified or is unknown in this version.", @@ -12452,7 +13702,10 @@ "Nexstar Digital.", "Waze.", "SoundCast.", - "Sharethrough." + "Sharethrough.", + "Red For Publishers.", + "Media.net.", + "Tapjoy." ], "type": "string" }, @@ -12662,6 +13915,113 @@ }, "type": "object" }, + "Invoice": { + "description": "A single invoice.", + "id": "Invoice", + "properties": { + "budgetInvoiceGroupingId": { + "description": "The budget grouping ID for this invoice. This field will only be set if the invoice level of the corresponding billing profile was set to \"Budget invoice grouping ID\".", + "type": "string" + }, + "budgetSummaries": { + "description": "The list of summarized information for each budget associated with this invoice. This field will only be set if the invoice detail level of the corresponding billing profile was set to \"Budget level PO\".", + "items": { + "$ref": "BudgetSummary" + }, + "type": "array" + }, + "correctedInvoiceId": { + "description": "The ID of the original invoice being adjusted by this invoice, if applicable. May appear on the invoice PDF as `Reference invoice number`. If replaced_invoice_ids is set, this field will be empty.", + "type": "string" + }, + "currencyCode": { + "description": "The currency used in the invoice in ISO 4217 format.", + "type": "string" + }, + "displayName": { + "description": "The display name of the invoice.", + "type": "string" + }, + "dueDate": { + "$ref": "Date", + "description": "The date when the invoice is due." + }, + "invoiceId": { + "description": "The unique ID of the invoice.", + "type": "string" + }, + "invoiceType": { + "description": "The type of invoice document.", + "enum": [ + "INVOICE_TYPE_UNSPECIFIED", + "INVOICE_TYPE_CREDIT", + "INVOICE_TYPE_INVOICE" + ], + "enumDescriptions": [ + "Not specified or is unknown in this version.", + "The invoice has a negative amount.", + "The invoice has a positive amount." + ], + "type": "string" + }, + "issueDate": { + "$ref": "Date", + "description": "The date when the invoice was issued." + }, + "name": { + "description": "The resource name of the invoice.", + "type": "string" + }, + "nonBudgetMicros": { + "description": "The total amount of costs or adjustments not tied to a particular budget, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.", + "format": "int64", + "type": "string" + }, + "paymentsAccountId": { + "description": "The ID of the payments account the invoice belongs to. Appears on the invoice PDF as `Billing Account Number`.", + "type": "string" + }, + "paymentsProfileId": { + "description": "The ID of the payments profile the invoice belongs to. Appears on the invoice PDF as `Billing ID`.", + "type": "string" + }, + "pdfUrl": { + "description": "The URL to download a PDF copy of the invoice. This URL is user specific and requires a valid OAuth 2.0 access token to access. The access token must be provided in an `Authorization: Bearer` HTTP header and be authorized for one of the following scopes: * `https://www.googleapis.com/auth/display-video-mediaplanning` * `https://www.googleapis.com/auth/display-video` The URL will be valid for 7 days after retrieval of this invoice object or until this invoice is retrieved again.", + "type": "string" + }, + "purchaseOrderNumber": { + "description": "Purchase order number associated with the invoice.", + "type": "string" + }, + "replacedInvoiceIds": { + "description": "The ID(s) of any originally issued invoice that is being cancelled by this invoice, if applicable. Multiple invoices may be listed if those invoices are being consolidated into a single invoice. May appear on invoice PDF as `Replaced invoice numbers`. If corrected_invoice_id is set, this field will be empty.", + "items": { + "type": "string" + }, + "type": "array" + }, + "serviceDateRange": { + "$ref": "DateRange", + "description": "The service start and end dates which are covered by this invoice." + }, + "subtotalAmountMicros": { + "description": "The pre-tax subtotal amount, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.", + "format": "int64", + "type": "string" + }, + "totalAmountMicros": { + "description": "The invoice total amount, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.", + "format": "int64", + "type": "string" + }, + "totalTaxAmountMicros": { + "description": "The sum of all taxes in invoice, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "KeywordAssignedTargetingOptionDetails": { "description": "Details for assigned keyword targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_KEYWORD`.", "id": "KeywordAssignedTargetingOptionDetails", @@ -12769,13 +14129,17 @@ ], "type": "string" }, + "excludeNewExchanges": { + "description": "Whether to exclude new exchanges from automatically being targeted by the line item. This field is false by default.", + "type": "boolean" + }, "flight": { "$ref": "LineItemFlight", "description": "Required. The start and end time of the line item's flight." }, "frequencyCap": { "$ref": "FrequencyCap", - "description": "Required. The frequency capping setting of the line item." + "description": "Required. The impression frequency cap settings of the line item. The max_impressions field in this settings object must be used if assigning a limited cap." }, "insertionOrderId": { "description": "Required. Immutable. The unique ID of the insertion order that the line item belongs to.", @@ -12850,6 +14214,23 @@ "$ref": "PartnerRevenueModel", "description": "Required. The partner revenue model setting of the line item." }, + "reservationType": { + "description": "Output only. The reservation type of the line item.", + "enum": [ + "RESERVATION_TYPE_UNSPECIFIED", + "RESERVATION_TYPE_NOT_GUARANTEED", + "RESERVATION_TYPE_PROGRAMMATIC_GUARANTEED", + "RESERVATION_TYPE_TAG_GUARANTEED" + ], + "enumDescriptions": [ + "Reservation type value is not specified or is unknown in this version.", + "Not created through a guaranteed inventory source.", + "Created through a programmatic guaranteed inventory source.", + "Created through a tag guaranteed inventory source." + ], + "readOnly": true, + "type": "string" + }, "targetingExpansion": { "$ref": "TargetingExpansionConfig", "description": "The [targeting expansion](https://support.google.com/displayvideo/answer/10191558) settings of the line item. This config is only applicable when eligible audience list targeting is assigned to the line item." @@ -13160,6 +14541,23 @@ }, "type": "object" }, + "ListCustomBiddingScriptsResponse": { + "id": "ListCustomBiddingScriptsResponse", + "properties": { + "customBiddingScripts": { + "description": "The list of custom bidding scripts. This list will be absent if empty.", + "items": { + "$ref": "CustomBiddingScript" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCustomBiddingScriptsRequest` method to retrieve the next page of results. If this field is null, it means this is the last page.", + "type": "string" + } + }, + "type": "object" + }, "ListCustomListsResponse": { "id": "ListCustomListsResponse", "properties": { @@ -13281,6 +14679,23 @@ }, "type": "object" }, + "ListInvoicesResponse": { + "id": "ListInvoicesResponse", + "properties": { + "invoices": { + "description": "The list of invoices. This list will be absent if empty.", + "items": { + "$ref": "Invoice" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListInvoices` method to retrieve the next page of results. This token will be absent if there are no more invoices to return.", + "type": "string" + } + }, + "type": "object" + }, "ListLineItemAssignedTargetingOptionsResponse": { "description": "Response message for ListLineItemAssignedTargetingOptions.", "id": "ListLineItemAssignedTargetingOptionsResponse", @@ -13531,6 +14946,16 @@ }, "type": "object" }, + "LookupInvoiceCurrencyResponse": { + "id": "LookupInvoiceCurrencyResponse", + "properties": { + "currencyCode": { + "description": "Currency used by the advertiser in ISO 4217 format.", + "type": "string" + } + }, + "type": "object" + }, "ManualTrigger": { "description": "A single manual trigger in Display & Video 360.", "id": "ManualTrigger", @@ -13621,6 +15046,10 @@ "Viewable impressions." ], "type": "string" + }, + "raiseBidForDeals": { + "description": "Controls whether the strategy takes deal floor prices into account.", + "type": "boolean" } }, "type": "object" @@ -13676,6 +15105,20 @@ }, "type": "object" }, + "MobileDeviceIdList": { + "description": "Wrapper message for a list of mobile device IDs defining Customer Match audience members.", + "id": "MobileDeviceIdList", + "properties": { + "mobileDeviceIds": { + "description": "A list of mobile device IDs defining Customer Match audience members.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Money": { "description": "Represents an amount of money with its currency type.", "id": "Money", @@ -13697,6 +15140,65 @@ }, "type": "object" }, + "NativeContentPositionAssignedTargetingOptionDetails": { + "description": "Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect.", + "id": "NativeContentPositionAssignedTargetingOptionDetails", + "properties": { + "contentPosition": { + "description": "The content position. Output only in v1. Required in v2.", + "enum": [ + "NATIVE_CONTENT_POSITION_UNSPECIFIED", + "NATIVE_CONTENT_POSITION_UNKNOWN", + "NATIVE_CONTENT_POSITION_IN_ARTICLE", + "NATIVE_CONTENT_POSITION_IN_FEED", + "NATIVE_CONTENT_POSITION_PERIPHERAL", + "NATIVE_CONTENT_POSITION_RECOMMENDATION" + ], + "enumDescriptions": [ + "Native content position is not specified in this version. This enum is a place holder for a default value and does not represent a real native content position.", + "The native content position is unknown.", + "Native content position is in-article, i.e., ads appear between the paragraphs of pages.", + "Native content position is in-feed, i.e., ads appear in a scrollable stream of content. A feed is typically editorial (e.g. a list of articles or news) or listings (e.g. a list of products or services).", + "Native content position is peripheral, i.e., ads appear outside of core content on pages, such as the right- or left-hand side of the page.", + "Native content position is recommendation, i.e., ads appear in sections for recommended content." + ], + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.", + "type": "string" + } + }, + "type": "object" + }, + "NativeContentPositionTargetingOptionDetails": { + "description": "Represents a targetable native content position. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.", + "id": "NativeContentPositionTargetingOptionDetails", + "properties": { + "contentPosition": { + "description": "Output only. The content position.", + "enum": [ + "NATIVE_CONTENT_POSITION_UNSPECIFIED", + "NATIVE_CONTENT_POSITION_UNKNOWN", + "NATIVE_CONTENT_POSITION_IN_ARTICLE", + "NATIVE_CONTENT_POSITION_IN_FEED", + "NATIVE_CONTENT_POSITION_PERIPHERAL", + "NATIVE_CONTENT_POSITION_RECOMMENDATION" + ], + "enumDescriptions": [ + "Native content position is not specified in this version. This enum is a place holder for a default value and does not represent a real native content position.", + "The native content position is unknown.", + "Native content position is in-article, i.e., ads appear between the paragraphs of pages.", + "Native content position is in-feed, i.e., ads appear in a scrollable stream of content. A feed is typically editorial (e.g. a list of articles or news) or listings (e.g. a list of products or services).", + "Native content position is peripheral, i.e., ads appear outside of core content on pages, such as the right- or left-hand side of the page.", + "Native content position is recommendation, i.e., ads appear in sections for recommended content." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "NegativeKeyword": { "description": "A negatively targeted keyword that belongs to a negative keyword list.", "id": "NegativeKeyword", @@ -13737,6 +15239,12 @@ "format": "int64", "readOnly": true, "type": "string" + }, + "targetedLineItemCount": { + "description": "Output only. Number of line items that are directly targeting this negative keyword list.", + "format": "int64", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -13806,6 +15314,49 @@ }, "type": "object" }, + "OmidAssignedTargetingOptionDetails": { + "description": "Represents a targetable Open Measurement enabled inventory type. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_OMID`.", + "id": "OmidAssignedTargetingOptionDetails", + "properties": { + "omid": { + "description": "The type of Open Measurement enabled inventory. Output only in v1. Required in v2.", + "enum": [ + "OMID_UNSPECIFIED", + "OMID_FOR_MOBILE_DISPLAY_ADS" + ], + "enumDescriptions": [ + "Default value when omid targeting is not specified in this version.", + "Open Measurement enabled mobile display inventory." + ], + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_OMID`.", + "type": "string" + } + }, + "type": "object" + }, + "OmidTargetingOptionDetails": { + "description": "Represents a targetable Open Measurement enabled inventory type. This will be populated in the omid_details field when targeting_type is `TARGETING_TYPE_OMID`.", + "id": "OmidTargetingOptionDetails", + "properties": { + "omid": { + "description": "Output only. The type of Open Measurement enabled inventory.", + "enum": [ + "OMID_UNSPECIFIED", + "OMID_FOR_MOBILE_DISPLAY_ADS" + ], + "enumDescriptions": [ + "Default value when omid targeting is not specified in this version.", + "Open Measurement enabled mobile display inventory." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "OnScreenPositionAssignedTargetingOptionDetails": { "description": "On screen position targeting option details. This will be populated in the on_screen_position_details field when targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.", "id": "OnScreenPositionAssignedTargetingOptionDetails", @@ -14451,6 +16002,144 @@ }, "type": "object" }, + "PoiAssignedTargetingOptionDetails": { + "description": "Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`.", + "id": "PoiAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of a POI, e.g. \"Times Square\", \"Space Needle\", followed by its full address if available.", + "readOnly": true, + "type": "string" + }, + "latitude": { + "description": "Output only. Latitude of the POI rounding to 6th decimal place.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "longitude": { + "description": "Output only. Longitude of the POI rounding to 6th decimal place.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "proximityRadiusAmount": { + "description": "Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.", + "format": "double", + "type": "number" + }, + "proximityRadiusUnit": { + "description": "Required. The unit of distance by which the targeting radius is measured.", + "enum": [ + "DISTANCE_UNIT_UNSPECIFIED", + "DISTANCE_UNIT_MILES", + "DISTANCE_UNIT_KILOMETERS" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Miles.", + "Kilometers." + ], + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`. Accepted POI targeting option IDs can be retrieved using SearchTargetingOptions. If targeting a specific latitude/longitude coordinate removed from an address or POI name, you can generate the necessary targeting option ID by rounding the desired coordinate values to the 6th decimal place, removing the decimals, and concatenating the string values separated by a semicolon. For example, you can target the latitude/longitude pair of 40.7414691, -74.003387 using the targeting option ID \"40741469;-74003387\".", + "type": "string" + } + }, + "type": "object" + }, + "PoiSearchTerms": { + "description": "Search terms for POI targeting options.", + "id": "PoiSearchTerms", + "properties": { + "poiQuery": { + "description": "The search query for the desired POI name, street address, or coordinate of the desired POI. The query can be a prefix, e.g. \"Times squar\", \"40.7505045,-73.99562\", \"315 W 44th St\", etc.", + "type": "string" + } + }, + "type": "object" + }, + "PoiTargetingOptionDetails": { + "description": "Represents a targetable point of interest(POI). This will be populated in the poi_details field when targeting_type is `TARGETING_TYPE_POI`.", + "id": "PoiTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of a POI(e.g. \"Times Square\", \"Space Needle\"), followed by its full address if available.", + "readOnly": true, + "type": "string" + }, + "latitude": { + "description": "Output only. Latitude of the POI rounding to 6th decimal place.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "longitude": { + "description": "Output only. Longitude of the POI rounding to 6th decimal place.", + "format": "double", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "PrismaConfig": { + "description": "Settings specific to the Mediaocean Prisma tool.", + "id": "PrismaConfig", + "properties": { + "prismaCpeCode": { + "$ref": "PrismaCpeCode", + "description": "Required. Relevant client, product, and estimate codes from the Mediaocean Prisma tool." + }, + "prismaType": { + "description": "Required. The Prisma type.", + "enum": [ + "PRISMA_TYPE_UNSPECIFIED", + "PRISMA_TYPE_DISPLAY", + "PRISMA_TYPE_SEARCH", + "PRISMA_TYPE_VIDEO", + "PRISMA_TYPE_AUDIO", + "PRISMA_TYPE_SOCIAL", + "PRISMA_TYPE_FEE" + ], + "enumDescriptions": [ + "Type is not specified or unknown in this version.", + "Display type.", + "Search type.", + "Video type.", + "Audio type.", + "Social type.", + "Fee type." + ], + "type": "string" + }, + "supplier": { + "description": "Required. The entity allocated this budget (DSP, site, etc.).", + "type": "string" + } + }, + "type": "object" + }, + "PrismaCpeCode": { + "description": "Google Payments Center supports searching and filtering on the component fields of this code.", + "id": "PrismaCpeCode", + "properties": { + "prismaClientCode": { + "description": "The Prisma client code.", + "type": "string" + }, + "prismaEstimateCode": { + "description": "The Prisma estimate code.", + "type": "string" + }, + "prismaProductCode": { + "description": "The Prisma product code.", + "type": "string" + } + }, + "type": "object" + }, "ProximityLocationListAssignedTargetingOptionDetails": { "description": "Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.", "id": "ProximityLocationListAssignedTargetingOptionDetails", @@ -14698,6 +16387,43 @@ }, "type": "object" }, + "ScriptError": { + "description": "An error message for a custom bidding script.", + "id": "ScriptError", + "properties": { + "column": { + "description": "The column number in the script where the error was thrown.", + "format": "int64", + "type": "string" + }, + "errorCode": { + "description": "The type of error.", + "enum": [ + "ERROR_CODE_UNSPECIFIED", + "SYNTAX_ERROR", + "DEPRECATED_SYNTAX", + "INTERNAL_ERROR" + ], + "enumDescriptions": [ + "The script error is not specified or is unknown in this version.", + "The script has a syntax error.", + "The script uses deprecated syntax.", + "Internal errors were thrown while processing the script." + ], + "type": "string" + }, + "errorMessage": { + "description": "The detailed error message.", + "type": "string" + }, + "line": { + "description": "The line number in the script where the error was thrown.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "SdfConfig": { "description": "Structured Data File (SDF) related settings.", "id": "SdfConfig", @@ -14717,7 +16443,8 @@ "SDF_VERSION_5", "SDF_VERSION_5_1", "SDF_VERSION_5_2", - "SDF_VERSION_5_3" + "SDF_VERSION_5_3", + "SDF_VERSION_5_4" ], "enumDescriptions": [ "SDF version value is not specified or is unknown in this version.", @@ -14728,7 +16455,8 @@ "SDF version 5.", "SDF version 5.1", "SDF version 5.2", - "SDF version 5.3" + "SDF version 5.3", + "SDF version 5.4" ], "type": "string" } @@ -14771,7 +16499,8 @@ "SDF_VERSION_5", "SDF_VERSION_5_1", "SDF_VERSION_5_2", - "SDF_VERSION_5_3" + "SDF_VERSION_5_3", + "SDF_VERSION_5_4" ], "enumDescriptions": [ "SDF version value is not specified or is unknown in this version.", @@ -14782,7 +16511,8 @@ "SDF version 5.", "SDF version 5.1", "SDF version 5.2", - "SDF version 5.3" + "SDF version 5.3", + "SDF version 5.4" ], "type": "string" } @@ -14798,6 +16528,10 @@ "format": "int64", "type": "string" }, + "businessChainSearchTerms": { + "$ref": "BusinessChainSearchTerms", + "description": "Search terms for Business Chain targeting options. Can only be used when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`." + }, "geoRegionSearchTerms": { "$ref": "GeoRegionSearchTerms", "description": "Search terms for geo region targeting options. Can only be used when targeting_type is `TARGETING_TYPE_GEO_REGION`." @@ -14810,12 +16544,16 @@ "pageToken": { "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `SearchTargetingOptions` method. If not specified, the first page of results will be returned.", "type": "string" + }, + "poiSearchTerms": { + "$ref": "PoiSearchTerms", + "description": "Search terms for POI targeting options. Can only be used when targeting_type is `TARGETING_TYPE_POI`." } }, "type": "object" }, "SearchTargetingOptionsResponse": { - "description": "Response message for SearchTargetingOptionsResponse.", + "description": "Response message for SearchTargetingOptions.", "id": "SearchTargetingOptionsResponse", "properties": { "nextPageToken": { @@ -14841,7 +16579,7 @@ "type": "string" }, "sensitiveCategory": { - "description": "Output only. An enum for the DV360 Sensitive category content classifier.", + "description": "An enum for the DV360 Sensitive category content classifier. Output only in v1. Required in v2.", "enum": [ "SENSITIVE_CATEGORY_UNSPECIFIED", "SENSITIVE_CATEGORY_ADULT", @@ -14882,7 +16620,6 @@ "Issues that evoke strong, opposing views and spark debate. These include issues that are controversial in most countries and markets (such as abortion), as well as those that are controversial in specific countries and markets (such as immigration reform in the United States).", "Content which may be considered shocking or disturbing, such as violent news stories, stunts, or toilet humor." ], - "readOnly": true, "type": "string" } }, @@ -15051,6 +16788,10 @@ "$ref": "AppCategoryTargetingOptionDetails", "description": "App category details." }, + "audioContentTypeDetails": { + "$ref": "AudioContentTypeTargetingOptionDetails", + "description": "Audio content type details." + }, "authorizedSellerStatusDetails": { "$ref": "AuthorizedSellerStatusTargetingOptionDetails", "description": "Authorized seller status resource details." @@ -15059,6 +16800,10 @@ "$ref": "BrowserTargetingOptionDetails", "description": "Browser details." }, + "businessChainDetails": { + "$ref": "BusinessChainTargetingOptionDetails", + "description": "Business chain resource details." + }, "carrierAndIspDetails": { "$ref": "CarrierAndIspTargetingOptionDetails", "description": "Carrier and ISP details." @@ -15116,6 +16861,14 @@ "readOnly": true, "type": "string" }, + "nativeContentPositionDetails": { + "$ref": "NativeContentPositionTargetingOptionDetails", + "description": "Native content position details." + }, + "omidDetails": { + "$ref": "OmidTargetingOptionDetails", + "description": "Open Measurement enabled inventory details." + }, "onScreenPositionDetails": { "$ref": "OnScreenPositionTargetingOptionDetails", "description": "On screen position details." @@ -15128,6 +16881,10 @@ "$ref": "ParentalStatusTargetingOptionDetails", "description": "Parental status details." }, + "poiDetails": { + "$ref": "PoiTargetingOptionDetails", + "description": "POI resource details." + }, "sensitiveCategoryDetails": { "$ref": "SensitiveCategoryTargetingOptionDetails", "description": "Sensitive Category details." @@ -15181,7 +16938,12 @@ "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", - "TARGETING_TYPE_SUB_EXCHANGE" + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE" ], "enumDescriptions": [ "Default value when type is not specified or is unknown in this version.", @@ -15221,7 +16983,12 @@ "Target ads to a specific regional location (for example, a city or state).", "Purchase impressions from a group of deals and auction packages.", "Purchase impressions from specific exchanges.", - "Purchase impressions from specific sub-exchanges." + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type." ], "readOnly": true, "type": "string" @@ -15560,7 +17327,7 @@ "type": "string" }, "videoPlayerSize": { - "description": "Output only. The video player size.", + "description": "The video player size. Output only in v1. Required in v2.", "enum": [ "VIDEO_PLAYER_SIZE_UNSPECIFIED", "VIDEO_PLAYER_SIZE_SMALL", @@ -15575,7 +17342,6 @@ "The dimensions of the video player are 1280\u00d7720 or greater (desktop), or over 90% of the screen covered (mobile).", "The dimensions of the video player are unknown." ], - "readOnly": true, "type": "string" } }, @@ -15616,7 +17382,7 @@ "type": "string" }, "viewability": { - "description": "Output only. The predicted viewability percentage.", + "description": "The predicted viewability percentage. Output only in v1. Required in v2.", "enum": [ "VIEWABILITY_UNSPECIFIED", "VIEWABILITY_10_PERCENT_OR_MORE", @@ -15641,7 +17407,6 @@ "Bid only on impressions that are at least 80% likely to be viewable.", "Bid only on impressions that are at least 90% likely to be viewable." ], - "readOnly": true, "type": "string" } }, diff --git a/etc/api/dlp/v2/dlp-api.json b/etc/api/dlp/v2/dlp-api.json index b6fccae583..0433cd2e1c 100644 --- a/etc/api/dlp/v2/dlp-api.json +++ b/etc/api/dlp/v2/dlp-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -717,7 +717,7 @@ "RISK_ANALYSIS_JOB" ], "enumDescriptions": [ - "Unused", + "Defaults to INSPECT_JOB.", "The job inspected Google Cloud for sensitive data.", "The job executed a Risk Analysis computation." ], @@ -1012,6 +1012,21 @@ "pattern": "^organizations/[^/]+/locations/[^/]+$", "required": true, "type": "string" + }, + "type": { + "description": "The type of jobs. Will use `DlpJobType.INSPECT` if not set.", + "enum": [ + "DLP_JOB_TYPE_UNSPECIFIED", + "INSPECT_JOB", + "RISK_ANALYSIS_JOB" + ], + "enumDescriptions": [ + "Defaults to INSPECT_JOB.", + "The job inspected Google Cloud for sensitive data.", + "The job executed a Risk Analysis computation." + ], + "location": "query", + "type": "string" } }, "path": "v2/{+parent}/jobTriggers", @@ -1772,7 +1787,7 @@ "RISK_ANALYSIS_JOB" ], "enumDescriptions": [ - "Unused", + "Defaults to INSPECT_JOB.", "The job inspected Google Cloud for sensitive data.", "The job executed a Risk Analysis computation." ], @@ -2127,6 +2142,21 @@ "pattern": "^projects/[^/]+$", "required": true, "type": "string" + }, + "type": { + "description": "The type of jobs. Will use `DlpJobType.INSPECT` if not set.", + "enum": [ + "DLP_JOB_TYPE_UNSPECIFIED", + "INSPECT_JOB", + "RISK_ANALYSIS_JOB" + ], + "enumDescriptions": [ + "Defaults to INSPECT_JOB.", + "The job inspected Google Cloud for sensitive data.", + "The job executed a Risk Analysis computation." + ], + "location": "query", + "type": "string" } }, "path": "v2/{+parent}/jobTriggers", @@ -2627,7 +2657,7 @@ "RISK_ANALYSIS_JOB" ], "enumDescriptions": [ - "Unused", + "Defaults to INSPECT_JOB.", "The job inspected Google Cloud for sensitive data.", "The job executed a Risk Analysis computation." ], @@ -3010,6 +3040,21 @@ "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" + }, + "type": { + "description": "The type of jobs. Will use `DlpJobType.INSPECT` if not set.", + "enum": [ + "DLP_JOB_TYPE_UNSPECIFIED", + "INSPECT_JOB", + "RISK_ANALYSIS_JOB" + ], + "enumDescriptions": [ + "Defaults to INSPECT_JOB.", + "The job inspected Google Cloud for sensitive data.", + "The job executed a Risk Analysis computation." + ], + "location": "query", + "type": "string" } }, "path": "v2/{+parent}/jobTriggers", @@ -3367,7 +3412,7 @@ } } }, - "revision": "20210326", + "revision": "20220227", "rootUrl": "https://dlp.googleapis.com/", "schemas": { "GooglePrivacyDlpV2Action": { @@ -3521,6 +3566,13 @@ }, "type": "array" }, + "includedFields": { + "description": "Limit scanning only to these fields.", + "items": { + "$ref": "GooglePrivacyDlpV2FieldId" + }, + "type": "array" + }, "rowsLimit": { "description": "Max number of rows to scan. If the table has more rows than this value, the rest of the rows are omitted. If not set, or if set to 0, all rows will be scanned. Only one of rows_limit and rows_limit_percent can be specified. Cannot be used in conjunction with TimespanConfig.", "format": "int64", @@ -4208,12 +4260,12 @@ "type": "object" }, "GooglePrivacyDlpV2CryptoKey": { - "description": "This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by KMS). When using KMS to wrap/unwrap DEKs, be sure to set an appropriate IAM policy on the KMS CryptoKey (KEK) to ensure an attacker cannot unwrap the data crypto key.", + "description": "This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK.", "id": "GooglePrivacyDlpV2CryptoKey", "properties": { "kmsWrapped": { "$ref": "GooglePrivacyDlpV2KmsWrappedCryptoKey", - "description": "Kms wrapped key" + "description": "Key wrapped using Cloud KMS" }, "transient": { "$ref": "GooglePrivacyDlpV2TransientCryptoKey", @@ -4723,7 +4775,7 @@ "RISK_ANALYSIS_JOB" ], "enumDescriptions": [ - "Unused", + "Defaults to INSPECT_JOB.", "The job inspected Google Cloud for sensitive data.", "The job executed a Risk Analysis computation." ], @@ -4866,7 +4918,7 @@ "description": "Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85." }, "fields": { - "description": "Required. Input field(s) to apply the transformation to.", + "description": "Required. Input field(s) to apply the transformation to. When you have columns that reference their position within a list, omit the index from the FieldId. FieldId name matching ignores the index. For example, instead of \"contact.nums[0].type\", use \"contact.nums.type\".", "items": { "$ref": "GooglePrivacyDlpV2FieldId" }, @@ -4979,7 +5031,7 @@ "type": "object" }, "GooglePrivacyDlpV2FindingLimits": { - "description": "Configuration to control the number of findings returned. Cannot be set if de-identification is requested.", + "description": "Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling.", "id": "GooglePrivacyDlpV2FindingLimits", "properties": { "maxFindingsPerInfoType": { @@ -5009,7 +5061,7 @@ "type": "object" }, "GooglePrivacyDlpV2FixedSizeBucketingConfig": { - "description": "Buckets values based on fixed size ranges. The Bucketing transformation can provide all of this functionality, but requires more configuration. This message is provided as a convenience to the user for simple bucketing strategies. The transformed value will be a hyphenated string of {lower_bound}-{upper_bound}, i.e if lower_bound = 10 and upper_bound = 20 all values that are within this bucket will be replaced with \"10-20\". This can be used on data of type: double, long. If the bound Value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more.", + "description": "Buckets values based on fixed size ranges. The Bucketing transformation can provide all of this functionality, but requires more configuration. This message is provided as a convenience to the user for simple bucketing strategies. The transformed value will be a hyphenated string of {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and upper_bound = 20, all values that are within this bucket will be replaced with \"10-20\". This can be used on data of type: double, long. If the bound Value type differs from the type of data being transformed, we will first attempt converting the type of the data to be transformed to match the type of the bound before comparing. See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more.", "id": "GooglePrivacyDlpV2FixedSizeBucketingConfig", "properties": { "bucketSize": { @@ -5213,6 +5265,10 @@ "name": { "description": "Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.", "type": "string" + }, + "version": { + "description": "Optional version name for this InfoType.", + "type": "string" } }, "type": "object" @@ -5322,7 +5378,7 @@ "id": "GooglePrivacyDlpV2InspectConfig", "properties": { "contentOptions": { - "description": "List of options defining data content to scan. If empty, text, images, and other content will be included.", + "description": "Deprecated and unused.", "items": { "enum": [ "CONTENT_UNSPECIFIED", @@ -5346,11 +5402,11 @@ "type": "array" }, "excludeInfoTypes": { - "description": "When true, excludes type information of the findings.", + "description": "When true, excludes type information of the findings. This is not used for data profiling.", "type": "boolean" }, "includeQuote": { - "description": "When true, a contextual quote from the data that triggered a finding is included in the response; see Finding.quote.", + "description": "When true, a contextual quote from the data that triggered a finding is included in the response; see Finding.quote. This is not used for data profiling.", "type": "boolean" }, "infoTypes": { @@ -5362,7 +5418,7 @@ }, "limits": { "$ref": "GooglePrivacyDlpV2FindingLimits", - "description": "Configuration to control the number of findings returned." + "description": "Configuration to control the number of findings returned. This is not used for data profiling." }, "minLikelihood": { "description": "Only returns findings equal or above this threshold. The default is POSSIBLE. See https://cloud.google.com/dlp/docs/likelihood to learn more.", @@ -5844,7 +5900,7 @@ "type": "object" }, "GooglePrivacyDlpV2KmsWrappedCryptoKey": { - "description": "Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128/192/256 bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a kms-wrapped crypto key: dlp.kms.encrypt", + "description": "Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. Authorization requires the following IAM permissions when sending a request to perform a crypto transformation using a KMS-wrapped crypto key: dlp.kms.encrypt For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). Note: When you use Cloud KMS for cryptographic operations, [charges apply](https://cloud.google.com/kms/pricing).", "id": "GooglePrivacyDlpV2KmsWrappedCryptoKey", "properties": { "cryptoKeyName": { @@ -6321,7 +6377,11 @@ }, "replaceConfig": { "$ref": "GooglePrivacyDlpV2ReplaceValueConfig", - "description": "Replace" + "description": "Replace with a specified value." + }, + "replaceDictionaryConfig": { + "$ref": "GooglePrivacyDlpV2ReplaceDictionaryConfig", + "description": "Replace with a value randomly drawn (with replacement) from a dictionary." }, "replaceWithInfoTypeConfig": { "$ref": "GooglePrivacyDlpV2ReplaceWithInfoTypeConfig", @@ -6383,7 +6443,7 @@ "type": "object" }, "GooglePrivacyDlpV2PublishFindingsToCloudDataCatalog": { - "description": "Publish findings of a DlpJob to Cloud Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Cloud Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Cloud Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect", + "description": "Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect", "id": "GooglePrivacyDlpV2PublishFindingsToCloudDataCatalog", "properties": {}, "type": "object" @@ -6695,6 +6755,17 @@ }, "type": "object" }, + "GooglePrivacyDlpV2ReplaceDictionaryConfig": { + "description": "Replace each input value with a value randomly selected from the dictionary.", + "id": "GooglePrivacyDlpV2ReplaceDictionaryConfig", + "properties": { + "wordList": { + "$ref": "GooglePrivacyDlpV2WordList", + "description": "A list of words to select from for random replacement. The [limits](https://cloud.google.com/dlp/limits) page contains details about the size limits of dictionaries." + } + }, + "type": "object" + }, "GooglePrivacyDlpV2ReplaceValueConfig": { "description": "Replace each input value with a given `Value`.", "id": "GooglePrivacyDlpV2ReplaceValueConfig", @@ -7041,7 +7112,7 @@ "type": "object" }, "GooglePrivacyDlpV2Table": { - "description": "Structured content to inspect. Up to 50,000 `Value`s per request allowed. See https://cloud.google.com/dlp/docs/inspecting-text#inspecting_a_table to learn more.", + "description": "Structured content to inspect. Up to 50,000 `Value`s per request allowed. See https://cloud.google.com/dlp/docs/inspecting-structured-text#inspecting_a_table to learn more.", "id": "GooglePrivacyDlpV2Table", "properties": { "headers": { @@ -7486,7 +7557,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "GoogleTypeDate", "properties": { "day": { diff --git a/etc/api/dns/v1/dns-api.json b/etc/api/dns/v1/dns-api.json index 7f63aed83b..15591050d8 100644 --- a/etc/api/dns/v1/dns-api.json +++ b/etc/api/dns/v1/dns-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" }, "https://www.googleapis.com/auth/ndev.clouddns.readonly": { "description": "View your DNS records hosted by Google Cloud DNS" @@ -975,218 +975,154 @@ "https://www.googleapis.com/auth/ndev.clouddns.readwrite" ] } - }, - "resources": { - "managedZones": { - "resources": { - "rrsets": { - "methods": { - "create": { - "description": "Creates a new ResourceRecordSet.", - "flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets", - "httpMethod": "POST", - "id": "dns.projects.managedZones.rrsets.create", - "parameterOrder": [ - "project", - "managedZone" - ], - "parameters": { - "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", - "location": "query", - "type": "string" - }, - "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", - "location": "path", - "required": true, - "type": "string" - }, - "project": { - "description": "Identifies the project addressed by this request.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets", - "request": { - "$ref": "ResourceRecordSet" - }, - "response": { - "$ref": "ResourceRecordSet" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/ndev.clouddns.readwrite" - ] - }, - "delete": { - "description": "Deletes a previously created ResourceRecordSet.", - "flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", - "httpMethod": "DELETE", - "id": "dns.projects.managedZones.rrsets.delete", - "parameterOrder": [ - "project", - "managedZone", - "name", - "type" - ], - "parameters": { - "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", - "location": "query", - "type": "string" - }, - "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", - "location": "path", - "required": true, - "type": "string" - }, - "name": { - "description": "Fully qualified domain name.", - "location": "path", - "required": true, - "type": "string" - }, - "project": { - "description": "Identifies the project addressed by this request.", - "location": "path", - "required": true, - "type": "string" - }, - "type": { - "description": "RRSet type.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", - "response": { - "$ref": "ResourceRecordSetsDeleteResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/ndev.clouddns.readwrite" - ] - }, - "get": { - "description": "Fetches the representation of an existing ResourceRecordSet.", - "flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", - "httpMethod": "GET", - "id": "dns.projects.managedZones.rrsets.get", - "parameterOrder": [ - "project", - "managedZone", - "name", - "type" - ], - "parameters": { - "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", - "location": "query", - "type": "string" - }, - "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", - "location": "path", - "required": true, - "type": "string" - }, - "name": { - "description": "Fully qualified domain name.", - "location": "path", - "required": true, - "type": "string" - }, - "project": { - "description": "Identifies the project addressed by this request.", - "location": "path", - "required": true, - "type": "string" - }, - "type": { - "description": "RRSet type.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", - "response": { - "$ref": "ResourceRecordSet" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/ndev.clouddns.readonly", - "https://www.googleapis.com/auth/ndev.clouddns.readwrite" - ] - }, - "patch": { - "description": "Applies a partial update to an existing ResourceRecordSet.", - "flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", - "httpMethod": "PATCH", - "id": "dns.projects.managedZones.rrsets.patch", - "parameterOrder": [ - "project", - "managedZone", - "name", - "type" - ], - "parameters": { - "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", - "location": "query", - "type": "string" - }, - "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", - "location": "path", - "required": true, - "type": "string" - }, - "name": { - "description": "Fully qualified domain name.", - "location": "path", - "required": true, - "type": "string" - }, - "project": { - "description": "Identifies the project addressed by this request.", - "location": "path", - "required": true, - "type": "string" - }, - "type": { - "description": "RRSet type.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", - "request": { - "$ref": "ResourceRecordSet" - }, - "response": { - "$ref": "ResourceRecordSet" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/ndev.clouddns.readwrite" - ] - } - } - } - } - } } }, "resourceRecordSets": { "methods": { + "create": { + "description": "Creates a new ResourceRecordSet.", + "flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets", + "httpMethod": "POST", + "id": "dns.resourceRecordSets.create", + "parameterOrder": [ + "project", + "managedZone" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets", + "request": { + "$ref": "ResourceRecordSet" + }, + "response": { + "$ref": "ResourceRecordSet" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "delete": { + "description": "Deletes a previously created ResourceRecordSet.", + "flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", + "httpMethod": "DELETE", + "id": "dns.resourceRecordSets.delete", + "parameterOrder": [ + "project", + "managedZone", + "name", + "type" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "name": { + "description": "Fully qualified domain name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "type": { + "description": "RRSet type.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", + "response": { + "$ref": "ResourceRecordSetsDeleteResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "get": { + "description": "Fetches the representation of an existing ResourceRecordSet.", + "flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", + "httpMethod": "GET", + "id": "dns.resourceRecordSets.get", + "parameterOrder": [ + "project", + "managedZone", + "name", + "type" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "name": { + "description": "Fully qualified domain name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "type": { + "description": "RRSet type.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", + "response": { + "$ref": "ResourceRecordSet" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, "list": { "description": "Enumerates ResourceRecordSets that you have created but not yet deleted.", "flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets", @@ -1241,11 +1177,563 @@ "https://www.googleapis.com/auth/ndev.clouddns.readonly", "https://www.googleapis.com/auth/ndev.clouddns.readwrite" ] + }, + "patch": { + "description": "Applies a partial update to an existing ResourceRecordSet.", + "flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", + "httpMethod": "PATCH", + "id": "dns.resourceRecordSets.patch", + "parameterOrder": [ + "project", + "managedZone", + "name", + "type" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "name": { + "description": "Fully qualified domain name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "type": { + "description": "RRSet type.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", + "request": { + "$ref": "ResourceRecordSet" + }, + "response": { + "$ref": "ResourceRecordSet" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + } + } + }, + "responsePolicies": { + "methods": { + "create": { + "description": "Creates a new Response Policy", + "flatPath": "dns/v1/projects/{project}/responsePolicies", + "httpMethod": "POST", + "id": "dns.responsePolicies.create", + "parameterOrder": [ + "project" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v1/projects/{project}/responsePolicies", + "request": { + "$ref": "ResponsePolicy" + }, + "response": { + "$ref": "ResponsePolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "delete": { + "description": "Deletes a previously created Response Policy. Fails if the response policy is non-empty or still being referenced by a network.", + "flatPath": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}", + "httpMethod": "DELETE", + "id": "dns.responsePolicies.delete", + "parameterOrder": [ + "project", + "responsePolicy" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicy": { + "description": "User assigned name of the Response Policy addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "get": { + "description": "Fetches the representation of an existing Response Policy.", + "flatPath": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}", + "httpMethod": "GET", + "id": "dns.responsePolicies.get", + "parameterOrder": [ + "project", + "responsePolicy" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicy": { + "description": "User assigned name of the Response Policy addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}", + "response": { + "$ref": "ResponsePolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "list": { + "description": "Enumerates all Response Policies associated with a project.", + "flatPath": "dns/v1/projects/{project}/responsePolicies", + "httpMethod": "GET", + "id": "dns.responsePolicies.list", + "parameterOrder": [ + "project" + ], + "parameters": { + "maxResults": { + "description": "Optional. Maximum number of results to be returned. If unspecified, the server decides how many results to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v1/projects/{project}/responsePolicies", + "response": { + "$ref": "ResponsePoliciesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "patch": { + "description": "Applies a partial update to an existing Response Policy.", + "flatPath": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}", + "httpMethod": "PATCH", + "id": "dns.responsePolicies.patch", + "parameterOrder": [ + "project", + "responsePolicy" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicy": { + "description": "User assigned name of the Respones Policy addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}", + "request": { + "$ref": "ResponsePolicy" + }, + "response": { + "$ref": "ResponsePoliciesPatchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "update": { + "description": "Updates an existing Response Policy.", + "flatPath": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}", + "httpMethod": "PUT", + "id": "dns.responsePolicies.update", + "parameterOrder": [ + "project", + "responsePolicy" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicy": { + "description": "User assigned name of the Response Policy addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}", + "request": { + "$ref": "ResponsePolicy" + }, + "response": { + "$ref": "ResponsePoliciesUpdateResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + } + } + }, + "responsePolicyRules": { + "methods": { + "create": { + "description": "Creates a new Response Policy Rule.", + "flatPath": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules", + "httpMethod": "POST", + "id": "dns.responsePolicyRules.create", + "parameterOrder": [ + "project", + "responsePolicy" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicy": { + "description": "User assigned name of the Response Policy containing the Response Policy Rule.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules", + "request": { + "$ref": "ResponsePolicyRule" + }, + "response": { + "$ref": "ResponsePolicyRule" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "delete": { + "description": "Deletes a previously created Response Policy Rule.", + "flatPath": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", + "httpMethod": "DELETE", + "id": "dns.responsePolicyRules.delete", + "parameterOrder": [ + "project", + "responsePolicy", + "responsePolicyRule" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicy": { + "description": "User assigned name of the Response Policy containing the Response Policy Rule.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicyRule": { + "description": "User assigned name of the Response Policy Rule addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "get": { + "description": "Fetches the representation of an existing Response Policy Rule.", + "flatPath": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", + "httpMethod": "GET", + "id": "dns.responsePolicyRules.get", + "parameterOrder": [ + "project", + "responsePolicy", + "responsePolicyRule" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicy": { + "description": "User assigned name of the Response Policy containing the Response Policy Rule.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicyRule": { + "description": "User assigned name of the Response Policy Rule addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", + "response": { + "$ref": "ResponsePolicyRule" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "list": { + "description": "Enumerates all Response Policy Rules associated with a project.", + "flatPath": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules", + "httpMethod": "GET", + "id": "dns.responsePolicyRules.list", + "parameterOrder": [ + "project", + "responsePolicy" + ], + "parameters": { + "maxResults": { + "description": "Optional. Maximum number of results to be returned. If unspecified, the server decides how many results to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicy": { + "description": "User assigned name of the Response Policy to list.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules", + "response": { + "$ref": "ResponsePolicyRulesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "patch": { + "description": "Applies a partial update to an existing Response Policy Rule.", + "flatPath": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", + "httpMethod": "PATCH", + "id": "dns.responsePolicyRules.patch", + "parameterOrder": [ + "project", + "responsePolicy", + "responsePolicyRule" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicy": { + "description": "User assigned name of the Response Policy containing the Response Policy Rule.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicyRule": { + "description": "User assigned name of the Response Policy Rule addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", + "request": { + "$ref": "ResponsePolicyRule" + }, + "response": { + "$ref": "ResponsePolicyRulesPatchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "update": { + "description": "Updates an existing Response Policy Rule.", + "flatPath": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", + "httpMethod": "PUT", + "id": "dns.responsePolicyRules.update", + "parameterOrder": [ + "project", + "responsePolicy", + "responsePolicyRule" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicy": { + "description": "User assigned name of the Response Policy containing the Response Policy Rule.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicyRule": { + "description": "User assigned name of the Response Policy Rule addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", + "request": { + "$ref": "ResponsePolicyRule" + }, + "response": { + "$ref": "ResponsePolicyRulesUpdateResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] } } } }, - "revision": "20210319", + "revision": "20220217", "rootUrl": "https://dns.googleapis.com/", "schemas": { "Change": { @@ -1501,6 +1989,9 @@ "description": "A zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service.", "id": "ManagedZone", "properties": { + "cloudLoggingConfig": { + "$ref": "ManagedZoneCloudLoggingConfig" + }, "creationTime": { "description": "The time that this resource was created on the server. This is in RFC3339 text format. Output only.", "type": "string" @@ -1583,6 +2074,21 @@ }, "type": "object" }, + "ManagedZoneCloudLoggingConfig": { + "description": "Cloud Logging configurations for publicly visible zones.", + "id": "ManagedZoneCloudLoggingConfig", + "properties": { + "enableLogging": { + "description": "If set, enable query logging for this ManagedZone. False by default, making logging opt-in.", + "type": "boolean" + }, + "kind": { + "default": "dns#managedZoneCloudLoggingConfig", + "type": "string" + } + }, + "type": "object" + }, "ManagedZoneDnsSecConfig": { "id": "ManagedZoneDnsSecConfig", "properties": { @@ -1677,6 +2183,7 @@ }, "kind": { "default": "dns#managedZoneOperationsListResponse", + "description": "Type of resource.", "type": "string" }, "nextPageToken": { @@ -2081,6 +2588,11 @@ "format": "int32", "type": "integer" }, + "itemsPerRoutingPolicy": { + "description": "Maximum allowed number of items per routing policy.", + "format": "int32", + "type": "integer" + }, "kind": { "default": "dns#quota", "type": "string" @@ -2105,6 +2617,11 @@ "format": "int32", "type": "integer" }, + "peeringZonesPerTargetNetwork": { + "description": "Maximum allowed number of consumer peering zones per target network owned by this producer project", + "format": "int32", + "type": "integer" + }, "policies": { "description": "Maximum allowed number of policies per project.", "format": "int32", @@ -2155,6 +2672,115 @@ }, "type": "object" }, + "RRSetRoutingPolicy": { + "description": "A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection.", + "id": "RRSetRoutingPolicy", + "properties": { + "geo": { + "$ref": "RRSetRoutingPolicyGeoPolicy" + }, + "kind": { + "default": "dns#rRSetRoutingPolicy", + "type": "string" + }, + "wrr": { + "$ref": "RRSetRoutingPolicyWrrPolicy" + } + }, + "type": "object" + }, + "RRSetRoutingPolicyGeoPolicy": { + "description": "Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user.", + "id": "RRSetRoutingPolicyGeoPolicy", + "properties": { + "items": { + "description": "The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.", + "items": { + "$ref": "RRSetRoutingPolicyGeoPolicyGeoPolicyItem" + }, + "type": "array" + }, + "kind": { + "default": "dns#rRSetRoutingPolicyGeoPolicy", + "type": "string" + } + }, + "type": "object" + }, + "RRSetRoutingPolicyGeoPolicyGeoPolicyItem": { + "description": "ResourceRecordSet data for one geo location.", + "id": "RRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "properties": { + "kind": { + "default": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "type": "string" + }, + "location": { + "description": "The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. \"us-east1\", \"southamerica-east1\", \"asia-east1\", etc.", + "type": "string" + }, + "rrdatas": { + "items": { + "type": "string" + }, + "type": "array" + }, + "signatureRrdatas": { + "description": "DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "RRSetRoutingPolicyWrrPolicy": { + "description": "Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion.", + "id": "RRSetRoutingPolicyWrrPolicy", + "properties": { + "items": { + "items": { + "$ref": "RRSetRoutingPolicyWrrPolicyWrrPolicyItem" + }, + "type": "array" + }, + "kind": { + "default": "dns#rRSetRoutingPolicyWrrPolicy", + "type": "string" + } + }, + "type": "object" + }, + "RRSetRoutingPolicyWrrPolicyWrrPolicyItem": { + "description": "A routing block which contains the routing information for one WRR item.", + "id": "RRSetRoutingPolicyWrrPolicyWrrPolicyItem", + "properties": { + "kind": { + "default": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", + "type": "string" + }, + "rrdatas": { + "items": { + "type": "string" + }, + "type": "array" + }, + "signatureRrdatas": { + "description": "DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .", + "items": { + "type": "string" + }, + "type": "array" + }, + "weight": { + "description": "The weight corresponding to this subset of rrdata. When multiple WeightedRoundRobinPolicyItems are configured, the probability of returning an rrset is proportional to its weight relative to the sum of weights configured for all items. This weight should be non-negative.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "ResourceRecordSet": { "description": "A unit of data that is returned by the DNS servers.", "id": "ResourceRecordSet", @@ -2167,6 +2793,10 @@ "description": "For example, www.example.com.", "type": "string" }, + "routingPolicy": { + "$ref": "RRSetRoutingPolicy", + "description": "Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise." + }, "rrdatas": { "description": "As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.", "items": { @@ -2233,6 +2863,187 @@ } }, "type": "object" + }, + "ResponsePoliciesListResponse": { + "id": "ResponsePoliciesListResponse", + "properties": { + "header": { + "$ref": "ResponseHeader" + }, + "nextPageToken": { + "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your page token. This lets you the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned are an inconsistent view of the collection. You cannot retrieve a consistent snapshot of a collection larger than the maximum page size.", + "type": "string" + }, + "responsePolicies": { + "description": "The Response Policy resources.", + "items": { + "$ref": "ResponsePolicy" + }, + "type": "array" + } + }, + "type": "object" + }, + "ResponsePoliciesPatchResponse": { + "id": "ResponsePoliciesPatchResponse", + "properties": { + "header": { + "$ref": "ResponseHeader" + }, + "responsePolicy": { + "$ref": "ResponsePolicy" + } + }, + "type": "object" + }, + "ResponsePoliciesUpdateResponse": { + "id": "ResponsePoliciesUpdateResponse", + "properties": { + "header": { + "$ref": "ResponseHeader" + }, + "responsePolicy": { + "$ref": "ResponsePolicy" + } + }, + "type": "object" + }, + "ResponsePolicy": { + "description": "A Response Policy is a collection of selectors that apply to queries made against one or more Virtual Private Cloud networks.", + "id": "ResponsePolicy", + "properties": { + "description": { + "description": "User-provided description for this Response Policy.", + "type": "string" + }, + "id": { + "description": "Unique identifier for the resource; defined by the server (output only).", + "format": "int64", + "type": "string" + }, + "kind": { + "default": "dns#responsePolicy", + "type": "string" + }, + "networks": { + "description": "List of network names specifying networks to which this policy is applied.", + "items": { + "$ref": "ResponsePolicyNetwork" + }, + "type": "array" + }, + "responsePolicyName": { + "description": "User assigned name for this Response Policy.", + "type": "string" + } + }, + "type": "object" + }, + "ResponsePolicyNetwork": { + "id": "ResponsePolicyNetwork", + "properties": { + "kind": { + "default": "dns#responsePolicyNetwork", + "type": "string" + }, + "networkUrl": { + "description": "The fully qualified URL of the VPC network to bind to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}", + "type": "string" + } + }, + "type": "object" + }, + "ResponsePolicyRule": { + "description": "A Response Policy Rule is a selector that applies its behavior to queries that match the selector. Selectors are DNS names, which may be wildcards or exact matches. Each DNS query subject to a Response Policy matches at most one ResponsePolicyRule, as identified by the dns_name field with the longest matching suffix.", + "id": "ResponsePolicyRule", + "properties": { + "behavior": { + "description": "Answer this query with a behavior rather than DNS data.", + "enum": [ + "behaviorUnspecified", + "bypassResponsePolicy" + ], + "enumDescriptions": [ + "", + "Skip a less-specific ResponsePolicyRule and continue normal query logic. This can be used in conjunction with a wildcard to exempt a subset of the wildcard ResponsePolicyRule from the ResponsePolicy behavior and e.g., query the public internet instead. For instance, if these rules exist: *.example.com -> 1.2.3.4 foo.example.com -> PASSTHRU Then a query for 'foo.example.com' skips the wildcard." + ], + "type": "string" + }, + "dnsName": { + "description": "The DNS name (wildcard or exact) to apply this rule to. Must be unique within the Response Policy Rule.", + "type": "string" + }, + "kind": { + "default": "dns#responsePolicyRule", + "type": "string" + }, + "localData": { + "$ref": "ResponsePolicyRuleLocalData", + "description": "Answer this query directly with DNS data. These ResourceRecordSets override any other DNS behavior for the matched name; in particular they override private zones, the public internet, and GCP internal DNS. No SOA nor NS types are allowed." + }, + "ruleName": { + "description": "An identifier for this rule. Must be unique with the ResponsePolicy.", + "type": "string" + } + }, + "type": "object" + }, + "ResponsePolicyRuleLocalData": { + "id": "ResponsePolicyRuleLocalData", + "properties": { + "localDatas": { + "description": "All resource record sets for this selector, one per resource record type. The name must match the dns_name.", + "items": { + "$ref": "ResourceRecordSet" + }, + "type": "array" + } + }, + "type": "object" + }, + "ResponsePolicyRulesListResponse": { + "id": "ResponsePolicyRulesListResponse", + "properties": { + "header": { + "$ref": "ResponseHeader" + }, + "nextPageToken": { + "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your page token. This lets you the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned are an inconsistent view of the collection. You cannot retrieve a consistent snapshot of a collection larger than the maximum page size.", + "type": "string" + }, + "responsePolicyRules": { + "description": "The Response Policy Rule resources.", + "items": { + "$ref": "ResponsePolicyRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "ResponsePolicyRulesPatchResponse": { + "id": "ResponsePolicyRulesPatchResponse", + "properties": { + "header": { + "$ref": "ResponseHeader" + }, + "responsePolicyRule": { + "$ref": "ResponsePolicyRule" + } + }, + "type": "object" + }, + "ResponsePolicyRulesUpdateResponse": { + "id": "ResponsePolicyRulesUpdateResponse", + "properties": { + "header": { + "$ref": "ResponseHeader" + }, + "responsePolicyRule": { + "$ref": "ResponsePolicyRule" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/etc/api/dns/v1beta2/dns-api.json b/etc/api/dns/v1beta2/dns-api.json index c9e72a185b..7b0504f037 100644 --- a/etc/api/dns/v1beta2/dns-api.json +++ b/etc/api/dns/v1beta2/dns-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" }, "https://www.googleapis.com/auth/ndev.clouddns.readonly": { "description": "View your DNS records hosted by Google Cloud DNS" @@ -975,215 +975,151 @@ "https://www.googleapis.com/auth/ndev.clouddns.readwrite" ] } - }, - "resources": { - "managedZones": { - "resources": { - "rrsets": { - "methods": { - "create": { - "description": "Creates a new ResourceRecordSet.", - "flatPath": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/rrsets", - "httpMethod": "POST", - "id": "dns.projects.managedZones.rrsets.create", - "parameterOrder": [ - "project", - "managedZone" - ], - "parameters": { - "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", - "location": "query", - "type": "string" - }, - "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", - "location": "path", - "required": true, - "type": "string" - }, - "project": { - "description": "Identifies the project addressed by this request.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/rrsets", - "request": { - "$ref": "ResourceRecordSet" - }, - "response": { - "$ref": "ResourceRecordSet" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/ndev.clouddns.readwrite" - ] - }, - "delete": { - "description": "Deletes a previously created ResourceRecordSet.", - "flatPath": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", - "httpMethod": "DELETE", - "id": "dns.projects.managedZones.rrsets.delete", - "parameterOrder": [ - "project", - "managedZone", - "name", - "type" - ], - "parameters": { - "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", - "location": "query", - "type": "string" - }, - "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", - "location": "path", - "required": true, - "type": "string" - }, - "name": { - "description": "Fully qualified domain name.", - "location": "path", - "required": true, - "type": "string" - }, - "project": { - "description": "Identifies the project addressed by this request.", - "location": "path", - "required": true, - "type": "string" - }, - "type": { - "description": "RRSet type.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/ndev.clouddns.readwrite" - ] - }, - "get": { - "description": "Fetches the representation of an existing ResourceRecordSet.", - "flatPath": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", - "httpMethod": "GET", - "id": "dns.projects.managedZones.rrsets.get", - "parameterOrder": [ - "project", - "managedZone", - "name", - "type" - ], - "parameters": { - "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", - "location": "query", - "type": "string" - }, - "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", - "location": "path", - "required": true, - "type": "string" - }, - "name": { - "description": "Fully qualified domain name.", - "location": "path", - "required": true, - "type": "string" - }, - "project": { - "description": "Identifies the project addressed by this request.", - "location": "path", - "required": true, - "type": "string" - }, - "type": { - "description": "RRSet type.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", - "response": { - "$ref": "ResourceRecordSet" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/ndev.clouddns.readonly", - "https://www.googleapis.com/auth/ndev.clouddns.readwrite" - ] - }, - "patch": { - "description": "Applies a partial update to an existing ResourceRecordSet.", - "flatPath": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", - "httpMethod": "PATCH", - "id": "dns.projects.managedZones.rrsets.patch", - "parameterOrder": [ - "project", - "managedZone", - "name", - "type" - ], - "parameters": { - "clientOperationId": { - "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", - "location": "query", - "type": "string" - }, - "managedZone": { - "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", - "location": "path", - "required": true, - "type": "string" - }, - "name": { - "description": "Fully qualified domain name.", - "location": "path", - "required": true, - "type": "string" - }, - "project": { - "description": "Identifies the project addressed by this request.", - "location": "path", - "required": true, - "type": "string" - }, - "type": { - "description": "RRSet type.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", - "request": { - "$ref": "ResourceRecordSet" - }, - "response": { - "$ref": "ResourceRecordSet" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/ndev.clouddns.readwrite" - ] - } - } - } - } - } } }, "resourceRecordSets": { "methods": { + "create": { + "description": "Creates a new ResourceRecordSet.", + "flatPath": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/rrsets", + "httpMethod": "POST", + "id": "dns.resourceRecordSets.create", + "parameterOrder": [ + "project", + "managedZone" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/rrsets", + "request": { + "$ref": "ResourceRecordSet" + }, + "response": { + "$ref": "ResourceRecordSet" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "delete": { + "description": "Deletes a previously created ResourceRecordSet.", + "flatPath": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", + "httpMethod": "DELETE", + "id": "dns.resourceRecordSets.delete", + "parameterOrder": [ + "project", + "managedZone", + "name", + "type" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "name": { + "description": "Fully qualified domain name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "type": { + "description": "RRSet type.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "get": { + "description": "Fetches the representation of an existing ResourceRecordSet.", + "flatPath": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", + "httpMethod": "GET", + "id": "dns.resourceRecordSets.get", + "parameterOrder": [ + "project", + "managedZone", + "name", + "type" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "name": { + "description": "Fully qualified domain name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "type": { + "description": "RRSet type.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", + "response": { + "$ref": "ResourceRecordSet" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, "list": { "description": "Enumerates ResourceRecordSets that you have created but not yet deleted.", "flatPath": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/rrsets", @@ -1238,6 +1174,60 @@ "https://www.googleapis.com/auth/ndev.clouddns.readonly", "https://www.googleapis.com/auth/ndev.clouddns.readwrite" ] + }, + "patch": { + "description": "Applies a partial update to an existing ResourceRecordSet.", + "flatPath": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", + "httpMethod": "PATCH", + "id": "dns.resourceRecordSets.patch", + "parameterOrder": [ + "project", + "managedZone", + "name", + "type" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "name": { + "description": "Fully qualified domain name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "type": { + "description": "RRSet type.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v1beta2/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", + "request": { + "$ref": "ResourceRecordSet" + }, + "response": { + "$ref": "ResourceRecordSet" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] } } }, @@ -1740,7 +1730,7 @@ } } }, - "revision": "20210319", + "revision": "20220217", "rootUrl": "https://dns.googleapis.com/", "schemas": { "Change": { @@ -1996,6 +1986,9 @@ "description": "A zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service.", "id": "ManagedZone", "properties": { + "cloudLoggingConfig": { + "$ref": "ManagedZoneCloudLoggingConfig" + }, "creationTime": { "description": "The time that this resource was created on the server. This is in RFC3339 text format. Output only.", "type": "string" @@ -2078,6 +2071,21 @@ }, "type": "object" }, + "ManagedZoneCloudLoggingConfig": { + "description": "Cloud Logging configurations for publicly visible zones.", + "id": "ManagedZoneCloudLoggingConfig", + "properties": { + "enableLogging": { + "description": "If set, enable query logging for this ManagedZone. False by default, making logging opt-in.", + "type": "boolean" + }, + "kind": { + "default": "dns#managedZoneCloudLoggingConfig", + "type": "string" + } + }, + "type": "object" + }, "ManagedZoneDnsSecConfig": { "id": "ManagedZoneDnsSecConfig", "properties": { @@ -2176,6 +2184,7 @@ }, "kind": { "default": "dns#managedZoneOperationsListResponse", + "description": "Type of resource.", "type": "string" }, "nextPageToken": { @@ -2227,6 +2236,13 @@ "ManagedZonePrivateVisibilityConfig": { "id": "ManagedZonePrivateVisibilityConfig", "properties": { + "gkeClusters": { + "description": "The list of Google Kubernetes Engine clusters that can see this zone.", + "items": { + "$ref": "ManagedZonePrivateVisibilityConfigGKECluster" + }, + "type": "array" + }, "kind": { "default": "dns#managedZonePrivateVisibilityConfig", "type": "string" @@ -2241,6 +2257,20 @@ }, "type": "object" }, + "ManagedZonePrivateVisibilityConfigGKECluster": { + "id": "ManagedZonePrivateVisibilityConfigGKECluster", + "properties": { + "gkeClusterName": { + "description": "The resource name of the cluster to bind this ManagedZone to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get", + "type": "string" + }, + "kind": { + "default": "dns#managedZonePrivateVisibilityConfigGKECluster", + "type": "string" + } + }, + "type": "object" + }, "ManagedZonePrivateVisibilityConfigNetwork": { "id": "ManagedZonePrivateVisibilityConfigNetwork", "properties": { @@ -2584,6 +2614,21 @@ "format": "int32", "type": "integer" }, + "gkeClustersPerManagedZone": { + "description": "Maximum allowed number of GKE clusters to which a privately scoped zone can be attached.", + "format": "int32", + "type": "integer" + }, + "gkeClustersPerResponsePolicy": { + "description": "Maximum allowed number of GKE clusters per response policy.", + "format": "int32", + "type": "integer" + }, + "itemsPerRoutingPolicy": { + "description": "Maximum allowed number of items per routing policy.", + "format": "int32", + "type": "integer" + }, "kind": { "default": "dns#quota", "type": "string" @@ -2593,6 +2638,11 @@ "format": "int32", "type": "integer" }, + "managedZonesPerGkeCluster": { + "description": "Maximum allowed number of managed zones which can be attached to a GKE cluster.", + "format": "int32", + "type": "integer" + }, "managedZonesPerNetwork": { "description": "Maximum allowed number of managed zones which can be attached to a network.", "format": "int32", @@ -2608,6 +2658,11 @@ "format": "int32", "type": "integer" }, + "peeringZonesPerTargetNetwork": { + "description": "Maximum allowed number of consumer peering zones per target network owned by this producer project", + "format": "int32", + "type": "integer" + }, "policies": { "description": "Maximum allowed number of policies per project.", "format": "int32", @@ -2663,6 +2718,121 @@ }, "type": "object" }, + "RRSetRoutingPolicy": { + "description": "A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection.", + "id": "RRSetRoutingPolicy", + "properties": { + "geo": { + "$ref": "RRSetRoutingPolicyGeoPolicy" + }, + "geoPolicy": { + "$ref": "RRSetRoutingPolicyGeoPolicy" + }, + "kind": { + "default": "dns#rRSetRoutingPolicy", + "type": "string" + }, + "wrr": { + "$ref": "RRSetRoutingPolicyWrrPolicy" + }, + "wrrPolicy": { + "$ref": "RRSetRoutingPolicyWrrPolicy" + } + }, + "type": "object" + }, + "RRSetRoutingPolicyGeoPolicy": { + "description": "Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user.", + "id": "RRSetRoutingPolicyGeoPolicy", + "properties": { + "items": { + "description": "The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.", + "items": { + "$ref": "RRSetRoutingPolicyGeoPolicyGeoPolicyItem" + }, + "type": "array" + }, + "kind": { + "default": "dns#rRSetRoutingPolicyGeoPolicy", + "type": "string" + } + }, + "type": "object" + }, + "RRSetRoutingPolicyGeoPolicyGeoPolicyItem": { + "description": "ResourceRecordSet data for one geo location.", + "id": "RRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "properties": { + "kind": { + "default": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "type": "string" + }, + "location": { + "description": "The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. \"us-east1\", \"southamerica-east1\", \"asia-east1\", etc.", + "type": "string" + }, + "rrdatas": { + "items": { + "type": "string" + }, + "type": "array" + }, + "signatureRrdatas": { + "description": "DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "RRSetRoutingPolicyWrrPolicy": { + "description": "Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion.", + "id": "RRSetRoutingPolicyWrrPolicy", + "properties": { + "items": { + "items": { + "$ref": "RRSetRoutingPolicyWrrPolicyWrrPolicyItem" + }, + "type": "array" + }, + "kind": { + "default": "dns#rRSetRoutingPolicyWrrPolicy", + "type": "string" + } + }, + "type": "object" + }, + "RRSetRoutingPolicyWrrPolicyWrrPolicyItem": { + "description": "A routing block which contains the routing information for one WRR item.", + "id": "RRSetRoutingPolicyWrrPolicyWrrPolicyItem", + "properties": { + "kind": { + "default": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", + "type": "string" + }, + "rrdatas": { + "items": { + "type": "string" + }, + "type": "array" + }, + "signatureRrdatas": { + "description": "DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .", + "items": { + "type": "string" + }, + "type": "array" + }, + "weight": { + "description": "The weight corresponding to this subset of rrdata. When multiple WeightedRoundRobinPolicyItems are configured, the probability of returning an rrset is proportional to its weight relative to the sum of weights configured for all items. This weight should be non-negative.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "ResourceRecordSet": { "description": "A unit of data that is returned by the DNS servers.", "id": "ResourceRecordSet", @@ -2675,6 +2845,10 @@ "description": "For example, www.example.com.", "type": "string" }, + "routingPolicy": { + "$ref": "RRSetRoutingPolicy", + "description": "Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise." + }, "rrdatas": { "description": "As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.", "items": { @@ -2789,6 +2963,13 @@ "description": "User-provided description for this Response Policy.", "type": "string" }, + "gkeClusters": { + "description": "The list of Google Kubernetes Engine clusters to which this response policy is applied.", + "items": { + "$ref": "ResponsePolicyGKECluster" + }, + "type": "array" + }, "id": { "description": "Unique identifier for the resource; defined by the server (output only).", "format": "int64", @@ -2812,6 +2993,20 @@ }, "type": "object" }, + "ResponsePolicyGKECluster": { + "id": "ResponsePolicyGKECluster", + "properties": { + "gkeClusterName": { + "description": "The resource name of the cluster to bind this response policy to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get", + "type": "string" + }, + "kind": { + "default": "dns#responsePolicyGKECluster", + "type": "string" + } + }, + "type": "object" + }, "ResponsePolicyNetwork": { "id": "ResponsePolicyNetwork", "properties": { diff --git a/etc/api/dns/v2/dns-api.json b/etc/api/dns/v2/dns-api.json new file mode 100644 index 0000000000..f822f47585 --- /dev/null +++ b/etc/api/dns/v2/dns-api.json @@ -0,0 +1,3377 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + }, + "https://www.googleapis.com/auth/cloud-platform.read-only": { + "description": "View your data across Google Cloud services and see the email address of your Google Account" + }, + "https://www.googleapis.com/auth/ndev.clouddns.readonly": { + "description": "View your DNS records hosted by Google Cloud DNS" + }, + "https://www.googleapis.com/auth/ndev.clouddns.readwrite": { + "description": "View and manage your DNS records hosted by Google Cloud DNS" + } + } + } + }, + "basePath": "", + "baseUrl": "https://dns.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Dns", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/dns/docs", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "dns:v2", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://dns.mtls.googleapis.com/", + "name": "dns", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "changes": { + "methods": { + "create": { + "description": "Atomically updates the ResourceRecordSet collection.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/changes", + "httpMethod": "POST", + "id": "dns.changes.create", + "parameterOrder": [ + "project", + "location", + "managedZone" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "location": "path", + "required": true, + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/changes", + "request": { + "$ref": "Change" + }, + "response": { + "$ref": "Change" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "get": { + "description": "Fetches the representation of an existing Change.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/changes/{changeId}", + "httpMethod": "GET", + "id": "dns.changes.get", + "parameterOrder": [ + "project", + "location", + "managedZone", + "changeId" + ], + "parameters": { + "changeId": { + "description": "The identifier of the requested change, from a previous ResourceRecordSetsChangeResponse.", + "location": "path", + "required": true, + "type": "string" + }, + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "location": "path", + "required": true, + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/changes/{changeId}", + "response": { + "$ref": "Change" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "list": { + "description": "Enumerates Changes to a ResourceRecordSet collection.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/changes", + "httpMethod": "GET", + "id": "dns.changes.list", + "parameterOrder": [ + "project", + "location", + "managedZone" + ], + "parameters": { + "location": { + "default": "global", + "location": "path", + "required": true, + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "maxResults": { + "description": "Optional. Maximum number of results to be returned. If unspecified, the server decides how many results to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "sortBy": { + "default": "CHANGE_SEQUENCE", + "description": "Sorting criterion. The only supported value is change sequence.", + "enum": [ + "CHANGE_SEQUENCE" + ], + "enumDescriptions": [ + "" + ], + "location": "query", + "type": "string" + }, + "sortOrder": { + "description": "Sorting order direction: 'ascending' or 'descending'.", + "location": "query", + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/changes", + "response": { + "$ref": "ChangesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + } + } + }, + "dnsKeys": { + "methods": { + "get": { + "description": "Fetches the representation of an existing DnsKey.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/dnsKeys/{dnsKeyId}", + "httpMethod": "GET", + "id": "dns.dnsKeys.get", + "parameterOrder": [ + "project", + "location", + "managedZone", + "dnsKeyId" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "digestType": { + "description": "An optional comma-separated list of digest types to compute and display for key signing keys. If omitted, the recommended digest type is computed and displayed.", + "location": "query", + "type": "string" + }, + "dnsKeyId": { + "description": "The identifier of the requested DnsKey.", + "location": "path", + "required": true, + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/dnsKeys/{dnsKeyId}", + "response": { + "$ref": "DnsKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "list": { + "description": "Enumerates DnsKeys to a ResourceRecordSet collection.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/dnsKeys", + "httpMethod": "GET", + "id": "dns.dnsKeys.list", + "parameterOrder": [ + "project", + "location", + "managedZone" + ], + "parameters": { + "digestType": { + "description": "An optional comma-separated list of digest types to compute and display for key signing keys. If omitted, the recommended digest type is computed and displayed.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "maxResults": { + "description": "Optional. Maximum number of results to be returned. If unspecified, the server decides how many results to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/dnsKeys", + "response": { + "$ref": "DnsKeysListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + } + } + }, + "managedZoneOperations": { + "methods": { + "get": { + "description": "Fetches the representation of an existing Operation.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/operations/{operation}", + "httpMethod": "GET", + "id": "dns.managedZoneOperations.get", + "parameterOrder": [ + "project", + "location", + "managedZone", + "operation" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "operation": { + "description": "Identifies the operation addressed by this request (ID of the operation).", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/operations/{operation}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "list": { + "description": "Enumerates Operations for the given ManagedZone.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/operations", + "httpMethod": "GET", + "id": "dns.managedZoneOperations.list", + "parameterOrder": [ + "project", + "location", + "managedZone" + ], + "parameters": { + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "maxResults": { + "description": "Optional. Maximum number of results to be returned. If unspecified, the server decides how many results to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "sortBy": { + "default": "START_TIME", + "description": "Sorting criterion. The only supported values are START_TIME and ID.", + "enum": [ + "START_TIME", + "ID" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query", + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/operations", + "response": { + "$ref": "ManagedZoneOperationsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + } + } + }, + "managedZones": { + "methods": { + "create": { + "description": "Creates a new ManagedZone.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/managedZones", + "httpMethod": "POST", + "id": "dns.managedZones.create", + "parameterOrder": [ + "project", + "location" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/managedZones", + "request": { + "$ref": "ManagedZone" + }, + "response": { + "$ref": "ManagedZone" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "delete": { + "description": "Deletes a previously created ManagedZone.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}", + "httpMethod": "DELETE", + "id": "dns.managedZones.delete", + "parameterOrder": [ + "project", + "location", + "managedZone" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "get": { + "description": "Fetches the representation of an existing ManagedZone.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}", + "httpMethod": "GET", + "id": "dns.managedZones.get", + "parameterOrder": [ + "project", + "location", + "managedZone" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}", + "response": { + "$ref": "ManagedZone" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "list": { + "description": "Enumerates ManagedZones that have been created but not yet deleted.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/managedZones", + "httpMethod": "GET", + "id": "dns.managedZones.list", + "parameterOrder": [ + "project", + "location" + ], + "parameters": { + "dnsName": { + "description": "Restricts the list to return only zones with this domain name.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "maxResults": { + "description": "Optional. Maximum number of results to be returned. If unspecified, the server decides how many results to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/managedZones", + "response": { + "$ref": "ManagedZonesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "patch": { + "description": "Applies a partial update to an existing ManagedZone.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}", + "httpMethod": "PATCH", + "id": "dns.managedZones.patch", + "parameterOrder": [ + "project", + "location", + "managedZone" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}", + "request": { + "$ref": "ManagedZone" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "update": { + "description": "Updates an existing ManagedZone.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}", + "httpMethod": "PUT", + "id": "dns.managedZones.update", + "parameterOrder": [ + "project", + "location", + "managedZone" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}", + "request": { + "$ref": "ManagedZone" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + } + } + }, + "policies": { + "methods": { + "create": { + "description": "Creates a new Policy.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/policies", + "httpMethod": "POST", + "id": "dns.policies.create", + "parameterOrder": [ + "project", + "location" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/policies", + "request": { + "$ref": "Policy" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "delete": { + "description": "Deletes a previously created Policy. Fails if the policy is still being referenced by a network.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/policies/{policy}", + "httpMethod": "DELETE", + "id": "dns.policies.delete", + "parameterOrder": [ + "project", + "location", + "policy" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "policy": { + "description": "User given friendly name of the policy addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/policies/{policy}", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "get": { + "description": "Fetches the representation of an existing Policy.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/policies/{policy}", + "httpMethod": "GET", + "id": "dns.policies.get", + "parameterOrder": [ + "project", + "location", + "policy" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "policy": { + "description": "User given friendly name of the policy addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/policies/{policy}", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "list": { + "description": "Enumerates all Policies associated with a project.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/policies", + "httpMethod": "GET", + "id": "dns.policies.list", + "parameterOrder": [ + "project", + "location" + ], + "parameters": { + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "maxResults": { + "description": "Optional. Maximum number of results to be returned. If unspecified, the server decides how many results to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/policies", + "response": { + "$ref": "PoliciesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "patch": { + "description": "Applies a partial update to an existing Policy.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/policies/{policy}", + "httpMethod": "PATCH", + "id": "dns.policies.patch", + "parameterOrder": [ + "project", + "location", + "policy" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "policy": { + "description": "User given friendly name of the policy addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/policies/{policy}", + "request": { + "$ref": "Policy" + }, + "response": { + "$ref": "PoliciesPatchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "update": { + "description": "Updates an existing Policy.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/policies/{policy}", + "httpMethod": "PUT", + "id": "dns.policies.update", + "parameterOrder": [ + "project", + "location", + "policy" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "policy": { + "description": "User given friendly name of the policy addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/policies/{policy}", + "request": { + "$ref": "Policy" + }, + "response": { + "$ref": "PoliciesUpdateResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + } + } + }, + "projects": { + "methods": { + "get": { + "description": "Fetches the representation of an existing Project.", + "flatPath": "dns/v2/projects/{project}/locations/{location}", + "httpMethod": "GET", + "id": "dns.projects.get", + "parameterOrder": [ + "project", + "location" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}", + "response": { + "$ref": "Project" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + } + } + }, + "resourceRecordSets": { + "methods": { + "create": { + "description": "Creates a new ResourceRecordSet.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/rrsets", + "httpMethod": "POST", + "id": "dns.resourceRecordSets.create", + "parameterOrder": [ + "project", + "location", + "managedZone" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/rrsets", + "request": { + "$ref": "ResourceRecordSet" + }, + "response": { + "$ref": "ResourceRecordSet" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "delete": { + "description": "Deletes a previously created ResourceRecordSet.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/rrsets/{name}/{type}", + "httpMethod": "DELETE", + "id": "dns.resourceRecordSets.delete", + "parameterOrder": [ + "project", + "location", + "managedZone", + "name", + "type" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "name": { + "description": "Fully qualified domain name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "type": { + "description": "RRSet type.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/rrsets/{name}/{type}", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "get": { + "description": "Fetches the representation of an existing ResourceRecordSet.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/rrsets/{name}/{type}", + "httpMethod": "GET", + "id": "dns.resourceRecordSets.get", + "parameterOrder": [ + "project", + "location", + "managedZone", + "name", + "type" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "name": { + "description": "Fully qualified domain name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "type": { + "description": "RRSet type.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/rrsets/{name}/{type}", + "response": { + "$ref": "ResourceRecordSet" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "list": { + "description": "Enumerates ResourceRecordSets that you have created but not yet deleted.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/rrsets", + "httpMethod": "GET", + "id": "dns.resourceRecordSets.list", + "parameterOrder": [ + "project", + "location", + "managedZone" + ], + "parameters": { + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "maxResults": { + "description": "Optional. Maximum number of results to be returned. If unspecified, the server decides how many results to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "name": { + "description": "Restricts the list to return only records with this fully qualified domain name.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "type": { + "description": "Restricts the list to return only records of this type. If present, the \"name\" parameter must also be present.", + "location": "query", + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/rrsets", + "response": { + "$ref": "ResourceRecordSetsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "patch": { + "description": "Applies a partial update to an existing ResourceRecordSet.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/rrsets/{name}/{type}", + "httpMethod": "PATCH", + "id": "dns.resourceRecordSets.patch", + "parameterOrder": [ + "project", + "location", + "managedZone", + "name", + "type" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "managedZone": { + "description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", + "location": "path", + "required": true, + "type": "string" + }, + "name": { + "description": "Fully qualified domain name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "type": { + "description": "RRSet type.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/managedZones/{managedZone}/rrsets/{name}/{type}", + "request": { + "$ref": "ResourceRecordSet" + }, + "response": { + "$ref": "ResourceRecordSet" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + } + } + }, + "responsePolicies": { + "methods": { + "create": { + "description": "Creates a new Response Policy", + "flatPath": "dns/v2/projects/{project}/locations/{location}/responsePolicies", + "httpMethod": "POST", + "id": "dns.responsePolicies.create", + "parameterOrder": [ + "project", + "location" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource, only applicable in the v APIs. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/responsePolicies", + "request": { + "$ref": "ResponsePolicy" + }, + "response": { + "$ref": "ResponsePolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "delete": { + "description": "Deletes a previously created Response Policy. Fails if the response policy is non-empty or still being referenced by a network.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/responsePolicies/{responsePolicy}", + "httpMethod": "DELETE", + "id": "dns.responsePolicies.delete", + "parameterOrder": [ + "project", + "location", + "responsePolicy" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicy": { + "description": "User assigned name of the Response Policy addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/responsePolicies/{responsePolicy}", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "get": { + "description": "Fetches the representation of an existing Response Policy.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/responsePolicies/{responsePolicy}", + "httpMethod": "GET", + "id": "dns.responsePolicies.get", + "parameterOrder": [ + "project", + "location", + "responsePolicy" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicy": { + "description": "User assigned name of the Response Policy addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/responsePolicies/{responsePolicy}", + "response": { + "$ref": "ResponsePolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "list": { + "description": "Enumerates all Response Policies associated with a project.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/responsePolicies", + "httpMethod": "GET", + "id": "dns.responsePolicies.list", + "parameterOrder": [ + "project", + "location" + ], + "parameters": { + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "maxResults": { + "description": "Optional. Maximum number of results to be returned. If unspecified, the server decides how many results to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/responsePolicies", + "response": { + "$ref": "ResponsePoliciesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "patch": { + "description": "Applies a partial update to an existing Response Policy.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/responsePolicies/{responsePolicy}", + "httpMethod": "PATCH", + "id": "dns.responsePolicies.patch", + "parameterOrder": [ + "project", + "location", + "responsePolicy" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicy": { + "description": "User assigned name of the Respones Policy addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/responsePolicies/{responsePolicy}", + "request": { + "$ref": "ResponsePolicy" + }, + "response": { + "$ref": "ResponsePoliciesPatchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "update": { + "description": "Updates an existing Response Policy.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/responsePolicies/{responsePolicy}", + "httpMethod": "PUT", + "id": "dns.responsePolicies.update", + "parameterOrder": [ + "project", + "location", + "responsePolicy" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicy": { + "description": "User assigned name of the Response Policy addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/responsePolicies/{responsePolicy}", + "request": { + "$ref": "ResponsePolicy" + }, + "response": { + "$ref": "ResponsePoliciesUpdateResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + } + } + }, + "responsePolicyRules": { + "methods": { + "create": { + "description": "Creates a new Response Policy Rule.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/responsePolicies/{responsePolicy}/rules", + "httpMethod": "POST", + "id": "dns.responsePolicyRules.create", + "parameterOrder": [ + "project", + "location", + "responsePolicy" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicy": { + "description": "User assigned name of the Response Policy containing the Response Policy Rule.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/responsePolicies/{responsePolicy}/rules", + "request": { + "$ref": "ResponsePolicyRule" + }, + "response": { + "$ref": "ResponsePolicyRule" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "delete": { + "description": "Deletes a previously created Response Policy Rule.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", + "httpMethod": "DELETE", + "id": "dns.responsePolicyRules.delete", + "parameterOrder": [ + "project", + "location", + "responsePolicy", + "responsePolicyRule" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicy": { + "description": "User assigned name of the Response Policy containing the Response Policy Rule.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicyRule": { + "description": "User assigned name of the Response Policy Rule addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "get": { + "description": "Fetches the representation of an existing Response Policy Rule.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", + "httpMethod": "GET", + "id": "dns.responsePolicyRules.get", + "parameterOrder": [ + "project", + "location", + "responsePolicy", + "responsePolicyRule" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicy": { + "description": "User assigned name of the Response Policy containing the Response Policy Rule.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicyRule": { + "description": "User assigned name of the Response Policy Rule addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", + "response": { + "$ref": "ResponsePolicyRule" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "list": { + "description": "Enumerates all Response Policy Rules associated with a project.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/responsePolicies/{responsePolicy}/rules", + "httpMethod": "GET", + "id": "dns.responsePolicyRules.list", + "parameterOrder": [ + "project", + "location", + "responsePolicy" + ], + "parameters": { + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "maxResults": { + "description": "Optional. Maximum number of results to be returned. If unspecified, the server decides how many results to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicy": { + "description": "User assigned name of the Response Policy to list.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/responsePolicies/{responsePolicy}/rules", + "response": { + "$ref": "ResponsePolicyRulesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.clouddns.readonly", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "patch": { + "description": "Applies a partial update to an existing Response Policy Rule.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", + "httpMethod": "PATCH", + "id": "dns.responsePolicyRules.patch", + "parameterOrder": [ + "project", + "location", + "responsePolicy", + "responsePolicyRule" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicy": { + "description": "User assigned name of the Response Policy containing the Response Policy Rule.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicyRule": { + "description": "User assigned name of the Response Policy Rule addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", + "request": { + "$ref": "ResponsePolicyRule" + }, + "response": { + "$ref": "ResponsePolicyRulesPatchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + }, + "update": { + "description": "Updates an existing Response Policy Rule.", + "flatPath": "dns/v2/projects/{project}/locations/{location}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", + "httpMethod": "PUT", + "id": "dns.responsePolicyRules.update", + "parameterOrder": [ + "project", + "location", + "responsePolicy", + "responsePolicyRule" + ], + "parameters": { + "clientOperationId": { + "description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", + "location": "query", + "type": "string" + }, + "location": { + "default": "global", + "description": "Specifies the location of the resource. This information will be used for routing and will be part of the resource name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Identifies the project addressed by this request.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicy": { + "description": "User assigned name of the Response Policy containing the Response Policy Rule.", + "location": "path", + "required": true, + "type": "string" + }, + "responsePolicyRule": { + "description": "User assigned name of the Response Policy Rule addressed by this request.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "dns/v2/projects/{project}/locations/{location}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", + "request": { + "$ref": "ResponsePolicyRule" + }, + "response": { + "$ref": "ResponsePolicyRulesUpdateResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.clouddns.readwrite" + ] + } + } + } + }, + "revision": "20220217", + "rootUrl": "https://dns.googleapis.com/", + "schemas": { + "Change": { + "description": "A Change represents a set of ResourceRecordSet additions and deletions applied atomically to a ManagedZone. ResourceRecordSets within a ManagedZone are modified by creating a new Change element in the Changes collection. In turn the Changes collection also records the past modifications to the ResourceRecordSets in a ManagedZone. The current state of the ManagedZone is the sum effect of applying all Change elements in the Changes collection in sequence.", + "id": "Change", + "properties": { + "additions": { + "description": "Which ResourceRecordSets to add?", + "items": { + "$ref": "ResourceRecordSet" + }, + "type": "array" + }, + "deletions": { + "description": "Which ResourceRecordSets to remove? Must match existing data exactly.", + "items": { + "$ref": "ResourceRecordSet" + }, + "type": "array" + }, + "id": { + "description": "Unique identifier for the resource; defined by the server (output only).", + "type": "string" + }, + "isServing": { + "description": "If the DNS queries for the zone will be served.", + "type": "boolean" + }, + "kind": { + "default": "dns#change", + "type": "string" + }, + "startTime": { + "description": "The time that this operation was started by the server (output only). This is in RFC3339 text format.", + "type": "string" + }, + "status": { + "description": "Status of the operation (output only). A status of \"done\" means that the request to update the authoritative servers has been sent, but the servers might not be updated yet.", + "enum": [ + "PENDING", + "DONE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "ChangesListResponse": { + "description": "The response to a request to enumerate Changes to a ResourceRecordSets collection.", + "id": "ChangesListResponse", + "properties": { + "changes": { + "description": "The requested changes.", + "items": { + "$ref": "Change" + }, + "type": "array" + }, + "header": { + "$ref": "ResponseHeader" + }, + "kind": { + "default": "dns#changesListResponse", + "description": "Type of resource.", + "type": "string" + }, + "nextPageToken": { + "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your pagination token. This lets you retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned are an inconsistent view of the collection. You cannot retrieve a \"snapshot\" of collections larger than the maximum page size.", + "type": "string" + } + }, + "type": "object" + }, + "DnsKey": { + "description": "A DNSSEC key pair.", + "id": "DnsKey", + "properties": { + "algorithm": { + "description": "String mnemonic specifying the DNSSEC algorithm of this key. Immutable after creation time.", + "enum": [ + "RSASHA1", + "RSASHA256", + "RSASHA512", + "ECDSAP256SHA256", + "ECDSAP384SHA384" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "creationTime": { + "description": "The time that this resource was created in the control plane. This is in RFC3339 text format. Output only.", + "type": "string" + }, + "description": { + "description": "A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the resource's function.", + "type": "string" + }, + "digests": { + "description": "Cryptographic hashes of the DNSKEY resource record associated with this DnsKey. These digests are needed to construct a DS record that points at this DNS key. Output only.", + "items": { + "$ref": "DnsKeyDigest" + }, + "type": "array" + }, + "id": { + "description": "Unique identifier for the resource; defined by the server (output only).", + "type": "string" + }, + "isActive": { + "description": "Active keys are used to sign subsequent changes to the ManagedZone. Inactive keys are still present as DNSKEY Resource Records for the use of resolvers validating existing signatures.", + "type": "boolean" + }, + "keyLength": { + "description": "Length of the key in bits. Specified at creation time, and then immutable.", + "format": "uint32", + "type": "integer" + }, + "keyTag": { + "description": "The key tag is a non-cryptographic hash of the a DNSKEY resource record associated with this DnsKey. The key tag can be used to identify a DNSKEY more quickly (but it is not a unique identifier). In particular, the key tag is used in a parent zone's DS record to point at the DNSKEY in this child ManagedZone. The key tag is a number in the range [0, 65535] and the algorithm to calculate it is specified in RFC4034 Appendix B. Output only.", + "format": "int32", + "type": "integer" + }, + "kind": { + "default": "dns#dnsKey", + "type": "string" + }, + "publicKey": { + "description": "Base64 encoded public half of this key. Output only.", + "type": "string" + }, + "type": { + "description": "One of \"KEY_SIGNING\" or \"ZONE_SIGNING\". Keys of type KEY_SIGNING have the Secure Entry Point flag set and, when active, are used to sign only resource record sets of type DNSKEY. Otherwise, the Secure Entry Point flag is cleared, and this key is used to sign only resource record sets of other types. Immutable after creation time.", + "enum": [ + "KEY_SIGNING", + "ZONE_SIGNING" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "DnsKeyDigest": { + "id": "DnsKeyDigest", + "properties": { + "digest": { + "description": "The base-16 encoded bytes of this digest. Suitable for use in a DS resource record.", + "type": "string" + }, + "type": { + "description": "Specifies the algorithm used to calculate this digest.", + "enum": [ + "SHA1", + "SHA256", + "SHA384" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "DnsKeySpec": { + "description": "Parameters for DnsKey key generation. Used for generating initial keys for a new ManagedZone and as default when adding a new DnsKey.", + "id": "DnsKeySpec", + "properties": { + "algorithm": { + "description": "String mnemonic specifying the DNSSEC algorithm of this key.", + "enum": [ + "RSASHA1", + "RSASHA256", + "RSASHA512", + "ECDSAP256SHA256", + "ECDSAP384SHA384" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "keyLength": { + "description": "Length of the keys in bits.", + "format": "uint32", + "type": "integer" + }, + "keyType": { + "description": "Specifies whether this is a key signing key (KSK) or a zone signing key (ZSK). Key signing keys have the Secure Entry Point flag set and, when active, are only used to sign resource record sets of type DNSKEY. Zone signing keys do not have the Secure Entry Point flag set and are used to sign all other types of resource record sets.", + "enum": [ + "KEY_SIGNING", + "ZONE_SIGNING" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "kind": { + "default": "dns#dnsKeySpec", + "type": "string" + } + }, + "type": "object" + }, + "DnsKeysListResponse": { + "description": "The response to a request to enumerate DnsKeys in a ManagedZone.", + "id": "DnsKeysListResponse", + "properties": { + "dnsKeys": { + "description": "The requested resources.", + "items": { + "$ref": "DnsKey" + }, + "type": "array" + }, + "header": { + "$ref": "ResponseHeader" + }, + "kind": { + "default": "dns#dnsKeysListResponse", + "description": "Type of resource.", + "type": "string" + }, + "nextPageToken": { + "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your pagination token. In this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned are an inconsistent view of the collection. There is no way to retrieve a \"snapshot\" of collections larger than the maximum page size.", + "type": "string" + } + }, + "type": "object" + }, + "ManagedZone": { + "description": "A zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service.", + "id": "ManagedZone", + "properties": { + "cloudLoggingConfig": { + "$ref": "ManagedZoneCloudLoggingConfig" + }, + "creationTime": { + "description": "The time that this resource was created on the server. This is in RFC3339 text format. Output only.", + "type": "string" + }, + "description": { + "description": "A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the managed zone's function.", + "type": "string" + }, + "dnsName": { + "description": "The DNS name of this managed zone, for instance \"example.com.\".", + "type": "string" + }, + "dnssecConfig": { + "$ref": "ManagedZoneDnsSecConfig", + "description": "DNSSEC configuration." + }, + "forwardingConfig": { + "$ref": "ManagedZoneForwardingConfig", + "description": "The presence for this field indicates that outbound forwarding is enabled for this zone. The value of this field contains the set of destinations to forward to." + }, + "id": { + "description": "Unique identifier for the resource; defined by the server (output only)", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "dns#managedZone", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "User labels.", + "type": "object" + }, + "name": { + "description": "User assigned name for this resource. Must be unique within the project. The name must be 1-63 characters long, must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes.", + "type": "string" + }, + "nameServerSet": { + "description": "Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users leave this field unset. If you need to use this field, contact your account team.", + "type": "string" + }, + "nameServers": { + "description": "Delegate your managed_zone to these virtual name servers; defined by the server (output only)", + "items": { + "type": "string" + }, + "type": "array" + }, + "peeringConfig": { + "$ref": "ManagedZonePeeringConfig", + "description": "The presence of this field indicates that DNS Peering is enabled for this zone. The value of this field contains the network to peer with." + }, + "privateVisibilityConfig": { + "$ref": "ManagedZonePrivateVisibilityConfig", + "description": "For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from." + }, + "reverseLookupConfig": { + "$ref": "ManagedZoneReverseLookupConfig", + "description": "The presence of this field indicates that this is a managed reverse lookup zone and Cloud DNS resolves reverse lookup queries using automatically configured records for VPC resources. This only applies to networks listed under private_visibility_config." + }, + "serviceDirectoryConfig": { + "$ref": "ManagedZoneServiceDirectoryConfig", + "description": "This field links to the associated service directory namespace. Do not set this field for public zones or forwarding zones." + }, + "visibility": { + "description": "The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.", + "enum": [ + "PUBLIC", + "PRIVATE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "ManagedZoneCloudLoggingConfig": { + "description": "Cloud Logging configurations for publicly visible zones.", + "id": "ManagedZoneCloudLoggingConfig", + "properties": { + "enableLogging": { + "description": "If set, enable query logging for this ManagedZone. False by default, making logging opt-in.", + "type": "boolean" + }, + "kind": { + "default": "dns#managedZoneCloudLoggingConfig", + "type": "string" + } + }, + "type": "object" + }, + "ManagedZoneDnsSecConfig": { + "id": "ManagedZoneDnsSecConfig", + "properties": { + "defaultKeySpecs": { + "description": "Specifies parameters for generating initial DnsKeys for this ManagedZone. Can only be changed while the state is OFF.", + "items": { + "$ref": "DnsKeySpec" + }, + "type": "array" + }, + "kind": { + "default": "dns#managedZoneDnsSecConfig", + "type": "string" + }, + "nonExistence": { + "description": "Specifies the mechanism for authenticated denial-of-existence responses. Can only be changed while the state is OFF.", + "enum": [ + "NSEC", + "NSEC3" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "state": { + "description": "Specifies whether DNSSEC is enabled, and what mode it is in.", + "enum": [ + "OFF", + "ON", + "TRANSFER" + ], + "enumDescriptions": [ + "DNSSEC is disabled; the zone is not signed.", + "DNSSEC is enabled; the zone is signed and fully managed.", + "DNSSEC is enabled, but in a \"transfer\" mode." + ], + "type": "string" + } + }, + "type": "object" + }, + "ManagedZoneForwardingConfig": { + "id": "ManagedZoneForwardingConfig", + "properties": { + "kind": { + "default": "dns#managedZoneForwardingConfig", + "type": "string" + }, + "targetNameServers": { + "description": "List of target name servers to forward to. Cloud DNS selects the best available name server if more than one target is given.", + "items": { + "$ref": "ManagedZoneForwardingConfigNameServerTarget" + }, + "type": "array" + } + }, + "type": "object" + }, + "ManagedZoneForwardingConfigNameServerTarget": { + "id": "ManagedZoneForwardingConfigNameServerTarget", + "properties": { + "forwardingPath": { + "description": "Forwarding path for this NameServerTarget. If unset or set to DEFAULT, Cloud DNS makes forwarding decisions based on IP address ranges; that is, RFC1918 addresses go to the VPC network, non-RFC1918 addresses go to the internet. When set to PRIVATE, Cloud DNS always sends queries through the VPC network for this target.", + "enum": [ + "DEFAULT", + "PRIVATE" + ], + "enumDescriptions": [ + "Cloud DNS makes forwarding decisions based on address ranges; that is, RFC1918 addresses forward to the target through the VPC and non-RFC1918 addresses forward to the target through the internet", + "Cloud DNS always forwards to this target through the VPC." + ], + "type": "string" + }, + "ipv4Address": { + "description": "IPv4 address of a target name server.", + "type": "string" + }, + "kind": { + "default": "dns#managedZoneForwardingConfigNameServerTarget", + "type": "string" + } + }, + "type": "object" + }, + "ManagedZoneOperationsListResponse": { + "id": "ManagedZoneOperationsListResponse", + "properties": { + "header": { + "$ref": "ResponseHeader" + }, + "kind": { + "default": "dns#managedZoneOperationsListResponse", + "type": "string" + }, + "nextPageToken": { + "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your page token. This lets you retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned are an inconsistent view of the collection. You cannot retrieve a consistent snapshot of a collection larger than the maximum page size.", + "type": "string" + }, + "operations": { + "description": "The operation resources.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "ManagedZonePeeringConfig": { + "id": "ManagedZonePeeringConfig", + "properties": { + "kind": { + "default": "dns#managedZonePeeringConfig", + "type": "string" + }, + "targetNetwork": { + "$ref": "ManagedZonePeeringConfigTargetNetwork", + "description": "The network with which to peer." + } + }, + "type": "object" + }, + "ManagedZonePeeringConfigTargetNetwork": { + "id": "ManagedZonePeeringConfigTargetNetwork", + "properties": { + "deactivateTime": { + "description": "The time at which the zone was deactivated, in RFC 3339 date-time format. An empty string indicates that the peering connection is active. The producer network can deactivate a zone. The zone is automatically deactivated if the producer network that the zone targeted is deleted. Output only.", + "type": "string" + }, + "kind": { + "default": "dns#managedZonePeeringConfigTargetNetwork", + "type": "string" + }, + "networkUrl": { + "description": "The fully qualified URL of the VPC network to forward queries to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}", + "type": "string" + } + }, + "type": "object" + }, + "ManagedZonePrivateVisibilityConfig": { + "id": "ManagedZonePrivateVisibilityConfig", + "properties": { + "gkeClusters": { + "description": "The list of Google Kubernetes Engine clusters that can see this zone.", + "items": { + "$ref": "ManagedZonePrivateVisibilityConfigGKECluster" + }, + "type": "array" + }, + "kind": { + "default": "dns#managedZonePrivateVisibilityConfig", + "type": "string" + }, + "networks": { + "description": "The list of VPC networks that can see this zone.", + "items": { + "$ref": "ManagedZonePrivateVisibilityConfigNetwork" + }, + "type": "array" + } + }, + "type": "object" + }, + "ManagedZonePrivateVisibilityConfigGKECluster": { + "id": "ManagedZonePrivateVisibilityConfigGKECluster", + "properties": { + "gkeClusterName": { + "description": "The resource name of the cluster to bind this ManagedZone to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get", + "type": "string" + }, + "kind": { + "default": "dns#managedZonePrivateVisibilityConfigGKECluster", + "type": "string" + } + }, + "type": "object" + }, + "ManagedZonePrivateVisibilityConfigNetwork": { + "id": "ManagedZonePrivateVisibilityConfigNetwork", + "properties": { + "kind": { + "default": "dns#managedZonePrivateVisibilityConfigNetwork", + "type": "string" + }, + "networkUrl": { + "description": "The fully qualified URL of the VPC network to bind to. Format this URL like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}", + "type": "string" + } + }, + "type": "object" + }, + "ManagedZoneReverseLookupConfig": { + "id": "ManagedZoneReverseLookupConfig", + "properties": { + "kind": { + "default": "dns#managedZoneReverseLookupConfig", + "type": "string" + } + }, + "type": "object" + }, + "ManagedZoneServiceDirectoryConfig": { + "description": "Contains information about Service Directory-backed zones.", + "id": "ManagedZoneServiceDirectoryConfig", + "properties": { + "kind": { + "default": "dns#managedZoneServiceDirectoryConfig", + "type": "string" + }, + "namespace": { + "$ref": "ManagedZoneServiceDirectoryConfigNamespace", + "description": "Contains information about the namespace associated with the zone." + } + }, + "type": "object" + }, + "ManagedZoneServiceDirectoryConfigNamespace": { + "id": "ManagedZoneServiceDirectoryConfigNamespace", + "properties": { + "deletionTime": { + "description": "The time that the namespace backing this zone was deleted; an empty string if it still exists. This is in RFC3339 text format. Output only.", + "type": "string" + }, + "kind": { + "default": "dns#managedZoneServiceDirectoryConfigNamespace", + "type": "string" + }, + "namespaceUrl": { + "description": "The fully qualified URL of the namespace associated with the zone. Format must be https://servicedirectory.googleapis.com/v1/projects/{project}/locations/{location}/namespaces/{namespace}", + "type": "string" + } + }, + "type": "object" + }, + "ManagedZonesListResponse": { + "id": "ManagedZonesListResponse", + "properties": { + "header": { + "$ref": "ResponseHeader" + }, + "kind": { + "default": "dns#managedZonesListResponse", + "description": "Type of resource.", + "type": "string" + }, + "managedZones": { + "description": "The managed zone resources.", + "items": { + "$ref": "ManagedZone" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your page token. This lets you the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned are an inconsistent view of the collection. You cannot retrieve a consistent snapshot of a collection larger than the maximum page size.", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "An operation represents a successful mutation performed on a Cloud DNS resource. Operations provide: - An audit log of server resource mutations. - A way to recover/retry API calls in the case where the response is never received by the caller. Use the caller specified client_operation_id.", + "id": "Operation", + "properties": { + "dnsKeyContext": { + "$ref": "OperationDnsKeyContext", + "description": "Only populated if the operation targeted a DnsKey (output only)." + }, + "id": { + "description": "Unique identifier for the resource. This is the client_operation_id if the client specified it when the mutation was initiated, otherwise, it is generated by the server. The name must be 1-63 characters long and match the regular expression [-a-z0-9]? (output only)", + "type": "string" + }, + "kind": { + "default": "dns#operation", + "type": "string" + }, + "startTime": { + "description": "The time that this operation was started by the server. This is in RFC3339 text format (output only).", + "type": "string" + }, + "status": { + "description": "Status of the operation. Can be one of the following: \"PENDING\" or \"DONE\" (output only). A status of \"DONE\" means that the request to update the authoritative servers has been sent, but the servers might not be updated yet.", + "enum": [ + "PENDING", + "DONE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "type": { + "description": "Type of the operation. Operations include insert, update, and delete (output only).", + "type": "string" + }, + "user": { + "description": "User who requested the operation, for example: user@example.com. cloud-dns-system for operations automatically done by the system. (output only)", + "type": "string" + }, + "zoneContext": { + "$ref": "OperationManagedZoneContext", + "description": "Only populated if the operation targeted a ManagedZone (output only)." + } + }, + "type": "object" + }, + "OperationDnsKeyContext": { + "id": "OperationDnsKeyContext", + "properties": { + "newValue": { + "$ref": "DnsKey", + "description": "The post-operation DnsKey resource." + }, + "oldValue": { + "$ref": "DnsKey", + "description": "The pre-operation DnsKey resource." + } + }, + "type": "object" + }, + "OperationManagedZoneContext": { + "id": "OperationManagedZoneContext", + "properties": { + "newValue": { + "$ref": "ManagedZone", + "description": "The post-operation ManagedZone resource." + }, + "oldValue": { + "$ref": "ManagedZone", + "description": "The pre-operation ManagedZone resource." + } + }, + "type": "object" + }, + "PoliciesListResponse": { + "id": "PoliciesListResponse", + "properties": { + "header": { + "$ref": "ResponseHeader" + }, + "kind": { + "default": "dns#policiesListResponse", + "description": "Type of resource.", + "type": "string" + }, + "nextPageToken": { + "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your page token. This lets you the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned are an inconsistent view of the collection. You cannot retrieve a consistent snapshot of a collection larger than the maximum page size.", + "type": "string" + }, + "policies": { + "description": "The policy resources.", + "items": { + "$ref": "Policy" + }, + "type": "array" + } + }, + "type": "object" + }, + "PoliciesPatchResponse": { + "id": "PoliciesPatchResponse", + "properties": { + "header": { + "$ref": "ResponseHeader" + }, + "policy": { + "$ref": "Policy" + } + }, + "type": "object" + }, + "PoliciesUpdateResponse": { + "id": "PoliciesUpdateResponse", + "properties": { + "header": { + "$ref": "ResponseHeader" + }, + "policy": { + "$ref": "Policy" + } + }, + "type": "object" + }, + "Policy": { + "description": "A policy is a collection of DNS rules applied to one or more Virtual Private Cloud resources.", + "id": "Policy", + "properties": { + "alternativeNameServerConfig": { + "$ref": "PolicyAlternativeNameServerConfig", + "description": "Sets an alternative name server for the associated networks. When specified, all DNS queries are forwarded to a name server that you choose. Names such as .internal are not available when an alternative name server is specified." + }, + "description": { + "description": "A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the policy's function.", + "type": "string" + }, + "enableInboundForwarding": { + "description": "Allows networks bound to this policy to receive DNS queries sent by VMs or applications over VPN connections. When enabled, a virtual IP address is allocated from each of the subnetworks that are bound to this policy.", + "type": "boolean" + }, + "enableLogging": { + "description": "Controls whether logging is enabled for the networks bound to this policy. Defaults to no logging if not set.", + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the resource; defined by the server (output only).", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "dns#policy", + "type": "string" + }, + "name": { + "description": "User-assigned name for this policy.", + "type": "string" + }, + "networks": { + "description": "List of network names specifying networks to which this policy is applied.", + "items": { + "$ref": "PolicyNetwork" + }, + "type": "array" + } + }, + "type": "object" + }, + "PolicyAlternativeNameServerConfig": { + "id": "PolicyAlternativeNameServerConfig", + "properties": { + "kind": { + "default": "dns#policyAlternativeNameServerConfig", + "type": "string" + }, + "targetNameServers": { + "description": "Sets an alternative name server for the associated networks. When specified, all DNS queries are forwarded to a name server that you choose. Names such as .internal are not available when an alternative name server is specified.", + "items": { + "$ref": "PolicyAlternativeNameServerConfigTargetNameServer" + }, + "type": "array" + } + }, + "type": "object" + }, + "PolicyAlternativeNameServerConfigTargetNameServer": { + "id": "PolicyAlternativeNameServerConfigTargetNameServer", + "properties": { + "forwardingPath": { + "description": "Forwarding path for this TargetNameServer. If unset or set to DEFAULT, Cloud DNS makes forwarding decisions based on address ranges; that is, RFC1918 addresses go to the VPC network, non-RFC1918 addresses go to the internet. When set to PRIVATE, Cloud DNS always sends queries through the VPC network for this target.", + "enum": [ + "DEFAULT", + "PRIVATE" + ], + "enumDescriptions": [ + "Cloud DNS makes forwarding decision based on IP address ranges; that is, RFC1918 addresses forward to the target through the VPC and non-RFC1918 addresses forward to the target through the internet", + "Cloud DNS always forwards to this target through the VPC." + ], + "type": "string" + }, + "ipv4Address": { + "description": "IPv4 address to forward to.", + "type": "string" + }, + "kind": { + "default": "dns#policyAlternativeNameServerConfigTargetNameServer", + "type": "string" + } + }, + "type": "object" + }, + "PolicyNetwork": { + "id": "PolicyNetwork", + "properties": { + "kind": { + "default": "dns#policyNetwork", + "type": "string" + }, + "networkUrl": { + "description": "The fully qualified URL of the VPC network to bind to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}", + "type": "string" + } + }, + "type": "object" + }, + "Project": { + "description": "A project resource. The project is a top level container for resources including Cloud DNS ManagedZones. Projects can be created only in the APIs console. Next tag: 7.", + "id": "Project", + "properties": { + "id": { + "description": "User assigned unique identifier for the resource (output only).", + "type": "string" + }, + "kind": { + "default": "dns#project", + "type": "string" + }, + "number": { + "description": "Unique numeric identifier for the resource; defined by the server (output only).", + "format": "uint64", + "type": "string" + }, + "quota": { + "$ref": "Quota", + "description": "Quotas assigned to this project (output only)." + } + }, + "type": "object" + }, + "Quota": { + "description": "Limits associated with a Project.", + "id": "Quota", + "properties": { + "dnsKeysPerManagedZone": { + "description": "Maximum allowed number of DnsKeys per ManagedZone.", + "format": "int32", + "type": "integer" + }, + "itemsPerRoutingPolicy": { + "description": "Maximum allowed number of items per routing policy.", + "format": "int32", + "type": "integer" + }, + "kind": { + "default": "dns#quota", + "type": "string" + }, + "managedZones": { + "description": "Maximum allowed number of managed zones in the project.", + "format": "int32", + "type": "integer" + }, + "managedZonesPerNetwork": { + "description": "Maximum allowed number of managed zones which can be attached to a network.", + "format": "int32", + "type": "integer" + }, + "networksPerManagedZone": { + "description": "Maximum allowed number of networks to which a privately scoped zone can be attached.", + "format": "int32", + "type": "integer" + }, + "networksPerPolicy": { + "description": "Maximum allowed number of networks per policy.", + "format": "int32", + "type": "integer" + }, + "peeringZonesPerTargetNetwork": { + "description": "Maximum allowed number of consumer peering zones per target network owned by this producer project", + "format": "int32", + "type": "integer" + }, + "policies": { + "description": "Maximum allowed number of policies per project.", + "format": "int32", + "type": "integer" + }, + "resourceRecordsPerRrset": { + "description": "Maximum allowed number of ResourceRecords per ResourceRecordSet.", + "format": "int32", + "type": "integer" + }, + "rrsetAdditionsPerChange": { + "description": "Maximum allowed number of ResourceRecordSets to add per ChangesCreateRequest.", + "format": "int32", + "type": "integer" + }, + "rrsetDeletionsPerChange": { + "description": "Maximum allowed number of ResourceRecordSets to delete per ChangesCreateRequest.", + "format": "int32", + "type": "integer" + }, + "rrsetsPerManagedZone": { + "description": "Maximum allowed number of ResourceRecordSets per zone in the project.", + "format": "int32", + "type": "integer" + }, + "targetNameServersPerManagedZone": { + "description": "Maximum allowed number of target name servers per managed forwarding zone.", + "format": "int32", + "type": "integer" + }, + "targetNameServersPerPolicy": { + "description": "Maximum allowed number of alternative target name servers per policy.", + "format": "int32", + "type": "integer" + }, + "totalRrdataSizePerChange": { + "description": "Maximum allowed size for total rrdata in one ChangesCreateRequest in bytes.", + "format": "int32", + "type": "integer" + }, + "whitelistedKeySpecs": { + "description": "DNSSEC algorithm and key length types that can be used for DnsKeys.", + "items": { + "$ref": "DnsKeySpec" + }, + "type": "array" + } + }, + "type": "object" + }, + "RRSetRoutingPolicy": { + "description": "A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection.", + "id": "RRSetRoutingPolicy", + "properties": { + "geo": { + "$ref": "RRSetRoutingPolicyGeoPolicy" + }, + "kind": { + "default": "dns#rRSetRoutingPolicy", + "type": "string" + }, + "wrr": { + "$ref": "RRSetRoutingPolicyWrrPolicy" + } + }, + "type": "object" + }, + "RRSetRoutingPolicyGeoPolicy": { + "description": "Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user.", + "id": "RRSetRoutingPolicyGeoPolicy", + "properties": { + "items": { + "description": "The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.", + "items": { + "$ref": "RRSetRoutingPolicyGeoPolicyGeoPolicyItem" + }, + "type": "array" + }, + "kind": { + "default": "dns#rRSetRoutingPolicyGeoPolicy", + "type": "string" + } + }, + "type": "object" + }, + "RRSetRoutingPolicyGeoPolicyGeoPolicyItem": { + "description": "ResourceRecordSet data for one geo location.", + "id": "RRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "properties": { + "kind": { + "default": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "type": "string" + }, + "location": { + "description": "The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. \"us-east1\", \"southamerica-east1\", \"asia-east1\", etc.", + "type": "string" + }, + "rrdatas": { + "items": { + "type": "string" + }, + "type": "array" + }, + "signatureRrdatas": { + "description": "DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "RRSetRoutingPolicyWrrPolicy": { + "description": "Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion.", + "id": "RRSetRoutingPolicyWrrPolicy", + "properties": { + "items": { + "items": { + "$ref": "RRSetRoutingPolicyWrrPolicyWrrPolicyItem" + }, + "type": "array" + }, + "kind": { + "default": "dns#rRSetRoutingPolicyWrrPolicy", + "type": "string" + } + }, + "type": "object" + }, + "RRSetRoutingPolicyWrrPolicyWrrPolicyItem": { + "description": "A routing block which contains the routing information for one WRR item.", + "id": "RRSetRoutingPolicyWrrPolicyWrrPolicyItem", + "properties": { + "kind": { + "default": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", + "type": "string" + }, + "rrdatas": { + "items": { + "type": "string" + }, + "type": "array" + }, + "signatureRrdatas": { + "description": "DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .", + "items": { + "type": "string" + }, + "type": "array" + }, + "weight": { + "description": "The weight corresponding to this subset of rrdata. When multiple WeightedRoundRobinPolicyItems are configured, the probability of returning an rrset is proportional to its weight relative to the sum of weights configured for all items. This weight should be non-negative.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "ResourceRecordSet": { + "description": "A unit of data that is returned by the DNS servers.", + "id": "ResourceRecordSet", + "properties": { + "kind": { + "default": "dns#resourceRecordSet", + "type": "string" + }, + "name": { + "description": "For example, www.example.com.", + "type": "string" + }, + "routingPolicy": { + "$ref": "RRSetRoutingPolicy", + "description": "Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise." + }, + "rrdatas": { + "description": "As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.", + "items": { + "type": "string" + }, + "type": "array" + }, + "signatureRrdatas": { + "description": "As defined in RFC 4034 (section 3.2).", + "items": { + "type": "string" + }, + "type": "array" + }, + "ttl": { + "description": "Number of seconds that this ResourceRecordSet can be cached by resolvers.", + "format": "int32", + "type": "integer" + }, + "type": { + "description": "The identifier of a supported record type. See the list of Supported DNS record types.", + "type": "string" + } + }, + "type": "object" + }, + "ResourceRecordSetsListResponse": { + "id": "ResourceRecordSetsListResponse", + "properties": { + "header": { + "$ref": "ResponseHeader" + }, + "kind": { + "default": "dns#resourceRecordSetsListResponse", + "description": "Type of resource.", + "type": "string" + }, + "nextPageToken": { + "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your pagination token. This lets you retrieve complete contents of even larger collections, one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of elements returned are an inconsistent view of the collection. You cannot retrieve a consistent snapshot of a collection larger than the maximum page size.", + "type": "string" + }, + "rrsets": { + "description": "The resource record set resources.", + "items": { + "$ref": "ResourceRecordSet" + }, + "type": "array" + } + }, + "type": "object" + }, + "ResponseHeader": { + "description": "Elements common to every response.", + "id": "ResponseHeader", + "properties": { + "operationId": { + "description": "For mutating operation requests that completed successfully. This is the client_operation_id if the client specified it, otherwise it is generated by the server (output only).", + "type": "string" + } + }, + "type": "object" + }, + "ResponsePoliciesListResponse": { + "id": "ResponsePoliciesListResponse", + "properties": { + "header": { + "$ref": "ResponseHeader" + }, + "nextPageToken": { + "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your page token. This lets you the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned are an inconsistent view of the collection. You cannot retrieve a consistent snapshot of a collection larger than the maximum page size.", + "type": "string" + }, + "responsePolicies": { + "description": "The Response Policy resources.", + "items": { + "$ref": "ResponsePolicy" + }, + "type": "array" + } + }, + "type": "object" + }, + "ResponsePoliciesPatchResponse": { + "id": "ResponsePoliciesPatchResponse", + "properties": { + "header": { + "$ref": "ResponseHeader" + }, + "responsePolicy": { + "$ref": "ResponsePolicy" + } + }, + "type": "object" + }, + "ResponsePoliciesUpdateResponse": { + "id": "ResponsePoliciesUpdateResponse", + "properties": { + "header": { + "$ref": "ResponseHeader" + }, + "responsePolicy": { + "$ref": "ResponsePolicy" + } + }, + "type": "object" + }, + "ResponsePolicy": { + "description": "A Response Policy is a collection of selectors that apply to queries made against one or more Virtual Private Cloud networks.", + "id": "ResponsePolicy", + "properties": { + "description": { + "description": "User-provided description for this Response Policy.", + "type": "string" + }, + "gkeClusters": { + "description": "The list of Google Kubernetes Engine clusters to which this response policy is applied.", + "items": { + "$ref": "ResponsePolicyGKECluster" + }, + "type": "array" + }, + "id": { + "description": "Unique identifier for the resource; defined by the server (output only).", + "format": "int64", + "type": "string" + }, + "kind": { + "default": "dns#responsePolicy", + "type": "string" + }, + "networks": { + "description": "List of network names specifying networks to which this policy is applied.", + "items": { + "$ref": "ResponsePolicyNetwork" + }, + "type": "array" + }, + "responsePolicyName": { + "description": "User assigned name for this Response Policy.", + "type": "string" + } + }, + "type": "object" + }, + "ResponsePolicyGKECluster": { + "id": "ResponsePolicyGKECluster", + "properties": { + "gkeClusterName": { + "description": "The resource name of the cluster to bind this response policy to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get", + "type": "string" + }, + "kind": { + "default": "dns#responsePolicyGKECluster", + "type": "string" + } + }, + "type": "object" + }, + "ResponsePolicyNetwork": { + "id": "ResponsePolicyNetwork", + "properties": { + "kind": { + "default": "dns#responsePolicyNetwork", + "type": "string" + }, + "networkUrl": { + "description": "The fully qualified URL of the VPC network to bind to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}", + "type": "string" + } + }, + "type": "object" + }, + "ResponsePolicyRule": { + "description": "A Response Policy Rule is a selector that applies its behavior to queries that match the selector. Selectors are DNS names, which may be wildcards or exact matches. Each DNS query subject to a Response Policy matches at most one ResponsePolicyRule, as identified by the dns_name field with the longest matching suffix.", + "id": "ResponsePolicyRule", + "properties": { + "behavior": { + "description": "Answer this query with a behavior rather than DNS data.", + "enum": [ + "BEHAVIOR_UNSPECIFIED", + "BYPASS_RESPONSE_POLICY" + ], + "enumDescriptions": [ + "", + "Skip a less-specific ResponsePolicyRule and continue normal query logic. This can be used in conjunction with a wildcard to exempt a subset of the wildcard ResponsePolicyRule from the ResponsePolicy behavior and e.g., query the public internet instead. For instance, if these rules exist: *.example.com -> 1.2.3.4 foo.example.com -> PASSTHRU Then a query for 'foo.example.com' skips the wildcard." + ], + "type": "string" + }, + "dnsName": { + "description": "The DNS name (wildcard or exact) to apply this rule to. Must be unique within the Response Policy Rule.", + "type": "string" + }, + "kind": { + "default": "dns#responsePolicyRule", + "type": "string" + }, + "localData": { + "$ref": "ResponsePolicyRuleLocalData", + "description": "Answer this query directly with DNS data. These ResourceRecordSets override any other DNS behavior for the matched name; in particular they override private zones, the public internet, and GCP internal DNS. No SOA nor NS types are allowed." + }, + "ruleName": { + "description": "An identifier for this rule. Must be unique with the ResponsePolicy.", + "type": "string" + } + }, + "type": "object" + }, + "ResponsePolicyRuleLocalData": { + "id": "ResponsePolicyRuleLocalData", + "properties": { + "localDatas": { + "description": "All resource record sets for this selector, one per resource record type. The name must match the dns_name.", + "items": { + "$ref": "ResourceRecordSet" + }, + "type": "array" + } + }, + "type": "object" + }, + "ResponsePolicyRulesListResponse": { + "id": "ResponsePolicyRulesListResponse", + "properties": { + "header": { + "$ref": "ResponseHeader" + }, + "nextPageToken": { + "description": "The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your page token. This lets you the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned are an inconsistent view of the collection. You cannot retrieve a consistent snapshot of a collection larger than the maximum page size.", + "type": "string" + }, + "responsePolicyRules": { + "description": "The Response Policy Rule resources.", + "items": { + "$ref": "ResponsePolicyRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "ResponsePolicyRulesPatchResponse": { + "id": "ResponsePolicyRulesPatchResponse", + "properties": { + "header": { + "$ref": "ResponseHeader" + }, + "responsePolicyRule": { + "$ref": "ResponsePolicyRule" + } + }, + "type": "object" + }, + "ResponsePolicyRulesUpdateResponse": { + "id": "ResponsePolicyRulesUpdateResponse", + "properties": { + "header": { + "$ref": "ResponseHeader" + }, + "responsePolicyRule": { + "$ref": "ResponsePolicyRule" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Cloud DNS API", + "version": "v2" +} \ No newline at end of file diff --git a/etc/api/documentai/v1/documentai-api.json b/etc/api/documentai/v1/documentai-api.json index 292849ba33..0aaf9fc868 100644 --- a/etc/api/documentai/v1/documentai-api.json +++ b/etc/api/documentai/v1/documentai-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -107,34 +107,6 @@ "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": "documentai.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/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}", @@ -159,47 +131,6 @@ "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": "v1/operations", - "httpMethod": "GET", - "id": "documentai.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/cloud-platform" - ] } } }, @@ -207,6 +138,31 @@ "resources": { "locations": { "methods": { + "fetchProcessorTypes": { + "description": "Fetches processor types. Note that we do not use ListProcessorTypes here because it is not paginated.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:fetchProcessorTypes", + "httpMethod": "GET", + "id": "documentai.projects.locations.fetchProcessorTypes", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The project of processor type to list. The available processor types may depend on the allow-listing on projects. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}:fetchProcessorTypes", + "response": { + "$ref": "GoogleCloudDocumentaiV1FetchProcessorTypesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Gets information about a location.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}", @@ -254,7 +210,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -277,6 +233,31 @@ "resources": { "operations": { "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "documentai.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Gets the latest state 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}", @@ -301,6 +282,47 @@ "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": "v1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "documentai.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } }, @@ -316,7 +338,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of Processor or ProcessorVersion. Format: projects/{project}/locations/{location}/processors/{processor}, or projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}", + "description": "Required. The resource name of Processor or ProcessorVersion. Format: `projects/{project}/locations/{location}/processors/{processor}`, or `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+$", "required": true, @@ -334,6 +356,176 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "create": { + "description": "Creates a processor from the type processor that the user chose. The processor will be at \"ENABLED\" state by default after its creation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processors", + "httpMethod": "POST", + "id": "documentai.projects.locations.processors.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent (project and location) under which to create the processor. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/processors", + "request": { + "$ref": "GoogleCloudDocumentaiV1Processor" + }, + "response": { + "$ref": "GoogleCloudDocumentaiV1Processor" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the processor, unloads all deployed model artifacts if it was enabled and then deletes all artifacts associated with this processor.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}", + "httpMethod": "DELETE", + "id": "documentai.projects.locations.processors.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The processor resource name to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "disable": { + "description": "Disables a processor", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}:disable", + "httpMethod": "POST", + "id": "documentai.projects.locations.processors.disable", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The processor resource name to be disabled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:disable", + "request": { + "$ref": "GoogleCloudDocumentaiV1DisableProcessorRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "enable": { + "description": "Enables a processor", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}:enable", + "httpMethod": "POST", + "id": "documentai.projects.locations.processors.enable", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The processor resource name to be enabled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:enable", + "request": { + "$ref": "GoogleCloudDocumentaiV1EnableProcessorRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a processor detail.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}", + "httpMethod": "GET", + "id": "documentai.projects.locations.processors.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The processor resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDocumentaiV1Processor" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all processors which belong to this project.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processors", + "httpMethod": "GET", + "id": "documentai.projects.locations.processors.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of processors to return. If unspecified, at most 50 processors will be returned. The maximum value is 100; values above 100 will be coerced to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "We will return the processors sorted by creation time. The page token will point to the next processor.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent (project and location) which owns this collection of Processors. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/processors", + "response": { + "$ref": "GoogleCloudDocumentaiV1ListProcessorsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "process": { "description": "Processes a single document.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}:process", @@ -344,7 +536,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the Processor or ProcessorVersion to use for processing. If a Processor is specified, the server will use its default version. Format: projects/{project}/locations/{location}/processors/{processor}, or projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}", + "description": "Required. The resource name of the Processor or ProcessorVersion to use for processing. If a Processor is specified, the server will use its default version. Format: `projects/{project}/locations/{location}/processors/{processor}`, or `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+$", "required": true, @@ -361,6 +553,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "setDefaultProcessorVersion": { + "description": "Set the default (active) version of a Processor that will be used in ProcessDocument and BatchProcessDocuments.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}:setDefaultProcessorVersion", + "httpMethod": "POST", + "id": "documentai.projects.locations.processors.setDefaultProcessorVersion", + "parameterOrder": [ + "processor" + ], + "parameters": { + "processor": { + "description": "Required. The resource name of the Processor to change default version.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+processor}:setDefaultProcessorVersion", + "request": { + "$ref": "GoogleCloudDocumentaiV1SetDefaultProcessorVersionRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -408,7 +628,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of Processor or ProcessorVersion. Format: projects/{project}/locations/{location}/processors/{processor}, or projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}", + "description": "Required. The resource name of Processor or ProcessorVersion. Format: `projects/{project}/locations/{location}/processors/{processor}`, or `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+/processorVersions/[^/]+$", "required": true, @@ -426,6 +646,120 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "delete": { + "description": "Deletes the processor version, all artifacts under the processor version will be deleted.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}", + "httpMethod": "DELETE", + "id": "documentai.projects.locations.processors.processorVersions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The processor version resource name to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+/processorVersions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "deploy": { + "description": "Deploys the processor version.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}:deploy", + "httpMethod": "POST", + "id": "documentai.projects.locations.processors.processorVersions.deploy", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The processor version resource name to be deployed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+/processorVersions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:deploy", + "request": { + "$ref": "GoogleCloudDocumentaiV1DeployProcessorVersionRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a processor version detail.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}", + "httpMethod": "GET", + "id": "documentai.projects.locations.processors.processorVersions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The processor resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+/processorVersions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDocumentaiV1ProcessorVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all versions of a processor.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions", + "httpMethod": "GET", + "id": "documentai.projects.locations.processors.processorVersions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of processor versions to return. If unspecified, at most 10 processor versions will be returned. The maximum value is 20; values above 20 will be coerced to 20.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "We will return the processor versions sorted by creation time. The page token will point to the next processor version.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent (project, location and processor) to list all versions. Format: `projects/{project}/locations/{location}/processors/{processor}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/processorVersions", + "response": { + "$ref": "GoogleCloudDocumentaiV1ListProcessorVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "process": { "description": "Processes a single document.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}:process", @@ -436,7 +770,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the Processor or ProcessorVersion to use for processing. If a Processor is specified, the server will use its default version. Format: projects/{project}/locations/{location}/processors/{processor}, or projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}", + "description": "Required. The resource name of the Processor or ProcessorVersion to use for processing. If a Processor is specified, the server will use its default version. Format: `projects/{project}/locations/{location}/processors/{processor}`, or `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+/processorVersions/[^/]+$", "required": true, @@ -453,6 +787,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "undeploy": { + "description": "Undeploys the processor version.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}:undeploy", + "httpMethod": "POST", + "id": "documentai.projects.locations.processors.processorVersions.undeploy", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The processor version resource name to be undeployed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+/processorVersions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:undeploy", + "request": { + "$ref": "GoogleCloudDocumentaiV1UndeployProcessorVersionRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } } @@ -544,7 +906,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -567,6 +929,31 @@ "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": "uiv1beta3/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "documentai.uiv1beta3.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": "uiv1beta3/{+name}:cancel", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", "flatPath": "uiv1beta3/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", @@ -591,6 +978,47 @@ "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": "uiv1beta3/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "documentai.uiv1beta3.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "uiv1beta3/{+name}", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } } @@ -601,9 +1029,79 @@ } } }, - "revision": "20210329", + "revision": "20220226", "rootUrl": "https://documentai.googleapis.com/", "schemas": { + "GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadata": { + "id": "GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "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": { + "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. go/protodosdonts#do-include-an-unspecified-value-in-an-enum", + "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" + }, "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata": { "description": "The common metadata for long running operations.", "id": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", @@ -613,6 +1111,10 @@ "format": "google-datetime", "type": "string" }, + "resource": { + "description": "A related resource to this operation.", + "type": "string" + }, "state": { "description": "The state of the operation.", "enum": [ @@ -723,6 +1225,35 @@ "properties": {}, "type": "object" }, + "GoogleCloudDocumentaiUiv1beta3DocumentId": { + "description": "Document Identifier.", + "id": "GoogleCloudDocumentaiUiv1beta3DocumentId", + "properties": { + "gcsManagedDocId": { + "$ref": "GoogleCloudDocumentaiUiv1beta3DocumentIdGCSManagedDocumentId" + }, + "revisionReference": { + "$ref": "GoogleCloudDocumentaiUiv1beta3RevisionReference", + "description": "Points to a specific revision of the document if set." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiUiv1beta3DocumentIdGCSManagedDocumentId": { + "description": "Identifies a document uniquely within the scope of a dataset in the GCS-based option.", + "id": "GoogleCloudDocumentaiUiv1beta3DocumentIdGCSManagedDocumentId", + "properties": { + "cwDocId": { + "description": "Optional. 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" + }, "GoogleCloudDocumentaiUiv1beta3EnableProcessorMetadata": { "description": "The long running operation metadata for enable processor method.", "id": "GoogleCloudDocumentaiUiv1beta3EnableProcessorMetadata", @@ -762,6 +1293,143 @@ }, "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." + }, + "individualImportStatuses": { + "description": "The list of response details of each document.", + "items": { + "$ref": "GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadataIndividualImportStatus" + }, + "type": "array" + } + }, + "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" + }, + "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" + }, + "GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadata": { + "description": "The metadata proto of ResyncDataset method.", + "id": "GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + }, + "newlyAddedDocuments": { + "description": "Returns the newly added document Cloud Storage prefix if the documents are founded in Cloud Storage while not in Document Service storage.", + "items": { + "$ref": "GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataUpdatedDocument" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataUpdatedDocument": { + "description": "The proto for updated document in resync pipeline.", + "id": "GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataUpdatedDocument", + "properties": { + "destinationPrefix": { + "description": "The prefix of cloud storage, identifies the destination document which should be updated by resync pipeline.", + "type": "string" + }, + "sourcePrefix": { + "description": "The prefix of cloud storage, identifies the original document which should be updated by resync pipeline.", + "type": "string" + }, + "status": { + "$ref": "GoogleRpcStatus", + "description": "The final status of the documents which should be updated by resync pipeline." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiUiv1beta3ResyncDatasetResponse": { + "description": "The response proto of ResyncDataset method.", + "id": "GoogleCloudDocumentaiUiv1beta3ResyncDatasetResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiUiv1beta3RevisionReference": { + "description": "The revision reference specifies which revision on the document to read.", + "id": "GoogleCloudDocumentaiUiv1beta3RevisionReference", + "properties": { + "latestProcessorVersion": { + "description": "Read the revision generated by the processor version, returns error if it does not exist.", + "type": "string" + }, + "revisionCase": { + "description": "Read the revision by the predefined case.", + "enum": [ + "REVISION_CASE_UNSPECIFIED", + "LATEST_HUMAN_REVIEW", + "LATEST_TIMESTAMP" + ], + "enumDescriptions": [ + "Unspecified case, fallback to read the first (OCR) revision.", + "The latest revision made by a human.", + "The latest revision based on timestamp." + ], + "type": "string" + }, + "revisionId": { + "description": "Read the revision given by the id, returns error if it does not exist.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDocumentaiUiv1beta3SetDefaultProcessorVersionMetadata": { "description": "The long running operation metadata for set default processor version method.", "id": "GoogleCloudDocumentaiUiv1beta3SetDefaultProcessorVersionMetadata", @@ -802,6 +1470,11 @@ "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": { @@ -809,6 +1482,11 @@ }, "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": { @@ -847,6 +1525,16 @@ "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", @@ -947,7 +1635,7 @@ "type": "string" }, "outputGcsDestination": { - "description": "The output_gcs_destination (in the request as 'output_gcs_destination') of the processed document if it was successful, otherwise empty.", + "description": "The output_gcs_destination (in the request as `output_gcs_destination`) of the processed document if it was successful, otherwise empty.", "type": "string" }, "status": { @@ -1012,6 +1700,10 @@ "format": "google-datetime", "type": "string" }, + "resource": { + "description": "A related resource to this operation.", + "type": "string" + }, "state": { "description": "The state of the operation.", "enum": [ @@ -1044,6 +1736,74 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1DeleteProcessorMetadata": { + "description": "The long running operation metadata for delete processor 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 delete processor version 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 deploy processor version method.", + "id": "GoogleCloudDocumentaiV1DeployProcessorVersionMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DeployProcessorVersionRequest": { + "description": "Request message for the deploy processor version method.", + "id": "GoogleCloudDocumentaiV1DeployProcessorVersionRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1DeployProcessorVersionResponse": { + "description": "Response message for the deploy processor version method.", + "id": "GoogleCloudDocumentaiV1DeployProcessorVersionResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1DisableProcessorMetadata": { + "description": "The long running operation metadata for disable processor method.", + "id": "GoogleCloudDocumentaiV1DisableProcessorMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DisableProcessorRequest": { + "description": "Request message for the disable processor method.", + "id": "GoogleCloudDocumentaiV1DisableProcessorRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1DisableProcessorResponse": { + "description": "Response message for the disable processor method. Intentionally empty proto for adding fields in future.", + "id": "GoogleCloudDocumentaiV1DisableProcessorResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudDocumentaiV1Document": { "description": "Document represents the canonical document resource in Document Understanding AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document Understanding AI to iterate and optimize for quality.", "id": "GoogleCloudDocumentaiV1Document", @@ -1061,7 +1821,7 @@ "type": "array" }, "entityRelations": { - "description": "Relationship among Document.entities.", + "description": "Placeholder. Relationship among Document.entities.", "items": { "$ref": "GoogleCloudDocumentaiV1DocumentEntityRelation" }, @@ -1083,7 +1843,7 @@ "type": "array" }, "revisions": { - "description": "Revision history of this document.", + "description": "Placeholder. Revision history of this document.", "items": { "$ref": "GoogleCloudDocumentaiV1DocumentRevision" }, @@ -1098,14 +1858,14 @@ "type": "string" }, "textChanges": { - "description": "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.", + "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": "GoogleCloudDocumentaiV1DocumentTextChange" }, "type": "array" }, "textStyles": { - "description": "Styles for the Document.text.", + "description": "Placeholder. Styles for the Document.text.", "items": { "$ref": "GoogleCloudDocumentaiV1DocumentStyle" }, @@ -1119,7 +1879,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1DocumentEntity": { - "description": "A phrase in the text that is a known entity type, such as a person, an organization, or location.", + "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": "GoogleCloudDocumentaiV1DocumentEntity", "properties": { "confidence": { @@ -1136,7 +1896,7 @@ "type": "string" }, "mentionText": { - "description": "Optional. Text value in the document e.g. `1600 Amphitheatre Pkwy`.", + "description": "Optional. Text value in the document e.g. `1600 Amphitheatre Pkwy`. If the entity is not present in the document, this field will be empty.", "type": "string" }, "normalizedValue": { @@ -1193,12 +1953,22 @@ "$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": "Required. Normalized entity value stored as a string. This field is populated for supported document type (e.g. Invoice). For some entity types, one of respective 'structured_value' fields may also be populated. - 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.", + "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 int 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" } }, @@ -1301,6 +2071,17 @@ }, "type": "array" }, + "provenance": { + "$ref": "GoogleCloudDocumentaiV1DocumentProvenance", + "description": "The history of this page." + }, + "symbols": { + "description": "A list of visually detected symbols on the page.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageSymbol" + }, + "type": "array" + }, "tables": { "description": "A list of visually detected tables on the page.", "items": { @@ -1354,6 +2135,11 @@ "$ref": "GoogleCloudDocumentaiV1BoundingPoly", "description": "Optional. Identifies the bounding polygon of a layout element on the page." }, + "confidence": { + "description": "Optional. Confidence of detected page element, if applicable. Range [0, 1].", + "format": "float", + "type": "number" + }, "layoutId": { "description": "Optional. Deprecated. Use PageRef.bounding_poly instead.", "type": "string" @@ -1383,7 +2169,7 @@ "type": "string" }, "page": { - "description": "Required. Index into the Document.pages element, for example using Document.pages to locate the related page element.", + "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" } @@ -1422,7 +2208,7 @@ "type": "number" }, "languageCode": { - "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", + "description": "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" } }, @@ -1453,6 +2239,14 @@ "description": "A form field detected on the page.", "id": "GoogleCloudDocumentaiV1DocumentPageFormField", "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": "GoogleCloudDocumentaiV1DocumentPageLayout", "description": "Layout for the FormField name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc." @@ -1468,6 +2262,10 @@ }, "type": "array" }, + "provenance": { + "$ref": "GoogleCloudDocumentaiV1DocumentProvenance", + "description": "The history of this annotation." + }, "valueDetectedLanguages": { "description": "A list of detected languages for value together with confidence.", "items": { @@ -1617,6 +2415,24 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1DocumentPageSymbol": { + "description": "A detected symbol.", + "id": "GoogleCloudDocumentaiV1DocumentPageSymbol", + "properties": { + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "layout": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", + "description": "Layout for Symbol." + } + }, + "type": "object" + }, "GoogleCloudDocumentaiV1DocumentPageTable": { "description": "A table representation similar to HTML table structure.", "id": "GoogleCloudDocumentaiV1DocumentPageTable", @@ -1795,11 +2611,11 @@ "EVAL_SKIPPED" ], "enumDescriptions": [ - "Operation type unspecified.", - "Add an element. Implicit if no `parents` are set for the provenance.", - "The element is removed. No `parents` should be set.", - "Explicitly replaces the element(s) identified by `parents`.", - "Element is requested for human review.", + "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`.", + "Replace an element identified by `parent`.", + "Request human review for the element identified by `parent`.", "Element is reviewed and approved at human review, confidence will be set to 1.0.", "Element is skipped in the validation process." ], @@ -1809,7 +2625,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1DocumentProvenanceParent": { - "description": "Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.", + "description": "The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.", "id": "GoogleCloudDocumentaiV1DocumentProvenanceParent", "properties": { "id": { @@ -1817,8 +2633,13 @@ "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 [Document.revisions] identifying the parent revision.", + "description": "The index of the index into current revision's parent_ids list.", "format": "int32", "type": "integer" } @@ -1854,6 +2675,13 @@ }, "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" @@ -1954,7 +2782,7 @@ "id": "GoogleCloudDocumentaiV1DocumentTextAnchor", "properties": { "content": { - "description": "Contains the content of the text span so that users do not have to look it up in the text_segments.", + "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": { @@ -2006,6 +2834,43 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1EnableProcessorMetadata": { + "description": "The long running operation metadata for enable processor method.", + "id": "GoogleCloudDocumentaiV1EnableProcessorMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1EnableProcessorRequest": { + "description": "Request message for the enable processor method.", + "id": "GoogleCloudDocumentaiV1EnableProcessorRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1EnableProcessorResponse": { + "description": "Response message for the enable processor method. Intentionally empty proto for adding fields in future.", + "id": "GoogleCloudDocumentaiV1EnableProcessorResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1FetchProcessorTypesResponse": { + "description": "Response message for fetch processor types.", + "id": "GoogleCloudDocumentaiV1FetchProcessorTypesResponse", + "properties": { + "processorTypes": { + "description": "The list of processor types.", + "items": { + "$ref": "GoogleCloudDocumentaiV1ProcessorType" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudDocumentaiV1GcsDocument": { "description": "Specifies a document stored on Cloud Storage.", "id": "GoogleCloudDocumentaiV1GcsDocument", @@ -2079,6 +2944,42 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1ListProcessorVersionsResponse": { + "description": "Response message for list processors.", + "id": "GoogleCloudDocumentaiV1ListProcessorVersionsResponse", + "properties": { + "nextPageToken": { + "description": "Points to the next processor, otherwise empty.", + "type": "string" + }, + "processorVersions": { + "description": "The list of processors.", + "items": { + "$ref": "GoogleCloudDocumentaiV1ProcessorVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1ListProcessorsResponse": { + "description": "Response message for list processors.", + "id": "GoogleCloudDocumentaiV1ListProcessorsResponse", + "properties": { + "nextPageToken": { + "description": "Points to the next processor, otherwise empty.", + "type": "string" + }, + "processors": { + "description": "The list of processors.", + "items": { + "$ref": "GoogleCloudDocumentaiV1Processor" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudDocumentaiV1NormalizedVertex": { "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": "GoogleCloudDocumentaiV1NormalizedVertex", @@ -2130,6 +3031,186 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1Processor": { + "description": "The first-class citizen for Document AI. Each processor defines how to extract structural information from a document.", + "id": "GoogleCloudDocumentaiV1Processor", + "properties": { + "createTime": { + "description": "The time the processor was created.", + "format": "google-datetime", + "type": "string" + }, + "defaultProcessorVersion": { + "description": "The default processor version.", + "type": "string" + }, + "displayName": { + "description": "The display name of the processor.", + "type": "string" + }, + "kmsKeyName": { + "description": "The KMS key used for encryption/decryption in CMEK scenarios. See https://cloud.google.com/security-key-management.", + "type": "string" + }, + "name": { + "description": "Output only. Immutable. The resource name of the processor. Format: `projects/{project}/locations/{location}/processors/{processor}`", + "readOnly": true, + "type": "string" + }, + "processEndpoint": { + "description": "Output only. Immutable. The http endpoint that can be called to invoke processing.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the processor.", + "enum": [ + "STATE_UNSPECIFIED", + "ENABLED", + "DISABLED", + "ENABLING", + "DISABLING", + "CREATING", + "FAILED", + "DELETING" + ], + "enumDescriptions": [ + "The processor is in an unspecified state.", + "The processor is enabled, i.e., has an enabled version which can currently serve processing requests and all the feature dependencies have been successfully initialized.", + "The processor is disabled.", + "The processor is being enabled, will become ENABLED if successful.", + "The processor is being disabled, will become DISABLED if successful.", + "The processor is being created, will become either ENABLED (for successful creation) or FAILED (for failed ones). Once a processor is in this state, it can then be used for document processing, but the feature dependencies of the processor might not be fully created yet.", + "The processor failed during creation or initialization of feature dependencies. The user should delete the processor and recreate one as all the functionalities of the processor are disabled.", + "The processor is being deleted, will be removed if successful." + ], + "readOnly": true, + "type": "string" + }, + "type": { + "description": "The processor type, e.g., OCR_PROCESSOR, INVOICE_PROCESSOR, etc. To get a list of processors types, see FetchProcessorTypes.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1ProcessorType": { + "description": "A processor type is responsible for performing a certain document understanding task on a certain type of document.", + "id": "GoogleCloudDocumentaiV1ProcessorType", + "properties": { + "allowCreation": { + "description": "Whether the processor type allows creation. If true, users can create a processor of this processor type. Otherwise, users need to request access.", + "type": "boolean" + }, + "availableLocations": { + "description": "The locations in which this processor is available.", + "items": { + "$ref": "GoogleCloudDocumentaiV1ProcessorTypeLocationInfo" + }, + "type": "array" + }, + "category": { + "description": "The processor category, used by UI to group processor types.", + "type": "string" + }, + "launchStage": { + "description": "Launch stage of the processor type", + "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": "The resource name of the processor type. Format: projects/{project}/processorTypes/{processor_type}", + "type": "string" + }, + "type": { + "description": "The type of the processor, e.g., \"invoice_parsing\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1ProcessorTypeLocationInfo": { + "description": "The location information about where the processor is available.", + "id": "GoogleCloudDocumentaiV1ProcessorTypeLocationInfo", + "properties": { + "locationId": { + "description": "The location id, currently must be one of [us, eu].", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1ProcessorVersion": { + "description": "A processor version is an implementation of a processor. Each processor can have multiple versions, pre-trained by Google internally or up-trained by the customer. At a time, a processor can only have one default version version. So the processor's behavior (when processing documents) is defined by a default version.", + "id": "GoogleCloudDocumentaiV1ProcessorVersion", + "properties": { + "createTime": { + "description": "The time the processor version was created.", + "format": "google-datetime", + "type": "string" + }, + "displayName": { + "description": "The display name of the processor version.", + "type": "string" + }, + "kmsKeyName": { + "description": "The KMS key name used for encryption.", + "type": "string" + }, + "kmsKeyVersionName": { + "description": "The KMS key version with which data is encrypted.", + "type": "string" + }, + "name": { + "description": "The resource name of the processor version. Format: `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processor_version}`", + "type": "string" + }, + "state": { + "description": "The state of the processor version.", + "enum": [ + "STATE_UNSPECIFIED", + "DEPLOYED", + "DEPLOYING", + "UNDEPLOYED", + "UNDEPLOYING", + "CREATING", + "DELETING", + "FAILED" + ], + "enumDescriptions": [ + "The processor version is in an unspecified state.", + "The processor version is deployed and can be used for processing.", + "The processor version is being deployed.", + "The processor version is not deployed and cannot be used for processing.", + "The processor version is being undeployed.", + "The processor version is being created.", + "The processor version is being deleted.", + "The processor version failed and is in an indeterminate state." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDocumentaiV1RawDocument": { "description": "Payload message of raw document content (bytes).", "id": "GoogleCloudDocumentaiV1RawDocument", @@ -2153,6 +3234,10 @@ "commonMetadata": { "$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", "description": "The basic metadata of the long running operation." + }, + "questionId": { + "description": "The Crowd Compute question ID.", + "type": "string" } }, "type": "object" @@ -2161,9 +3246,25 @@ "description": "Request message for review document method.", "id": "GoogleCloudDocumentaiV1ReviewDocumentRequest", "properties": { + "enableSchemaValidation": { + "description": "Whether the validation should be performed on the ad-hoc review request.", + "type": "boolean" + }, "inlineDocument": { "$ref": "GoogleCloudDocumentaiV1Document", "description": "An inline document proto." + }, + "priority": { + "description": "The priority of the human review task.", + "enum": [ + "DEFAULT", + "URGENT" + ], + "enumDescriptions": [ + "The default priority level.", + "The urgent priority level. The labeling manager should allocate labeler resource to the urgent task queue to respect this priority level." + ], + "type": "string" } }, "type": "object" @@ -2179,6 +3280,57 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1SetDefaultProcessorVersionMetadata": { + "description": "The long running operation metadata for set default processor version method.", + "id": "GoogleCloudDocumentaiV1SetDefaultProcessorVersionMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1SetDefaultProcessorVersionRequest": { + "description": "Request message for the set default processor version method.", + "id": "GoogleCloudDocumentaiV1SetDefaultProcessorVersionRequest", + "properties": { + "defaultProcessorVersion": { + "description": "Required. The resource name of child ProcessorVersion to use as default.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1SetDefaultProcessorVersionResponse": { + "description": "Response message for set default processor version method.", + "id": "GoogleCloudDocumentaiV1SetDefaultProcessorVersionResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1UndeployProcessorVersionMetadata": { + "description": "The long running operation metadata for the undeploy processor version method.", + "id": "GoogleCloudDocumentaiV1UndeployProcessorVersionMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1UndeployProcessorVersionRequest": { + "description": "Request message for the undeploy processor version method.", + "id": "GoogleCloudDocumentaiV1UndeployProcessorVersionRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1UndeployProcessorVersionResponse": { + "description": "Response message for the undeploy processor version method.", + "id": "GoogleCloudDocumentaiV1UndeployProcessorVersionResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudDocumentaiV1Vertex": { "description": "A vertex represents a 2D point in the image. NOTE: the vertex coordinates are in the same scale as the original image.", "id": "GoogleCloudDocumentaiV1Vertex", @@ -2196,6 +3348,62 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1alpha1AnalyzeHitlDataMetadata": { + "description": "The long running operation metadata for AnalyzeHitlData.", + "id": "GoogleCloudDocumentaiV1alpha1AnalyzeHitlDataMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1alpha1CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1alpha1CommonOperationMetadata": { + "description": "The common metadata for long running operations.", + "id": "GoogleCloudDocumentaiV1alpha1CommonOperationMetadata", + "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" + }, "GoogleCloudDocumentaiV1beta1BatchProcessDocumentsResponse": { "description": "Response to an batch document processing request. This is returned in the LRO Operation after the operation is complete.", "id": "GoogleCloudDocumentaiV1beta1BatchProcessDocumentsResponse", @@ -2248,7 +3456,7 @@ "type": "array" }, "entityRelations": { - "description": "Relationship among Document.entities.", + "description": "Placeholder. Relationship among Document.entities.", "items": { "$ref": "GoogleCloudDocumentaiV1beta1DocumentEntityRelation" }, @@ -2270,7 +3478,7 @@ "type": "array" }, "revisions": { - "description": "Revision history of this document.", + "description": "Placeholder. Revision history of this document.", "items": { "$ref": "GoogleCloudDocumentaiV1beta1DocumentRevision" }, @@ -2285,14 +3493,14 @@ "type": "string" }, "textChanges": { - "description": "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.", + "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": { - "description": "Styles for the Document.text.", + "description": "Placeholder. Styles for the Document.text.", "items": { "$ref": "GoogleCloudDocumentaiV1beta1DocumentStyle" }, @@ -2306,7 +3514,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1beta1DocumentEntity": { - "description": "A phrase in the text that is a known entity type, such as a person, an organization, or location.", + "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": { @@ -2323,7 +3531,7 @@ "type": "string" }, "mentionText": { - "description": "Optional. Text value in the document e.g. `1600 Amphitheatre Pkwy`.", + "description": "Optional. Text value in the document e.g. `1600 Amphitheatre Pkwy`. If the entity is not present in the document, this field will be empty.", "type": "string" }, "normalizedValue": { @@ -2380,12 +3588,22 @@ "$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": "Required. Normalized entity value stored as a string. This field is populated for supported document type (e.g. Invoice). For some entity types, one of respective 'structured_value' fields may also be populated. - 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.", + "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 int 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" } }, @@ -2466,6 +3684,17 @@ }, "type": "array" }, + "provenance": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentProvenance", + "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": { @@ -2519,6 +3748,11 @@ "$ref": "GoogleCloudDocumentaiV1beta1BoundingPoly", "description": "Optional. Identifies the bounding polygon of a layout element on the page." }, + "confidence": { + "description": "Optional. Confidence of detected page element, if applicable. Range [0, 1].", + "format": "float", + "type": "number" + }, "layoutId": { "description": "Optional. Deprecated. Use PageRef.bounding_poly instead.", "type": "string" @@ -2548,7 +3782,7 @@ "type": "string" }, "page": { - "description": "Required. Index into the Document.pages element, for example using Document.pages to locate the related page element.", + "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" } @@ -2587,7 +3821,7 @@ "type": "number" }, "languageCode": { - "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", + "description": "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" } }, @@ -2618,6 +3852,14 @@ "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." @@ -2633,6 +3875,10 @@ }, "type": "array" }, + "provenance": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentProvenance", + "description": "The history of this annotation." + }, "valueDetectedLanguages": { "description": "A list of detected languages for value together with confidence.", "items": { @@ -2782,6 +4028,24 @@ }, "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", @@ -2960,11 +4224,11 @@ "EVAL_SKIPPED" ], "enumDescriptions": [ - "Operation type unspecified.", - "Add an element. Implicit if no `parents` are set for the provenance.", - "The element is removed. No `parents` should be set.", - "Explicitly replaces the element(s) identified by `parents`.", - "Element is requested for human review.", + "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`.", + "Replace an element identified by `parent`.", + "Request human review for the element identified by `parent`.", "Element is reviewed and approved at human review, confidence will be set to 1.0.", "Element is skipped in the validation process." ], @@ -2974,7 +4238,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1beta1DocumentProvenanceParent": { - "description": "Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.", + "description": "The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.", "id": "GoogleCloudDocumentaiV1beta1DocumentProvenanceParent", "properties": { "id": { @@ -2982,8 +4246,13 @@ "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 [Document.revisions] identifying the parent revision.", + "description": "The index of the index into current revision's parent_ids list.", "format": "int32", "type": "integer" } @@ -3019,6 +4288,13 @@ }, "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" @@ -3119,7 +4395,7 @@ "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.", + "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": { @@ -3366,7 +4642,7 @@ "type": "array" }, "entityRelations": { - "description": "Relationship among Document.entities.", + "description": "Placeholder. Relationship among Document.entities.", "items": { "$ref": "GoogleCloudDocumentaiV1beta2DocumentEntityRelation" }, @@ -3395,7 +4671,7 @@ "type": "array" }, "revisions": { - "description": "Revision history of this document.", + "description": "Placeholder. Revision history of this document.", "items": { "$ref": "GoogleCloudDocumentaiV1beta2DocumentRevision" }, @@ -3410,14 +4686,14 @@ "type": "string" }, "textChanges": { - "description": "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.", + "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": { - "description": "Styles for the Document.text.", + "description": "Placeholder. Styles for the Document.text.", "items": { "$ref": "GoogleCloudDocumentaiV1beta2DocumentStyle" }, @@ -3431,7 +4707,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1beta2DocumentEntity": { - "description": "A phrase in the text that is a known entity type, such as a person, an organization, or location.", + "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": { @@ -3448,7 +4724,7 @@ "type": "string" }, "mentionText": { - "description": "Optional. Text value in the document e.g. `1600 Amphitheatre Pkwy`.", + "description": "Optional. Text value in the document e.g. `1600 Amphitheatre Pkwy`. If the entity is not present in the document, this field will be empty.", "type": "string" }, "normalizedValue": { @@ -3505,12 +4781,22 @@ "$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": "Required. Normalized entity value stored as a string. This field is populated for supported document type (e.g. Invoice). For some entity types, one of respective 'structured_value' fields may also be populated. - 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.", + "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 int 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" } }, @@ -3611,6 +4897,17 @@ }, "type": "array" }, + "provenance": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentProvenance", + "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": { @@ -3664,6 +4961,11 @@ "$ref": "GoogleCloudDocumentaiV1beta2BoundingPoly", "description": "Optional. Identifies the bounding polygon of a layout element on the page." }, + "confidence": { + "description": "Optional. Confidence of detected page element, if applicable. Range [0, 1].", + "format": "float", + "type": "number" + }, "layoutId": { "description": "Optional. Deprecated. Use PageRef.bounding_poly instead.", "type": "string" @@ -3693,7 +4995,7 @@ "type": "string" }, "page": { - "description": "Required. Index into the Document.pages element, for example using Document.pages to locate the related page element.", + "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" } @@ -3732,7 +5034,7 @@ "type": "number" }, "languageCode": { - "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", + "description": "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" } }, @@ -3763,6 +5065,14 @@ "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." @@ -3778,6 +5088,10 @@ }, "type": "array" }, + "provenance": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentProvenance", + "description": "The history of this annotation." + }, "valueDetectedLanguages": { "description": "A list of detected languages for value together with confidence.", "items": { @@ -3927,6 +5241,24 @@ }, "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", @@ -4105,11 +5437,11 @@ "EVAL_SKIPPED" ], "enumDescriptions": [ - "Operation type unspecified.", - "Add an element. Implicit if no `parents` are set for the provenance.", - "The element is removed. No `parents` should be set.", - "Explicitly replaces the element(s) identified by `parents`.", - "Element is requested for human review.", + "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`.", + "Replace an element identified by `parent`.", + "Request human review for the element identified by `parent`.", "Element is reviewed and approved at human review, confidence will be set to 1.0.", "Element is skipped in the validation process." ], @@ -4119,7 +5451,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1beta2DocumentProvenanceParent": { - "description": "Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.", + "description": "The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.", "id": "GoogleCloudDocumentaiV1beta2DocumentProvenanceParent", "properties": { "id": { @@ -4127,8 +5459,13 @@ "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 [Document.revisions] identifying the parent revision.", + "description": "The index of the index into current revision's parent_ids list.", "format": "int32", "type": "integer" } @@ -4164,6 +5501,13 @@ }, "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" @@ -4264,7 +5608,7 @@ "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.", + "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": { @@ -4531,7 +5875,7 @@ "type": "string" }, "outputGcsDestination": { - "description": "The output_gcs_destination (in the request as 'output_gcs_destination') of the processed document if it was successful, otherwise empty.", + "description": "The output_gcs_destination (in the request as `output_gcs_destination`) of the processed document if it was successful, otherwise empty.", "type": "string" }, "status": { @@ -4556,6 +5900,10 @@ "format": "google-datetime", "type": "string" }, + "resource": { + "description": "A related resource to this operation.", + "type": "string" + }, "state": { "description": "The state of the operation.", "enum": [ @@ -4588,6 +5936,79 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1beta3DeleteProcessorMetadata": { + "description": "The long running operation metadata for delete processor 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 delete processor version 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 deploy processor version method.", + "id": "GoogleCloudDocumentaiV1beta3DeployProcessorVersionMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3DeployProcessorVersionResponse": { + "description": "Response message for the deploy processor version method.", + "id": "GoogleCloudDocumentaiV1beta3DeployProcessorVersionResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3DisableProcessorMetadata": { + "description": "The long running operation metadata for disable processor method.", + "id": "GoogleCloudDocumentaiV1beta3DisableProcessorMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3DisableProcessorResponse": { + "description": "Response message for the disable processor method. Intentionally empty proto for adding fields in future.", + "id": "GoogleCloudDocumentaiV1beta3DisableProcessorResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3EnableProcessorMetadata": { + "description": "The long running operation metadata for enable processor method.", + "id": "GoogleCloudDocumentaiV1beta3EnableProcessorMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3EnableProcessorResponse": { + "description": "Response message for the enable processor method. Intentionally empty proto for adding fields in future.", + "id": "GoogleCloudDocumentaiV1beta3EnableProcessorResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudDocumentaiV1beta3HumanReviewStatus": { "description": "The status of human review on a processed document.", "id": "GoogleCloudDocumentaiV1beta3HumanReviewStatus", @@ -4634,6 +6055,10 @@ "format": "google-datetime", "type": "string" }, + "questionId": { + "description": "The Crowd Compute question ID.", + "type": "string" + }, "state": { "description": "Used only when Operation.done is false.", "enum": [ @@ -4677,6 +6102,40 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionMetadata": { + "description": "The long running operation metadata for set default processor version method.", + "id": "GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionResponse": { + "description": "Response message for set default processor version method.", + "id": "GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3UndeployProcessorVersionMetadata": { + "description": "The long running operation metadata for the undeploy processor version method.", + "id": "GoogleCloudDocumentaiV1beta3UndeployProcessorVersionMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3UndeployProcessorVersionResponse": { + "description": "Response message for the undeploy processor version method.", + "id": "GoogleCloudDocumentaiV1beta3UndeployProcessorVersionResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudLocationListLocationsResponse": { "description": "The response message for Locations.ListLocations.", "id": "GoogleCloudLocationListLocationsResponse", @@ -4729,12 +6188,6 @@ }, "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", @@ -4849,7 +6302,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "GoogleTypeDate", "properties": { "day": { @@ -4981,7 +6434,7 @@ "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 http://cldr.unicode.org/ and http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: \"CH\" for Switzerland.", + "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": { diff --git a/etc/api/documentai/v1beta2/documentai-api.json b/etc/api/documentai/v1beta2/documentai-api.json index e60cedda1d..1dbe8d70e9 100644 --- a/etc/api/documentai/v1beta2/documentai-api.json +++ b/etc/api/documentai/v1beta2/documentai-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -292,9 +292,79 @@ } } }, - "revision": "20210329", + "revision": "20220226", "rootUrl": "https://documentai.googleapis.com/", "schemas": { + "GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadata": { + "id": "GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "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": { + "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. go/protodosdonts#do-include-an-unspecified-value-in-an-enum", + "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" + }, "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata": { "description": "The common metadata for long running operations.", "id": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", @@ -304,6 +374,10 @@ "format": "google-datetime", "type": "string" }, + "resource": { + "description": "A related resource to this operation.", + "type": "string" + }, "state": { "description": "The state of the operation.", "enum": [ @@ -414,6 +488,35 @@ "properties": {}, "type": "object" }, + "GoogleCloudDocumentaiUiv1beta3DocumentId": { + "description": "Document Identifier.", + "id": "GoogleCloudDocumentaiUiv1beta3DocumentId", + "properties": { + "gcsManagedDocId": { + "$ref": "GoogleCloudDocumentaiUiv1beta3DocumentIdGCSManagedDocumentId" + }, + "revisionReference": { + "$ref": "GoogleCloudDocumentaiUiv1beta3RevisionReference", + "description": "Points to a specific revision of the document if set." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiUiv1beta3DocumentIdGCSManagedDocumentId": { + "description": "Identifies a document uniquely within the scope of a dataset in the GCS-based option.", + "id": "GoogleCloudDocumentaiUiv1beta3DocumentIdGCSManagedDocumentId", + "properties": { + "cwDocId": { + "description": "Optional. 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" + }, "GoogleCloudDocumentaiUiv1beta3EnableProcessorMetadata": { "description": "The long running operation metadata for enable processor method.", "id": "GoogleCloudDocumentaiUiv1beta3EnableProcessorMetadata", @@ -453,6 +556,143 @@ }, "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." + }, + "individualImportStatuses": { + "description": "The list of response details of each document.", + "items": { + "$ref": "GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadataIndividualImportStatus" + }, + "type": "array" + } + }, + "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" + }, + "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" + }, + "GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadata": { + "description": "The metadata proto of ResyncDataset method.", + "id": "GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + }, + "newlyAddedDocuments": { + "description": "Returns the newly added document Cloud Storage prefix if the documents are founded in Cloud Storage while not in Document Service storage.", + "items": { + "$ref": "GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataUpdatedDocument" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataUpdatedDocument": { + "description": "The proto for updated document in resync pipeline.", + "id": "GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataUpdatedDocument", + "properties": { + "destinationPrefix": { + "description": "The prefix of cloud storage, identifies the destination document which should be updated by resync pipeline.", + "type": "string" + }, + "sourcePrefix": { + "description": "The prefix of cloud storage, identifies the original document which should be updated by resync pipeline.", + "type": "string" + }, + "status": { + "$ref": "GoogleRpcStatus", + "description": "The final status of the documents which should be updated by resync pipeline." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiUiv1beta3ResyncDatasetResponse": { + "description": "The response proto of ResyncDataset method.", + "id": "GoogleCloudDocumentaiUiv1beta3ResyncDatasetResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiUiv1beta3RevisionReference": { + "description": "The revision reference specifies which revision on the document to read.", + "id": "GoogleCloudDocumentaiUiv1beta3RevisionReference", + "properties": { + "latestProcessorVersion": { + "description": "Read the revision generated by the processor version, returns error if it does not exist.", + "type": "string" + }, + "revisionCase": { + "description": "Read the revision by the predefined case.", + "enum": [ + "REVISION_CASE_UNSPECIFIED", + "LATEST_HUMAN_REVIEW", + "LATEST_TIMESTAMP" + ], + "enumDescriptions": [ + "Unspecified case, fallback to read the first (OCR) revision.", + "The latest revision made by a human.", + "The latest revision based on timestamp." + ], + "type": "string" + }, + "revisionId": { + "description": "Read the revision given by the id, returns error if it does not exist.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDocumentaiUiv1beta3SetDefaultProcessorVersionMetadata": { "description": "The long running operation metadata for set default processor version method.", "id": "GoogleCloudDocumentaiUiv1beta3SetDefaultProcessorVersionMetadata", @@ -493,6 +733,11 @@ "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": { @@ -500,6 +745,11 @@ }, "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": { @@ -538,6 +788,16 @@ "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", @@ -623,7 +883,7 @@ "type": "string" }, "outputGcsDestination": { - "description": "The output_gcs_destination (in the request as 'output_gcs_destination') of the processed document if it was successful, otherwise empty.", + "description": "The output_gcs_destination (in the request as `output_gcs_destination`) of the processed document if it was successful, otherwise empty.", "type": "string" }, "status": { @@ -648,6 +908,10 @@ "format": "google-datetime", "type": "string" }, + "resource": { + "description": "A related resource to this operation.", + "type": "string" + }, "state": { "description": "The state of the operation.", "enum": [ @@ -680,6 +944,79 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1DeleteProcessorMetadata": { + "description": "The long running operation metadata for delete processor 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 delete processor version 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 deploy processor version method.", + "id": "GoogleCloudDocumentaiV1DeployProcessorVersionMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DeployProcessorVersionResponse": { + "description": "Response message for the deploy processor version method.", + "id": "GoogleCloudDocumentaiV1DeployProcessorVersionResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1DisableProcessorMetadata": { + "description": "The long running operation metadata for disable processor method.", + "id": "GoogleCloudDocumentaiV1DisableProcessorMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DisableProcessorResponse": { + "description": "Response message for the disable processor method. Intentionally empty proto for adding fields in future.", + "id": "GoogleCloudDocumentaiV1DisableProcessorResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1EnableProcessorMetadata": { + "description": "The long running operation metadata for enable processor method.", + "id": "GoogleCloudDocumentaiV1EnableProcessorMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1EnableProcessorResponse": { + "description": "Response message for the enable processor method. Intentionally empty proto for adding fields in future.", + "id": "GoogleCloudDocumentaiV1EnableProcessorResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudDocumentaiV1HumanReviewStatus": { "description": "The status of human review on a processed document.", "id": "GoogleCloudDocumentaiV1HumanReviewStatus", @@ -720,6 +1057,10 @@ "commonMetadata": { "$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", "description": "The basic metadata of the long running operation." + }, + "questionId": { + "description": "The Crowd Compute question ID.", + "type": "string" } }, "type": "object" @@ -735,6 +1076,96 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1SetDefaultProcessorVersionMetadata": { + "description": "The long running operation metadata for set default processor version method.", + "id": "GoogleCloudDocumentaiV1SetDefaultProcessorVersionMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1SetDefaultProcessorVersionResponse": { + "description": "Response message for set default processor version method.", + "id": "GoogleCloudDocumentaiV1SetDefaultProcessorVersionResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1UndeployProcessorVersionMetadata": { + "description": "The long running operation metadata for the undeploy processor version method.", + "id": "GoogleCloudDocumentaiV1UndeployProcessorVersionMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1UndeployProcessorVersionResponse": { + "description": "Response message for the undeploy processor version method.", + "id": "GoogleCloudDocumentaiV1UndeployProcessorVersionResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1alpha1AnalyzeHitlDataMetadata": { + "description": "The long running operation metadata for AnalyzeHitlData.", + "id": "GoogleCloudDocumentaiV1alpha1AnalyzeHitlDataMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1alpha1CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1alpha1CommonOperationMetadata": { + "description": "The common metadata for long running operations.", + "id": "GoogleCloudDocumentaiV1alpha1CommonOperationMetadata", + "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" + }, "GoogleCloudDocumentaiV1beta1BatchProcessDocumentsResponse": { "description": "Response to an batch document processing request. This is returned in the LRO Operation after the operation is complete.", "id": "GoogleCloudDocumentaiV1beta1BatchProcessDocumentsResponse", @@ -787,7 +1218,7 @@ "type": "array" }, "entityRelations": { - "description": "Relationship among Document.entities.", + "description": "Placeholder. Relationship among Document.entities.", "items": { "$ref": "GoogleCloudDocumentaiV1beta1DocumentEntityRelation" }, @@ -809,7 +1240,7 @@ "type": "array" }, "revisions": { - "description": "Revision history of this document.", + "description": "Placeholder. Revision history of this document.", "items": { "$ref": "GoogleCloudDocumentaiV1beta1DocumentRevision" }, @@ -824,14 +1255,14 @@ "type": "string" }, "textChanges": { - "description": "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.", + "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": { - "description": "Styles for the Document.text.", + "description": "Placeholder. Styles for the Document.text.", "items": { "$ref": "GoogleCloudDocumentaiV1beta1DocumentStyle" }, @@ -845,7 +1276,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1beta1DocumentEntity": { - "description": "A phrase in the text that is a known entity type, such as a person, an organization, or location.", + "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": { @@ -862,7 +1293,7 @@ "type": "string" }, "mentionText": { - "description": "Optional. Text value in the document e.g. `1600 Amphitheatre Pkwy`.", + "description": "Optional. Text value in the document e.g. `1600 Amphitheatre Pkwy`. If the entity is not present in the document, this field will be empty.", "type": "string" }, "normalizedValue": { @@ -919,12 +1350,22 @@ "$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": "Required. Normalized entity value stored as a string. This field is populated for supported document type (e.g. Invoice). For some entity types, one of respective 'structured_value' fields may also be populated. - 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.", + "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 int 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" } }, @@ -1005,6 +1446,17 @@ }, "type": "array" }, + "provenance": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentProvenance", + "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": { @@ -1058,6 +1510,11 @@ "$ref": "GoogleCloudDocumentaiV1beta1BoundingPoly", "description": "Optional. Identifies the bounding polygon of a layout element on the page." }, + "confidence": { + "description": "Optional. Confidence of detected page element, if applicable. Range [0, 1].", + "format": "float", + "type": "number" + }, "layoutId": { "description": "Optional. Deprecated. Use PageRef.bounding_poly instead.", "type": "string" @@ -1087,7 +1544,7 @@ "type": "string" }, "page": { - "description": "Required. Index into the Document.pages element, for example using Document.pages to locate the related page element.", + "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" } @@ -1126,7 +1583,7 @@ "type": "number" }, "languageCode": { - "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", + "description": "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" } }, @@ -1157,6 +1614,14 @@ "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." @@ -1172,6 +1637,10 @@ }, "type": "array" }, + "provenance": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentProvenance", + "description": "The history of this annotation." + }, "valueDetectedLanguages": { "description": "A list of detected languages for value together with confidence.", "items": { @@ -1321,6 +1790,24 @@ }, "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", @@ -1499,11 +1986,11 @@ "EVAL_SKIPPED" ], "enumDescriptions": [ - "Operation type unspecified.", - "Add an element. Implicit if no `parents` are set for the provenance.", - "The element is removed. No `parents` should be set.", - "Explicitly replaces the element(s) identified by `parents`.", - "Element is requested for human review.", + "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`.", + "Replace an element identified by `parent`.", + "Request human review for the element identified by `parent`.", "Element is reviewed and approved at human review, confidence will be set to 1.0.", "Element is skipped in the validation process." ], @@ -1513,7 +2000,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1beta1DocumentProvenanceParent": { - "description": "Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.", + "description": "The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.", "id": "GoogleCloudDocumentaiV1beta1DocumentProvenanceParent", "properties": { "id": { @@ -1521,8 +2008,13 @@ "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 [Document.revisions] identifying the parent revision.", + "description": "The index of the index into current revision's parent_ids list.", "format": "int32", "type": "integer" } @@ -1558,6 +2050,13 @@ }, "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" @@ -1658,7 +2157,7 @@ "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.", + "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": { @@ -1930,7 +2429,7 @@ "type": "array" }, "entityRelations": { - "description": "Relationship among Document.entities.", + "description": "Placeholder. Relationship among Document.entities.", "items": { "$ref": "GoogleCloudDocumentaiV1beta2DocumentEntityRelation" }, @@ -1959,7 +2458,7 @@ "type": "array" }, "revisions": { - "description": "Revision history of this document.", + "description": "Placeholder. Revision history of this document.", "items": { "$ref": "GoogleCloudDocumentaiV1beta2DocumentRevision" }, @@ -1974,14 +2473,14 @@ "type": "string" }, "textChanges": { - "description": "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.", + "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": { - "description": "Styles for the Document.text.", + "description": "Placeholder. Styles for the Document.text.", "items": { "$ref": "GoogleCloudDocumentaiV1beta2DocumentStyle" }, @@ -1995,7 +2494,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1beta2DocumentEntity": { - "description": "A phrase in the text that is a known entity type, such as a person, an organization, or location.", + "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": { @@ -2012,7 +2511,7 @@ "type": "string" }, "mentionText": { - "description": "Optional. Text value in the document e.g. `1600 Amphitheatre Pkwy`.", + "description": "Optional. Text value in the document e.g. `1600 Amphitheatre Pkwy`. If the entity is not present in the document, this field will be empty.", "type": "string" }, "normalizedValue": { @@ -2069,12 +2568,22 @@ "$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": "Required. Normalized entity value stored as a string. This field is populated for supported document type (e.g. Invoice). For some entity types, one of respective 'structured_value' fields may also be populated. - 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.", + "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 int 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" } }, @@ -2175,6 +2684,17 @@ }, "type": "array" }, + "provenance": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentProvenance", + "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": { @@ -2228,6 +2748,11 @@ "$ref": "GoogleCloudDocumentaiV1beta2BoundingPoly", "description": "Optional. Identifies the bounding polygon of a layout element on the page." }, + "confidence": { + "description": "Optional. Confidence of detected page element, if applicable. Range [0, 1].", + "format": "float", + "type": "number" + }, "layoutId": { "description": "Optional. Deprecated. Use PageRef.bounding_poly instead.", "type": "string" @@ -2257,7 +2782,7 @@ "type": "string" }, "page": { - "description": "Required. Index into the Document.pages element, for example using Document.pages to locate the related page element.", + "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" } @@ -2296,7 +2821,7 @@ "type": "number" }, "languageCode": { - "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", + "description": "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" } }, @@ -2327,6 +2852,14 @@ "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." @@ -2342,6 +2875,10 @@ }, "type": "array" }, + "provenance": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentProvenance", + "description": "The history of this annotation." + }, "valueDetectedLanguages": { "description": "A list of detected languages for value together with confidence.", "items": { @@ -2491,6 +3028,24 @@ }, "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", @@ -2669,11 +3224,11 @@ "EVAL_SKIPPED" ], "enumDescriptions": [ - "Operation type unspecified.", - "Add an element. Implicit if no `parents` are set for the provenance.", - "The element is removed. No `parents` should be set.", - "Explicitly replaces the element(s) identified by `parents`.", - "Element is requested for human review.", + "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`.", + "Replace an element identified by `parent`.", + "Request human review for the element identified by `parent`.", "Element is reviewed and approved at human review, confidence will be set to 1.0.", "Element is skipped in the validation process." ], @@ -2683,7 +3238,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1beta2DocumentProvenanceParent": { - "description": "Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.", + "description": "The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.", "id": "GoogleCloudDocumentaiV1beta2DocumentProvenanceParent", "properties": { "id": { @@ -2691,8 +3246,13 @@ "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 [Document.revisions] identifying the parent revision.", + "description": "The index of the index into current revision's parent_ids list.", "format": "int32", "type": "integer" } @@ -2728,6 +3288,13 @@ }, "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" @@ -2828,7 +3395,7 @@ "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.", + "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": { @@ -2911,7 +3478,7 @@ "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: \u201ccustom/{model_name}\". Model name format is \"bucket_name/path/to/modeldir\" corresponding to \"gs://bucket_name/path/to/modeldir\" where annotated examples are stored.", + "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" } }, @@ -3252,7 +3819,7 @@ "type": "string" }, "outputGcsDestination": { - "description": "The output_gcs_destination (in the request as 'output_gcs_destination') of the processed document if it was successful, otherwise empty.", + "description": "The output_gcs_destination (in the request as `output_gcs_destination`) of the processed document if it was successful, otherwise empty.", "type": "string" }, "status": { @@ -3277,6 +3844,10 @@ "format": "google-datetime", "type": "string" }, + "resource": { + "description": "A related resource to this operation.", + "type": "string" + }, "state": { "description": "The state of the operation.", "enum": [ @@ -3309,6 +3880,79 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1beta3DeleteProcessorMetadata": { + "description": "The long running operation metadata for delete processor 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 delete processor version 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 deploy processor version method.", + "id": "GoogleCloudDocumentaiV1beta3DeployProcessorVersionMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3DeployProcessorVersionResponse": { + "description": "Response message for the deploy processor version method.", + "id": "GoogleCloudDocumentaiV1beta3DeployProcessorVersionResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3DisableProcessorMetadata": { + "description": "The long running operation metadata for disable processor method.", + "id": "GoogleCloudDocumentaiV1beta3DisableProcessorMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3DisableProcessorResponse": { + "description": "Response message for the disable processor method. Intentionally empty proto for adding fields in future.", + "id": "GoogleCloudDocumentaiV1beta3DisableProcessorResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3EnableProcessorMetadata": { + "description": "The long running operation metadata for enable processor method.", + "id": "GoogleCloudDocumentaiV1beta3EnableProcessorMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3EnableProcessorResponse": { + "description": "Response message for the enable processor method. Intentionally empty proto for adding fields in future.", + "id": "GoogleCloudDocumentaiV1beta3EnableProcessorResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudDocumentaiV1beta3HumanReviewStatus": { "description": "The status of human review on a processed document.", "id": "GoogleCloudDocumentaiV1beta3HumanReviewStatus", @@ -3355,6 +3999,10 @@ "format": "google-datetime", "type": "string" }, + "questionId": { + "description": "The Crowd Compute question ID.", + "type": "string" + }, "state": { "description": "Used only when Operation.done is false.", "enum": [ @@ -3398,6 +4046,40 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionMetadata": { + "description": "The long running operation metadata for set default processor version method.", + "id": "GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionResponse": { + "description": "Response message for set default processor version method.", + "id": "GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3UndeployProcessorVersionMetadata": { + "description": "The long running operation metadata for the undeploy processor version method.", + "id": "GoogleCloudDocumentaiV1beta3UndeployProcessorVersionMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3UndeployProcessorVersionResponse": { + "description": "Response message for the undeploy processor version method.", + "id": "GoogleCloudDocumentaiV1beta3UndeployProcessorVersionResponse", + "properties": {}, + "type": "object" + }, "GoogleLongrunningOperation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "GoogleLongrunningOperation", @@ -3494,7 +4176,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "GoogleTypeDate", "properties": { "day": { @@ -3626,7 +4308,7 @@ "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 http://cldr.unicode.org/ and http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: \"CH\" for Switzerland.", + "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": { diff --git a/etc/api/documentai/v1beta3/documentai-api.json b/etc/api/documentai/v1beta3/documentai-api.json index b5a2a975d4..48d8628884 100644 --- a/etc/api/documentai/v1beta3/documentai-api.json +++ b/etc/api/documentai/v1beta3/documentai-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -109,6 +109,31 @@ "resources": { "locations": { "methods": { + "fetchProcessorTypes": { + "description": "Fetches processor types. Note that we do not use ListProcessorTypes here because it is not paginated.", + "flatPath": "v1beta3/projects/{projectsId}/locations/{locationsId}:fetchProcessorTypes", + "httpMethod": "GET", + "id": "documentai.projects.locations.fetchProcessorTypes", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The project of processor type to list. The available processor types may depend on the allow-listing on projects. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta3/{+parent}:fetchProcessorTypes", + "response": { + "$ref": "GoogleCloudDocumentaiV1beta3FetchProcessorTypesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Gets information about a location.", "flatPath": "v1beta3/projects/{projectsId}/locations/{locationsId}", @@ -156,7 +181,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -179,6 +204,31 @@ "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": "v1beta3/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "documentai.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": "v1beta3/{+name}:cancel", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", "flatPath": "v1beta3/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", @@ -203,6 +253,47 @@ "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": "v1beta3/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "documentai.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta3/{+name}", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } }, @@ -218,7 +309,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of Processor or ProcessorVersion. Format: projects/{project}/locations/{location}/processors/{processor}, or projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}", + "description": "Required. The resource name of Processor or ProcessorVersion. Format: `projects/{project}/locations/{location}/processors/{processor}`, or `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+$", "required": true, @@ -236,6 +327,176 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "create": { + "description": "Creates a processor from the type processor that the user chose. The processor will be at \"ENABLED\" state by default after its creation.", + "flatPath": "v1beta3/projects/{projectsId}/locations/{locationsId}/processors", + "httpMethod": "POST", + "id": "documentai.projects.locations.processors.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent (project and location) under which to create the processor. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta3/{+parent}/processors", + "request": { + "$ref": "GoogleCloudDocumentaiV1beta3Processor" + }, + "response": { + "$ref": "GoogleCloudDocumentaiV1beta3Processor" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the processor, unloads all deployed model artifacts if it was enabled and then deletes all artifacts associated with this processor.", + "flatPath": "v1beta3/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}", + "httpMethod": "DELETE", + "id": "documentai.projects.locations.processors.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The processor resource name to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta3/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "disable": { + "description": "Disables a processor", + "flatPath": "v1beta3/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}:disable", + "httpMethod": "POST", + "id": "documentai.projects.locations.processors.disable", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The processor resource name to be disabled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta3/{+name}:disable", + "request": { + "$ref": "GoogleCloudDocumentaiV1beta3DisableProcessorRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "enable": { + "description": "Enables a processor", + "flatPath": "v1beta3/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}:enable", + "httpMethod": "POST", + "id": "documentai.projects.locations.processors.enable", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The processor resource name to be enabled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta3/{+name}:enable", + "request": { + "$ref": "GoogleCloudDocumentaiV1beta3EnableProcessorRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a processor detail.", + "flatPath": "v1beta3/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}", + "httpMethod": "GET", + "id": "documentai.projects.locations.processors.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The processor resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta3/{+name}", + "response": { + "$ref": "GoogleCloudDocumentaiV1beta3Processor" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all processors which belong to this project.", + "flatPath": "v1beta3/projects/{projectsId}/locations/{locationsId}/processors", + "httpMethod": "GET", + "id": "documentai.projects.locations.processors.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of processors to return. If unspecified, at most 50 processors will be returned. The maximum value is 100; values above 100 will be coerced to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "We will return the processors sorted by creation time. The page token will point to the next processor.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent (project and location) which owns this collection of Processors. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta3/{+parent}/processors", + "response": { + "$ref": "GoogleCloudDocumentaiV1beta3ListProcessorsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "process": { "description": "Processes a single document.", "flatPath": "v1beta3/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}:process", @@ -246,7 +507,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the Processor or ProcessorVersion to use for processing. If a Processor is specified, the server will use its default version. Format: projects/{project}/locations/{location}/processors/{processor}, or projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}", + "description": "Required. The resource name of the Processor or ProcessorVersion to use for processing. If a Processor is specified, the server will use its default version. Format: `projects/{project}/locations/{location}/processors/{processor}`, or `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+$", "required": true, @@ -263,6 +524,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "setDefaultProcessorVersion": { + "description": "Set the default (active) version of a Processor that will be used in ProcessDocument and BatchProcessDocuments.", + "flatPath": "v1beta3/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}:setDefaultProcessorVersion", + "httpMethod": "POST", + "id": "documentai.projects.locations.processors.setDefaultProcessorVersion", + "parameterOrder": [ + "processor" + ], + "parameters": { + "processor": { + "description": "Required. The resource name of the Processor to change default version.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta3/{+processor}:setDefaultProcessorVersion", + "request": { + "$ref": "GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -310,7 +599,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of Processor or ProcessorVersion. Format: projects/{project}/locations/{location}/processors/{processor}, or projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}", + "description": "Required. The resource name of Processor or ProcessorVersion. Format: `projects/{project}/locations/{location}/processors/{processor}`, or `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+/processorVersions/[^/]+$", "required": true, @@ -328,6 +617,120 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "delete": { + "description": "Deletes the processor version, all artifacts under the processor version will be deleted.", + "flatPath": "v1beta3/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}", + "httpMethod": "DELETE", + "id": "documentai.projects.locations.processors.processorVersions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The processor version resource name to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+/processorVersions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta3/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "deploy": { + "description": "Deploys the processor version.", + "flatPath": "v1beta3/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}:deploy", + "httpMethod": "POST", + "id": "documentai.projects.locations.processors.processorVersions.deploy", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The processor version resource name to be deployed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+/processorVersions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta3/{+name}:deploy", + "request": { + "$ref": "GoogleCloudDocumentaiV1beta3DeployProcessorVersionRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a processor version detail.", + "flatPath": "v1beta3/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}", + "httpMethod": "GET", + "id": "documentai.projects.locations.processors.processorVersions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The processor resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+/processorVersions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta3/{+name}", + "response": { + "$ref": "GoogleCloudDocumentaiV1beta3ProcessorVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all versions of a processor.", + "flatPath": "v1beta3/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions", + "httpMethod": "GET", + "id": "documentai.projects.locations.processors.processorVersions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of processor versions to return. If unspecified, at most 10 processor versions will be returned. The maximum value is 20; values above 20 will be coerced to 20.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "We will return the processor versions sorted by creation time. The page token will point to the next processor version.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent (project, location and processor) to list all versions. Format: `projects/{project}/locations/{location}/processors/{processor}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta3/{+parent}/processorVersions", + "response": { + "$ref": "GoogleCloudDocumentaiV1beta3ListProcessorVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "process": { "description": "Processes a single document.", "flatPath": "v1beta3/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}:process", @@ -338,7 +741,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the Processor or ProcessorVersion to use for processing. If a Processor is specified, the server will use its default version. Format: projects/{project}/locations/{location}/processors/{processor}, or projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}", + "description": "Required. The resource name of the Processor or ProcessorVersion to use for processing. If a Processor is specified, the server will use its default version. Format: `projects/{project}/locations/{location}/processors/{processor}`, or `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+/processorVersions/[^/]+$", "required": true, @@ -355,6 +758,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "undeploy": { + "description": "Undeploys the processor version.", + "flatPath": "v1beta3/projects/{projectsId}/locations/{locationsId}/processors/{processorsId}/processorVersions/{processorVersionsId}:undeploy", + "httpMethod": "POST", + "id": "documentai.projects.locations.processors.processorVersions.undeploy", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The processor version resource name to be undeployed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/processors/[^/]+/processorVersions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta3/{+name}:undeploy", + "request": { + "$ref": "GoogleCloudDocumentaiV1beta3UndeployProcessorVersionRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } } @@ -365,9 +796,79 @@ } } }, - "revision": "20210329", + "revision": "20220226", "rootUrl": "https://documentai.googleapis.com/", "schemas": { + "GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadata": { + "id": "GoogleCloudDocumentaiUiv1beta3BatchDeleteDocumentsMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "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": { + "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. go/protodosdonts#do-include-an-unspecified-value-in-an-enum", + "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" + }, "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata": { "description": "The common metadata for long running operations.", "id": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", @@ -377,6 +878,10 @@ "format": "google-datetime", "type": "string" }, + "resource": { + "description": "A related resource to this operation.", + "type": "string" + }, "state": { "description": "The state of the operation.", "enum": [ @@ -487,6 +992,35 @@ "properties": {}, "type": "object" }, + "GoogleCloudDocumentaiUiv1beta3DocumentId": { + "description": "Document Identifier.", + "id": "GoogleCloudDocumentaiUiv1beta3DocumentId", + "properties": { + "gcsManagedDocId": { + "$ref": "GoogleCloudDocumentaiUiv1beta3DocumentIdGCSManagedDocumentId" + }, + "revisionReference": { + "$ref": "GoogleCloudDocumentaiUiv1beta3RevisionReference", + "description": "Points to a specific revision of the document if set." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiUiv1beta3DocumentIdGCSManagedDocumentId": { + "description": "Identifies a document uniquely within the scope of a dataset in the GCS-based option.", + "id": "GoogleCloudDocumentaiUiv1beta3DocumentIdGCSManagedDocumentId", + "properties": { + "cwDocId": { + "description": "Optional. 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" + }, "GoogleCloudDocumentaiUiv1beta3EnableProcessorMetadata": { "description": "The long running operation metadata for enable processor method.", "id": "GoogleCloudDocumentaiUiv1beta3EnableProcessorMetadata", @@ -526,6 +1060,143 @@ }, "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." + }, + "individualImportStatuses": { + "description": "The list of response details of each document.", + "items": { + "$ref": "GoogleCloudDocumentaiUiv1beta3ImportDocumentsMetadataIndividualImportStatus" + }, + "type": "array" + } + }, + "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" + }, + "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" + }, + "GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadata": { + "description": "The metadata proto of ResyncDataset method.", + "id": "GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + }, + "newlyAddedDocuments": { + "description": "Returns the newly added document Cloud Storage prefix if the documents are founded in Cloud Storage while not in Document Service storage.", + "items": { + "$ref": "GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataUpdatedDocument" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataUpdatedDocument": { + "description": "The proto for updated document in resync pipeline.", + "id": "GoogleCloudDocumentaiUiv1beta3ResyncDatasetMetadataUpdatedDocument", + "properties": { + "destinationPrefix": { + "description": "The prefix of cloud storage, identifies the destination document which should be updated by resync pipeline.", + "type": "string" + }, + "sourcePrefix": { + "description": "The prefix of cloud storage, identifies the original document which should be updated by resync pipeline.", + "type": "string" + }, + "status": { + "$ref": "GoogleRpcStatus", + "description": "The final status of the documents which should be updated by resync pipeline." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiUiv1beta3ResyncDatasetResponse": { + "description": "The response proto of ResyncDataset method.", + "id": "GoogleCloudDocumentaiUiv1beta3ResyncDatasetResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiUiv1beta3RevisionReference": { + "description": "The revision reference specifies which revision on the document to read.", + "id": "GoogleCloudDocumentaiUiv1beta3RevisionReference", + "properties": { + "latestProcessorVersion": { + "description": "Read the revision generated by the processor version, returns error if it does not exist.", + "type": "string" + }, + "revisionCase": { + "description": "Read the revision by the predefined case.", + "enum": [ + "REVISION_CASE_UNSPECIFIED", + "LATEST_HUMAN_REVIEW", + "LATEST_TIMESTAMP" + ], + "enumDescriptions": [ + "Unspecified case, fallback to read the first (OCR) revision.", + "The latest revision made by a human.", + "The latest revision based on timestamp." + ], + "type": "string" + }, + "revisionId": { + "description": "Read the revision given by the id, returns error if it does not exist.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDocumentaiUiv1beta3SetDefaultProcessorVersionMetadata": { "description": "The long running operation metadata for set default processor version method.", "id": "GoogleCloudDocumentaiUiv1beta3SetDefaultProcessorVersionMetadata", @@ -566,6 +1237,11 @@ "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": { @@ -573,6 +1249,11 @@ }, "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": { @@ -611,6 +1292,16 @@ "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", @@ -696,7 +1387,7 @@ "type": "string" }, "outputGcsDestination": { - "description": "The output_gcs_destination (in the request as 'output_gcs_destination') of the processed document if it was successful, otherwise empty.", + "description": "The output_gcs_destination (in the request as `output_gcs_destination`) of the processed document if it was successful, otherwise empty.", "type": "string" }, "status": { @@ -721,6 +1412,10 @@ "format": "google-datetime", "type": "string" }, + "resource": { + "description": "A related resource to this operation.", + "type": "string" + }, "state": { "description": "The state of the operation.", "enum": [ @@ -753,6 +1448,79 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1DeleteProcessorMetadata": { + "description": "The long running operation metadata for delete processor 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 delete processor version 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 deploy processor version method.", + "id": "GoogleCloudDocumentaiV1DeployProcessorVersionMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DeployProcessorVersionResponse": { + "description": "Response message for the deploy processor version method.", + "id": "GoogleCloudDocumentaiV1DeployProcessorVersionResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1DisableProcessorMetadata": { + "description": "The long running operation metadata for disable processor method.", + "id": "GoogleCloudDocumentaiV1DisableProcessorMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DisableProcessorResponse": { + "description": "Response message for the disable processor method. Intentionally empty proto for adding fields in future.", + "id": "GoogleCloudDocumentaiV1DisableProcessorResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1EnableProcessorMetadata": { + "description": "The long running operation metadata for enable processor method.", + "id": "GoogleCloudDocumentaiV1EnableProcessorMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1EnableProcessorResponse": { + "description": "Response message for the enable processor method. Intentionally empty proto for adding fields in future.", + "id": "GoogleCloudDocumentaiV1EnableProcessorResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudDocumentaiV1HumanReviewStatus": { "description": "The status of human review on a processed document.", "id": "GoogleCloudDocumentaiV1HumanReviewStatus", @@ -793,6 +1561,10 @@ "commonMetadata": { "$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", "description": "The basic metadata of the long running operation." + }, + "questionId": { + "description": "The Crowd Compute question ID.", + "type": "string" } }, "type": "object" @@ -808,6 +1580,96 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1SetDefaultProcessorVersionMetadata": { + "description": "The long running operation metadata for set default processor version method.", + "id": "GoogleCloudDocumentaiV1SetDefaultProcessorVersionMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1SetDefaultProcessorVersionResponse": { + "description": "Response message for set default processor version method.", + "id": "GoogleCloudDocumentaiV1SetDefaultProcessorVersionResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1UndeployProcessorVersionMetadata": { + "description": "The long running operation metadata for the undeploy processor version method.", + "id": "GoogleCloudDocumentaiV1UndeployProcessorVersionMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1UndeployProcessorVersionResponse": { + "description": "Response message for the undeploy processor version method.", + "id": "GoogleCloudDocumentaiV1UndeployProcessorVersionResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1alpha1AnalyzeHitlDataMetadata": { + "description": "The long running operation metadata for AnalyzeHitlData.", + "id": "GoogleCloudDocumentaiV1alpha1AnalyzeHitlDataMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1alpha1CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1alpha1CommonOperationMetadata": { + "description": "The common metadata for long running operations.", + "id": "GoogleCloudDocumentaiV1alpha1CommonOperationMetadata", + "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" + }, "GoogleCloudDocumentaiV1beta1BatchProcessDocumentsResponse": { "description": "Response to an batch document processing request. This is returned in the LRO Operation after the operation is complete.", "id": "GoogleCloudDocumentaiV1beta1BatchProcessDocumentsResponse", @@ -860,7 +1722,7 @@ "type": "array" }, "entityRelations": { - "description": "Relationship among Document.entities.", + "description": "Placeholder. Relationship among Document.entities.", "items": { "$ref": "GoogleCloudDocumentaiV1beta1DocumentEntityRelation" }, @@ -882,7 +1744,7 @@ "type": "array" }, "revisions": { - "description": "Revision history of this document.", + "description": "Placeholder. Revision history of this document.", "items": { "$ref": "GoogleCloudDocumentaiV1beta1DocumentRevision" }, @@ -897,14 +1759,14 @@ "type": "string" }, "textChanges": { - "description": "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.", + "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": { - "description": "Styles for the Document.text.", + "description": "Placeholder. Styles for the Document.text.", "items": { "$ref": "GoogleCloudDocumentaiV1beta1DocumentStyle" }, @@ -918,7 +1780,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1beta1DocumentEntity": { - "description": "A phrase in the text that is a known entity type, such as a person, an organization, or location.", + "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": { @@ -935,7 +1797,7 @@ "type": "string" }, "mentionText": { - "description": "Optional. Text value in the document e.g. `1600 Amphitheatre Pkwy`.", + "description": "Optional. Text value in the document e.g. `1600 Amphitheatre Pkwy`. If the entity is not present in the document, this field will be empty.", "type": "string" }, "normalizedValue": { @@ -992,12 +1854,22 @@ "$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": "Required. Normalized entity value stored as a string. This field is populated for supported document type (e.g. Invoice). For some entity types, one of respective 'structured_value' fields may also be populated. - 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.", + "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 int 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" } }, @@ -1078,6 +1950,17 @@ }, "type": "array" }, + "provenance": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentProvenance", + "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": { @@ -1131,6 +2014,11 @@ "$ref": "GoogleCloudDocumentaiV1beta1BoundingPoly", "description": "Optional. Identifies the bounding polygon of a layout element on the page." }, + "confidence": { + "description": "Optional. Confidence of detected page element, if applicable. Range [0, 1].", + "format": "float", + "type": "number" + }, "layoutId": { "description": "Optional. Deprecated. Use PageRef.bounding_poly instead.", "type": "string" @@ -1160,7 +2048,7 @@ "type": "string" }, "page": { - "description": "Required. Index into the Document.pages element, for example using Document.pages to locate the related page element.", + "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" } @@ -1199,7 +2087,7 @@ "type": "number" }, "languageCode": { - "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", + "description": "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" } }, @@ -1230,6 +2118,14 @@ "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." @@ -1245,6 +2141,10 @@ }, "type": "array" }, + "provenance": { + "$ref": "GoogleCloudDocumentaiV1beta1DocumentProvenance", + "description": "The history of this annotation." + }, "valueDetectedLanguages": { "description": "A list of detected languages for value together with confidence.", "items": { @@ -1394,6 +2294,24 @@ }, "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", @@ -1572,11 +2490,11 @@ "EVAL_SKIPPED" ], "enumDescriptions": [ - "Operation type unspecified.", - "Add an element. Implicit if no `parents` are set for the provenance.", - "The element is removed. No `parents` should be set.", - "Explicitly replaces the element(s) identified by `parents`.", - "Element is requested for human review.", + "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`.", + "Replace an element identified by `parent`.", + "Request human review for the element identified by `parent`.", "Element is reviewed and approved at human review, confidence will be set to 1.0.", "Element is skipped in the validation process." ], @@ -1586,7 +2504,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1beta1DocumentProvenanceParent": { - "description": "Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.", + "description": "The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.", "id": "GoogleCloudDocumentaiV1beta1DocumentProvenanceParent", "properties": { "id": { @@ -1594,8 +2512,13 @@ "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 [Document.revisions] identifying the parent revision.", + "description": "The index of the index into current revision's parent_ids list.", "format": "int32", "type": "integer" } @@ -1631,6 +2554,13 @@ }, "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" @@ -1731,7 +2661,7 @@ "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.", + "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": { @@ -1978,7 +2908,7 @@ "type": "array" }, "entityRelations": { - "description": "Relationship among Document.entities.", + "description": "Placeholder. Relationship among Document.entities.", "items": { "$ref": "GoogleCloudDocumentaiV1beta2DocumentEntityRelation" }, @@ -2007,7 +2937,7 @@ "type": "array" }, "revisions": { - "description": "Revision history of this document.", + "description": "Placeholder. Revision history of this document.", "items": { "$ref": "GoogleCloudDocumentaiV1beta2DocumentRevision" }, @@ -2022,14 +2952,14 @@ "type": "string" }, "textChanges": { - "description": "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.", + "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": { - "description": "Styles for the Document.text.", + "description": "Placeholder. Styles for the Document.text.", "items": { "$ref": "GoogleCloudDocumentaiV1beta2DocumentStyle" }, @@ -2043,7 +2973,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1beta2DocumentEntity": { - "description": "A phrase in the text that is a known entity type, such as a person, an organization, or location.", + "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": { @@ -2060,7 +2990,7 @@ "type": "string" }, "mentionText": { - "description": "Optional. Text value in the document e.g. `1600 Amphitheatre Pkwy`.", + "description": "Optional. Text value in the document e.g. `1600 Amphitheatre Pkwy`. If the entity is not present in the document, this field will be empty.", "type": "string" }, "normalizedValue": { @@ -2117,12 +3047,22 @@ "$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": "Required. Normalized entity value stored as a string. This field is populated for supported document type (e.g. Invoice). For some entity types, one of respective 'structured_value' fields may also be populated. - 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.", + "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 int 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" } }, @@ -2223,6 +3163,17 @@ }, "type": "array" }, + "provenance": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentProvenance", + "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": { @@ -2276,6 +3227,11 @@ "$ref": "GoogleCloudDocumentaiV1beta2BoundingPoly", "description": "Optional. Identifies the bounding polygon of a layout element on the page." }, + "confidence": { + "description": "Optional. Confidence of detected page element, if applicable. Range [0, 1].", + "format": "float", + "type": "number" + }, "layoutId": { "description": "Optional. Deprecated. Use PageRef.bounding_poly instead.", "type": "string" @@ -2305,7 +3261,7 @@ "type": "string" }, "page": { - "description": "Required. Index into the Document.pages element, for example using Document.pages to locate the related page element.", + "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" } @@ -2344,7 +3300,7 @@ "type": "number" }, "languageCode": { - "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", + "description": "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" } }, @@ -2375,6 +3331,14 @@ "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." @@ -2390,6 +3354,10 @@ }, "type": "array" }, + "provenance": { + "$ref": "GoogleCloudDocumentaiV1beta2DocumentProvenance", + "description": "The history of this annotation." + }, "valueDetectedLanguages": { "description": "A list of detected languages for value together with confidence.", "items": { @@ -2539,6 +3507,24 @@ }, "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", @@ -2717,11 +3703,11 @@ "EVAL_SKIPPED" ], "enumDescriptions": [ - "Operation type unspecified.", - "Add an element. Implicit if no `parents` are set for the provenance.", - "The element is removed. No `parents` should be set.", - "Explicitly replaces the element(s) identified by `parents`.", - "Element is requested for human review.", + "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`.", + "Replace an element identified by `parent`.", + "Request human review for the element identified by `parent`.", "Element is reviewed and approved at human review, confidence will be set to 1.0.", "Element is skipped in the validation process." ], @@ -2731,7 +3717,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1beta2DocumentProvenanceParent": { - "description": "Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.", + "description": "The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.", "id": "GoogleCloudDocumentaiV1beta2DocumentProvenanceParent", "properties": { "id": { @@ -2739,8 +3725,13 @@ "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 [Document.revisions] identifying the parent revision.", + "description": "The index of the index into current revision's parent_ids list.", "format": "int32", "type": "integer" } @@ -2776,6 +3767,13 @@ }, "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" @@ -2876,7 +3874,7 @@ "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.", + "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": { @@ -3158,7 +4156,7 @@ "type": "string" }, "outputGcsDestination": { - "description": "The output_gcs_destination (in the request as 'output_gcs_destination') of the processed document if it was successful, otherwise empty.", + "description": "The output_gcs_destination (in the request as `output_gcs_destination`) of the processed document if it was successful, otherwise empty.", "type": "string" }, "status": { @@ -3260,6 +4258,10 @@ "format": "google-datetime", "type": "string" }, + "resource": { + "description": "A related resource to this operation.", + "type": "string" + }, "state": { "description": "The state of the operation.", "enum": [ @@ -3292,6 +4294,74 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1beta3DeleteProcessorMetadata": { + "description": "The long running operation metadata for delete processor 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 delete processor version 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 deploy processor version method.", + "id": "GoogleCloudDocumentaiV1beta3DeployProcessorVersionMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3DeployProcessorVersionRequest": { + "description": "Request message for the deploy processor version method.", + "id": "GoogleCloudDocumentaiV1beta3DeployProcessorVersionRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3DeployProcessorVersionResponse": { + "description": "Response message for the deploy processor version method.", + "id": "GoogleCloudDocumentaiV1beta3DeployProcessorVersionResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3DisableProcessorMetadata": { + "description": "The long running operation metadata for disable processor method.", + "id": "GoogleCloudDocumentaiV1beta3DisableProcessorMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3DisableProcessorRequest": { + "description": "Request message for the disable processor method.", + "id": "GoogleCloudDocumentaiV1beta3DisableProcessorRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3DisableProcessorResponse": { + "description": "Response message for the disable processor method. Intentionally empty proto for adding fields in future.", + "id": "GoogleCloudDocumentaiV1beta3DisableProcessorResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudDocumentaiV1beta3Document": { "description": "Document represents the canonical document resource in Document Understanding AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document Understanding AI to iterate and optimize for quality.", "id": "GoogleCloudDocumentaiV1beta3Document", @@ -3309,7 +4379,7 @@ "type": "array" }, "entityRelations": { - "description": "Relationship among Document.entities.", + "description": "Placeholder. Relationship among Document.entities.", "items": { "$ref": "GoogleCloudDocumentaiV1beta3DocumentEntityRelation" }, @@ -3331,7 +4401,7 @@ "type": "array" }, "revisions": { - "description": "Revision history of this document.", + "description": "Placeholder. Revision history of this document.", "items": { "$ref": "GoogleCloudDocumentaiV1beta3DocumentRevision" }, @@ -3346,14 +4416,14 @@ "type": "string" }, "textChanges": { - "description": "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.", + "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": "GoogleCloudDocumentaiV1beta3DocumentTextChange" }, "type": "array" }, "textStyles": { - "description": "Styles for the Document.text.", + "description": "Placeholder. Styles for the Document.text.", "items": { "$ref": "GoogleCloudDocumentaiV1beta3DocumentStyle" }, @@ -3367,7 +4437,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1beta3DocumentEntity": { - "description": "A phrase in the text that is a known entity type, such as a person, an organization, or location.", + "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": "GoogleCloudDocumentaiV1beta3DocumentEntity", "properties": { "confidence": { @@ -3384,7 +4454,7 @@ "type": "string" }, "mentionText": { - "description": "Optional. Text value in the document e.g. `1600 Amphitheatre Pkwy`.", + "description": "Optional. Text value in the document e.g. `1600 Amphitheatre Pkwy`. If the entity is not present in the document, this field will be empty.", "type": "string" }, "normalizedValue": { @@ -3441,12 +4511,22 @@ "$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": "Required. Normalized entity value stored as a string. This field is populated for supported document type (e.g. Invoice). For some entity types, one of respective 'structured_value' fields may also be populated. - 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.", + "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 int 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" } }, @@ -3549,6 +4629,17 @@ }, "type": "array" }, + "provenance": { + "$ref": "GoogleCloudDocumentaiV1beta3DocumentProvenance", + "description": "The history of this page." + }, + "symbols": { + "description": "A list of visually detected symbols on the page.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta3DocumentPageSymbol" + }, + "type": "array" + }, "tables": { "description": "A list of visually detected tables on the page.", "items": { @@ -3602,6 +4693,11 @@ "$ref": "GoogleCloudDocumentaiV1beta3BoundingPoly", "description": "Optional. Identifies the bounding polygon of a layout element on the page." }, + "confidence": { + "description": "Optional. Confidence of detected page element, if applicable. Range [0, 1].", + "format": "float", + "type": "number" + }, "layoutId": { "description": "Optional. Deprecated. Use PageRef.bounding_poly instead.", "type": "string" @@ -3631,7 +4727,7 @@ "type": "string" }, "page": { - "description": "Required. Index into the Document.pages element, for example using Document.pages to locate the related page element.", + "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" } @@ -3670,7 +4766,7 @@ "type": "number" }, "languageCode": { - "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", + "description": "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" } }, @@ -3701,6 +4797,14 @@ "description": "A form field detected on the page.", "id": "GoogleCloudDocumentaiV1beta3DocumentPageFormField", "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": "GoogleCloudDocumentaiV1beta3DocumentPageLayout", "description": "Layout for the FormField name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc." @@ -3716,6 +4820,10 @@ }, "type": "array" }, + "provenance": { + "$ref": "GoogleCloudDocumentaiV1beta3DocumentProvenance", + "description": "The history of this annotation." + }, "valueDetectedLanguages": { "description": "A list of detected languages for value together with confidence.", "items": { @@ -3865,6 +4973,24 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1beta3DocumentPageSymbol": { + "description": "A detected symbol.", + "id": "GoogleCloudDocumentaiV1beta3DocumentPageSymbol", + "properties": { + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta3DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "layout": { + "$ref": "GoogleCloudDocumentaiV1beta3DocumentPageLayout", + "description": "Layout for Symbol." + } + }, + "type": "object" + }, "GoogleCloudDocumentaiV1beta3DocumentPageTable": { "description": "A table representation similar to HTML table structure.", "id": "GoogleCloudDocumentaiV1beta3DocumentPageTable", @@ -4043,11 +5169,11 @@ "EVAL_SKIPPED" ], "enumDescriptions": [ - "Operation type unspecified.", - "Add an element. Implicit if no `parents` are set for the provenance.", - "The element is removed. No `parents` should be set.", - "Explicitly replaces the element(s) identified by `parents`.", - "Element is requested for human review.", + "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`.", + "Replace an element identified by `parent`.", + "Request human review for the element identified by `parent`.", "Element is reviewed and approved at human review, confidence will be set to 1.0.", "Element is skipped in the validation process." ], @@ -4057,7 +5183,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1beta3DocumentProvenanceParent": { - "description": "Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.", + "description": "The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.", "id": "GoogleCloudDocumentaiV1beta3DocumentProvenanceParent", "properties": { "id": { @@ -4065,8 +5191,13 @@ "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 [Document.revisions] identifying the parent revision.", + "description": "The index of the index into current revision's parent_ids list.", "format": "int32", "type": "integer" } @@ -4102,6 +5233,13 @@ }, "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" @@ -4202,7 +5340,7 @@ "id": "GoogleCloudDocumentaiV1beta3DocumentTextAnchor", "properties": { "content": { - "description": "Contains the content of the text span so that users do not have to look it up in the text_segments.", + "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": { @@ -4254,6 +5392,43 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1beta3EnableProcessorMetadata": { + "description": "The long running operation metadata for enable processor method.", + "id": "GoogleCloudDocumentaiV1beta3EnableProcessorMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3EnableProcessorRequest": { + "description": "Request message for the enable processor method.", + "id": "GoogleCloudDocumentaiV1beta3EnableProcessorRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3EnableProcessorResponse": { + "description": "Response message for the enable processor method. Intentionally empty proto for adding fields in future.", + "id": "GoogleCloudDocumentaiV1beta3EnableProcessorResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3FetchProcessorTypesResponse": { + "description": "Response message for fetch processor types.", + "id": "GoogleCloudDocumentaiV1beta3FetchProcessorTypesResponse", + "properties": { + "processorTypes": { + "description": "The list of processor types.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta3ProcessorType" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudDocumentaiV1beta3GcsDocument": { "description": "Specifies a document stored on Cloud Storage.", "id": "GoogleCloudDocumentaiV1beta3GcsDocument", @@ -4327,6 +5502,42 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1beta3ListProcessorVersionsResponse": { + "description": "Response message for list processors.", + "id": "GoogleCloudDocumentaiV1beta3ListProcessorVersionsResponse", + "properties": { + "nextPageToken": { + "description": "Points to the next processor, otherwise empty.", + "type": "string" + }, + "processorVersions": { + "description": "The list of processors.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta3ProcessorVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3ListProcessorsResponse": { + "description": "Response message for list processors.", + "id": "GoogleCloudDocumentaiV1beta3ListProcessorsResponse", + "properties": { + "nextPageToken": { + "description": "Points to the next processor, otherwise empty.", + "type": "string" + }, + "processors": { + "description": "The list of processors.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta3Processor" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudDocumentaiV1beta3NormalizedVertex": { "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": "GoogleCloudDocumentaiV1beta3NormalizedVertex", @@ -4386,6 +5597,186 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1beta3Processor": { + "description": "The first-class citizen for Document AI. Each processor defines how to extract structural information from a document.", + "id": "GoogleCloudDocumentaiV1beta3Processor", + "properties": { + "createTime": { + "description": "The time the processor was created.", + "format": "google-datetime", + "type": "string" + }, + "defaultProcessorVersion": { + "description": "The default processor version.", + "type": "string" + }, + "displayName": { + "description": "The display name of the processor.", + "type": "string" + }, + "kmsKeyName": { + "description": "The KMS key used for encryption/decryption in CMEK scenarios. See https://cloud.google.com/security-key-management.", + "type": "string" + }, + "name": { + "description": "Output only. Immutable. The resource name of the processor. Format: `projects/{project}/locations/{location}/processors/{processor}`", + "readOnly": true, + "type": "string" + }, + "processEndpoint": { + "description": "Output only. Immutable. The http endpoint that can be called to invoke processing.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the processor.", + "enum": [ + "STATE_UNSPECIFIED", + "ENABLED", + "DISABLED", + "ENABLING", + "DISABLING", + "CREATING", + "FAILED", + "DELETING" + ], + "enumDescriptions": [ + "The processor is in an unspecified state.", + "The processor is enabled, i.e., has an enabled version which can currently serve processing requests and all the feature dependencies have been successfully initialized.", + "The processor is disabled.", + "The processor is being enabled, will become ENABLED if successful.", + "The processor is being disabled, will become DISABLED if successful.", + "The processor is being created, will become either ENABLED (for successful creation) or FAILED (for failed ones). Once a processor is in this state, it can then be used for document processing, but the feature dependencies of the processor might not be fully created yet.", + "The processor failed during creation or initialization of feature dependencies. The user should delete the processor and recreate one as all the functionalities of the processor are disabled.", + "The processor is being deleted, will be removed if successful." + ], + "readOnly": true, + "type": "string" + }, + "type": { + "description": "The processor type, e.g., OCR_PROCESSOR, INVOICE_PROCESSOR, etc. To get a list of processors types, see FetchProcessorTypes.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3ProcessorType": { + "description": "A processor type is responsible for performing a certain document understanding task on a certain type of document.", + "id": "GoogleCloudDocumentaiV1beta3ProcessorType", + "properties": { + "allowCreation": { + "description": "Whether the processor type allows creation. If true, users can create a processor of this processor type. Otherwise, users need to request access.", + "type": "boolean" + }, + "availableLocations": { + "description": "The locations in which this processor is available.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta3ProcessorTypeLocationInfo" + }, + "type": "array" + }, + "category": { + "description": "The processor category, used by UI to group processor types.", + "type": "string" + }, + "launchStage": { + "description": "Launch stage of the processor type", + "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": "The resource name of the processor type. Format: projects/{project}/processorTypes/{processor_type}", + "type": "string" + }, + "type": { + "description": "The type of the processor, e.g., \"invoice_parsing\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3ProcessorTypeLocationInfo": { + "description": "The location information about where the processor is available.", + "id": "GoogleCloudDocumentaiV1beta3ProcessorTypeLocationInfo", + "properties": { + "locationId": { + "description": "The location id, currently must be one of [us, eu].", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3ProcessorVersion": { + "description": "A processor version is an implementation of a processor. Each processor can have multiple versions, pre-trained by Google internally or up-trained by the customer. At a time, a processor can only have one default version version. So the processor's behavior (when processing documents) is defined by a default version.", + "id": "GoogleCloudDocumentaiV1beta3ProcessorVersion", + "properties": { + "createTime": { + "description": "The time the processor version was created.", + "format": "google-datetime", + "type": "string" + }, + "displayName": { + "description": "The display name of the processor version.", + "type": "string" + }, + "kmsKeyName": { + "description": "The KMS key name used for encryption.", + "type": "string" + }, + "kmsKeyVersionName": { + "description": "The KMS key version with which data is encrypted.", + "type": "string" + }, + "name": { + "description": "The resource name of the processor version. Format: `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processor_version}`", + "type": "string" + }, + "state": { + "description": "The state of the processor version.", + "enum": [ + "STATE_UNSPECIFIED", + "DEPLOYED", + "DEPLOYING", + "UNDEPLOYED", + "UNDEPLOYING", + "CREATING", + "DELETING", + "FAILED" + ], + "enumDescriptions": [ + "The processor version is in an unspecified state.", + "The processor version is deployed and can be used for processing.", + "The processor version is being deployed.", + "The processor version is not deployed and cannot be used for processing.", + "The processor version is being undeployed.", + "The processor version is being created.", + "The processor version is being deleted.", + "The processor version failed and is in an indeterminate state." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDocumentaiV1beta3RawDocument": { "description": "Payload message of raw document content (bytes).", "id": "GoogleCloudDocumentaiV1beta3RawDocument", @@ -4415,6 +5806,10 @@ "format": "google-datetime", "type": "string" }, + "questionId": { + "description": "The Crowd Compute question ID.", + "type": "string" + }, "state": { "description": "Used only when Operation.done is false.", "enum": [ @@ -4455,9 +5850,25 @@ "$ref": "GoogleCloudDocumentaiV1beta3Document", "description": "The document that needs human review." }, + "enableSchemaValidation": { + "description": "Whether the validation should be performed on the ad-hoc review request.", + "type": "boolean" + }, "inlineDocument": { "$ref": "GoogleCloudDocumentaiV1beta3Document", "description": "An inline document proto." + }, + "priority": { + "description": "The priority of the human review task.", + "enum": [ + "DEFAULT", + "URGENT" + ], + "enumDescriptions": [ + "The default priority level.", + "The urgent priority level. The labeling manager should allocate labeler resource to the urgent task queue to respect this priority level." + ], + "type": "string" } }, "type": "object" @@ -4473,6 +5884,57 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionMetadata": { + "description": "The long running operation metadata for set default processor version method.", + "id": "GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionRequest": { + "description": "Request message for the set default processor version method.", + "id": "GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionRequest", + "properties": { + "defaultProcessorVersion": { + "description": "Required. The resource name of child ProcessorVersion to use as default.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionResponse": { + "description": "Response message for set default processor version method.", + "id": "GoogleCloudDocumentaiV1beta3SetDefaultProcessorVersionResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3UndeployProcessorVersionMetadata": { + "description": "The long running operation metadata for the undeploy processor version method.", + "id": "GoogleCloudDocumentaiV1beta3UndeployProcessorVersionMetadata", + "properties": { + "commonMetadata": { + "$ref": "GoogleCloudDocumentaiV1beta3CommonOperationMetadata", + "description": "The basic metadata of the long running operation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3UndeployProcessorVersionRequest": { + "description": "Request message for the undeploy processor version method.", + "id": "GoogleCloudDocumentaiV1beta3UndeployProcessorVersionRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1beta3UndeployProcessorVersionResponse": { + "description": "Response message for the undeploy processor version method.", + "id": "GoogleCloudDocumentaiV1beta3UndeployProcessorVersionResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudDocumentaiV1beta3Vertex": { "description": "A vertex represents a 2D point in the image. NOTE: the vertex coordinates are in the same scale as the original image.", "id": "GoogleCloudDocumentaiV1beta3Vertex", @@ -4542,6 +6004,24 @@ }, "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", @@ -4638,7 +6118,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "GoogleTypeDate", "properties": { "day": { @@ -4770,7 +6250,7 @@ "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 http://cldr.unicode.org/ and http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: \"CH\" for Switzerland.", + "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": { diff --git a/etc/api/domains/v1/domains-api.json b/etc/api/domains/v1/domains-api.json new file mode 100644 index 0000000000..6fd2ec42f6 --- /dev/null +++ b/etc/api/domains/v1/domains-api.json @@ -0,0 +1,1955 @@ +{ + "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://domains.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Cloud Domains", + "description": "Enables management and configuration of domain names.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/domains/", + "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": "domains:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://domains.mtls.googleapis.com/", + "name": "domains", + "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": "domains.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": "domains.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. If not set, the service selects a default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "operations": { + "methods": { + "get": { + "description": "Gets the latest state 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": "domains.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`. 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": "v1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "domains.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" + ] + } + } + }, + "registrations": { + "methods": { + "configureContactSettings": { + "description": "Updates a `Registration`'s contact settings. Some changes require confirmation by the domain's registrant contact .", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registrations/{registrationsId}:configureContactSettings", + "httpMethod": "POST", + "id": "domains.projects.locations.registrations.configureContactSettings", + "parameterOrder": [ + "registration" + ], + "parameters": { + "registration": { + "description": "Required. The name of the `Registration` whose contact settings are being updated, in the format `projects/*/locations/*/registrations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registrations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+registration}:configureContactSettings", + "request": { + "$ref": "ConfigureContactSettingsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "configureDnsSettings": { + "description": "Updates a `Registration`'s DNS settings.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registrations/{registrationsId}:configureDnsSettings", + "httpMethod": "POST", + "id": "domains.projects.locations.registrations.configureDnsSettings", + "parameterOrder": [ + "registration" + ], + "parameters": { + "registration": { + "description": "Required. The name of the `Registration` whose DNS settings are being updated, in the format `projects/*/locations/*/registrations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registrations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+registration}:configureDnsSettings", + "request": { + "$ref": "ConfigureDnsSettingsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "configureManagementSettings": { + "description": "Updates a `Registration`'s management settings.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registrations/{registrationsId}:configureManagementSettings", + "httpMethod": "POST", + "id": "domains.projects.locations.registrations.configureManagementSettings", + "parameterOrder": [ + "registration" + ], + "parameters": { + "registration": { + "description": "Required. The name of the `Registration` whose management settings are being updated, in the format `projects/*/locations/*/registrations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registrations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+registration}:configureManagementSettings", + "request": { + "$ref": "ConfigureManagementSettingsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a `Registration` resource. This method works on any `Registration` resource using [Subscription or Commitment billing](/domains/pricing#billing-models), provided that the resource was created at least 1 day in the past. For `Registration` resources using [Monthly billing](/domains/pricing#billing-models), this method works if: * `state` is `EXPORTED` with `expire_time` in the past * `state` is `REGISTRATION_FAILED` * `state` is `TRANSFER_FAILED` When an active registration is successfully deleted, you can continue to use the domain in [Google Domains](https://domains.google/) until it expires. The calling user becomes the domain's sole owner in Google Domains, and permissions for the domain are subsequently managed there. The domain does not renew automatically unless the new owner sets up billing in Google Domains.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registrations/{registrationsId}", + "httpMethod": "DELETE", + "id": "domains.projects.locations.registrations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the `Registration` to delete, in the format `projects/*/locations/*/registrations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registrations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "export": { + "description": "Exports a `Registration` resource, such that it is no longer managed by Cloud Domains. When an active domain is successfully exported, you can continue to use the domain in [Google Domains](https://domains.google/) until it expires. The calling user becomes the domain's sole owner in Google Domains, and permissions for the domain are subsequently managed there. The domain does not renew automatically unless the new owner sets up billing in Google Domains.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registrations/{registrationsId}:export", + "httpMethod": "POST", + "id": "domains.projects.locations.registrations.export", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the `Registration` to export, in the format `projects/*/locations/*/registrations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registrations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:export", + "request": { + "$ref": "ExportRegistrationRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the details of a `Registration` resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registrations/{registrationsId}", + "httpMethod": "GET", + "id": "domains.projects.locations.registrations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the `Registration` to get, in the format `projects/*/locations/*/registrations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registrations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Registration" + }, + "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}/registrations/{registrationsId}:getIamPolicy", + "httpMethod": "GET", + "id": "domains.projects.locations.registrations.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registrations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the `Registration` resources in a project.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registrations", + "httpMethod": "GET", + "id": "domains.projects.locations.registrations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filter expression to restrict the `Registration`s returned. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, a boolean, or an enum value. The comparison operator should be one of =, !=, >, <, >=, <=, or : for prefix or wildcard matches. For example, to filter to a specific domain name, use an expression like `domainName=\"example.com\"`. You can also check for the existence of a field; for example, to find domains using custom DNS settings, use an expression like `dnsSettings.customDns:*`. You can also create compound filters by combining expressions with the `AND` and `OR` operators. For example, to find domains that are suspended or have specific issues flagged, use an expression like `(state=SUSPENDED) OR (issue:*)`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "When set to the `next_page_token` from a prior response, provides the next page of results.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which to list `Registration`s, specified in the format `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/registrations", + "response": { + "$ref": "ListRegistrationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates select fields of a `Registration` resource, notably `labels`. To update other fields, use the appropriate custom update method: * To update management settings, see `ConfigureManagementSettings` * To update DNS configuration, see `ConfigureDnsSettings` * To update contact information, see `ConfigureContactSettings`", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registrations/{registrationsId}", + "httpMethod": "PATCH", + "id": "domains.projects.locations.registrations.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Name of the `Registration` resource, in the format `projects/*/locations/*/registrations/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registrations/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The field mask describing which fields to update as a comma-separated list. For example, if only the labels are being updated, the `update_mask` is `\"labels\"`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Registration" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "register": { + "description": "Registers a new domain name and creates a corresponding `Registration` resource. Call `RetrieveRegisterParameters` first to check availability of the domain name and determine parameters like price that are needed to build a call to this method. A successful call creates a `Registration` resource in state `REGISTRATION_PENDING`, which resolves to `ACTIVE` within 1-2 minutes, indicating that the domain was successfully registered. If the resource ends up in state `REGISTRATION_FAILED`, it indicates that the domain was not registered successfully, and you can safely delete the resource and retry registration.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registrations:register", + "httpMethod": "POST", + "id": "domains.projects.locations.registrations.register", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the `Registration`. Must be in the format `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/registrations:register", + "request": { + "$ref": "RegisterDomainRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "resetAuthorizationCode": { + "description": "Resets the authorization code of the `Registration` to a new random string. You can call this method only after 60 days have elapsed since the initial domain registration.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registrations/{registrationsId}:resetAuthorizationCode", + "httpMethod": "POST", + "id": "domains.projects.locations.registrations.resetAuthorizationCode", + "parameterOrder": [ + "registration" + ], + "parameters": { + "registration": { + "description": "Required. The name of the `Registration` whose authorization code is being reset, in the format `projects/*/locations/*/registrations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registrations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+registration}:resetAuthorizationCode", + "request": { + "$ref": "ResetAuthorizationCodeRequest" + }, + "response": { + "$ref": "AuthorizationCode" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "retrieveAuthorizationCode": { + "description": "Gets the authorization code of the `Registration` for the purpose of transferring the domain to another registrar. You can call this method only after 60 days have elapsed since the initial domain registration.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registrations/{registrationsId}:retrieveAuthorizationCode", + "httpMethod": "GET", + "id": "domains.projects.locations.registrations.retrieveAuthorizationCode", + "parameterOrder": [ + "registration" + ], + "parameters": { + "registration": { + "description": "Required. The name of the `Registration` whose authorization code is being retrieved, in the format `projects/*/locations/*/registrations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registrations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+registration}:retrieveAuthorizationCode", + "response": { + "$ref": "AuthorizationCode" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "retrieveRegisterParameters": { + "description": "Gets parameters needed to register a new domain name, including price and up-to-date availability. Use the returned values to call `RegisterDomain`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registrations:retrieveRegisterParameters", + "httpMethod": "GET", + "id": "domains.projects.locations.registrations.retrieveRegisterParameters", + "parameterOrder": [ + "location" + ], + "parameters": { + "domainName": { + "description": "Required. The domain name. Unicode domain names must be expressed in Punycode format.", + "location": "query", + "type": "string" + }, + "location": { + "description": "Required. The location. Must be in the format `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+location}/registrations:retrieveRegisterParameters", + "response": { + "$ref": "RetrieveRegisterParametersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "retrieveTransferParameters": { + "description": "Gets parameters needed to transfer a domain name from another registrar to Cloud Domains. For domains managed by Google Domains, transferring to Cloud Domains is not supported. Use the returned values to call `TransferDomain`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registrations:retrieveTransferParameters", + "httpMethod": "GET", + "id": "domains.projects.locations.registrations.retrieveTransferParameters", + "parameterOrder": [ + "location" + ], + "parameters": { + "domainName": { + "description": "Required. The domain name. Unicode domain names must be expressed in Punycode format.", + "location": "query", + "type": "string" + }, + "location": { + "description": "Required. The location. Must be in the format `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+location}/registrations:retrieveTransferParameters", + "response": { + "$ref": "RetrieveTransferParametersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "searchDomains": { + "description": "Searches for available domain names similar to the provided query. Availability results from this method are approximate; call `RetrieveRegisterParameters` on a domain before registering to confirm availability.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registrations:searchDomains", + "httpMethod": "GET", + "id": "domains.projects.locations.registrations.searchDomains", + "parameterOrder": [ + "location" + ], + "parameters": { + "location": { + "description": "Required. The location. Must be in the format `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "query": { + "description": "Required. String used to search for available domain names.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+location}/registrations:searchDomains", + "response": { + "$ref": "SearchDomainsResponse" + }, + "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}/registrations/{registrationsId}:setIamPolicy", + "httpMethod": "POST", + "id": "domains.projects.locations.registrations.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/[^/]+/registrations/[^/]+$", + "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}/registrations/{registrationsId}:testIamPermissions", + "httpMethod": "POST", + "id": "domains.projects.locations.registrations.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/[^/]+/registrations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "transfer": { + "description": "Transfers a domain name from another registrar to Cloud Domains. For domains managed by Google Domains, transferring to Cloud Domains is not supported. Before calling this method, go to the domain's current registrar to unlock the domain for transfer and retrieve the domain's transfer authorization code. Then call `RetrieveTransferParameters` to confirm that the domain is unlocked and to get values needed to build a call to this method. A successful call creates a `Registration` resource in state `TRANSFER_PENDING`. It can take several days to complete the transfer process. The registrant can often speed up this process by approving the transfer through the current registrar, either by clicking a link in an email from the registrar or by visiting the registrar's website. A few minutes after transfer approval, the resource transitions to state `ACTIVE`, indicating that the transfer was successful. If the transfer is rejected or the request expires without being approved, the resource can end up in state `TRANSFER_FAILED`. If transfer fails, you can safely delete the resource and retry the transfer.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registrations:transfer", + "httpMethod": "POST", + "id": "domains.projects.locations.registrations.transfer", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the `Registration`. Must be in the format `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/registrations:transfer", + "request": { + "$ref": "TransferDomainRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20220128", + "rootUrl": "https://domains.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" + }, + "AuthorizationCode": { + "description": "Defines an authorization code.", + "id": "AuthorizationCode", + "properties": { + "code": { + "description": "The Authorization Code in ASCII. It can be used to transfer the domain to or from another registrar.", + "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 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 the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigureContactSettingsRequest": { + "description": "Request for the `ConfigureContactSettings` method.", + "id": "ConfigureContactSettingsRequest", + "properties": { + "contactNotices": { + "description": "The list of contact notices that the caller acknowledges. The notices needed here depend on the values specified in `contact_settings`.", + "items": { + "enum": [ + "CONTACT_NOTICE_UNSPECIFIED", + "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT" + ], + "enumDescriptions": [ + "The notice is undefined.", + "Required when setting the `privacy` field of `ContactSettings` to `PUBLIC_CONTACT_DATA`, which exposes contact data publicly." + ], + "type": "string" + }, + "type": "array" + }, + "contactSettings": { + "$ref": "ContactSettings", + "description": "Fields of the `ContactSettings` to update." + }, + "updateMask": { + "description": "Required. The field mask describing which fields to update as a comma-separated list. For example, if only the registrant contact is being updated, the `update_mask` is `\"registrant_contact\"`.", + "format": "google-fieldmask", + "type": "string" + }, + "validateOnly": { + "description": "Validate the request without actually updating the contact settings.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConfigureDnsSettingsRequest": { + "description": "Request for the `ConfigureDnsSettings` method.", + "id": "ConfigureDnsSettingsRequest", + "properties": { + "dnsSettings": { + "$ref": "DnsSettings", + "description": "Fields of the `DnsSettings` to update." + }, + "updateMask": { + "description": "Required. The field mask describing which fields to update as a comma-separated list. For example, if only the name servers are being updated for an existing Custom DNS configuration, the `update_mask` is `\"custom_dns.name_servers\"`. When changing the DNS provider from one type to another, pass the new provider's field name as part of the field mask. For example, when changing from a Google Domains DNS configuration to a Custom DNS configuration, the `update_mask` is `\"custom_dns\"`. //", + "format": "google-fieldmask", + "type": "string" + }, + "validateOnly": { + "description": "Validate the request without actually updating the DNS settings.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConfigureManagementSettingsRequest": { + "description": "Request for the `ConfigureManagementSettings` method.", + "id": "ConfigureManagementSettingsRequest", + "properties": { + "managementSettings": { + "$ref": "ManagementSettings", + "description": "Fields of the `ManagementSettings` to update." + }, + "updateMask": { + "description": "Required. The field mask describing which fields to update as a comma-separated list. For example, if only the transfer lock is being updated, the `update_mask` is `\"transfer_lock_state\"`.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "Contact": { + "description": "Details required for a contact associated with a `Registration`.", + "id": "Contact", + "properties": { + "email": { + "description": "Required. Email address of the contact.", + "type": "string" + }, + "faxNumber": { + "description": "Fax number of the contact in international format. For example, `\"+1-800-555-0123\"`.", + "type": "string" + }, + "phoneNumber": { + "description": "Required. Phone number of the contact in international format. For example, `\"+1-800-555-0123\"`.", + "type": "string" + }, + "postalAddress": { + "$ref": "PostalAddress", + "description": "Required. Postal address of the contact." + } + }, + "type": "object" + }, + "ContactSettings": { + "description": "Defines the contact information associated with a `Registration`. [ICANN](https://icann.org/) requires all domain names to have associated contact information. The `registrant_contact` is considered the domain's legal owner, and often the other contacts are identical.", + "id": "ContactSettings", + "properties": { + "adminContact": { + "$ref": "Contact", + "description": "Required. The administrative contact for the `Registration`." + }, + "privacy": { + "description": "Required. Privacy setting for the contacts associated with the `Registration`.", + "enum": [ + "CONTACT_PRIVACY_UNSPECIFIED", + "PUBLIC_CONTACT_DATA", + "PRIVATE_CONTACT_DATA", + "REDACTED_CONTACT_DATA" + ], + "enumDescriptions": [ + "The contact privacy settings are undefined.", + "All the data from `ContactSettings` is publicly available. When setting this option, you must also provide a `PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT` in the `contact_notices` field of the request.", + "None of the data from `ContactSettings` is publicly available. Instead, proxy contact data is published for your domain. Email sent to the proxy email address is forwarded to the registrant's email address. Cloud Domains provides this privacy proxy service at no additional cost.", + "Some data from `ContactSettings` is publicly available. The actual information redacted depends on the domain. For details, see [the registration privacy article](https://support.google.com/domains/answer/3251242)." + ], + "type": "string" + }, + "registrantContact": { + "$ref": "Contact", + "description": "Required. The registrant contact for the `Registration`. *Caution: Anyone with access to this email address, phone number, and/or postal address can take control of the domain.* *Warning: For new `Registration`s, the registrant receives an email confirmation that they must complete within 15 days to avoid domain suspension.*" + }, + "technicalContact": { + "$ref": "Contact", + "description": "Required. The technical contact for the `Registration`." + } + }, + "type": "object" + }, + "CustomDns": { + "description": "Configuration for an arbitrary DNS provider.", + "id": "CustomDns", + "properties": { + "dsRecords": { + "description": "The list of DS records for this domain, which are used to enable DNSSEC. The domain's DNS provider can provide the values to set here. If this field is empty, DNSSEC is disabled.", + "items": { + "$ref": "DsRecord" + }, + "type": "array" + }, + "nameServers": { + "description": "Required. A list of name servers that store the DNS zone for this domain. Each name server is a domain name, with Unicode domain names expressed in Punycode format.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "DnsSettings": { + "description": "Defines the DNS configuration of a `Registration`, including name servers, DNSSEC, and glue records.", + "id": "DnsSettings", + "properties": { + "customDns": { + "$ref": "CustomDns", + "description": "An arbitrary DNS provider identified by its name servers." + }, + "glueRecords": { + "description": "The list of glue records for this `Registration`. Commonly empty.", + "items": { + "$ref": "GlueRecord" + }, + "type": "array" + }, + "googleDomainsDns": { + "$ref": "GoogleDomainsDns", + "description": "The free DNS zone provided by [Google Domains](https://domains.google/)." + } + }, + "type": "object" + }, + "DsRecord": { + "description": "Defines a Delegation Signer (DS) record, which is needed to enable DNSSEC for a domain. It contains a digest (hash) of a DNSKEY record that must be present in the domain's DNS zone.", + "id": "DsRecord", + "properties": { + "algorithm": { + "description": "The algorithm used to generate the referenced DNSKEY.", + "enum": [ + "ALGORITHM_UNSPECIFIED", + "RSAMD5", + "DH", + "DSA", + "ECC", + "RSASHA1", + "DSANSEC3SHA1", + "RSASHA1NSEC3SHA1", + "RSASHA256", + "RSASHA512", + "ECCGOST", + "ECDSAP256SHA256", + "ECDSAP384SHA384", + "ED25519", + "ED448", + "INDIRECT", + "PRIVATEDNS", + "PRIVATEOID" + ], + "enumDescriptions": [ + "The algorithm is unspecified.", + "RSA/MD5. Cannot be used for new deployments.", + "Diffie-Hellman. Cannot be used for new deployments.", + "DSA/SHA1. Not recommended for new deployments.", + "ECC. Not recommended for new deployments.", + "RSA/SHA-1. Not recommended for new deployments.", + "DSA-NSEC3-SHA1. Not recommended for new deployments.", + "RSA/SHA1-NSEC3-SHA1. Not recommended for new deployments.", + "RSA/SHA-256.", + "RSA/SHA-512.", + "GOST R 34.10-2001.", + "ECDSA Curve P-256 with SHA-256.", + "ECDSA Curve P-384 with SHA-384.", + "Ed25519.", + "Ed448.", + "Reserved for Indirect Keys. Cannot be used for new deployments.", + "Private algorithm. Cannot be used for new deployments.", + "Private algorithm OID. Cannot be used for new deployments." + ], + "type": "string" + }, + "digest": { + "description": "The digest generated from the referenced DNSKEY.", + "type": "string" + }, + "digestType": { + "description": "The hash function used to generate the digest of the referenced DNSKEY.", + "enum": [ + "DIGEST_TYPE_UNSPECIFIED", + "SHA1", + "SHA256", + "GOST3411", + "SHA384" + ], + "enumDescriptions": [ + "The DigestType is unspecified.", + "SHA-1. Not recommended for new deployments.", + "SHA-256.", + "GOST R 34.11-94.", + "SHA-384." + ], + "type": "string" + }, + "keyTag": { + "description": "The key tag of the record. Must be set in range 0 -- 65535.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ExportRegistrationRequest": { + "description": "Request for the `ExportRegistration` method.", + "id": "ExportRegistrationRequest", + "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" + }, + "GlueRecord": { + "description": "Defines a host on your domain that is a DNS name server for your domain and/or other domains. Glue records are a way of making the IP address of a name server known, even when it serves DNS queries for its parent domain. For example, when `ns.example.com` is a name server for `example.com`, the host `ns.example.com` must have a glue record to break the circular DNS reference.", + "id": "GlueRecord", + "properties": { + "hostName": { + "description": "Required. Domain name of the host in Punycode format.", + "type": "string" + }, + "ipv4Addresses": { + "description": "List of IPv4 addresses corresponding to this host in the standard decimal format (e.g. `198.51.100.1`). At least one of `ipv4_address` and `ipv6_address` must be set.", + "items": { + "type": "string" + }, + "type": "array" + }, + "ipv6Addresses": { + "description": "List of IPv6 addresses corresponding to this host in the standard hexadecimal format (e.g. `2001:db8::`). At least one of `ipv4_address` and `ipv6_address` must be set.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleDomainsDns": { + "description": "Configuration for using the free DNS zone provided by Google Domains as a `Registration`'s `dns_provider`. You cannot configure the DNS zone itself using the API. To configure the DNS zone, go to [Google Domains](https://domains.google/).", + "id": "GoogleDomainsDns", + "properties": { + "dsRecords": { + "description": "Output only. The list of DS records published for this domain. The list is automatically populated when `ds_state` is `DS_RECORDS_PUBLISHED`, otherwise it remains empty.", + "items": { + "$ref": "DsRecord" + }, + "readOnly": true, + "type": "array" + }, + "dsState": { + "description": "Required. The state of DS records for this domain. Used to enable or disable automatic DNSSEC.", + "enum": [ + "DS_STATE_UNSPECIFIED", + "DS_RECORDS_UNPUBLISHED", + "DS_RECORDS_PUBLISHED" + ], + "enumDescriptions": [ + "DS state is unspecified.", + "DNSSEC is disabled for this domain. No DS records for this domain are published in the parent DNS zone.", + "DNSSEC is enabled for this domain. Appropriate DS records for this domain are published in the parent DNS zone. This option is valid only if the DNS zone referenced in the `Registration`'s `dns_provider` field is already DNSSEC-signed." + ], + "type": "string" + }, + "nameServers": { + "description": "Output only. A list of name servers that store the DNS zone for this domain. Each name server is a domain name, with Unicode domain names expressed in Punycode format. This field is automatically populated with the name servers assigned to the Google Domains DNS zone.", + "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" + }, + "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" + }, + "ListRegistrationsResponse": { + "description": "Response for the `ListRegistrations` method.", + "id": "ListRegistrationsResponse", + "properties": { + "nextPageToken": { + "description": "When present, there are more results to retrieve. Set `page_token` to this value on a subsequent call to get the next page of results.", + "type": "string" + }, + "registrations": { + "description": "A list of `Registration`s.", + "items": { + "$ref": "Registration" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform 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" + }, + "ManagementSettings": { + "description": "Defines renewal, billing, and transfer settings for a `Registration`.", + "id": "ManagementSettings", + "properties": { + "renewalMethod": { + "description": "Output only. The renewal method for this `Registration`.", + "enum": [ + "RENEWAL_METHOD_UNSPECIFIED", + "AUTOMATIC_RENEWAL", + "MANUAL_RENEWAL" + ], + "enumDescriptions": [ + "The renewal method is undefined.", + "The domain is automatically renewed each year . To disable automatic renewals, delete the resource by calling `DeleteRegistration` or export it by calling `ExportRegistration`.", + "The domain must be explicitly renewed each year before its `expire_time`. This option is only available when the `Registration` is in state `EXPORTED`. To manage the domain's current billing and renewal settings, go to [Google Domains](https://domains.google/)." + ], + "readOnly": true, + "type": "string" + }, + "transferLockState": { + "description": "Controls whether the domain can be transferred to another registrar.", + "enum": [ + "TRANSFER_LOCK_STATE_UNSPECIFIED", + "UNLOCKED", + "LOCKED" + ], + "enumDescriptions": [ + "The state is unspecified.", + "The domain is unlocked and can be transferred to another registrar.", + "The domain is locked and cannot be transferred to another registrar." + ], + "type": "string" + } + }, + "type": "object" + }, + "Money": { + "description": "Represents an amount of money with its currency type.", + "id": "Money", + "properties": { + "currencyCode": { + "description": "The three-letter currency code defined in ISO 4217.", + "type": "string" + }, + "nanos": { + "description": "Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", + "format": "int32", + "type": "integer" + }, + "units": { + "description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal 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. Output only.", + "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" + }, + "statusDetail": { + "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": { + "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" + }, + "PostalAddress": { + "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", + "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 http://cldr.unicode.org/ and http://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" + }, + "RegisterDomainRequest": { + "description": "Request for the `RegisterDomain` method.", + "id": "RegisterDomainRequest", + "properties": { + "contactNotices": { + "description": "The list of contact notices that the caller acknowledges. The notices needed here depend on the values specified in `registration.contact_settings`.", + "items": { + "enum": [ + "CONTACT_NOTICE_UNSPECIFIED", + "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT" + ], + "enumDescriptions": [ + "The notice is undefined.", + "Required when setting the `privacy` field of `ContactSettings` to `PUBLIC_CONTACT_DATA`, which exposes contact data publicly." + ], + "type": "string" + }, + "type": "array" + }, + "domainNotices": { + "description": "The list of domain notices that you acknowledge. Call `RetrieveRegisterParameters` to see the notices that need acknowledgement.", + "items": { + "enum": [ + "DOMAIN_NOTICE_UNSPECIFIED", + "HSTS_PRELOADED" + ], + "enumDescriptions": [ + "The notice is undefined.", + "Indicates that the domain is preloaded on the HTTP Strict Transport Security list in browsers. Serving a website on such domain requires an SSL certificate. For details, see [how to get an SSL certificate](https://support.google.com/domains/answer/7638036)." + ], + "type": "string" + }, + "type": "array" + }, + "registration": { + "$ref": "Registration", + "description": "Required. The complete `Registration` resource to be created." + }, + "validateOnly": { + "description": "When true, only validation is performed, without actually registering the domain. Follows: https://cloud.google.com/apis/design/design_patterns#request_validation", + "type": "boolean" + }, + "yearlyPrice": { + "$ref": "Money", + "description": "Required. Yearly price to register or renew the domain. The value that should be put here can be obtained from RetrieveRegisterParameters or SearchDomains calls." + } + }, + "type": "object" + }, + "RegisterParameters": { + "description": "Parameters required to register a new domain.", + "id": "RegisterParameters", + "properties": { + "availability": { + "description": "Indicates whether the domain is available for registration. This value is accurate when obtained by calling `RetrieveRegisterParameters`, but is approximate when obtained by calling `SearchDomains`.", + "enum": [ + "AVAILABILITY_UNSPECIFIED", + "AVAILABLE", + "UNAVAILABLE", + "UNSUPPORTED", + "UNKNOWN" + ], + "enumDescriptions": [ + "The availability is unspecified.", + "The domain is available for registration.", + "The domain is not available for registration. Generally this means it is already registered to another party.", + "The domain is not currently supported by Cloud Domains, but may be available elsewhere.", + "Cloud Domains is unable to determine domain availability, generally due to system maintenance at the domain name registry." + ], + "type": "string" + }, + "domainName": { + "description": "The domain name. Unicode domain names are expressed in Punycode format.", + "type": "string" + }, + "domainNotices": { + "description": "Notices about special properties of the domain.", + "items": { + "enum": [ + "DOMAIN_NOTICE_UNSPECIFIED", + "HSTS_PRELOADED" + ], + "enumDescriptions": [ + "The notice is undefined.", + "Indicates that the domain is preloaded on the HTTP Strict Transport Security list in browsers. Serving a website on such domain requires an SSL certificate. For details, see [how to get an SSL certificate](https://support.google.com/domains/answer/7638036)." + ], + "type": "string" + }, + "type": "array" + }, + "supportedPrivacy": { + "description": "Contact privacy options that the domain supports.", + "items": { + "enum": [ + "CONTACT_PRIVACY_UNSPECIFIED", + "PUBLIC_CONTACT_DATA", + "PRIVATE_CONTACT_DATA", + "REDACTED_CONTACT_DATA" + ], + "enumDescriptions": [ + "The contact privacy settings are undefined.", + "All the data from `ContactSettings` is publicly available. When setting this option, you must also provide a `PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT` in the `contact_notices` field of the request.", + "None of the data from `ContactSettings` is publicly available. Instead, proxy contact data is published for your domain. Email sent to the proxy email address is forwarded to the registrant's email address. Cloud Domains provides this privacy proxy service at no additional cost.", + "Some data from `ContactSettings` is publicly available. The actual information redacted depends on the domain. For details, see [the registration privacy article](https://support.google.com/domains/answer/3251242)." + ], + "type": "string" + }, + "type": "array" + }, + "yearlyPrice": { + "$ref": "Money", + "description": "Price to register or renew the domain for one year." + } + }, + "type": "object" + }, + "Registration": { + "description": "The `Registration` resource facilitates managing and configuring domain name registrations. There are several ways to create a new `Registration` resource: To create a new `Registration` resource, find a suitable domain name by calling the `SearchDomains` method with a query to see available domain name options. After choosing a name, call `RetrieveRegisterParameters` to ensure availability and obtain information like pricing, which is needed to build a call to `RegisterDomain`. Another way to create a new `Registration` is to transfer an existing domain from another registrar. First, go to the current registrar to unlock the domain for transfer and retrieve the domain's transfer authorization code. Then call `RetrieveTransferParameters` to confirm that the domain is unlocked and to get values needed to build a call to `TransferDomain`.", + "id": "Registration", + "properties": { + "contactSettings": { + "$ref": "ContactSettings", + "description": "Required. Settings for contact information linked to the `Registration`. You cannot update these with the `UpdateRegistration` method. To update these settings, use the `ConfigureContactSettings` method." + }, + "createTime": { + "description": "Output only. The creation timestamp of the `Registration` resource.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dnsSettings": { + "$ref": "DnsSettings", + "description": "Settings controlling the DNS configuration of the `Registration`. You cannot update these with the `UpdateRegistration` method. To update these settings, use the `ConfigureDnsSettings` method." + }, + "domainName": { + "description": "Required. Immutable. The domain name. Unicode domain names must be expressed in Punycode format.", + "type": "string" + }, + "expireTime": { + "description": "Output only. The expiration timestamp of the `Registration`.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "issues": { + "description": "Output only. The set of issues with the `Registration` that require attention.", + "items": { + "enum": [ + "ISSUE_UNSPECIFIED", + "CONTACT_SUPPORT", + "UNVERIFIED_EMAIL" + ], + "enumDescriptions": [ + "The issue is undefined.", + "Contact the Cloud Support team to resolve a problem with this domain.", + "[ICANN](https://icann.org/) requires verification of the email address in the `Registration`'s `contact_settings.registrant_contact` field. To verify the email address, follow the instructions in the email the `registrant_contact` receives following registration. If you do not complete email verification within 15 days of registration, the domain is suspended. To resend the verification email, call ConfigureContactSettings and provide the current `registrant_contact.email`." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of labels associated with the `Registration`.", + "type": "object" + }, + "managementSettings": { + "$ref": "ManagementSettings", + "description": "Settings for management of the `Registration`, including renewal, billing, and transfer. You cannot update these with the `UpdateRegistration` method. To update these settings, use the `ConfigureManagementSettings` method." + }, + "name": { + "description": "Output only. Name of the `Registration` resource, in the format `projects/*/locations/*/registrations/`.", + "readOnly": true, + "type": "string" + }, + "pendingContactSettings": { + "$ref": "ContactSettings", + "description": "Output only. Pending contact settings for the `Registration`. Updates to the `contact_settings` field that change its `registrant_contact` or `privacy` fields require email confirmation by the `registrant_contact` before taking effect. This field is set only if there are pending updates to the `contact_settings` that have not been confirmed. To confirm the changes, the `registrant_contact` must follow the instructions in the email they receive.", + "readOnly": true + }, + "state": { + "description": "Output only. The state of the `Registration`", + "enum": [ + "STATE_UNSPECIFIED", + "REGISTRATION_PENDING", + "REGISTRATION_FAILED", + "TRANSFER_PENDING", + "TRANSFER_FAILED", + "ACTIVE", + "SUSPENDED", + "EXPORTED" + ], + "enumDescriptions": [ + "The state is undefined.", + "The domain is being registered.", + "The domain registration failed. You can delete resources in this state to allow registration to be retried.", + "The domain is being transferred from another registrar to Cloud Domains.", + "The attempt to transfer the domain from another registrar to Cloud Domains failed. You can delete resources in this state and retry the transfer.", + "The domain is registered and operational. The domain renews automatically as long as it remains in this state.", + "The domain is suspended and inoperative. For more details, see the `issues` field.", + "The domain is no longer managed with Cloud Domains. It may have been transferred to another registrar or exported for management in [Google Domains](https://domains.google/). You can no longer update it with this API, and information shown about it may be stale. Domains in this state are not automatically renewed by Cloud Domains." + ], + "readOnly": true, + "type": "string" + }, + "supportedPrivacy": { + "description": "Output only. Set of options for the `contact_settings.privacy` field that this `Registration` supports.", + "items": { + "enum": [ + "CONTACT_PRIVACY_UNSPECIFIED", + "PUBLIC_CONTACT_DATA", + "PRIVATE_CONTACT_DATA", + "REDACTED_CONTACT_DATA" + ], + "enumDescriptions": [ + "The contact privacy settings are undefined.", + "All the data from `ContactSettings` is publicly available. When setting this option, you must also provide a `PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT` in the `contact_notices` field of the request.", + "None of the data from `ContactSettings` is publicly available. Instead, proxy contact data is published for your domain. Email sent to the proxy email address is forwarded to the registrant's email address. Cloud Domains provides this privacy proxy service at no additional cost.", + "Some data from `ContactSettings` is publicly available. The actual information redacted depends on the domain. For details, see [the registration privacy article](https://support.google.com/domains/answer/3251242)." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "ResetAuthorizationCodeRequest": { + "description": "Request for the `ResetAuthorizationCode` method.", + "id": "ResetAuthorizationCodeRequest", + "properties": {}, + "type": "object" + }, + "RetrieveRegisterParametersResponse": { + "description": "Response for the `RetrieveRegisterParameters` method.", + "id": "RetrieveRegisterParametersResponse", + "properties": { + "registerParameters": { + "$ref": "RegisterParameters", + "description": "Parameters to use when calling the `RegisterDomain` method." + } + }, + "type": "object" + }, + "RetrieveTransferParametersResponse": { + "description": "Response for the `RetrieveTransferParameters` method.", + "id": "RetrieveTransferParametersResponse", + "properties": { + "transferParameters": { + "$ref": "TransferParameters", + "description": "Parameters to use when calling the `TransferDomain` method." + } + }, + "type": "object" + }, + "SearchDomainsResponse": { + "description": "Response for the `SearchDomains` method.", + "id": "SearchDomainsResponse", + "properties": { + "registerParameters": { + "description": "Results of the domain name search.", + "items": { + "$ref": "RegisterParameters" + }, + "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 Cloud Platform services (such as Projects) might reject them." + }, + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TransferDomainRequest": { + "description": "Request for the `TransferDomain` method.", + "id": "TransferDomainRequest", + "properties": { + "authorizationCode": { + "$ref": "AuthorizationCode", + "description": "The domain's transfer authorization code. You can obtain this from the domain's current registrar." + }, + "contactNotices": { + "description": "The list of contact notices that you acknowledge. The notices needed here depend on the values specified in `registration.contact_settings`.", + "items": { + "enum": [ + "CONTACT_NOTICE_UNSPECIFIED", + "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT" + ], + "enumDescriptions": [ + "The notice is undefined.", + "Required when setting the `privacy` field of `ContactSettings` to `PUBLIC_CONTACT_DATA`, which exposes contact data publicly." + ], + "type": "string" + }, + "type": "array" + }, + "registration": { + "$ref": "Registration", + "description": "Required. The complete `Registration` resource to be created. You can leave `registration.dns_settings` unset to import the domain's current DNS configuration from its current registrar. Use this option only if you are sure that the domain's current DNS service does not cease upon transfer, as is often the case for DNS services provided for free by the registrar." + }, + "validateOnly": { + "description": "Validate the request without actually transferring the domain.", + "type": "boolean" + }, + "yearlyPrice": { + "$ref": "Money", + "description": "Required. Acknowledgement of the price to transfer or renew the domain for one year. Call `RetrieveTransferParameters` to obtain the price, which you must acknowledge." + } + }, + "type": "object" + }, + "TransferParameters": { + "description": "Parameters required to transfer a domain from another registrar.", + "id": "TransferParameters", + "properties": { + "currentRegistrar": { + "description": "The registrar that currently manages the domain.", + "type": "string" + }, + "domainName": { + "description": "The domain name. Unicode domain names are expressed in Punycode format.", + "type": "string" + }, + "nameServers": { + "description": "The name servers that currently store the configuration of the domain.", + "items": { + "type": "string" + }, + "type": "array" + }, + "supportedPrivacy": { + "description": "Contact privacy options that the domain supports.", + "items": { + "enum": [ + "CONTACT_PRIVACY_UNSPECIFIED", + "PUBLIC_CONTACT_DATA", + "PRIVATE_CONTACT_DATA", + "REDACTED_CONTACT_DATA" + ], + "enumDescriptions": [ + "The contact privacy settings are undefined.", + "All the data from `ContactSettings` is publicly available. When setting this option, you must also provide a `PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT` in the `contact_notices` field of the request.", + "None of the data from `ContactSettings` is publicly available. Instead, proxy contact data is published for your domain. Email sent to the proxy email address is forwarded to the registrant's email address. Cloud Domains provides this privacy proxy service at no additional cost.", + "Some data from `ContactSettings` is publicly available. The actual information redacted depends on the domain. For details, see [the registration privacy article](https://support.google.com/domains/answer/3251242)." + ], + "type": "string" + }, + "type": "array" + }, + "transferLockState": { + "description": "Indicates whether the domain is protected by a transfer lock. For a transfer to succeed, this must show `UNLOCKED`. To unlock a domain, go to its current registrar.", + "enum": [ + "TRANSFER_LOCK_STATE_UNSPECIFIED", + "UNLOCKED", + "LOCKED" + ], + "enumDescriptions": [ + "The state is unspecified.", + "The domain is unlocked and can be transferred to another registrar.", + "The domain is locked and cannot be transferred to another registrar." + ], + "type": "string" + }, + "yearlyPrice": { + "$ref": "Money", + "description": "Price to transfer or renew the domain for one year." + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Cloud Domains API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/domains/v1alpha2/domains-api.json b/etc/api/domains/v1alpha2/domains-api.json index 0e1678ff9b..98aa90c8ea 100644 --- a/etc/api/domains/v1alpha2/domains-api.json +++ b/etc/api/domains/v1alpha2/domains-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -144,7 +144,7 @@ ], "parameters": { "filter": { - "description": "The standard list 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" }, @@ -156,13 +156,13 @@ "type": "string" }, "pageSize": { - "description": "The standard list page size.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The standard list page token.", + "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" } @@ -334,7 +334,7 @@ ] }, "delete": { - "description": "Deletes a `Registration` resource. This method only works on resources in one of the following states: * `state` is `EXPORTED` with `expire_time` in the past * `state` is `REGISTRATION_FAILED`", + "description": "Deletes a `Registration` resource. This method works on any `Registration` resource using [Subscription or Commitment billing](/domains/pricing#billing-models), provided that the resource was created at least 1 day in the past. For `Registration` resources using [Monthly billing](/domains/pricing#billing-models), this method works if: * `state` is `EXPORTED` with `expire_time` in the past * `state` is `REGISTRATION_FAILED` * `state` is `TRANSFER_FAILED` When an active registration is successfully deleted, you can continue to use the domain in [Google Domains](https://domains.google/) until it expires. The calling user becomes the domain's sole owner in Google Domains, and permissions for the domain are subsequently managed there. The domain does not renew automatically unless the new owner sets up billing in Google Domains.", "flatPath": "v1alpha2/projects/{projectsId}/locations/{locationsId}/registrations/{registrationsId}", "httpMethod": "DELETE", "id": "domains.projects.locations.registrations.delete", @@ -359,7 +359,7 @@ ] }, "export": { - "description": "Exports a `Registration` that you no longer want to use with Cloud Domains. You can continue to use the domain in [Google Domains](https://domains.google/) until it expires. If the export is successful: * The resource's `state` becomes `EXPORTED`, meaning that it is no longer managed by Cloud Domains * Because individual users can own domains in Google Domains, the calling user becomes the domain's sole owner. Permissions for the domain are subsequently managed in Google Domains. * Without further action, the domain does not renew automatically. The new owner can set up billing in Google Domains to renew the domain if needed.", + "description": "Exports a `Registration` resource, such that it is no longer managed by Cloud Domains. When an active domain is successfully exported, you can continue to use the domain in [Google Domains](https://domains.google/) until it expires. The calling user becomes the domain's sole owner in Google Domains, and permissions for the domain are subsequently managed there. The domain does not renew automatically unless the new owner sets up billing in Google Domains.", "flatPath": "v1alpha2/projects/{projectsId}/locations/{locationsId}/registrations/{registrationsId}:export", "httpMethod": "POST", "id": "domains.projects.locations.registrations.export", @@ -421,7 +421,7 @@ ], "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).", + "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" @@ -500,7 +500,7 @@ "type": "string" }, "updateMask": { - "description": "Required. The field mask describing which fields to update as a comma-separated list. For example, if only the labels are being updated, the `update_mask` would be `\"labels\"`.", + "description": "Required. The field mask describing which fields to update as a comma-separated list. For example, if only the labels are being updated, the `update_mask` is `\"labels\"`.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -628,6 +628,36 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "retrieveTransferParameters": { + "description": "Gets parameters needed to transfer a domain name from another registrar to Cloud Domains. For domains managed by Google Domains, transferring to Cloud Domains is not supported. Use the returned values to call `TransferDomain`.", + "flatPath": "v1alpha2/projects/{projectsId}/locations/{locationsId}/registrations:retrieveTransferParameters", + "httpMethod": "GET", + "id": "domains.projects.locations.registrations.retrieveTransferParameters", + "parameterOrder": [ + "location" + ], + "parameters": { + "domainName": { + "description": "Required. The domain name. Unicode domain names must be expressed in Punycode format.", + "location": "query", + "type": "string" + }, + "location": { + "description": "Required. The location. Must be in the format `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha2/{+location}/registrations:retrieveTransferParameters", + "response": { + "$ref": "RetrieveTransferParametersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "searchDomains": { "description": "Searches for available domain names similar to the provided query. Availability results from this method are approximate; call `RetrieveRegisterParameters` on a domain before registering to confirm availability.", "flatPath": "v1alpha2/projects/{projectsId}/locations/{locationsId}/registrations:searchDomains", @@ -713,6 +743,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "transfer": { + "description": "Transfers a domain name from another registrar to Cloud Domains. For domains managed by Google Domains, transferring to Cloud Domains is not supported. Before calling this method, go to the domain's current registrar to unlock the domain for transfer and retrieve the domain's transfer authorization code. Then call `RetrieveTransferParameters` to confirm that the domain is unlocked and to get values needed to build a call to this method. A successful call creates a `Registration` resource in state `TRANSFER_PENDING`. It can take several days to complete the transfer process. The registrant can often speed up this process by approving the transfer through the current registrar, either by clicking a link in an email from the registrar or by visiting the registrar's website. A few minutes after transfer approval, the resource transitions to state `ACTIVE`, indicating that the transfer was successful. If the transfer is rejected or the request expires without being approved, the resource can end up in state `TRANSFER_FAILED`. If transfer fails, you can safely delete the resource and retry the transfer.", + "flatPath": "v1alpha2/projects/{projectsId}/locations/{locationsId}/registrations:transfer", + "httpMethod": "POST", + "id": "domains.projects.locations.registrations.transfer", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the `Registration`. Must be in the format `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha2/{+parent}/registrations:transfer", + "request": { + "$ref": "TransferDomainRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } } @@ -721,7 +779,7 @@ } } }, - "revision": "20210216", + "revision": "20220128", "rootUrl": "https://domains.googleapis.com/", "schemas": { "AuditConfig": { @@ -784,22 +842,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -829,7 +887,7 @@ "description": "Fields of the `ContactSettings` to update." }, "updateMask": { - "description": "Required. The field mask describing which fields to update as a comma-separated list. For example, if only the registrant contact is being updated, the `update_mask` would be `\"registrant_contact\"`.", + "description": "Required. The field mask describing which fields to update as a comma-separated list. For example, if only the registrant contact is being updated, the `update_mask` is `\"registrant_contact\"`.", "format": "google-fieldmask", "type": "string" }, @@ -849,7 +907,7 @@ "description": "Fields of the `DnsSettings` to update." }, "updateMask": { - "description": "Required. The field mask describing which fields to update as a comma-separated list. For example, if only the name servers are being updated for an existing Custom DNS configuration, the `update_mask` would be `\"custom_dns.name_servers\"`. When changing the DNS provider from one type to another, pass the new provider's field name as part of the field mask. For example, when changing from a Google Domains DNS configuration to a Custom DNS configuration, the `update_mask` would be `\"custom_dns\"`. //", + "description": "Required. The field mask describing which fields to update as a comma-separated list. For example, if only the name servers are being updated for an existing Custom DNS configuration, the `update_mask` is `\"custom_dns.name_servers\"`. When changing the DNS provider from one type to another, pass the new provider's field name as part of the field mask. For example, when changing from a Google Domains DNS configuration to a Custom DNS configuration, the `update_mask` is `\"custom_dns\"`. //", "format": "google-fieldmask", "type": "string" }, @@ -869,7 +927,7 @@ "description": "Fields of the `ManagementSettings` to update." }, "updateMask": { - "description": "Required. The field mask describing which fields to update as a comma-separated list. For example, if only the transfer lock is being updated, the `update_mask` would be `\"transfer_lock_state\"`.", + "description": "Required. The field mask describing which fields to update as a comma-separated list. For example, if only the transfer lock is being updated, the `update_mask` is `\"transfer_lock_state\"`.", "format": "google-fieldmask", "type": "string" } @@ -925,7 +983,7 @@ }, "registrantContact": { "$ref": "Contact", - "description": "Required. The registrant contact for the `Registration`. *Caution: Anyone with access to this email address, phone number, and/or postal address can take control of the domain.* *Warning: For new `Registration`s, the registrant will receive an email confirmation that they must complete within 15 days to avoid domain suspension.*" + "description": "Required. The registrant contact for the `Registration`. *Caution: Anyone with access to this email address, phone number, and/or postal address can take control of the domain.* *Warning: For new `Registration`s, the registrant receives an email confirmation that they must complete within 15 days to avoid domain suspension.*" }, "technicalContact": { "$ref": "Contact", @@ -985,6 +1043,8 @@ "description": "The algorithm used to generate the referenced DNSKEY.", "enum": [ "ALGORITHM_UNSPECIFIED", + "RSAMD5", + "DH", "DSA", "ECC", "RSASHA1", @@ -996,10 +1056,15 @@ "ECDSAP256SHA256", "ECDSAP384SHA384", "ED25519", - "ED448" + "ED448", + "INDIRECT", + "PRIVATEDNS", + "PRIVATEOID" ], "enumDescriptions": [ "The algorithm is unspecified.", + "RSA/MD5. Cannot be used for new deployments.", + "Diffie-Hellman. Cannot be used for new deployments.", "DSA/SHA1. Not recommended for new deployments.", "ECC. Not recommended for new deployments.", "RSA/SHA-1. Not recommended for new deployments.", @@ -1011,7 +1076,10 @@ "ECDSA Curve P-256 with SHA-256.", "ECDSA Curve P-384 with SHA-384.", "Ed25519.", - "Ed448." + "Ed448.", + "Reserved for Indirect Keys. Cannot be used for new deployments.", + "Private algorithm. Cannot be used for new deployments.", + "Private algorithm OID. Cannot be used for new deployments." ], "type": "string" }, @@ -1237,7 +1305,7 @@ ], "enumDescriptions": [ "The renewal method is undefined.", - "The domain is automatically renewed each year . To disable automatic renewals, export the domain by calling `ExportRegistration` .", + "The domain is automatically renewed each year . To disable automatic renewals, delete the resource by calling `DeleteRegistration` or export it by calling `ExportRegistration`.", "The domain must be explicitly renewed each year before its `expire_time`. This option is only available when the `Registration` is in state `EXPORTED`. To manage the domain's current billing and renewal settings, go to [Google Domains](https://domains.google/)." ], "readOnly": true, @@ -1350,7 +1418,7 @@ "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/).", + "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": { @@ -1361,7 +1429,7 @@ "type": "array" }, "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.", + "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" }, @@ -1477,7 +1545,7 @@ "description": "Required. The complete `Registration` resource to be created." }, "validateOnly": { - "description": "When true, only validation will be performed, without actually registering the domain. Follows: https://cloud.google.com/apis/design/design_patterns#request_validation", + "description": "When true, only validation is performed, without actually registering the domain. Follows: https://cloud.google.com/apis/design/design_patterns#request_validation", "type": "boolean" }, "yearlyPrice": { @@ -1555,7 +1623,7 @@ "type": "object" }, "Registration": { - "description": "The `Registration` resource facilitates managing and configuring domain name registrations. To create a new `Registration` resource, find a suitable domain name by calling the `SearchDomains` method with a query to see available domain name options. After choosing a name, call `RetrieveRegisterParameters` to ensure availability and obtain information like pricing, which is needed to build a call to `RegisterDomain`. ", + "description": "The `Registration` resource facilitates managing and configuring domain name registrations. There are several ways to create a new `Registration` resource: To create a new `Registration` resource, find a suitable domain name by calling the `SearchDomains` method with a query to see available domain name options. After choosing a name, call `RetrieveRegisterParameters` to ensure availability and obtain information like pricing, which is needed to build a call to `RegisterDomain`. Another way to create a new `Registration` is to transfer an existing domain from another registrar. First, go to the current registrar to unlock the domain for transfer and retrieve the domain's transfer authorization code. Then call `RetrieveTransferParameters` to confirm that the domain is unlocked and to get values needed to build a call to `TransferDomain`.", "id": "Registration", "properties": { "contactSettings": { @@ -1618,7 +1686,7 @@ }, "pendingContactSettings": { "$ref": "ContactSettings", - "description": "Output only. Pending contact settings for the `Registration`. Updates to the `contact_settings` field that change its `registrant_contact` or `privacy` fields require email confirmation by the `registrant_contact` before taking effect. This field is set only if there are pending updates to the `contact_settings` that have not yet been confirmed. To confirm the changes, the `registrant_contact` must follow the instructions in the email they receive.", + "description": "Output only. Pending contact settings for the `Registration`. Updates to the `contact_settings` field that change its `registrant_contact` or `privacy` fields require email confirmation by the `registrant_contact` before taking effect. This field is set only if there are pending updates to the `contact_settings` that have not been confirmed. To confirm the changes, the `registrant_contact` must follow the instructions in the email they receive.", "readOnly": true }, "state": { @@ -1627,6 +1695,8 @@ "STATE_UNSPECIFIED", "REGISTRATION_PENDING", "REGISTRATION_FAILED", + "TRANSFER_PENDING", + "TRANSFER_FAILED", "ACTIVE", "SUSPENDED", "EXPORTED" @@ -1635,9 +1705,11 @@ "The state is undefined.", "The domain is being registered.", "The domain registration failed. You can delete resources in this state to allow registration to be retried.", + "The domain is being transferred from another registrar to Cloud Domains.", + "The attempt to transfer the domain from another registrar to Cloud Domains failed. You can delete resources in this state and retry the transfer.", "The domain is registered and operational. The domain renews automatically as long as it remains in this state.", "The domain is suspended and inoperative. For more details, see the `issues` field.", - "The domain has been exported from Cloud Domains to [Google Domains](https://domains.google/). You can no longer update it with this API, and information shown about it may be stale. Without further action, domains in this state expire at their `expire_time`. You can delete the resource after the `expire_time` has passed." + "The domain is no longer managed with Cloud Domains. It may have been transferred to another registrar or exported for management in [Google Domains](https://domains.google/). You can no longer update it with this API, and information shown about it may be stale. Domains in this state are not automatically renewed by Cloud Domains." ], "readOnly": true, "type": "string" @@ -1682,6 +1754,17 @@ }, "type": "object" }, + "RetrieveTransferParametersResponse": { + "description": "Response for the `RetrieveTransferParameters` method.", + "id": "RetrieveTransferParametersResponse", + "properties": { + "transferParameters": { + "$ref": "TransferParameters", + "description": "Parameters to use when calling the `TransferDomain` method." + } + }, + "type": "object" + }, "SearchDomainsResponse": { "description": "Response for the `SearchDomains` method.", "id": "SearchDomainsResponse", @@ -1766,6 +1849,103 @@ } }, "type": "object" + }, + "TransferDomainRequest": { + "description": "Request for the `TransferDomain` method.", + "id": "TransferDomainRequest", + "properties": { + "authorizationCode": { + "$ref": "AuthorizationCode", + "description": "The domain's transfer authorization code. You can obtain this from the domain's current registrar." + }, + "contactNotices": { + "description": "The list of contact notices that you acknowledge. The notices needed here depend on the values specified in `registration.contact_settings`.", + "items": { + "enum": [ + "CONTACT_NOTICE_UNSPECIFIED", + "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT" + ], + "enumDescriptions": [ + "The notice is undefined.", + "Required when setting the `privacy` field of `ContactSettings` to `PUBLIC_CONTACT_DATA`, which exposes contact data publicly." + ], + "type": "string" + }, + "type": "array" + }, + "registration": { + "$ref": "Registration", + "description": "Required. The complete `Registration` resource to be created. You can leave `registration.dns_settings` unset to import the domain's current DNS configuration from its current registrar. Use this option only if you are sure that the domain's current DNS service does not cease upon transfer, as is often the case for DNS services provided for free by the registrar." + }, + "validateOnly": { + "description": "Validate the request without actually transferring the domain.", + "type": "boolean" + }, + "yearlyPrice": { + "$ref": "Money", + "description": "Required. Acknowledgement of the price to transfer or renew the domain for one year. Call `RetrieveTransferParameters` to obtain the price, which you must acknowledge." + } + }, + "type": "object" + }, + "TransferParameters": { + "description": "Parameters required to transfer a domain from another registrar.", + "id": "TransferParameters", + "properties": { + "currentRegistrar": { + "description": "The registrar that currently manages the domain.", + "type": "string" + }, + "domainName": { + "description": "The domain name. Unicode domain names are expressed in Punycode format.", + "type": "string" + }, + "nameServers": { + "description": "The name servers that currently store the configuration of the domain.", + "items": { + "type": "string" + }, + "type": "array" + }, + "supportedPrivacy": { + "description": "Contact privacy options that the domain supports.", + "items": { + "enum": [ + "CONTACT_PRIVACY_UNSPECIFIED", + "PUBLIC_CONTACT_DATA", + "PRIVATE_CONTACT_DATA", + "REDACTED_CONTACT_DATA" + ], + "enumDescriptions": [ + "The contact privacy settings are undefined.", + "All the data from `ContactSettings` is publicly available. When setting this option, you must also provide a `PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT` in the `contact_notices` field of the request.", + "None of the data from `ContactSettings` is publicly available. Instead, proxy contact data is published for your domain. Email sent to the proxy email address is forwarded to the registrant's email address. Cloud Domains provides this privacy proxy service at no additional cost.", + "Some data from `ContactSettings` is publicly available. The actual information redacted depends on the domain. For details, see [the registration privacy article](https://support.google.com/domains/answer/3251242)." + ], + "type": "string" + }, + "type": "array" + }, + "transferLockState": { + "description": "Indicates whether the domain is protected by a transfer lock. For a transfer to succeed, this must show `UNLOCKED`. To unlock a domain, go to its current registrar.", + "enum": [ + "TRANSFER_LOCK_STATE_UNSPECIFIED", + "UNLOCKED", + "LOCKED" + ], + "enumDescriptions": [ + "The state is unspecified.", + "The domain is unlocked and can be transferred to another registrar.", + "The domain is locked and cannot be transferred to another registrar." + ], + "type": "string" + }, + "yearlyPrice": { + "$ref": "Money", + "description": "Price to transfer or renew the domain for one year." + } + }, + "type": "object" } }, "servicePath": "", diff --git a/etc/api/domains/v1beta1/domains-api.json b/etc/api/domains/v1beta1/domains-api.json index 26798eda18..e2639b6978 100644 --- a/etc/api/domains/v1beta1/domains-api.json +++ b/etc/api/domains/v1beta1/domains-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -144,7 +144,7 @@ ], "parameters": { "filter": { - "description": "The standard list 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" }, @@ -156,13 +156,13 @@ "type": "string" }, "pageSize": { - "description": "The standard list page size.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The standard list page token.", + "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" } @@ -334,7 +334,7 @@ ] }, "delete": { - "description": "Deletes a `Registration` resource. This method only works on resources in one of the following states: * `state` is `EXPORTED` with `expire_time` in the past * `state` is `REGISTRATION_FAILED`", + "description": "Deletes a `Registration` resource. This method works on any `Registration` resource using [Subscription or Commitment billing](/domains/pricing#billing-models), provided that the resource was created at least 1 day in the past. For `Registration` resources using [Monthly billing](/domains/pricing#billing-models), this method works if: * `state` is `EXPORTED` with `expire_time` in the past * `state` is `REGISTRATION_FAILED` * `state` is `TRANSFER_FAILED` When an active registration is successfully deleted, you can continue to use the domain in [Google Domains](https://domains.google/) until it expires. The calling user becomes the domain's sole owner in Google Domains, and permissions for the domain are subsequently managed there. The domain does not renew automatically unless the new owner sets up billing in Google Domains.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registrations/{registrationsId}", "httpMethod": "DELETE", "id": "domains.projects.locations.registrations.delete", @@ -359,7 +359,7 @@ ] }, "export": { - "description": "Exports a `Registration` that you no longer want to use with Cloud Domains. You can continue to use the domain in [Google Domains](https://domains.google/) until it expires. If the export is successful: * The resource's `state` becomes `EXPORTED`, meaning that it is no longer managed by Cloud Domains * Because individual users can own domains in Google Domains, the calling user becomes the domain's sole owner. Permissions for the domain are subsequently managed in Google Domains. * Without further action, the domain does not renew automatically. The new owner can set up billing in Google Domains to renew the domain if needed.", + "description": "Exports a `Registration` resource, such that it is no longer managed by Cloud Domains. When an active domain is successfully exported, you can continue to use the domain in [Google Domains](https://domains.google/) until it expires. The calling user becomes the domain's sole owner in Google Domains, and permissions for the domain are subsequently managed there. The domain does not renew automatically unless the new owner sets up billing in Google Domains.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registrations/{registrationsId}:export", "httpMethod": "POST", "id": "domains.projects.locations.registrations.export", @@ -421,7 +421,7 @@ ], "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).", + "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" @@ -500,7 +500,7 @@ "type": "string" }, "updateMask": { - "description": "Required. The field mask describing which fields to update as a comma-separated list. For example, if only the labels are being updated, the `update_mask` would be `\"labels\"`.", + "description": "Required. The field mask describing which fields to update as a comma-separated list. For example, if only the labels are being updated, the `update_mask` is `\"labels\"`.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -628,6 +628,36 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "retrieveTransferParameters": { + "description": "Gets parameters needed to transfer a domain name from another registrar to Cloud Domains. For domains managed by Google Domains, transferring to Cloud Domains is not supported. Use the returned values to call `TransferDomain`.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registrations:retrieveTransferParameters", + "httpMethod": "GET", + "id": "domains.projects.locations.registrations.retrieveTransferParameters", + "parameterOrder": [ + "location" + ], + "parameters": { + "domainName": { + "description": "Required. The domain name. Unicode domain names must be expressed in Punycode format.", + "location": "query", + "type": "string" + }, + "location": { + "description": "Required. The location. Must be in the format `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+location}/registrations:retrieveTransferParameters", + "response": { + "$ref": "RetrieveTransferParametersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "searchDomains": { "description": "Searches for available domain names similar to the provided query. Availability results from this method are approximate; call `RetrieveRegisterParameters` on a domain before registering to confirm availability.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registrations:searchDomains", @@ -713,6 +743,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "transfer": { + "description": "Transfers a domain name from another registrar to Cloud Domains. For domains managed by Google Domains, transferring to Cloud Domains is not supported. Before calling this method, go to the domain's current registrar to unlock the domain for transfer and retrieve the domain's transfer authorization code. Then call `RetrieveTransferParameters` to confirm that the domain is unlocked and to get values needed to build a call to this method. A successful call creates a `Registration` resource in state `TRANSFER_PENDING`. It can take several days to complete the transfer process. The registrant can often speed up this process by approving the transfer through the current registrar, either by clicking a link in an email from the registrar or by visiting the registrar's website. A few minutes after transfer approval, the resource transitions to state `ACTIVE`, indicating that the transfer was successful. If the transfer is rejected or the request expires without being approved, the resource can end up in state `TRANSFER_FAILED`. If transfer fails, you can safely delete the resource and retry the transfer.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registrations:transfer", + "httpMethod": "POST", + "id": "domains.projects.locations.registrations.transfer", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the `Registration`. Must be in the format `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/registrations:transfer", + "request": { + "$ref": "TransferDomainRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } } @@ -721,7 +779,7 @@ } } }, - "revision": "20210216", + "revision": "20220128", "rootUrl": "https://domains.googleapis.com/", "schemas": { "AuditConfig": { @@ -784,22 +842,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -829,7 +887,7 @@ "description": "Fields of the `ContactSettings` to update." }, "updateMask": { - "description": "Required. The field mask describing which fields to update as a comma-separated list. For example, if only the registrant contact is being updated, the `update_mask` would be `\"registrant_contact\"`.", + "description": "Required. The field mask describing which fields to update as a comma-separated list. For example, if only the registrant contact is being updated, the `update_mask` is `\"registrant_contact\"`.", "format": "google-fieldmask", "type": "string" }, @@ -849,7 +907,7 @@ "description": "Fields of the `DnsSettings` to update." }, "updateMask": { - "description": "Required. The field mask describing which fields to update as a comma-separated list. For example, if only the name servers are being updated for an existing Custom DNS configuration, the `update_mask` would be `\"custom_dns.name_servers\"`. When changing the DNS provider from one type to another, pass the new provider's field name as part of the field mask. For example, when changing from a Google Domains DNS configuration to a Custom DNS configuration, the `update_mask` would be `\"custom_dns\"`. //", + "description": "Required. The field mask describing which fields to update as a comma-separated list. For example, if only the name servers are being updated for an existing Custom DNS configuration, the `update_mask` is `\"custom_dns.name_servers\"`. When changing the DNS provider from one type to another, pass the new provider's field name as part of the field mask. For example, when changing from a Google Domains DNS configuration to a Custom DNS configuration, the `update_mask` is `\"custom_dns\"`. //", "format": "google-fieldmask", "type": "string" }, @@ -869,7 +927,7 @@ "description": "Fields of the `ManagementSettings` to update." }, "updateMask": { - "description": "Required. The field mask describing which fields to update as a comma-separated list. For example, if only the transfer lock is being updated, the `update_mask` would be `\"transfer_lock_state\"`.", + "description": "Required. The field mask describing which fields to update as a comma-separated list. For example, if only the transfer lock is being updated, the `update_mask` is `\"transfer_lock_state\"`.", "format": "google-fieldmask", "type": "string" } @@ -925,7 +983,7 @@ }, "registrantContact": { "$ref": "Contact", - "description": "Required. The registrant contact for the `Registration`. *Caution: Anyone with access to this email address, phone number, and/or postal address can take control of the domain.* *Warning: For new `Registration`s, the registrant will receive an email confirmation that they must complete within 15 days to avoid domain suspension.*" + "description": "Required. The registrant contact for the `Registration`. *Caution: Anyone with access to this email address, phone number, and/or postal address can take control of the domain.* *Warning: For new `Registration`s, the registrant receives an email confirmation that they must complete within 15 days to avoid domain suspension.*" }, "technicalContact": { "$ref": "Contact", @@ -985,6 +1043,8 @@ "description": "The algorithm used to generate the referenced DNSKEY.", "enum": [ "ALGORITHM_UNSPECIFIED", + "RSAMD5", + "DH", "DSA", "ECC", "RSASHA1", @@ -996,10 +1056,15 @@ "ECDSAP256SHA256", "ECDSAP384SHA384", "ED25519", - "ED448" + "ED448", + "INDIRECT", + "PRIVATEDNS", + "PRIVATEOID" ], "enumDescriptions": [ "The algorithm is unspecified.", + "RSA/MD5. Cannot be used for new deployments.", + "Diffie-Hellman. Cannot be used for new deployments.", "DSA/SHA1. Not recommended for new deployments.", "ECC. Not recommended for new deployments.", "RSA/SHA-1. Not recommended for new deployments.", @@ -1011,7 +1076,10 @@ "ECDSA Curve P-256 with SHA-256.", "ECDSA Curve P-384 with SHA-384.", "Ed25519.", - "Ed448." + "Ed448.", + "Reserved for Indirect Keys. Cannot be used for new deployments.", + "Private algorithm. Cannot be used for new deployments.", + "Private algorithm OID. Cannot be used for new deployments." ], "type": "string" }, @@ -1237,7 +1305,7 @@ ], "enumDescriptions": [ "The renewal method is undefined.", - "The domain is automatically renewed each year . To disable automatic renewals, export the domain by calling `ExportRegistration` .", + "The domain is automatically renewed each year . To disable automatic renewals, delete the resource by calling `DeleteRegistration` or export it by calling `ExportRegistration`.", "The domain must be explicitly renewed each year before its `expire_time`. This option is only available when the `Registration` is in state `EXPORTED`. To manage the domain's current billing and renewal settings, go to [Google Domains](https://domains.google/)." ], "readOnly": true, @@ -1350,7 +1418,7 @@ "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/).", + "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": { @@ -1361,7 +1429,7 @@ "type": "array" }, "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.", + "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" }, @@ -1477,7 +1545,7 @@ "description": "Required. The complete `Registration` resource to be created." }, "validateOnly": { - "description": "When true, only validation will be performed, without actually registering the domain. Follows: https://cloud.google.com/apis/design/design_patterns#request_validation", + "description": "When true, only validation is performed, without actually registering the domain. Follows: https://cloud.google.com/apis/design/design_patterns#request_validation", "type": "boolean" }, "yearlyPrice": { @@ -1555,7 +1623,7 @@ "type": "object" }, "Registration": { - "description": "The `Registration` resource facilitates managing and configuring domain name registrations. To create a new `Registration` resource, find a suitable domain name by calling the `SearchDomains` method with a query to see available domain name options. After choosing a name, call `RetrieveRegisterParameters` to ensure availability and obtain information like pricing, which is needed to build a call to `RegisterDomain`. ", + "description": "The `Registration` resource facilitates managing and configuring domain name registrations. There are several ways to create a new `Registration` resource: To create a new `Registration` resource, find a suitable domain name by calling the `SearchDomains` method with a query to see available domain name options. After choosing a name, call `RetrieveRegisterParameters` to ensure availability and obtain information like pricing, which is needed to build a call to `RegisterDomain`. Another way to create a new `Registration` is to transfer an existing domain from another registrar. First, go to the current registrar to unlock the domain for transfer and retrieve the domain's transfer authorization code. Then call `RetrieveTransferParameters` to confirm that the domain is unlocked and to get values needed to build a call to `TransferDomain`.", "id": "Registration", "properties": { "contactSettings": { @@ -1618,7 +1686,7 @@ }, "pendingContactSettings": { "$ref": "ContactSettings", - "description": "Output only. Pending contact settings for the `Registration`. Updates to the `contact_settings` field that change its `registrant_contact` or `privacy` fields require email confirmation by the `registrant_contact` before taking effect. This field is set only if there are pending updates to the `contact_settings` that have not yet been confirmed. To confirm the changes, the `registrant_contact` must follow the instructions in the email they receive.", + "description": "Output only. Pending contact settings for the `Registration`. Updates to the `contact_settings` field that change its `registrant_contact` or `privacy` fields require email confirmation by the `registrant_contact` before taking effect. This field is set only if there are pending updates to the `contact_settings` that have not been confirmed. To confirm the changes, the `registrant_contact` must follow the instructions in the email they receive.", "readOnly": true }, "state": { @@ -1627,6 +1695,8 @@ "STATE_UNSPECIFIED", "REGISTRATION_PENDING", "REGISTRATION_FAILED", + "TRANSFER_PENDING", + "TRANSFER_FAILED", "ACTIVE", "SUSPENDED", "EXPORTED" @@ -1635,9 +1705,11 @@ "The state is undefined.", "The domain is being registered.", "The domain registration failed. You can delete resources in this state to allow registration to be retried.", + "The domain is being transferred from another registrar to Cloud Domains.", + "The attempt to transfer the domain from another registrar to Cloud Domains failed. You can delete resources in this state and retry the transfer.", "The domain is registered and operational. The domain renews automatically as long as it remains in this state.", "The domain is suspended and inoperative. For more details, see the `issues` field.", - "The domain has been exported from Cloud Domains to [Google Domains](https://domains.google/). You can no longer update it with this API, and information shown about it may be stale. Without further action, domains in this state expire at their `expire_time`. You can delete the resource after the `expire_time` has passed." + "The domain is no longer managed with Cloud Domains. It may have been transferred to another registrar or exported for management in [Google Domains](https://domains.google/). You can no longer update it with this API, and information shown about it may be stale. Domains in this state are not automatically renewed by Cloud Domains." ], "readOnly": true, "type": "string" @@ -1682,6 +1754,17 @@ }, "type": "object" }, + "RetrieveTransferParametersResponse": { + "description": "Response for the `RetrieveTransferParameters` method.", + "id": "RetrieveTransferParametersResponse", + "properties": { + "transferParameters": { + "$ref": "TransferParameters", + "description": "Parameters to use when calling the `TransferDomain` method." + } + }, + "type": "object" + }, "SearchDomainsResponse": { "description": "Response for the `SearchDomains` method.", "id": "SearchDomainsResponse", @@ -1766,6 +1849,103 @@ } }, "type": "object" + }, + "TransferDomainRequest": { + "description": "Request for the `TransferDomain` method.", + "id": "TransferDomainRequest", + "properties": { + "authorizationCode": { + "$ref": "AuthorizationCode", + "description": "The domain's transfer authorization code. You can obtain this from the domain's current registrar." + }, + "contactNotices": { + "description": "The list of contact notices that you acknowledge. The notices needed here depend on the values specified in `registration.contact_settings`.", + "items": { + "enum": [ + "CONTACT_NOTICE_UNSPECIFIED", + "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT" + ], + "enumDescriptions": [ + "The notice is undefined.", + "Required when setting the `privacy` field of `ContactSettings` to `PUBLIC_CONTACT_DATA`, which exposes contact data publicly." + ], + "type": "string" + }, + "type": "array" + }, + "registration": { + "$ref": "Registration", + "description": "Required. The complete `Registration` resource to be created. You can leave `registration.dns_settings` unset to import the domain's current DNS configuration from its current registrar. Use this option only if you are sure that the domain's current DNS service does not cease upon transfer, as is often the case for DNS services provided for free by the registrar." + }, + "validateOnly": { + "description": "Validate the request without actually transferring the domain.", + "type": "boolean" + }, + "yearlyPrice": { + "$ref": "Money", + "description": "Required. Acknowledgement of the price to transfer or renew the domain for one year. Call `RetrieveTransferParameters` to obtain the price, which you must acknowledge." + } + }, + "type": "object" + }, + "TransferParameters": { + "description": "Parameters required to transfer a domain from another registrar.", + "id": "TransferParameters", + "properties": { + "currentRegistrar": { + "description": "The registrar that currently manages the domain.", + "type": "string" + }, + "domainName": { + "description": "The domain name. Unicode domain names are expressed in Punycode format.", + "type": "string" + }, + "nameServers": { + "description": "The name servers that currently store the configuration of the domain.", + "items": { + "type": "string" + }, + "type": "array" + }, + "supportedPrivacy": { + "description": "Contact privacy options that the domain supports.", + "items": { + "enum": [ + "CONTACT_PRIVACY_UNSPECIFIED", + "PUBLIC_CONTACT_DATA", + "PRIVATE_CONTACT_DATA", + "REDACTED_CONTACT_DATA" + ], + "enumDescriptions": [ + "The contact privacy settings are undefined.", + "All the data from `ContactSettings` is publicly available. When setting this option, you must also provide a `PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT` in the `contact_notices` field of the request.", + "None of the data from `ContactSettings` is publicly available. Instead, proxy contact data is published for your domain. Email sent to the proxy email address is forwarded to the registrant's email address. Cloud Domains provides this privacy proxy service at no additional cost.", + "Some data from `ContactSettings` is publicly available. The actual information redacted depends on the domain. For details, see [the registration privacy article](https://support.google.com/domains/answer/3251242)." + ], + "type": "string" + }, + "type": "array" + }, + "transferLockState": { + "description": "Indicates whether the domain is protected by a transfer lock. For a transfer to succeed, this must show `UNLOCKED`. To unlock a domain, go to its current registrar.", + "enum": [ + "TRANSFER_LOCK_STATE_UNSPECIFIED", + "UNLOCKED", + "LOCKED" + ], + "enumDescriptions": [ + "The state is unspecified.", + "The domain is unlocked and can be transferred to another registrar.", + "The domain is locked and cannot be transferred to another registrar." + ], + "type": "string" + }, + "yearlyPrice": { + "$ref": "Money", + "description": "Price to transfer or renew the domain for one year." + } + }, + "type": "object" } }, "servicePath": "", diff --git a/etc/api/domainsrdap/v1/domainsrdap-api.json b/etc/api/domainsrdap/v1/domainsrdap-api.json index 300bd755c3..ac4dea1b7e 100644 --- a/etc/api/domainsrdap/v1/domainsrdap-api.json +++ b/etc/api/domainsrdap/v1/domainsrdap-api.json @@ -289,7 +289,7 @@ } } }, - "revision": "20210331", + "revision": "20220307", "rootUrl": "https://domainsrdap.googleapis.com/", "schemas": { "HttpBody": { diff --git a/etc/api/doubleclickbidmanager/v1.1/doubleclickbidmanager-api.json b/etc/api/doubleclickbidmanager/v1.1/doubleclickbidmanager-api.json index f36e10e17b..cb8fbd9273 100644 --- a/etc/api/doubleclickbidmanager/v1.1/doubleclickbidmanager-api.json +++ b/etc/api/doubleclickbidmanager/v1.1/doubleclickbidmanager-api.json @@ -105,46 +105,6 @@ }, "protocol": "rest", "resources": { - "lineitems": { - "methods": { - "downloadlineitems": { - "description": "Retrieves line items in CSV format. YouTube & partners line items are not supported.", - "flatPath": "lineitems/downloadlineitems", - "httpMethod": "POST", - "id": "doubleclickbidmanager.lineitems.downloadlineitems", - "parameterOrder": [], - "parameters": {}, - "path": "lineitems/downloadlineitems", - "request": { - "$ref": "DownloadLineItemsRequest" - }, - "response": { - "$ref": "DownloadLineItemsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/doubleclickbidmanager" - ] - }, - "uploadlineitems": { - "description": "Uploads line items in CSV format. YouTube & partners line items are not supported.", - "flatPath": "lineitems/uploadlineitems", - "httpMethod": "POST", - "id": "doubleclickbidmanager.lineitems.uploadlineitems", - "parameterOrder": [], - "parameters": {}, - "path": "lineitems/uploadlineitems", - "request": { - "$ref": "UploadLineItemsRequest" - }, - "response": { - "$ref": "UploadLineItemsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/doubleclickbidmanager" - ] - } - } - }, "queries": { "methods": { "createquery": { @@ -318,31 +278,9 @@ ] } } - }, - "sdf": { - "methods": { - "download": { - "description": "Retrieves entities in SDF format.", - "flatPath": "sdf/download", - "httpMethod": "POST", - "id": "doubleclickbidmanager.sdf.download", - "parameterOrder": [], - "parameters": {}, - "path": "sdf/download", - "request": { - "$ref": "DownloadRequest" - }, - "response": { - "$ref": "DownloadResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/doubleclickbidmanager" - ] - } - } } }, - "revision": "20210323", + "revision": "20220302", "rootUrl": "https://doubleclickbidmanager.googleapis.com/", "schemas": { "ChannelGrouping": { @@ -381,158 +319,6 @@ }, "type": "object" }, - "DownloadLineItemsRequest": { - "description": "Request to fetch stored line items.", - "id": "DownloadLineItemsRequest", - "properties": { - "fileSpec": { - "description": "File specification (column names, types, order) in which the line items will be returned. Default to EWF.", - "enum": [ - "EWF" - ], - "enumDescriptions": [ - "" - ], - "type": "string" - }, - "filterIds": { - "description": "Ids of the specified filter type used to filter line items to fetch. If omitted, all the line items will be returned.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "filterType": { - "description": "Filter type used to filter line items to fetch.", - "enum": [ - "ADVERTISER_ID", - "INSERTION_ORDER_ID", - "LINE_ITEM_ID" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "format": { - "description": "Format in which the line items will be returned. Default to CSV.", - "enum": [ - "CSV" - ], - "enumDescriptions": [ - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "DownloadLineItemsResponse": { - "description": "Download line items response.", - "id": "DownloadLineItemsResponse", - "properties": { - "lineItems": { - "description": "Retrieved line items in CSV format. For more information about file formats, see Entity Write File Format.", - "type": "string" - } - }, - "type": "object" - }, - "DownloadRequest": { - "description": "Request to fetch stored inventory sources, campaigns, insertion orders, line items, YouTube ad groups and ads.", - "id": "DownloadRequest", - "properties": { - "fileTypes": { - "description": "File types that will be returned. If INVENTORY_SOURCE is requested, no other file types may be requested. Acceptable values are: - \"AD\" - \"AD_GROUP\" - \"CAMPAIGN\" - \"INSERTION_ORDER\" - \"INVENTORY_SOURCE\" - \"LINE_ITEM\" ", - "items": { - "enum": [ - "INSERTION_ORDER", - "LINE_ITEM", - "AD_GROUP", - "AD", - "CAMPAIGN", - "INVENTORY_SOURCE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "filterIds": { - "description": "The IDs of the specified filter type. This is used to filter entities to fetch. At least one ID must be specified.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "filterType": { - "description": "Filter type used to filter entities to fetch. PARTNER_ID and INVENTORY_SOURCE_ID may only be used when downloading inventory sources.", - "enum": [ - "ADVERTISER_ID", - "INSERTION_ORDER_ID", - "LINE_ITEM_ID", - "CAMPAIGN_ID", - "INVENTORY_SOURCE_ID", - "PARTNER_ID" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "version": { - "description": "SDF Version (column names, types, order) in which the entities will be returned. Default to 5.", - "type": "string" - } - }, - "type": "object" - }, - "DownloadResponse": { - "description": "Download response.", - "id": "DownloadResponse", - "properties": { - "adGroups": { - "description": "Retrieved ad groups in SDF format.", - "type": "string" - }, - "ads": { - "description": "Retrieved ads in SDF format.", - "type": "string" - }, - "campaigns": { - "description": "Retrieved campaigns in SDF format.", - "type": "string" - }, - "insertionOrders": { - "description": "Retrieved insertion orders in SDF format.", - "type": "string" - }, - "inventorySources": { - "type": "string" - }, - "lineItems": { - "description": "Retrieved line items in SDF format.", - "type": "string" - } - }, - "type": "object" - }, "EventFilter": { "description": "Defines the type of filter to be applied to the path, a DV360 event dimension filter.", "id": "EventFilter", @@ -814,7 +600,35 @@ "FILTER_OM_SDK_AVAILABLE", "FILTER_DATA_SOURCE", "FILTER_CM360_PLACEMENT_ID", - "FILTER_TRUEVIEW_CLICK_TYPE_NAME" + "FILTER_TRUEVIEW_CLICK_TYPE_NAME", + "FILTER_TRUEVIEW_AD_TYPE_NAME", + "FILTER_VIDEO_CONTENT_DURATION", + "FILTER_MATCHED_GENRE_TARGET", + "FILTER_VIDEO_CONTENT_LIVE_STREAM", + "FILTER_BUDGET_SEGMENT_TYPE", + "FILTER_BUDGET_SEGMENT_BUDGET", + "FILTER_BUDGET_SEGMENT_START_DATE", + "FILTER_BUDGET_SEGMENT_END_DATE", + "FILTER_BUDGET_SEGMENT_PACING_PERCENTAGE", + "FILTER_LINE_ITEM_BUDGET", + "FILTER_LINE_ITEM_START_DATE", + "FILTER_LINE_ITEM_END_DATE", + "FILTER_INSERTION_ORDER_GOAL_TYPE", + "FILTER_LINE_ITEM_PACING_PERCENTAGE", + "FILTER_INSERTION_ORDER_GOAL_VALUE", + "FILTER_OMID_CAPABLE", + "FILTER_VENDOR_MEASUREMENT_MODE", + "FILTER_IMPRESSION_LOSS_REJECTION_REASON", + "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_START", + "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_FIRST_QUARTILE", + "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_MID_POINT", + "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_THIRD_QUARTILE", + "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_COMPLETE", + "FILTER_VERIFICATION_VIDEO_RESIZED", + "FILTER_VERIFICATION_AUDIBILITY_START", + "FILTER_VERIFICATION_AUDIBILITY_COMPLETE", + "FILTER_MEDIA_TYPE", + "FILTER_AUDIO_FEED_TYPE_NAME" ], "enumDescriptions": [ "", @@ -1080,6 +894,34 @@ "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "" ], "type": "string" @@ -1428,7 +1270,35 @@ "FILTER_OM_SDK_AVAILABLE", "FILTER_DATA_SOURCE", "FILTER_CM360_PLACEMENT_ID", - "FILTER_TRUEVIEW_CLICK_TYPE_NAME" + "FILTER_TRUEVIEW_CLICK_TYPE_NAME", + "FILTER_TRUEVIEW_AD_TYPE_NAME", + "FILTER_VIDEO_CONTENT_DURATION", + "FILTER_MATCHED_GENRE_TARGET", + "FILTER_VIDEO_CONTENT_LIVE_STREAM", + "FILTER_BUDGET_SEGMENT_TYPE", + "FILTER_BUDGET_SEGMENT_BUDGET", + "FILTER_BUDGET_SEGMENT_START_DATE", + "FILTER_BUDGET_SEGMENT_END_DATE", + "FILTER_BUDGET_SEGMENT_PACING_PERCENTAGE", + "FILTER_LINE_ITEM_BUDGET", + "FILTER_LINE_ITEM_START_DATE", + "FILTER_LINE_ITEM_END_DATE", + "FILTER_INSERTION_ORDER_GOAL_TYPE", + "FILTER_LINE_ITEM_PACING_PERCENTAGE", + "FILTER_INSERTION_ORDER_GOAL_VALUE", + "FILTER_OMID_CAPABLE", + "FILTER_VENDOR_MEASUREMENT_MODE", + "FILTER_IMPRESSION_LOSS_REJECTION_REASON", + "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_START", + "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_FIRST_QUARTILE", + "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_MID_POINT", + "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_THIRD_QUARTILE", + "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_COMPLETE", + "FILTER_VERIFICATION_VIDEO_RESIZED", + "FILTER_VERIFICATION_AUDIBILITY_START", + "FILTER_VERIFICATION_AUDIBILITY_COMPLETE", + "FILTER_MEDIA_TYPE", + "FILTER_AUDIO_FEED_TYPE_NAME" ], "enumDescriptions": [ "", @@ -1694,6 +1564,34 @@ "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "" ], "type": "string" @@ -2162,7 +2060,21 @@ "METRIC_CM360_POST_VIEW_REVENUE", "METRIC_CM360_POST_CLICK_REVENUE", "METRIC_CM360_POST_CLICK_REVENUE_CROSS_ENVIRONMENT", - "METRIC_CM360_POST_VIEW_REVENUE_CROSS_ENVIRONMENT" + "METRIC_CM360_POST_VIEW_REVENUE_CROSS_ENVIRONMENT", + "METRIC_PERCENTAGE_FROM_CURRENT_IO_GOAL", + "METRIC_DUPLICATE_FLOODLIGHT_IMPRESSIONS", + "METRIC_COOKIE_CONSENTED_FLOODLIGHT_IMPRESSIONS", + "METRIC_COOKIE_UNCONSENTED_FLOODLIGHT_IMPRESSIONS", + "METRIC_TRACKING_UNCONSENTED_CLICKS", + "METRIC_IMPRESSION_LOSS_TARGETED_IMPRESSIONS", + "METRIC_LINEITEM_BID_RESPONSE_COUNT", + "METRIC_WIN_LOSS_RATE", + "METRIC_WIN_LOSS_DEAL_AVAILABLE_REQUESTS", + "METRIC_WIN_LOSS_LINEITEM_AVAILABLE_REQUESTS", + "METRIC_WIN_LOSS_DEAL_TARGETED_IMPRESSIONS", + "METRIC_WIN_LOSS_LINEITEM_TARGETED_IMPRESSIONS", + "METRIC_VERIFICATION_VIDEO_PLAYER_SIZE_MEASURABLE_IMPRESSIONS", + "METRIC_TRUEVIEW_ALL_AD_SEQUENCE_IMPRESSIONS" ], "enumDescriptions": [ "", @@ -2619,6 +2531,20 @@ "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "" ], "type": "string" @@ -3024,7 +2950,35 @@ "FILTER_OM_SDK_AVAILABLE", "FILTER_DATA_SOURCE", "FILTER_CM360_PLACEMENT_ID", - "FILTER_TRUEVIEW_CLICK_TYPE_NAME" + "FILTER_TRUEVIEW_CLICK_TYPE_NAME", + "FILTER_TRUEVIEW_AD_TYPE_NAME", + "FILTER_VIDEO_CONTENT_DURATION", + "FILTER_MATCHED_GENRE_TARGET", + "FILTER_VIDEO_CONTENT_LIVE_STREAM", + "FILTER_BUDGET_SEGMENT_TYPE", + "FILTER_BUDGET_SEGMENT_BUDGET", + "FILTER_BUDGET_SEGMENT_START_DATE", + "FILTER_BUDGET_SEGMENT_END_DATE", + "FILTER_BUDGET_SEGMENT_PACING_PERCENTAGE", + "FILTER_LINE_ITEM_BUDGET", + "FILTER_LINE_ITEM_START_DATE", + "FILTER_LINE_ITEM_END_DATE", + "FILTER_INSERTION_ORDER_GOAL_TYPE", + "FILTER_LINE_ITEM_PACING_PERCENTAGE", + "FILTER_INSERTION_ORDER_GOAL_VALUE", + "FILTER_OMID_CAPABLE", + "FILTER_VENDOR_MEASUREMENT_MODE", + "FILTER_IMPRESSION_LOSS_REJECTION_REASON", + "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_START", + "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_FIRST_QUARTILE", + "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_MID_POINT", + "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_THIRD_QUARTILE", + "FILTER_VERIFICATION_VIDEO_PLAYER_SIZE_COMPLETE", + "FILTER_VERIFICATION_VIDEO_RESIZED", + "FILTER_VERIFICATION_AUDIBILITY_START", + "FILTER_VERIFICATION_AUDIBILITY_COMPLETE", + "FILTER_MEDIA_TYPE", + "FILTER_AUDIO_FEED_TYPE_NAME" ], "enumDescriptions": [ "", @@ -3290,6 +3244,34 @@ "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "" ], "type": "string" @@ -3491,7 +3473,8 @@ "WEEKLY", "SEMI_MONTHLY", "MONTHLY", - "QUARTERLY" + "QUARTERLY", + "YEARLY" ], "enumDescriptions": [ "", @@ -3499,6 +3482,7 @@ "", "", "", + "", "" ], "type": "string" @@ -3676,42 +3660,6 @@ }, "type": "object" }, - "RowStatus": { - "description": "Represents the upload status of a row in the request.", - "id": "RowStatus", - "properties": { - "changed": { - "description": "Whether the stored entity is changed as a result of upload.", - "type": "boolean" - }, - "entityId": { - "description": "Entity Id.", - "format": "int64", - "type": "string" - }, - "entityName": { - "description": "Entity name.", - "type": "string" - }, - "errors": { - "description": "Reasons why the entity can't be uploaded.", - "items": { - "type": "string" - }, - "type": "array" - }, - "persisted": { - "description": "Whether the entity is persisted.", - "type": "boolean" - }, - "rowNumber": { - "description": "Row number.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, "Rule": { "description": "A Rule defines a name, and a boolean expression in [conjunctive normal form](http: //mathworld.wolfram.com/ConjunctiveNormalForm.html){.external} that can be // applied to a path event to determine if that name should be applied.", "id": "Rule", @@ -3797,63 +3745,6 @@ } }, "type": "object" - }, - "UploadLineItemsRequest": { - "description": "Request to upload line items.", - "id": "UploadLineItemsRequest", - "properties": { - "dryRun": { - "description": "Set to true to get upload status without actually persisting the line items.", - "type": "boolean" - }, - "format": { - "description": "Format the line items are in. Default to CSV.", - "enum": [ - "CSV" - ], - "enumDescriptions": [ - "" - ], - "type": "string" - }, - "lineItems": { - "description": "Line items in CSV to upload. Refer to Entity Write File Format for more information on file format.", - "type": "string" - } - }, - "type": "object" - }, - "UploadLineItemsResponse": { - "description": "Upload line items response.", - "id": "UploadLineItemsResponse", - "properties": { - "uploadStatus": { - "$ref": "UploadStatus", - "description": "Status of upload." - } - }, - "type": "object" - }, - "UploadStatus": { - "description": "Represents the status of upload.", - "id": "UploadStatus", - "properties": { - "errors": { - "description": "Reasons why upload can't be completed.", - "items": { - "type": "string" - }, - "type": "array" - }, - "rowStatus": { - "description": "Per-row upload status.", - "items": { - "$ref": "RowStatus" - }, - "type": "array" - } - }, - "type": "object" } }, "servicePath": "doubleclickbidmanager/v1.1/", diff --git a/etc/api/doubleclicksearch/v2/doubleclicksearch-api.json b/etc/api/doubleclicksearch/v2/doubleclicksearch-api.json index 60c563b1f4..7fb8a0a9f3 100644 --- a/etc/api/doubleclicksearch/v2/doubleclicksearch-api.json +++ b/etc/api/doubleclicksearch/v2/doubleclicksearch-api.json @@ -399,7 +399,7 @@ } } }, - "revision": "20210323", + "revision": "20220301", "rootUrl": "https://doubleclicksearch.googleapis.com/", "schemas": { "Availability": { diff --git a/etc/api/drive/v2/drive-api.json b/etc/api/drive/v2/drive-api.json index b837a70e8f..95229ac24a 100644 --- a/etc/api/drive/v2/drive-api.json +++ b/etc/api/drive/v2/drive-api.json @@ -38,7 +38,7 @@ "description": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/drive/", - "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/caoLcrPNlqW4zj9323ON2YLaWnI\"", + "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/PaSrKCCNSmaLx57wbfYZy_-0zZ0\"", "icons": { "x16": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_16.png", "x32": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_32.png" @@ -1030,7 +1030,7 @@ "parameters": { "maxResults": { "default": "10", - "description": "Maximum number of shared drives to return.", + "description": "Maximum number of shared drives to return per page.", "format": "int32", "location": "query", "maximum": "100", @@ -1280,7 +1280,7 @@ ] }, "export": { - "description": "Exports a Google Doc to the requested MIME type and returns the exported content. Please note that the exported content is limited to 10MB.", + "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.", "httpMethod": "GET", "id": "drive.files.export", "parameterOrder": [ @@ -1325,7 +1325,13 @@ }, "space": { "default": "drive", - "description": "The space in which the IDs can be used to create new files. Supported values are 'drive' and 'appDataFolder'.", + "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" } @@ -1341,7 +1347,7 @@ ] }, "get": { - "description": "Gets a file's metadata by ID.", + "description": "Gets a file's metadata or content by ID.", "httpMethod": "GET", "id": "drive.files.get", "parameterOrder": [ @@ -1615,7 +1621,7 @@ "type": "string" }, "spaces": { - "description": "A comma-separated list of spaces to query. Supported values are 'drive', 'appDataFolder' and 'photos'.", + "description": "A comma-separated list of spaces to query. Supported values are 'drive' and 'appDataFolder'.", "location": "query", "type": "string" }, @@ -1653,7 +1659,7 @@ ] }, "patch": { - "description": "Updates file metadata and/or content. This method supports patch semantics.", + "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.", "httpMethod": "PATCH", "id": "drive.files.patch", "parameterOrder": [ @@ -1925,7 +1931,7 @@ ] }, "update": { - "description": "Updates file metadata and/or content.", + "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.", "httpMethod": "PUT", "id": "drive.files.update", "mediaUpload": { @@ -2685,7 +2691,7 @@ }, "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'.", + "description": "Whether to transfer ownership to the specified user and downgrade the current owner to a writer. This parameter is required as an acknowledgement of the side effect. File owners can only transfer ownership of files existing on My Drive. Files existing in a shared drive are owned by the organization that owns that shared drive. Ownership transfers are not supported for files and folders in shared drives. Organizers of a shared drive can move items from that shared drive into their My Drive which transfers the ownership to them.", "location": "query", "type": "boolean" }, @@ -3521,7 +3527,7 @@ } } }, - "revision": "20210322", + "revision": "20220225", "rootUrl": "https://www.googleapis.com/", "schemas": { "About": { @@ -4186,7 +4192,7 @@ "id": "Comment", "properties": { "anchor": { - "description": "A region of the document represented as a JSON string. See anchor documentation for details on how to define and interpret anchor properties.", + "description": "A region of the document represented as a JSON string. For details on defining anchor properties, refer to Add comments and replies.", "type": "string" }, "author": { @@ -4555,6 +4561,10 @@ "description": "The name of this shared 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 shared drive or items inside this shared drive.", "properties": { @@ -4630,6 +4640,10 @@ "capabilities": { "description": "Capabilities the current user has on this file. Each capability corresponds to a fine-grained action that a user may take.", "properties": { + "canAcceptOwnership": { + "description": "Whether the current user is the pending owner of the file. Not populated for shared drive files.", + "type": "boolean" + }, "canAddChildren": { "description": "Whether the current user can add children to this folder. This is always false when the item is not a folder.", "type": "boolean" @@ -4650,6 +4664,10 @@ "description": "Deprecated", "type": "boolean" }, + "canChangeSecurityUpdateEnabled": { + "description": "Whether the current user can change the securityUpdateEnabled field on link share metadata.", + "type": "boolean" + }, "canComment": { "description": "Whether the current user can comment on this file.", "type": "boolean" @@ -4827,6 +4845,7 @@ "type": "string" }, "description": "Links for exporting Docs Editors files to specific formats.", + "readOnly": true, "type": "object" }, "fileExtension": { @@ -4839,7 +4858,7 @@ "type": "string" }, "folderColorRgb": { - "description": "Folder color as an RGB hex string if the file is 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. Not populated for items in shared drives.", + "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": { @@ -5045,6 +5064,20 @@ "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": "Whether the file is eligible for security update.", + "type": "boolean" + }, + "securityUpdateEnabled": { + "description": "Whether the security update is enabled for this file.", + "type": "boolean" + } + }, + "type": "object" + }, "markedViewedByMeDate": { "description": "Deprecated.", "format": "date-time", @@ -5091,7 +5124,7 @@ "type": "array" }, "owners": { - "description": "The owner(s) of this file. Not populated for items in shared drives.", + "description": "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" }, @@ -5130,6 +5163,10 @@ "format": "int64", "type": "string" }, + "resourceKey": { + "description": "A key needed to access the item via a shared link.", + "type": "string" + }, "selfLink": { "description": "A link back to this file.", "type": "string" @@ -5161,6 +5198,10 @@ "targetMimeType": { "description": "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": "The ResourceKey for the target file.", + "type": "string" } }, "type": "object" @@ -5429,6 +5470,10 @@ "description": "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": "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": { @@ -5459,6 +5504,7 @@ }, "type": "object" }, + "readOnly": true, "type": "array" }, "photoLink": { @@ -5508,6 +5554,7 @@ }, "type": "object" }, + "readOnly": true, "type": "array" }, "type": { @@ -5704,7 +5751,7 @@ "type": "string" }, "pinned": { - "description": "Whether this revision is pinned to prevent automatic purging. This will only be populated and 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.", + "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": { @@ -5918,6 +5965,10 @@ "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": { diff --git a/etc/api/drive/v3/drive-api.json b/etc/api/drive/v3/drive-api.json index 37c97eaf1f..f7cc1eb7fd 100644 --- a/etc/api/drive/v3/drive-api.json +++ b/etc/api/drive/v3/drive-api.json @@ -35,7 +35,7 @@ "description": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/drive/", - "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/Nyk9QooT1-WBB03Ilrr_sA6IsJk\"", + "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/-mhqfu_gCvSknSoZ4b0_9VmlIiM\"", "icons": { "x16": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_16.png", "x32": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_32.png" @@ -680,7 +680,7 @@ "parameters": { "pageSize": { "default": "10", - "description": "Maximum number of shared drives to return.", + "description": "Maximum number of shared drives to return per page.", "format": "int32", "location": "query", "maximum": "100", @@ -982,7 +982,7 @@ ] }, "export": { - "description": "Exports a Google Doc to the requested MIME type and returns the exported content. Please note that the exported content is limited to 10MB.", + "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.", "httpMethod": "GET", "id": "drive.files.export", "parameterOrder": [ @@ -1027,7 +1027,13 @@ }, "space": { "default": "drive", - "description": "The space in which the IDs can be used to create new files. Supported values are 'drive' and 'appDataFolder'.", + "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" } @@ -1168,7 +1174,7 @@ }, "spaces": { "default": "drive", - "description": "A comma-separated list of spaces to query within the corpus. Supported values are 'drive', 'appDataFolder' and 'photos'.", + "description": "A comma-separated list of spaces to query within the corpus. Supported values are 'drive' and 'appDataFolder'.", "location": "query", "type": "string" }, @@ -1205,7 +1211,7 @@ ] }, "update": { - "description": "Updates a file's metadata and/or content. This method supports patch semantics.", + "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.", "httpMethod": "PATCH", "id": "drive.files.update", "mediaUpload": { @@ -1302,7 +1308,7 @@ "supportsMediaUpload": true }, "watch": { - "description": "Subscribes to changes to a file", + "description": "Subscribes to changes to a file. While you can establish a channel forchanges to a file on a shared drive, a change to a shared drive file won't create a notification.", "httpMethod": "POST", "id": "drive.files.watch", "parameterOrder": [ @@ -1414,7 +1420,7 @@ }, "transferOwnership": { "default": "false", - "description": "Whether to transfer ownership to the specified user and downgrade the current owner to a writer. This parameter is required as an acknowledgement of the side effect.", + "description": "Whether to transfer ownership to the specified user and downgrade the current owner to a writer. This parameter is required as an acknowledgement of the side effect. File owners can only transfer ownership of files existing on My Drive. Files existing in a shared drive are owned by the organization that owns that shared drive. Ownership transfers are not supported for files and folders in shared drives. Organizers of a shared drive can move items from that shared drive into their My Drive which transfers the ownership to them.", "location": "query", "type": "boolean" }, @@ -1641,7 +1647,7 @@ }, "transferOwnership": { "default": "false", - "description": "Whether to transfer ownership to the specified user and downgrade the current owner to a writer. This parameter is required as an acknowledgement of the side effect.", + "description": "Whether to transfer ownership to the specified user and downgrade the current owner to a writer. This parameter is required as an acknowledgement of the side effect. File owners can only transfer ownership of files existing on My Drive. Files existing in a shared drive are owned by the organization that owns that shared drive. Ownership transfers are not supported for files and folders in shared drives. Organizers of a shared drive can move items from that shared drive into their My Drive which transfers the ownership to them.", "location": "query", "type": "boolean" }, @@ -2185,7 +2191,7 @@ } } }, - "revision": "20210322", + "revision": "20220225", "rootUrl": "https://www.googleapis.com/", "schemas": { "About": { @@ -2462,7 +2468,7 @@ "id": "Comment", "properties": { "anchor": { - "description": "A region of the document represented as a JSON string. See anchor documentation for details on how to define and interpret anchor properties.", + "description": "A region of the document represented as a JSON string. For details on defining anchor properties, refer to Add comments and replies.", "type": "string" }, "author": { @@ -2719,9 +2725,18 @@ "type": "string" }, "name": { + "annotations": { + "required": [ + "drive.drives.create" + ] + }, "description": "The name of this shared 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 shared drive or items inside this shared drive.", "properties": { @@ -2788,6 +2803,10 @@ "capabilities": { "description": "Capabilities the current user has on this file. Each capability corresponds to a fine-grained action that a user may take.", "properties": { + "canAcceptOwnership": { + "description": "Whether the current user is the pending owner of the file. Not populated for shared drive files.", + "type": "boolean" + }, "canAddChildren": { "description": "Whether the current user can add children to this folder. This is always false when the item is not a folder.", "type": "boolean" @@ -2804,6 +2823,10 @@ "description": "Whether the current user can change the copyRequiresWriterPermission restriction of this file.", "type": "boolean" }, + "canChangeSecurityUpdateEnabled": { + "description": "Whether the current user can change the securityUpdateEnabled field on link share metadata.", + "type": "boolean" + }, "canChangeViewersCanCopyContent": { "description": "Deprecated", "type": "boolean" @@ -2986,6 +3009,7 @@ "type": "string" }, "description": "Links for exporting Docs Editors files to specific formats.", + "readOnly": true, "type": "object" }, "fileExtension": { @@ -2993,7 +3017,7 @@ "type": "string" }, "folderColorRgb": { - "description": "The color for a folder as an RGB hex string. The supported colors are published in the folderColorPalette field of the About resource.\nIf an unsupported color is specified, the closest color in the palette will be used instead.", + "description": "The color for a folder or shortcut to a folder as an RGB hex string. The supported colors are published in the folderColorPalette field of the About resource.\nIf an unsupported color is specified, the closest color in the palette will be used instead.", "type": "string" }, "fullFileExtension": { @@ -3150,6 +3174,20 @@ "$ref": "User", "description": "The last user to modify the file." }, + "linkShareMetadata": { + "description": "Contains details about the link URLs that clients are using to refer to this item.", + "properties": { + "securityUpdateEligible": { + "description": "Whether the file is eligible for security update.", + "type": "boolean" + }, + "securityUpdateEnabled": { + "description": "Whether the security update is enabled for this file.", + "type": "boolean" + } + }, + "type": "object" + }, "md5Checksum": { "description": "The MD5 checksum for the content of the file. This is only applicable to files with binary content in Google Drive.", "type": "string" @@ -3185,7 +3223,7 @@ "type": "boolean" }, "owners": { - "description": "The owners of the file. Currently, only certain legacy files may have more than one owner. Not populated for items in shared drives.", + "description": "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" }, @@ -3224,6 +3262,10 @@ "format": "int64", "type": "string" }, + "resourceKey": { + "description": "A key needed to access the item via a shared link.", + "type": "string" + }, "shared": { "description": "Whether the file has been shared. Not populated for items in shared drives.", "type": "boolean" @@ -3247,6 +3289,10 @@ "targetMimeType": { "description": "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": "The ResourceKey for the target file.", + "type": "string" } }, "type": "object" @@ -3435,6 +3481,10 @@ "description": "Identifies what kind of resource this is. Value: the fixed string \"drive#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": "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": { @@ -3458,6 +3508,7 @@ }, "type": "object" }, + "readOnly": true, "type": "array" }, "photoLink": { @@ -3496,6 +3547,7 @@ }, "type": "object" }, + "readOnly": true, "type": "array" }, "type": { @@ -3853,9 +3905,18 @@ "type": "string" }, "name": { + "annotations": { + "required": [ + "drive.teamdrives.create" + ] + }, "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": { diff --git a/etc/api/driveactivity/v2/driveactivity-api.json b/etc/api/driveactivity/v2/driveactivity-api.json index da4f66b98e..6c15b6a151 100644 --- a/etc/api/driveactivity/v2/driveactivity-api.json +++ b/etc/api/driveactivity/v2/driveactivity-api.json @@ -132,7 +132,7 @@ } } }, - "revision": "20210326", + "revision": "20220301", "rootUrl": "https://driveactivity.googleapis.com/", "schemas": { "Action": { diff --git a/etc/api/essentialcontacts/v1/essentialcontacts-api.json b/etc/api/essentialcontacts/v1/essentialcontacts-api.json new file mode 100644 index 0000000000..2a39aea989 --- /dev/null +++ b/etc/api/essentialcontacts/v1/essentialcontacts-api.json @@ -0,0 +1,1010 @@ +{ + "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://essentialcontacts.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Essentialcontacts", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/essentialcontacts/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": "essentialcontacts:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://essentialcontacts.mtls.googleapis.com/", + "name": "essentialcontacts", + "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": { + "contacts": { + "methods": { + "compute": { + "description": "Lists all contacts for the resource that are subscribed to the specified notification categories, including contacts inherited from any parent resources.", + "flatPath": "v1/folders/{foldersId}/contacts:compute", + "httpMethod": "GET", + "id": "essentialcontacts.folders.contacts.compute", + "parameterOrder": [ + "parent" + ], + "parameters": { + "notificationCategories": { + "description": "The categories of notifications to compute contacts for. If ALL is included in this list, contacts subscribed to any notification category will be returned.", + "enum": [ + "NOTIFICATION_CATEGORY_UNSPECIFIED", + "ALL", + "SUSPENSION", + "SECURITY", + "TECHNICAL", + "BILLING", + "LEGAL", + "PRODUCT_UPDATES", + "TECHNICAL_INCIDENTS" + ], + "enumDescriptions": [ + "Notification category is unrecognized or unspecified.", + "All notifications related to the resource, including notifications pertaining to categories added in the future.", + "Notifications related to imminent account suspension.", + "Notifications related to security/privacy incidents, notifications, and vulnerabilities.", + "Notifications related to technical events and issues such as outages, errors, or bugs.", + "Notifications related to billing and payments notifications, price updates, errors, or credits.", + "Notifications related to enforcement actions, regulatory compliance, or government notices.", + "Notifications related to new versions, product terms updates, or deprecations.", + "Child category of TECHNICAL. If assigned, technical incident notifications will go to these contacts instead of TECHNICAL." + ], + "location": "query", + "repeated": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `next_page_token` in the response indicates that more results might be available. If not specified, the default page_size is 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters should be identical to those in the previous call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the resource to compute contacts for. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id}", + "location": "path", + "pattern": "^folders/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/contacts:compute", + "response": { + "$ref": "GoogleCloudEssentialcontactsV1ComputeContactsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Adds a new contact for a resource.", + "flatPath": "v1/folders/{foldersId}/contacts", + "httpMethod": "POST", + "id": "essentialcontacts.folders.contacts.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource to save this contact for. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id}", + "location": "path", + "pattern": "^folders/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/contacts", + "request": { + "$ref": "GoogleCloudEssentialcontactsV1Contact" + }, + "response": { + "$ref": "GoogleCloudEssentialcontactsV1Contact" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a contact.", + "flatPath": "v1/folders/{foldersId}/contacts/{contactsId}", + "httpMethod": "DELETE", + "id": "essentialcontacts.folders.contacts.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the contact to delete. Format: organizations/{organization_id}/contacts/{contact_id}, folders/{folder_id}/contacts/{contact_id} or projects/{project_id}/contacts/{contact_id}", + "location": "path", + "pattern": "^folders/[^/]+/contacts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a single contact.", + "flatPath": "v1/folders/{foldersId}/contacts/{contactsId}", + "httpMethod": "GET", + "id": "essentialcontacts.folders.contacts.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the contact to retrieve. Format: organizations/{organization_id}/contacts/{contact_id}, folders/{folder_id}/contacts/{contact_id} or projects/{project_id}/contacts/{contact_id}", + "location": "path", + "pattern": "^folders/[^/]+/contacts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudEssentialcontactsV1Contact" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the contacts that have been set on a resource.", + "flatPath": "v1/folders/{foldersId}/contacts", + "httpMethod": "GET", + "id": "essentialcontacts.folders.contacts.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `next_page_token` in the response indicates that more results might be available. If not specified, the default page_size is 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters should be identical to those in the previous call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id}", + "location": "path", + "pattern": "^folders/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/contacts", + "response": { + "$ref": "GoogleCloudEssentialcontactsV1ListContactsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a contact. Note: A contact's email address cannot be changed.", + "flatPath": "v1/folders/{foldersId}/contacts/{contactsId}", + "httpMethod": "PATCH", + "id": "essentialcontacts.folders.contacts.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}", + "location": "path", + "pattern": "^folders/[^/]+/contacts/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The update mask applied 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": "v1/{+name}", + "request": { + "$ref": "GoogleCloudEssentialcontactsV1Contact" + }, + "response": { + "$ref": "GoogleCloudEssentialcontactsV1Contact" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "sendTestMessage": { + "description": "Allows a contact admin to send a test message to contact to verify that it has been configured correctly.", + "flatPath": "v1/folders/{foldersId}/contacts:sendTestMessage", + "httpMethod": "POST", + "id": "essentialcontacts.folders.contacts.sendTestMessage", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "Required. The name of the resource to send the test message for. All contacts must either be set directly on this resource or inherited from another resource that is an ancestor of this one. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id}", + "location": "path", + "pattern": "^folders/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}/contacts:sendTestMessage", + "request": { + "$ref": "GoogleCloudEssentialcontactsV1SendTestMessageRequest" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "organizations": { + "resources": { + "contacts": { + "methods": { + "compute": { + "description": "Lists all contacts for the resource that are subscribed to the specified notification categories, including contacts inherited from any parent resources.", + "flatPath": "v1/organizations/{organizationsId}/contacts:compute", + "httpMethod": "GET", + "id": "essentialcontacts.organizations.contacts.compute", + "parameterOrder": [ + "parent" + ], + "parameters": { + "notificationCategories": { + "description": "The categories of notifications to compute contacts for. If ALL is included in this list, contacts subscribed to any notification category will be returned.", + "enum": [ + "NOTIFICATION_CATEGORY_UNSPECIFIED", + "ALL", + "SUSPENSION", + "SECURITY", + "TECHNICAL", + "BILLING", + "LEGAL", + "PRODUCT_UPDATES", + "TECHNICAL_INCIDENTS" + ], + "enumDescriptions": [ + "Notification category is unrecognized or unspecified.", + "All notifications related to the resource, including notifications pertaining to categories added in the future.", + "Notifications related to imminent account suspension.", + "Notifications related to security/privacy incidents, notifications, and vulnerabilities.", + "Notifications related to technical events and issues such as outages, errors, or bugs.", + "Notifications related to billing and payments notifications, price updates, errors, or credits.", + "Notifications related to enforcement actions, regulatory compliance, or government notices.", + "Notifications related to new versions, product terms updates, or deprecations.", + "Child category of TECHNICAL. If assigned, technical incident notifications will go to these contacts instead of TECHNICAL." + ], + "location": "query", + "repeated": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `next_page_token` in the response indicates that more results might be available. If not specified, the default page_size is 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters should be identical to those in the previous call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the resource to compute contacts for. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id}", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/contacts:compute", + "response": { + "$ref": "GoogleCloudEssentialcontactsV1ComputeContactsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Adds a new contact for a resource.", + "flatPath": "v1/organizations/{organizationsId}/contacts", + "httpMethod": "POST", + "id": "essentialcontacts.organizations.contacts.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource to save this contact for. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id}", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/contacts", + "request": { + "$ref": "GoogleCloudEssentialcontactsV1Contact" + }, + "response": { + "$ref": "GoogleCloudEssentialcontactsV1Contact" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a contact.", + "flatPath": "v1/organizations/{organizationsId}/contacts/{contactsId}", + "httpMethod": "DELETE", + "id": "essentialcontacts.organizations.contacts.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the contact to delete. Format: organizations/{organization_id}/contacts/{contact_id}, folders/{folder_id}/contacts/{contact_id} or projects/{project_id}/contacts/{contact_id}", + "location": "path", + "pattern": "^organizations/[^/]+/contacts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a single contact.", + "flatPath": "v1/organizations/{organizationsId}/contacts/{contactsId}", + "httpMethod": "GET", + "id": "essentialcontacts.organizations.contacts.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the contact to retrieve. Format: organizations/{organization_id}/contacts/{contact_id}, folders/{folder_id}/contacts/{contact_id} or projects/{project_id}/contacts/{contact_id}", + "location": "path", + "pattern": "^organizations/[^/]+/contacts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudEssentialcontactsV1Contact" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the contacts that have been set on a resource.", + "flatPath": "v1/organizations/{organizationsId}/contacts", + "httpMethod": "GET", + "id": "essentialcontacts.organizations.contacts.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `next_page_token` in the response indicates that more results might be available. If not specified, the default page_size is 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters should be identical to those in the previous call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id}", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/contacts", + "response": { + "$ref": "GoogleCloudEssentialcontactsV1ListContactsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a contact. Note: A contact's email address cannot be changed.", + "flatPath": "v1/organizations/{organizationsId}/contacts/{contactsId}", + "httpMethod": "PATCH", + "id": "essentialcontacts.organizations.contacts.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}", + "location": "path", + "pattern": "^organizations/[^/]+/contacts/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The update mask applied 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": "v1/{+name}", + "request": { + "$ref": "GoogleCloudEssentialcontactsV1Contact" + }, + "response": { + "$ref": "GoogleCloudEssentialcontactsV1Contact" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "sendTestMessage": { + "description": "Allows a contact admin to send a test message to contact to verify that it has been configured correctly.", + "flatPath": "v1/organizations/{organizationsId}/contacts:sendTestMessage", + "httpMethod": "POST", + "id": "essentialcontacts.organizations.contacts.sendTestMessage", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "Required. The name of the resource to send the test message for. All contacts must either be set directly on this resource or inherited from another resource that is an ancestor of this one. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id}", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}/contacts:sendTestMessage", + "request": { + "$ref": "GoogleCloudEssentialcontactsV1SendTestMessageRequest" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "projects": { + "resources": { + "contacts": { + "methods": { + "compute": { + "description": "Lists all contacts for the resource that are subscribed to the specified notification categories, including contacts inherited from any parent resources.", + "flatPath": "v1/projects/{projectsId}/contacts:compute", + "httpMethod": "GET", + "id": "essentialcontacts.projects.contacts.compute", + "parameterOrder": [ + "parent" + ], + "parameters": { + "notificationCategories": { + "description": "The categories of notifications to compute contacts for. If ALL is included in this list, contacts subscribed to any notification category will be returned.", + "enum": [ + "NOTIFICATION_CATEGORY_UNSPECIFIED", + "ALL", + "SUSPENSION", + "SECURITY", + "TECHNICAL", + "BILLING", + "LEGAL", + "PRODUCT_UPDATES", + "TECHNICAL_INCIDENTS" + ], + "enumDescriptions": [ + "Notification category is unrecognized or unspecified.", + "All notifications related to the resource, including notifications pertaining to categories added in the future.", + "Notifications related to imminent account suspension.", + "Notifications related to security/privacy incidents, notifications, and vulnerabilities.", + "Notifications related to technical events and issues such as outages, errors, or bugs.", + "Notifications related to billing and payments notifications, price updates, errors, or credits.", + "Notifications related to enforcement actions, regulatory compliance, or government notices.", + "Notifications related to new versions, product terms updates, or deprecations.", + "Child category of TECHNICAL. If assigned, technical incident notifications will go to these contacts instead of TECHNICAL." + ], + "location": "query", + "repeated": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `next_page_token` in the response indicates that more results might be available. If not specified, the default page_size is 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters should be identical to those in the previous call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the resource to compute contacts for. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id}", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/contacts:compute", + "response": { + "$ref": "GoogleCloudEssentialcontactsV1ComputeContactsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Adds a new contact for a resource.", + "flatPath": "v1/projects/{projectsId}/contacts", + "httpMethod": "POST", + "id": "essentialcontacts.projects.contacts.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource to save this contact for. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id}", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/contacts", + "request": { + "$ref": "GoogleCloudEssentialcontactsV1Contact" + }, + "response": { + "$ref": "GoogleCloudEssentialcontactsV1Contact" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a contact.", + "flatPath": "v1/projects/{projectsId}/contacts/{contactsId}", + "httpMethod": "DELETE", + "id": "essentialcontacts.projects.contacts.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the contact to delete. Format: organizations/{organization_id}/contacts/{contact_id}, folders/{folder_id}/contacts/{contact_id} or projects/{project_id}/contacts/{contact_id}", + "location": "path", + "pattern": "^projects/[^/]+/contacts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a single contact.", + "flatPath": "v1/projects/{projectsId}/contacts/{contactsId}", + "httpMethod": "GET", + "id": "essentialcontacts.projects.contacts.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the contact to retrieve. Format: organizations/{organization_id}/contacts/{contact_id}, folders/{folder_id}/contacts/{contact_id} or projects/{project_id}/contacts/{contact_id}", + "location": "path", + "pattern": "^projects/[^/]+/contacts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudEssentialcontactsV1Contact" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the contacts that have been set on a resource.", + "flatPath": "v1/projects/{projectsId}/contacts", + "httpMethod": "GET", + "id": "essentialcontacts.projects.contacts.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `next_page_token` in the response indicates that more results might be available. If not specified, the default page_size is 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters should be identical to those in the previous call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id}", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/contacts", + "response": { + "$ref": "GoogleCloudEssentialcontactsV1ListContactsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a contact. Note: A contact's email address cannot be changed.", + "flatPath": "v1/projects/{projectsId}/contacts/{contactsId}", + "httpMethod": "PATCH", + "id": "essentialcontacts.projects.contacts.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}", + "location": "path", + "pattern": "^projects/[^/]+/contacts/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The update mask applied 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": "v1/{+name}", + "request": { + "$ref": "GoogleCloudEssentialcontactsV1Contact" + }, + "response": { + "$ref": "GoogleCloudEssentialcontactsV1Contact" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "sendTestMessage": { + "description": "Allows a contact admin to send a test message to contact to verify that it has been configured correctly.", + "flatPath": "v1/projects/{projectsId}/contacts:sendTestMessage", + "httpMethod": "POST", + "id": "essentialcontacts.projects.contacts.sendTestMessage", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "Required. The name of the resource to send the test message for. All contacts must either be set directly on this resource or inherited from another resource that is an ancestor of this one. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id}", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}/contacts:sendTestMessage", + "request": { + "$ref": "GoogleCloudEssentialcontactsV1SendTestMessageRequest" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + }, + "revision": "20220227", + "rootUrl": "https://essentialcontacts.googleapis.com/", + "schemas": { + "GoogleCloudEssentialcontactsV1ComputeContactsResponse": { + "description": "Response message for the ComputeContacts method.", + "id": "GoogleCloudEssentialcontactsV1ComputeContactsResponse", + "properties": { + "contacts": { + "description": "All contacts for the resource that are subscribed to the specified notification categories, including contacts inherited from any parent resources.", + "items": { + "$ref": "GoogleCloudEssentialcontactsV1Contact" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If there are more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token` and the rest of the parameters the same as the original request.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudEssentialcontactsV1Contact": { + "description": "A contact that will receive notifications from Google Cloud.", + "id": "GoogleCloudEssentialcontactsV1Contact", + "properties": { + "email": { + "description": "Required. The email address to send notifications to. This does not need to be a Google account.", + "type": "string" + }, + "languageTag": { + "description": "The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages.", + "type": "string" + }, + "name": { + "description": "The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id}", + "type": "string" + }, + "notificationCategorySubscriptions": { + "description": "The categories of notifications that the contact will receive communications for.", + "items": { + "enum": [ + "NOTIFICATION_CATEGORY_UNSPECIFIED", + "ALL", + "SUSPENSION", + "SECURITY", + "TECHNICAL", + "BILLING", + "LEGAL", + "PRODUCT_UPDATES", + "TECHNICAL_INCIDENTS" + ], + "enumDescriptions": [ + "Notification category is unrecognized or unspecified.", + "All notifications related to the resource, including notifications pertaining to categories added in the future.", + "Notifications related to imminent account suspension.", + "Notifications related to security/privacy incidents, notifications, and vulnerabilities.", + "Notifications related to technical events and issues such as outages, errors, or bugs.", + "Notifications related to billing and payments notifications, price updates, errors, or credits.", + "Notifications related to enforcement actions, regulatory compliance, or government notices.", + "Notifications related to new versions, product terms updates, or deprecations.", + "Child category of TECHNICAL. If assigned, technical incident notifications will go to these contacts instead of TECHNICAL." + ], + "type": "string" + }, + "type": "array" + }, + "validateTime": { + "description": "The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago.", + "format": "google-datetime", + "type": "string" + }, + "validationState": { + "description": "The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource.", + "enum": [ + "VALIDATION_STATE_UNSPECIFIED", + "VALID", + "INVALID" + ], + "enumDescriptions": [ + "The validation state is unknown or unspecified.", + "The contact is marked as valid. This is usually done manually by the contact admin. All new contacts begin in the valid state.", + "The contact is considered invalid. This may become the state if the contact's email is found to be unreachable." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudEssentialcontactsV1ListContactsResponse": { + "description": "Response message for the ListContacts method.", + "id": "GoogleCloudEssentialcontactsV1ListContactsResponse", + "properties": { + "contacts": { + "description": "The contacts for the specified resource.", + "items": { + "$ref": "GoogleCloudEssentialcontactsV1Contact" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If there are more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token` and the rest of the parameters the same as the original request.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudEssentialcontactsV1SendTestMessageRequest": { + "description": "Request message for the SendTestMessage method.", + "id": "GoogleCloudEssentialcontactsV1SendTestMessageRequest", + "properties": { + "contacts": { + "description": "Required. The list of names of the contacts to send a test message to. Format: organizations/{organization_id}/contacts/{contact_id}, folders/{folder_id}/contacts/{contact_id} or projects/{project_id}/contacts/{contact_id}", + "items": { + "type": "string" + }, + "type": "array" + }, + "notificationCategory": { + "description": "Required. The notification category to send the test message for. All contacts must be subscribed to this category.", + "enum": [ + "NOTIFICATION_CATEGORY_UNSPECIFIED", + "ALL", + "SUSPENSION", + "SECURITY", + "TECHNICAL", + "BILLING", + "LEGAL", + "PRODUCT_UPDATES", + "TECHNICAL_INCIDENTS" + ], + "enumDescriptions": [ + "Notification category is unrecognized or unspecified.", + "All notifications related to the resource, including notifications pertaining to categories added in the future.", + "Notifications related to imminent account suspension.", + "Notifications related to security/privacy incidents, notifications, and vulnerabilities.", + "Notifications related to technical events and issues such as outages, errors, or bugs.", + "Notifications related to billing and payments notifications, price updates, errors, or credits.", + "Notifications related to enforcement actions, regulatory compliance, or government notices.", + "Notifications related to new versions, product terms updates, or deprecations.", + "Child category of TECHNICAL. If assigned, technical incident notifications will go to these contacts instead of TECHNICAL." + ], + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", + "id": "GoogleProtobufEmpty", + "properties": {}, + "type": "object" + } + }, + "servicePath": "", + "title": "Essential Contacts API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/eventarc/v1/eventarc-api.json b/etc/api/eventarc/v1/eventarc-api.json index bb845e686f..3a200a9477 100644 --- a/etc/api/eventarc/v1/eventarc-api.json +++ b/etc/api/eventarc/v1/eventarc-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -177,6 +177,188 @@ } }, "resources": { + "channelConnections": { + "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}/channelConnections/{channelConnectionsId}:getIamPolicy", + "httpMethod": "GET", + "id": "eventarc.projects.locations.channelConnections.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/channelConnections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/channelConnections/{channelConnectionsId}:setIamPolicy", + "httpMethod": "POST", + "id": "eventarc.projects.locations.channelConnections.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/[^/]+/channelConnections/[^/]+$", + "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}/channelConnections/{channelConnectionsId}:testIamPermissions", + "httpMethod": "POST", + "id": "eventarc.projects.locations.channelConnections.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/[^/]+/channelConnections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "channels": { + "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}/channels/{channelsId}:getIamPolicy", + "httpMethod": "GET", + "id": "eventarc.projects.locations.channels.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/channels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/channels/{channelsId}:setIamPolicy", + "httpMethod": "POST", + "id": "eventarc.projects.locations.channels.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/[^/]+/channels/[^/]+$", + "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}/channels/{channelsId}:testIamPermissions", + "httpMethod": "POST", + "id": "eventarc.projects.locations.channels.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/[^/]+/channels/[^/]+$", + "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": { @@ -300,6 +482,81 @@ } } }, + "providers": { + "methods": { + "get": { + "description": "Get a single Provider.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers/{providersId}", + "httpMethod": "GET", + "id": "eventarc.projects.locations.providers.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the provider to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/providers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Provider" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List providers.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/providers", + "httpMethod": "GET", + "id": "eventarc.projects.locations.providers.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "The filter field that the list request will filter on.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "The sorting order of the resources returned. Value should be a comma-separated list of fields. The default sorting oder is ascending. To specify descending order for a field, append a `desc` suffix; for example: `name desc, _id`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of providers to return on each page.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The page token; provide the value from the `next_page_token` field in a previous `ListProviders` call to retrieve the subsequent page. When paginating, all other parameters provided to `ListProviders` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent of the provider to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/providers", + "response": { + "$ref": "ListProvidersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "triggers": { "methods": { "create": { @@ -324,7 +581,7 @@ "type": "string" }, "validateOnly": { - "description": "Required. If set, validate the request and preview the review, but do not actually post it.", + "description": "Required. If set, validate the request and preview the review, but do not post it.", "location": "query", "type": "boolean" } @@ -367,7 +624,7 @@ "type": "string" }, "validateOnly": { - "description": "Required. If set, validate the request and preview the review, but do not actually post it.", + "description": "Required. If set, validate the request and preview the review, but do not post it.", "location": "query", "type": "boolean" } @@ -415,7 +672,7 @@ ], "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).", + "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" @@ -445,8 +702,13 @@ "parent" ], "parameters": { + "filter": { + "description": "Filter field. Used to filter the Triggers to be listed. Possible filters are described in https://google.aip.dev/160. For example, using \"?filter=destination:gke\" would list only Triggers with a gke destination.", + "location": "query", + "type": "string" + }, "orderBy": { - "description": "The sorting order of the resources returned. Value should be a comma separated list of fields. The default sorting oder is ascending. To specify descending order for a field, append a ` desc` suffix; for example: `name desc, trigger_id`.", + "description": "The sorting order of the resources returned. Value should be a comma-separated list of fields. The default sorting order is ascending. To specify descending order for a field, append a `desc` suffix; for example: `name desc, trigger_id`.", "location": "query", "type": "string" }, @@ -492,20 +754,20 @@ "type": "boolean" }, "name": { - "description": "Required. The resource name of the trigger. Must be unique within the location on the project and must be in `projects/{project}/locations/{location}/triggers/{trigger}` format.", + "description": "Required. The resource name of the trigger. Must be unique within the location of the project and must be in `projects/{project}/locations/{location}/triggers/{trigger}` format.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/triggers/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The fields to be updated; only fields explicitly provided will be updated. If no field mask is provided, all provided fields in the request will be updated. To update all fields, provide a field mask of \"*\".", + "description": "The fields to be updated; only fields explicitly provided are updated. If no field mask is provided, all provided fields in the request are updated. To update all fields, provide a field mask of \"*\".", "format": "google-fieldmask", "location": "query", "type": "string" }, "validateOnly": { - "description": "Required. If set, validate the request and preview the review, but do not actually post it.", + "description": "Required. If set, validate the request and preview the review, but do not post it.", "location": "query", "type": "boolean" } @@ -584,7 +846,7 @@ } } }, - "revision": "20210325", + "revision": "20220301", "rootUrl": "https://eventarc.googleapis.com/", "schemas": { "AuditConfig": { @@ -636,22 +898,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -662,7 +924,7 @@ "id": "CloudRun", "properties": { "path": { - "description": "Optional. The relative path on the Cloud Run service the events should be sent to. The value must conform to the definition of URI path segment (section 3.3 of RFC2396). Examples: \"/route\", \"route\", \"route/subroute\".", + "description": "Optional. The relative path on the Cloud Run service the events should be sent to. The value must conform to the definition of a URI path segment (section 3.3 of RFC2396). Examples: \"/route\", \"route\", \"route/subroute\".", "type": "string" }, "region": { @@ -670,7 +932,7 @@ "type": "string" }, "service": { - "description": "Required. The name of the Cloud Run service being addressed. See https://cloud.google.com/run/docs/reference/rest/v1/namespaces.services. Only services located in the same project of the trigger object can be addressed.", + "description": "Required. The name of the Cloud Run service being addressed. See https://cloud.google.com/run/docs/reference/rest/v1/namespaces.services. Only services located in the same project as the trigger object can be addressed.", "type": "string" } }, @@ -680,9 +942,17 @@ "description": "Represents a target of an invocation over HTTP.", "id": "Destination", "properties": { + "cloudFunction": { + "description": "The Cloud Function resource name. Only Cloud Functions V2 is supported. Format: `projects/{project}/locations/{location}/functions/{function}`", + "type": "string" + }, "cloudRun": { "$ref": "CloudRun", - "description": "Cloud Run fully-managed service that receives the events. The service should be running in the same project of the trigger." + "description": "Cloud Run fully-managed resource that receives the events. The resource should be in the same project as the trigger." + }, + "gke": { + "$ref": "GKE", + "description": "A GKE service capable of receiving events. The service should be running in the same project as the trigger." } }, "type": "object" @@ -701,6 +971,10 @@ "description": "Required. The name of a CloudEvents attribute. Currently, only a subset of attributes are supported for filtering. All triggers MUST provide a filter for the 'type' attribute.", "type": "string" }, + "operator": { + "description": "Optional. The operator used for matching the events with the value of the filter. If not specified, only events that have an exact key-value pair specified in the filter are matched. The only allowed value is `match-path-pattern`.", + "type": "string" + }, "value": { "description": "Required. The value for the attribute.", "type": "string" @@ -708,6 +982,36 @@ }, "type": "object" }, + "EventType": { + "description": "A representation of the event type resource.", + "id": "EventType", + "properties": { + "description": { + "description": "Output only. Human friendly description of what the event type is about. For example \"Bucket created in Cloud Storage\".", + "readOnly": true, + "type": "string" + }, + "eventSchemaUri": { + "description": "Output only. URI for the event schema. For example \"https://github.com/googleapis/google-cloudevents/blob/master/proto/google/events/cloud/storage/v1/events.proto\"", + "readOnly": true, + "type": "string" + }, + "filteringAttributes": { + "description": "Output only. Filtering attributes for the event type.", + "items": { + "$ref": "FilteringAttribute" + }, + "readOnly": true, + "type": "array" + }, + "type": { + "description": "Output only. The full name of the event type (for example, \"google.cloud.storage.object.v1.finalized\"). In the form of {provider-specific-prefix}.{resource}.{version}.{verb}. Types MUST be versioned and event schemas are guaranteed to remain backward compatible within one version. Note that event type versions and API versions do not need to match.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Expr": { "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", "id": "Expr", @@ -731,6 +1035,60 @@ }, "type": "object" }, + "FilteringAttribute": { + "description": "A representation of the FilteringAttribute resource. Filtering attributes are per event type.", + "id": "FilteringAttribute", + "properties": { + "attribute": { + "description": "Output only. Attribute used for filtering the event type.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Output only. Description of the purpose of the attribute.", + "readOnly": true, + "type": "string" + }, + "pathPatternSupported": { + "description": "Output only. If true, the attribute accepts matching expressions in the Eventarc PathPattern format.", + "readOnly": true, + "type": "boolean" + }, + "required": { + "description": "Output only. If true, the triggers for this provider should always specify a filter on these attributes. Trigger creation will fail otherwise.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "GKE": { + "description": "Represents a GKE destination.", + "id": "GKE", + "properties": { + "cluster": { + "description": "Required. The name of the cluster the GKE service is running in. The cluster must be running in the same project as the trigger being created.", + "type": "string" + }, + "location": { + "description": "Required. The name of the Google Compute Engine in which the cluster resides, which can either be compute zone (for example, us-central1-a) for the zonal clusters or region (for example, us-central1) for regional clusters.", + "type": "string" + }, + "namespace": { + "description": "Required. The namespace the GKE service is running in.", + "type": "string" + }, + "path": { + "description": "Optional. The relative path on the GKE service the events should be sent to. The value must conform to the definition of a URI path segment (section 3.3 of RFC2396). Examples: \"/route\", \"route\", \"route/subroute\".", + "type": "string" + }, + "service": { + "description": "Required. Name of the GKE service.", + "type": "string" + } + }, + "type": "object" + }, "GoogleLongrunningCancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "GoogleLongrunningCancelOperationRequest", @@ -835,8 +1193,33 @@ }, "type": "object" }, + "ListProvidersResponse": { + "description": "The response message for the `ListProviders` method.", + "id": "ListProvidersResponse", + "properties": { + "nextPageToken": { + "description": "A page token that can be sent to ListProviders to request the next page. If this is empty, then there are no more pages.", + "type": "string" + }, + "providers": { + "description": "The requested providers, up to the number specified in `page_size`.", + "items": { + "$ref": "Provider" + }, + "type": "array" + }, + "unreachable": { + "description": "Unreachable resources, if any.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListTriggersResponse": { - "description": "The response message for the ListTriggers method.", + "description": "The response message for the `ListTriggers` method.", "id": "ListTriggersResponse", "properties": { "nextPageToken": { @@ -939,7 +1322,7 @@ "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/).", + "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": { @@ -950,7 +1333,7 @@ "type": "array" }, "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.", + "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" }, @@ -969,17 +1352,42 @@ }, "type": "object" }, + "Provider": { + "description": "A representation of the Provider resource.", + "id": "Provider", + "properties": { + "displayName": { + "description": "Output only. Human friendly name for the Provider. For example \"Cloud Storage\".", + "readOnly": true, + "type": "string" + }, + "eventTypes": { + "description": "Output only. Event types for this provider.", + "items": { + "$ref": "EventType" + }, + "readOnly": true, + "type": "array" + }, + "name": { + "description": "Output only. In `projects/{project}/locations/{location}/providers/{provider_id}` format.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Pubsub": { "description": "Represents a Pub/Sub transport.", "id": "Pubsub", "properties": { "subscription": { - "description": "Output only. The name of the Pub/Sub subscription created and managed by Eventarc system as a transport for the event delivery. Format: `projects/{PROJECT_ID}/subscriptions/{SUBSCRIPTION_NAME}`.", + "description": "Output only. The name of the Pub/Sub subscription created and managed by Eventarc as a transport for the event delivery. Format: `projects/{PROJECT_ID}/subscriptions/{SUBSCRIPTION_NAME}`.", "readOnly": true, "type": "string" }, "topic": { - "description": "Optional. The name of the Pub/Sub topic created and managed by Eventarc system as a transport for the event delivery. Format: `projects/{PROJECT_ID}/topics/{TOPIC_NAME}`. You may set an existing topic for triggers of the type `google.cloud.pubsub.topic.v1.messagePublished` only. The topic you provide here will not be deleted by Eventarc at trigger deletion.", + "description": "Optional. The name of the Pub/Sub topic created and managed by Eventarc as a transport for the event delivery. Format: `projects/{PROJECT_ID}/topics/{TOPIC_NAME}`. You can set an existing topic for triggers of the type `google.cloud.pubsub.topic.v1.messagePublished`. The topic you provide here is not deleted by Eventarc at trigger deletion.", "type": "string" } }, @@ -1030,12 +1438,12 @@ "type": "object" }, "Transport": { - "description": "Represents the transport intermediaries created for the trigger in order to deliver events.", + "description": "Represents the transport intermediaries created for the trigger to deliver events.", "id": "Transport", "properties": { "pubsub": { "$ref": "Pubsub", - "description": "The Pub/Sub topic and subscription used by Eventarc as delivery intermediary." + "description": "The Pub/Sub topic and subscription used by Eventarc as a transport intermediary." } }, "type": "object" @@ -1055,12 +1463,12 @@ "description": "Required. Destination specifies where the events should be sent to." }, "etag": { - "description": "Output only. This checksum is computed by the server based on the value of other fields, and may be sent only on create requests to ensure the client has an up-to-date value before proceeding.", + "description": "Output only. This checksum is computed by the server based on the value of other fields, and might be sent only on create requests to ensure that the client has an up-to-date value before proceeding.", "readOnly": true, "type": "string" }, "eventFilters": { - "description": "Required. null The list of filters that applies to event attributes. Only events that match all the provided filters will be sent to the destination.", + "description": "Required. null The list of filters that applies to event attributes. Only events that match all the provided filters are sent to the destination.", "items": { "$ref": "EventFilter" }, @@ -1074,19 +1482,19 @@ "type": "object" }, "name": { - "description": "Required. The resource name of the trigger. Must be unique within the location on the project and must be in `projects/{project}/locations/{location}/triggers/{trigger}` format.", + "description": "Required. The resource name of the trigger. Must be unique within the location of the project and must be in `projects/{project}/locations/{location}/triggers/{trigger}` format.", "type": "string" }, "serviceAccount": { - "description": "Optional. The IAM service account email associated with the trigger. The service account represents the identity of the trigger. The principal who calls this API must have `iam.serviceAccounts.actAs` permission in the service account. See https://cloud.google.com/iam/docs/understanding-service-accounts?hl=en#sa_common for more information. For Cloud Run destinations, this service account is used to generate identity tokens when invoking the service. See https://cloud.google.com/run/docs/triggering/pubsub-push#create-service-account for information on how to invoke authenticated Cloud Run services. In order to create Audit Log triggers, the service account should also have `roles/eventarc.eventReceiver` IAM role.", + "description": "Optional. The IAM service account email associated with the trigger. The service account represents the identity of the trigger. The principal who calls this API must have the `iam.serviceAccounts.actAs` permission in the service account. See https://cloud.google.com/iam/docs/understanding-service-accounts?hl=en#sa_common for more information. For Cloud Run destinations, this service account is used to generate identity tokens when invoking the service. See https://cloud.google.com/run/docs/triggering/pubsub-push#create-service-account for information on how to invoke authenticated Cloud Run services. To create Audit Log triggers, the service account should also have the `roles/eventarc.eventReceiver` IAM role.", "type": "string" }, "transport": { "$ref": "Transport", - "description": "Optional. In order to deliver messages, Eventarc may use other GCP products as transport intermediary. This field contains a reference to that transport intermediary. This information can be used for debugging purposes." + "description": "Optional. To deliver messages, Eventarc might use other GCP products as a transport intermediary. This field contains a reference to that transport intermediary. This information can be used for debugging purposes." }, "uid": { - "description": "Output only. Server assigned unique identifier for the trigger. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", + "description": "Output only. Server-assigned unique identifier for the trigger. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", "readOnly": true, "type": "string" }, diff --git a/etc/api/eventarc/v1beta1/eventarc-api.json b/etc/api/eventarc/v1beta1/eventarc-api.json index 9622f6159c..8c4c847519 100644 --- a/etc/api/eventarc/v1beta1/eventarc-api.json +++ b/etc/api/eventarc/v1beta1/eventarc-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -415,7 +415,7 @@ ], "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).", + "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" @@ -584,7 +584,7 @@ } } }, - "revision": "20210319", + "revision": "20220301", "rootUrl": "https://eventarc.googleapis.com/", "schemas": { "AuditConfig": { @@ -636,22 +636,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -912,7 +912,7 @@ "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/).", + "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": { @@ -923,7 +923,7 @@ "type": "array" }, "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.", + "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" }, diff --git a/etc/api/factchecktools/v1alpha1/factchecktools-api.json b/etc/api/factchecktools/v1alpha1/factchecktools-api.json index b42484bd12..485a54fd64 100644 --- a/etc/api/factchecktools/v1alpha1/factchecktools-api.json +++ b/etc/api/factchecktools/v1alpha1/factchecktools-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/userinfo.email": { - "description": "View your email address" + "description": "See your primary Google Account email address" } } } @@ -304,7 +304,7 @@ } } }, - "revision": "20210330", + "revision": "20220305", "rootUrl": "https://factchecktools.googleapis.com/", "schemas": { "GoogleFactcheckingFactchecktoolsV1alpha1Claim": { diff --git a/etc/api/fcm/v1/fcm-api.json b/etc/api/fcm/v1/fcm-api.json index 7d99eb81cc..d31c64f75f 100644 --- a/etc/api/fcm/v1/fcm-api.json +++ b/etc/api/fcm/v1/fcm-api.json @@ -3,7 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + }, + "https://www.googleapis.com/auth/firebase.messaging": { + "description": "Send messages and manage messaging subscriptions for your Firebase applications" } } } @@ -134,7 +137,8 @@ "$ref": "Message" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase.messaging" ] } } @@ -142,7 +146,7 @@ } } }, - "revision": "20210329", + "revision": "20220228", "rootUrl": "https://fcm.googleapis.com/", "schemas": { "AndroidConfig": { @@ -366,7 +370,7 @@ "additionalProperties": { "type": "string" }, - "description": "HTTP request headers defined in Apple Push Notification Service. Refer to [APNs request headers](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns) for supported headers, e.g. \"apns-priority\": \"10\".", + "description": "HTTP request headers defined in Apple Push Notification Service. Refer to [APNs request headers](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns) for supported headers such as `apns-expiration` and `apns-priority`.", "type": "object" }, "payload": { @@ -374,7 +378,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "APNs payload as a JSON object, including both `aps` dictionary and custom payload. See [Payload Key Reference](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification). If present, it overrides google.firebase.fcm.v1.Notification.title and google.firebase.fcm.v1.Notification.body.", + "description": "APNs payload as a JSON object, including both `aps` dictionary and custom payload. See [Payload Key Reference](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification). If present, it overrides google.firebase.fcm.v1.Notification.title and google.firebase.fcm.v1.Notification.body. The backend sets a default value for `apns-expiration` of 30 days and a default value for `apns-priority` of 10 if not explicitly set.", "type": "object" } }, @@ -474,7 +478,7 @@ "additionalProperties": { "type": "string" }, - "description": "Input only. Arbitrary key/value payload. The key should not be a reserved word (\"from\", \"message_type\", or any word starting with \"google\" or \"gcm\").", + "description": "Input only. Arbitrary key/value payload, which must be UTF-8 encoded. The key should not be a reserved word (\"from\", \"message_type\", or any word starting with \"google\" or \"gcm\"). When sending payloads containing only data fields to iOS devices, only normal priority (`\"apns-priority\": \"5\"`) is allowed in [`ApnsConfig`](/docs/reference/fcm/rest/v1/projects.messages#apnsconfig).", "type": "object" }, "fcmOptions": { diff --git a/etc/api/fcmdata/v1beta1/fcmdata-api.json b/etc/api/fcmdata/v1beta1/fcmdata-api.json new file mode 100644 index 0000000000..503198589a --- /dev/null +++ b/etc/api/fcmdata/v1beta1/fcmdata-api.json @@ -0,0 +1,328 @@ +{ + "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://fcmdata.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Fcmdata", + "description": "Provides additional information about Firebase Cloud Messaging (FCM) message sends and deliveries.", + "discoveryVersion": "v1", + "documentationLink": "https://firebase.google.com/docs/cloud-messaging", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "fcmdata:v1beta1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://fcmdata.mtls.googleapis.com/", + "name": "fcmdata", + "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": { + "androidApps": { + "resources": { + "deliveryData": { + "methods": { + "list": { + "description": "List aggregate delivery data for the given Android application.", + "flatPath": "v1beta1/projects/{projectsId}/androidApps/{androidAppsId}/deliveryData", + "httpMethod": "GET", + "id": "fcmdata.projects.androidApps.deliveryData.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of entries to return. The service may return fewer than this value. If unspecified, at most 1,000 entries will be returned. The maximum value is 10,000; values above 10,000 will be capped to 10,000. This default may change over time.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListAndroidDeliveryDataRequest` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAndroidDeliveryDataRequest` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The application for which to list delivery data. Format: `projects/{project_id}/androidApps/{app_id}`", + "location": "path", + "pattern": "^projects/[^/]+/androidApps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/deliveryData", + "response": { + "$ref": "GoogleFirebaseFcmDataV1beta1ListAndroidDeliveryDataResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20220305", + "rootUrl": "https://fcmdata.googleapis.com/", + "schemas": { + "GoogleFirebaseFcmDataV1beta1AndroidDeliveryData": { + "description": "Message delivery data for a given date, app, and analytics label combination.", + "id": "GoogleFirebaseFcmDataV1beta1AndroidDeliveryData", + "properties": { + "analyticsLabel": { + "description": "The analytics label associated with the messages sent. All messages sent without an analytics label will be grouped together in a single entry.", + "type": "string" + }, + "appId": { + "description": "The app ID to which the messages were sent.", + "type": "string" + }, + "data": { + "$ref": "GoogleFirebaseFcmDataV1beta1Data", + "description": "The data for the specified appId, date, and analyticsLabel." + }, + "date": { + "$ref": "GoogleTypeDate", + "description": "The date represented by this entry." + } + }, + "type": "object" + }, + "GoogleFirebaseFcmDataV1beta1Data": { + "description": "Data detailing messaging delivery", + "id": "GoogleFirebaseFcmDataV1beta1Data", + "properties": { + "countMessagesAccepted": { + "description": "Count of messages accepted by FCM intended to Android devices. The targeted device must have opted in to the collection of usage and diagnostic information.", + "format": "int64", + "type": "string" + }, + "deliveryPerformancePercents": { + "$ref": "GoogleFirebaseFcmDataV1beta1DeliveryPerformancePercents", + "description": "Additional information about delivery performance for messages that were successfully delivered." + }, + "messageInsightPercents": { + "$ref": "GoogleFirebaseFcmDataV1beta1MessageInsightPercents", + "description": "Additional general insights about message delivery." + }, + "messageOutcomePercents": { + "$ref": "GoogleFirebaseFcmDataV1beta1MessageOutcomePercents", + "description": "Mutually exclusive breakdown of message delivery outcomes." + } + }, + "type": "object" + }, + "GoogleFirebaseFcmDataV1beta1DeliveryPerformancePercents": { + "description": "Overview of delivery performance for messages that were successfully delivered. All percentages are calculated with countMessagesAccepted as the denominator. These categories are not mutually exclusive; a message can be delayed for multiple reasons.", + "id": "GoogleFirebaseFcmDataV1beta1DeliveryPerformancePercents", + "properties": { + "delayedDeviceDoze": { + "description": "The percentage of accepted messages that were delayed because the device was in doze mode. Only [normal priority messages](https://firebase.google.com/docs/cloud-messaging/concept-options#setting-the-priority-of-a-message) should be delayed due to doze mode.", + "format": "float", + "type": "number" + }, + "delayedDeviceOffline": { + "description": "The percentage of accepted messages that were delayed because the target device was not connected at the time of sending. These messages were eventually delivered when the device reconnected.", + "format": "float", + "type": "number" + }, + "delayedMessageThrottled": { + "description": "The percentage of accepted messages that were delayed due to message throttling, such as [collapsible message throttling](https://firebase.google.com/docs/cloud-messaging/concept-options#collapsible_throttling) or [maximum message rate throttling](https://firebase.google.com/docs/cloud-messaging/concept-options#device_throttling).", + "format": "float", + "type": "number" + }, + "delayedUserStopped": { + "description": "The percentage of accepted messages that were delayed because the intended device user-profile was [stopped](https://firebase.google.com/docs/cloud-messaging/android/receive#handling_messages) on the target device at the time of the send. The messages were eventually delivered when the user-profile was started again.", + "format": "float", + "type": "number" + }, + "deliveredNoDelay": { + "description": "The percentage of accepted messages that were delivered to the device without delay from the FCM system.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleFirebaseFcmDataV1beta1ListAndroidDeliveryDataResponse": { + "description": "Response message for ListAndroidDeliveryData.", + "id": "GoogleFirebaseFcmDataV1beta1ListAndroidDeliveryDataResponse", + "properties": { + "androidDeliveryData": { + "description": "The delivery data for the provided app. There will be one entry per combination of app, date, and analytics label.", + "items": { + "$ref": "GoogleFirebaseFcmDataV1beta1AndroidDeliveryData" + }, + "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" + }, + "GoogleFirebaseFcmDataV1beta1MessageInsightPercents": { + "description": "Additional information about message delivery. All percentages are calculated with countMessagesAccepted as the denominator.", + "id": "GoogleFirebaseFcmDataV1beta1MessageInsightPercents", + "properties": { + "priorityLowered": { + "description": "The percentage of accepted messages that had their priority lowered from high to normal due to [app standby buckets](https://firebase.google.com/docs/cloud-messaging/concept-options#setting-the-priority-of-a-message).", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleFirebaseFcmDataV1beta1MessageOutcomePercents": { + "description": "Percentage breakdown of message delivery outcomes. These categories are mutually exclusive. All percentages are calculated with countMessagesAccepted as the denominator. These categories may not account for all message outcomes.", + "id": "GoogleFirebaseFcmDataV1beta1MessageOutcomePercents", + "properties": { + "delivered": { + "description": "The percentage of all accepted messages that were successfully delivered to the device.", + "format": "float", + "type": "number" + }, + "droppedAppForceStopped": { + "description": "The percentage of accepted messages that were dropped because the application was force stopped on the device at the time of delivery and retries were unsuccessful.", + "format": "float", + "type": "number" + }, + "droppedDeviceInactive": { + "description": "The percentage of accepted messages that were dropped because the target device is inactive. FCM will drop messages if the target device is deemed inactive by our servers. If a device does reconnect, we call [OnDeletedMessages()](https://firebase.google.com/docs/cloud-messaging/android/receive#override-ondeletedmessages) in our SDK instead of delivering the messages.", + "format": "float", + "type": "number" + }, + "droppedTooManyPendingMessages": { + "description": "The percentage of accepted messages that were dropped due to [too many undelivered non-collapsible messages](https://firebase.google.com/docs/cloud-messaging/concept-options#collapsible_and_non-collapsible_messages). Specifically, each app instance can only have 100 pending messages stored on our servers for a device which is disconnected. When that device reconnects, those messages are delivered. When there are more than the maximum pending messages, we call [OnDeletedMessages()](https://firebase.google.com/docs/cloud-messaging/android/receive#override-ondeletedmessages) in our SDK instead of delivering the messages.", + "format": "float", + "type": "number" + }, + "pending": { + "description": "The percentage of messages accepted on this day that were not dropped and not delivered, due to the device being disconnected (as of the end of the America/Los_Angeles day when the message was sent to FCM). A portion of these messages will be delivered the next day when the device connects but others may be destined to devices that ultimately never reconnect.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleTypeDate": { + "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "id": "GoogleTypeDate", + "properties": { + "day": { + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "format": "int32", + "type": "integer" + }, + "year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Firebase Cloud Messaging Data API", + "version": "v1beta1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/file/v1/file-api.json b/etc/api/file/v1/file-api.json index e46adf2e16..da78916555 100644 --- a/etc/api/file/v1/file-api.json +++ b/etc/api/file/v1/file-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -161,7 +161,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -199,7 +199,7 @@ "type": "string" }, "parent": { - "description": "Required. The backup's project and location, in the format projects/{project_number}/locations/{location}. In Cloud Filestore, backup locations map to GCP regions, for example **us-west1**.", + "description": "Required. The backup's project and location, in the format `projects/{project_number}/locations/{location}`. In Cloud Filestore, backup locations map to GCP regions, for example **us-west1**.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -227,7 +227,7 @@ ], "parameters": { "name": { - "description": "Required. The backup resource name, in the format projects/{project_number}/locations/{location}/backups/{backup_id}", + "description": "Required. The backup resource name, in the format `projects/{project_number}/locations/{location}/backups/{backup_id}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/backups/[^/]+$", "required": true, @@ -252,7 +252,7 @@ ], "parameters": { "name": { - "description": "Required. The backup resource name, in the format projects/{project_number}/locations/{location}/backups/{backup_id}.", + "description": "Required. The backup resource name, in the format `projects/{project_number}/locations/{location}/backups/{backup_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/backups/[^/]+$", "required": true, @@ -298,7 +298,7 @@ "type": "string" }, "parent": { - "description": "Required. The project and location for which to retrieve backup information, in the format projects/{project_number}/locations/{location}. In Cloud Filestore, backup locations map to GCP regions, for example **us-west1**. To retrieve backup information for all locations, use \"-\" for the {location} value.", + "description": "Required. The project and location for which to retrieve backup information, in the format `projects/{project_number}/locations/{location}`. In Cloud Filestore, backup locations map to GCP regions, for example **us-west1**. To retrieve backup information for all locations, use \"-\" for the `{location}` value.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -323,7 +323,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the backup, in the format projects/{project_number}/locations/{location_id}/backups/{backup_id}.", + "description": "Output only. The resource name of the backup, in the format `projects/{project_number}/locations/{location_id}/backups/{backup_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/backups/[^/]+$", "required": true, @@ -366,7 +366,7 @@ "type": "string" }, "parent": { - "description": "Required. The instance's project and location, in the format projects/{project_id}/locations/{location}. In Cloud Filestore, locations map to GCP zones, for example **us-west1-b**.", + "description": "Required. The instance's project and location, in the format `projects/{project_id}/locations/{location}`. In Cloud Filestore, locations map to GCP zones, for example **us-west1-b**.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -393,8 +393,13 @@ "name" ], "parameters": { + "force": { + "description": "If set to true, all 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}", + "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, @@ -419,7 +424,7 @@ ], "parameters": { "name": { - "description": "Required. The instance resource name, in the format projects/{project_id}/locations/{location}/instances/{instance_id}.", + "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, @@ -465,7 +470,7 @@ "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 GCP zones, for example **us-west1-b**. To retrieve instance information for all locations, use \"-\" for the {location} value.", + "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 GCP 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, @@ -490,7 +495,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the instance, in the format projects/{project}/locations/{location}/instances/{instance}.", + "description": "Output only. The resource name of the instance, in the format `projects/{project}/locations/{location}/instances/{instance}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", "required": true, @@ -524,7 +529,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the instance, in the format projects/{project_number}/locations/{location_id}/instances/{instance_id}.", + "description": "Required. The resource name of the instance, in the format `projects/{project_number}/locations/{location_id}/instances/{instance_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", "required": true, @@ -542,6 +547,175 @@ "https://www.googleapis.com/auth/cloud-platform" ] } + }, + "resources": { + "snapshots": { + "methods": { + "create": { + "description": "Creates a snapshot.", + "flatPath": "v1/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": "v1/{+parent}/snapshots", + "request": { + "$ref": "Snapshot" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a snapshot.", + "flatPath": "v1/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": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the details of a specific snapshot.", + "flatPath": "v1/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": "v1/{+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": "v1/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" + } + }, + "path": "v1/{+parent}/snapshots", + "response": { + "$ref": "ListSnapshotsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the settings of a specific snapshot.", + "flatPath": "v1/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": "v1/{+name}", + "request": { + "$ref": "Snapshot" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } } }, "operations": { @@ -672,7 +846,7 @@ } } }, - "revision": "20210323", + "revision": "20220214", "rootUrl": "https://file.googleapis.com/", "schemas": { "Backup": { @@ -709,16 +883,21 @@ "type": "object" }, "name": { - "description": "Output only. The resource name of the backup, in the format projects/{project_number}/locations/{location_id}/backups/{backup_id}.", + "description": "Output only. The resource name of the backup, in the format `projects/{project_number}/locations/{location_id}/backups/{backup_id}`.", "readOnly": true, "type": "string" }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, "sourceFileShare": { "description": "Name of the file share in the source Cloud Filestore instance that the backup is created from.", "type": "string" }, "sourceInstance": { - "description": "The resource name of the source Cloud Filestore instance, in the format projects/{project_number}/locations/{location_id}/instances/{instance_id}, used to create this backup.", + "description": "The resource name of the source Cloud Filestore instance, in the format `projects/{project_number}/locations/{location_id}/instances/{instance_id}`, used to create this backup.", "type": "string" }, "sourceInstanceTier": { @@ -729,7 +908,8 @@ "PREMIUM", "BASIC_HDD", "BASIC_SSD", - "HIGH_SCALE_SSD" + "HIGH_SCALE_SSD", + "ENTERPRISE" ], "enumDescriptions": [ "Not set.", @@ -737,7 +917,8 @@ "PREMIUM 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." + "HIGH_SCALE instances offer expanded capacity and performance scaling capabilities.", + "ENTERPRISE instances offer the features and availability needed for mission-critical workloads." ], "readOnly": true, "type": "string" @@ -793,7 +974,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "Date", "properties": { "day": { @@ -860,7 +1041,7 @@ "type": "array" }, "sourceBackup": { - "description": "The resource name of the backup, in the format projects/{project_number}/locations/{location_id}/backups/{backup_id}, that this file share has been restored from.", + "description": "The resource name of the backup, in the format `projects/{project_number}/locations/{location_id}/backups/{backup_id}`, that this file share has been restored from.", "type": "string" } }, @@ -879,6 +1060,10 @@ "readOnly": true, "type": "string" }, + "instanceType": { + "description": "Optional. The instance_type of this instance of format: projects/{project_id}/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" @@ -905,9 +1090,16 @@ "description": "Optional. The MaintenanceSettings associated with instance." }, "name": { - "description": "Unique name of the resource. It uses the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}`", + "description": "Unique name of the resource. It uses the form: `projects/{project_id|project_number}/locations/{location_id}/instances/{instance_id}` Note: Either project_id or project_number can be used, but keep it consistent with other APIs (e.g. RescheduleUpdate)", "type": "string" }, + "notificationParameters": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. notification_parameters 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" @@ -1033,13 +1225,6 @@ "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": { - "exclusions": { - "description": "By default node is eligible if instance is eligible. But individual node might be excluded from SLO by adding entry here. For semantic see SloMetadata.exclusions. If both instance and node level exclusions are present for time period, the node level's reason will be reported by Eligibility Exporter.", - "items": { - "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" - }, - "type": "array" - }, "location": { "description": "The location of the node, if different from instance location.", "type": "string" @@ -1047,6 +1232,10 @@ "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" @@ -1095,46 +1284,10 @@ }, "type": "object" }, - "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion": { - "description": "SloExclusion represents an exclusion in SLI calculation applies to all SLOs.", - "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion", - "properties": { - "duration": { - "description": "Exclusion duration. No restrictions on the possible values. When an ongoing operation is taking longer than initially expected, an existing entry in the exclusion list can be updated by extending the duration. This is supported by the subsystem exporting eligibility data as long as such extension is committed at least 10 minutes before the original exclusion expiration - otherwise it is possible that there will be \"gaps\" in the exclusion application in the exported timeseries.", - "format": "google-duration", - "type": "string" - }, - "reason": { - "description": "Human-readable reason for the exclusion. This should be a static string (e.g. \"Disruptive update in progress\") and should not contain dynamically generated data (e.g. instance name). Can be left empty.", - "type": "string" - }, - "sliName": { - "description": "Name of an SLI that this exclusion applies to. Can be left empty, signaling that the instance should be excluded from all SLIs.", - "type": "string" - }, - "startTime": { - "description": "Start time of the exclusion. No alignment (e.g. to a full minute) needed.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata": { "description": "SloMetadata contains resources required for proper SLO classification of the instance.", "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata", "properties": { - "eligibility": { - "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility", - "description": "Optional. Global per-instance SLI eligibility which applies to all defined SLIs. Exactly one of 'eligibility' and 'per_sli_eligibility' fields must be used." - }, - "exclusions": { - "description": "List of SLO exclusion windows. When multiple entries in the list match (matching the exclusion time-window against current time point) the exclusion reason used in the first matching entry will be published. It is not needed to include expired exclusion in this list, as only the currently applicable exclusions are taken into account by the eligibility exporting subsystem (the historical state of exclusions will be reflected in the historically produced timeseries regardless of the current state). This field can be used to mark the instance as temporary ineligible for the purpose of SLO calculation. For permanent instance SLO exclusion, use of custom instance eligibility is recommended. See 'eligibility' field below.", - "items": { - "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" - }, - "type": "array" - }, "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": { @@ -1144,7 +1297,7 @@ }, "perSliEligibility": { "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility", - "description": "Optional. Multiple per-instance SLI eligibilities which apply for individual SLIs. Exactly one of 'eligibility' and 'per_sli_eligibility' fields must be used." + "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.", @@ -1178,6 +1331,10 @@ }, "type": "array" }, + "kmsKeyName": { + "description": "KMS key name used for data encryption.", + "type": "string" + }, "labels": { "additionalProperties": { "type": "string" @@ -1186,7 +1343,7 @@ "type": "object" }, "name": { - "description": "Output only. The resource name of the instance, in the format projects/{project}/locations/{location}/instances/{instance}.", + "description": "Output only. The resource name of the instance, in the format `projects/{project}/locations/{location}/instances/{instance}`.", "readOnly": true, "type": "string" }, @@ -1197,6 +1354,11 @@ }, "type": "array" }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, "state": { "description": "Output only. The instance state.", "enum": [ @@ -1206,7 +1368,8 @@ "REPAIRING", "DELETING", "ERROR", - "RESTORING" + "RESTORING", + "SUSPENDED" ], "enumDescriptions": [ "State not set.", @@ -1215,7 +1378,8 @@ "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 backup to an existing file share and may be unusable during this time." + "The instance is restoring a 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." ], "readOnly": true, "type": "string" @@ -1225,6 +1389,22 @@ "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" + }, "tier": { "description": "The service tier of the instance.", "enum": [ @@ -1233,7 +1413,8 @@ "PREMIUM", "BASIC_HDD", "BASIC_SSD", - "HIGH_SCALE_SSD" + "HIGH_SCALE_SSD", + "ENTERPRISE" ], "enumDescriptions": [ "Not set.", @@ -1241,7 +1422,8 @@ "PREMIUM 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." + "HIGH_SCALE instances offer expanded capacity and performance scaling capabilities.", + "ENTERPRISE instances offer the features and availability needed for mission-critical workloads." ], "type": "string" } @@ -1253,7 +1435,7 @@ "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.", + "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" }, @@ -1278,7 +1460,7 @@ "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.", + "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" }, @@ -1334,6 +1516,24 @@ }, "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" + } + }, + "type": "object" + }, "Location": { "description": "A resource that represents Google Cloud Platform location.", "id": "Location", @@ -1437,8 +1637,22 @@ "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": [ + "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 {octet 1}.{octet 2}.{octet 3}.{octet 4} or IPv6 addresses in the format {block 1}:{block 2}:{block 3}:{block 4}:{block 5}:{block 6}:{block 7}:{block 8}.", + "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" }, @@ -1461,11 +1675,11 @@ "type": "array" }, "network": { - "description": "The name of the Google Compute Engine [VPC network](/compute/docs/networks-and-firewalls#networks) to which the instance is connected.", + "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": "A /29 CIDR block in one of the [internal IP address ranges](https://www.arin.net/knowledge/address_filters.html) that identifies the range of IP addresses reserved for this instance. For example, 10.0.0.0/29 or 192.168.0.0/29. The range you specify can't overlap with either existing subnets or assigned IP address ranges for other Cloud Filestore instances in the selected VPC network.", + "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 or a /24 CIDR block for High Scale or 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 or 192.168.0.0/24. The range you specify can't overlap with either existing subnets or assigned IP address ranges for other Cloud Filestore instances in the selected VPC network.", "type": "string" } }, @@ -1500,7 +1714,7 @@ "type": "string" }, "ipRanges": { - "description": "List of either an IPv4 addresses in the format {octet 1}.{octet 2}.{octet 3}.{octet 4} or CIDR ranges in the format {octet 1}.{octet 2}.{octet 3}.{octet 4}/{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.", + "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" }, @@ -1563,40 +1777,47 @@ "id": "OperationMetadata", "properties": { "apiVersion": { - "description": "[Output only] API version used to start the operation.", + "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`.", + "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.", + "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.", + "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.", + "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.", + "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.", + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, "type": "string" } }, "type": "object" }, "RestoreInstanceRequest": { - "description": "RestoreInstanceRequest restores an existing instances's file share from a backup.", + "description": "RestoreInstanceRequest restores an existing instance's file share from a backup.", "id": "RestoreInstanceRequest", "properties": { "fileShare": { @@ -1604,7 +1825,7 @@ "type": "string" }, "sourceBackup": { - "description": "The resource name of the backup, in the format projects/{project_number}/locations/{location_id}/backups/{backup_id}.", + "description": "The resource name of the backup, in the format `projects/{project_number}/locations/{location_id}/backups/{backup_id}`.", "type": "string" } }, @@ -1650,6 +1871,58 @@ }, "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" + } + }, + "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", @@ -1723,7 +1996,7 @@ "type": "string" }, "denyMaintenancePeriods": { - "description": "Deny Maintenance Period that is applied to resource to indicate when maintenance is forbidden. User can specify zero or more non-overlapping deny periods. For V1, Maximum number of deny_maintenance_periods is expected to be one.", + "description": "Deny Maintenance Period that is applied to resource to indicate when maintenance is forbidden. User can specify zero or more non-overlapping deny periods. Maximum number of deny_maintenance_periods expected is one.", "items": { "$ref": "DenyMaintenancePeriod" }, diff --git a/etc/api/file/v1beta1/file-api.json b/etc/api/file/v1beta1/file-api.json index 4a0d24396f..308833112d 100644 --- a/etc/api/file/v1beta1/file-api.json +++ b/etc/api/file/v1beta1/file-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -144,7 +144,7 @@ ], "parameters": { "filter": { - "description": "The standard list 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" }, @@ -161,13 +161,13 @@ "type": "string" }, "pageSize": { - "description": "The standard list page size.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The standard list page token.", + "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" } @@ -199,7 +199,7 @@ "type": "string" }, "parent": { - "description": "Required. The backup's project and location, in the format projects/{project_id}/locations/{location}. In Cloud Filestore, backup locations map to GCP regions, for example **us-west1**.", + "description": "Required. The backup's project and location, in the format `projects/{project_id}/locations/{location}`. In Cloud Filestore, backup locations map to GCP regions, for example **us-west1**.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -227,7 +227,7 @@ ], "parameters": { "name": { - "description": "Required. The backup resource name, in the format projects/{project_id}/locations/{location}/backups/{backup_id}", + "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, @@ -252,7 +252,7 @@ ], "parameters": { "name": { - "description": "Required. The backup resource name, in the format projects/{project_id}/locations/{location}/backups/{backup_id}.", + "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, @@ -298,7 +298,7 @@ "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 Filestore, backup locations map to GCP regions, for example **us-west1**. To retrieve backup information for all locations, use \"-\" for the {location} value.", + "description": "Required. The project and location for which to retrieve backup information, in the format `projects/{project_id}/locations/{location}`. In Cloud Filestore, backup locations map to GCP regions, for example **us-west1**. To retrieve backup information for all locations, use \"-\" for the `{location}` value.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -323,7 +323,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the backup, in the format projects/{project_id}/locations/{location_id}/backups/{backup_id}.", + "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, @@ -366,7 +366,7 @@ "type": "string" }, "parent": { - "description": "Required. The instance's project and location, in the format projects/{project_id}/locations/{location}. In Cloud Filestore, locations map to GCP zones, for example **us-west1-b**.", + "description": "Required. The instance's project and location, in the format `projects/{project_id}/locations/{location}`. In Cloud Filestore, locations map to GCP zones, for example **us-west1-b**.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -393,8 +393,13 @@ "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}", + "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, @@ -419,7 +424,7 @@ ], "parameters": { "name": { - "description": "Required. The instance resource name, in the format projects/{project_id}/locations/{location}/instances/{instance_id}.", + "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, @@ -465,7 +470,7 @@ "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 GCP zones, for example **us-west1-b**. To retrieve instance information for all locations, use \"-\" for the {location} value.", + "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 GCP 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, @@ -490,7 +495,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the instance, in the format projects/{project_id}/locations/{location_id}/instances/{instance_id}.", + "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, @@ -524,7 +529,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the instance, in the format projects/{project_id}/locations/{location_id}/instances/{instance_id}.", + "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, @@ -541,6 +546,203 @@ "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. projects/{project_id}/locations/{location_id}/instances/{instance_id}. The resource name of the instance, in the format", + "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": { + "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" + } + }, + "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" + ] + } + } } } }, @@ -672,7 +874,7 @@ } } }, - "revision": "20210304", + "revision": "20220214", "rootUrl": "https://file.googleapis.com/", "schemas": { "Backup": { @@ -709,16 +911,21 @@ "type": "object" }, "name": { - "description": "Output only. The resource name of the backup, in the format projects/{project_id}/locations/{location_id}/backups/{backup_id}.", + "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" }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, "sourceFileShare": { "description": "Name of the file share in the source Cloud Filestore instance that the backup is created from.", "type": "string" }, "sourceInstance": { - "description": "The resource name of the source Cloud Filestore instance, in the format projects/{project_id}/locations/{location_id}/instances/{instance_id}, used to create this backup.", + "description": "The resource name of the source Cloud Filestore instance, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}`, used to create this backup.", "type": "string" }, "sourceInstanceTier": { @@ -729,7 +936,8 @@ "PREMIUM", "BASIC_HDD", "BASIC_SSD", - "HIGH_SCALE_SSD" + "HIGH_SCALE_SSD", + "ENTERPRISE" ], "enumDescriptions": [ "Not set.", @@ -737,7 +945,8 @@ "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." + "HIGH_SCALE instances offer expanded capacity and performance scaling capabilities.", + "ENTERPRISE instances offer the features and availability needed for mission-critical workloads." ], "readOnly": true, "type": "string" @@ -793,7 +1002,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "Date", "properties": { "day": { @@ -849,7 +1058,7 @@ "type": "string" }, "name": { - "description": "The name of the file share (must be 16 characters or less).", + "description": "The name of the file share (must be 32 characters or less for Enterprise and High Scale SSD tiers and 16 characters or less for all other tiers).", "type": "string" }, "nfsExportOptions": { @@ -860,7 +1069,7 @@ "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.", + "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" } }, @@ -879,6 +1088,10 @@ "readOnly": true, "type": "string" }, + "instanceType": { + "description": "Optional. The instance_type of this instance of format: projects/{project_id}/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" @@ -905,9 +1118,16 @@ "description": "Optional. The MaintenanceSettings associated with instance." }, "name": { - "description": "Unique name of the resource. It uses the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}`", + "description": "Unique name of the resource. It uses the form: `projects/{project_id|project_number}/locations/{location_id}/instances/{instance_id}` Note: Either project_id or project_number can be used, but keep it consistent with other APIs (e.g. RescheduleUpdate)", "type": "string" }, + "notificationParameters": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. notification_parameters 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" @@ -982,7 +1202,7 @@ "id": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule", "properties": { "canReschedule": { - "description": "Can this scheduled update be rescheduled? By default, it's true and API needs to do explicitly check whether it's set, if it's set as false explicitly, it's false", + "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": { @@ -1033,13 +1253,6 @@ "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": { - "exclusions": { - "description": "By default node is eligible if instance is eligible. But individual node might be excluded from SLO by adding entry here. For semantic see SloMetadata.exclusions. If both instance and node level exclusions are present for time period, the node level's reason will be reported by Eligibility Exporter.", - "items": { - "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" - }, - "type": "array" - }, "location": { "description": "The location of the node, if different from instance location.", "type": "string" @@ -1047,6 +1260,10 @@ "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" @@ -1095,46 +1312,10 @@ }, "type": "object" }, - "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion": { - "description": "SloExclusion represents an exclusion in SLI calculation applies to all SLOs.", - "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion", - "properties": { - "duration": { - "description": "Exclusion duration. No restrictions on the possible values. When an ongoing operation is taking longer than initially expected, an existing entry in the exclusion list can be updated by extending the duration. This is supported by the subsystem exporting eligibility data as long as such extension is committed at least 10 minutes before the original exclusion expiration - otherwise it is possible that there will be \"gaps\" in the exclusion application in the exported timeseries.", - "format": "google-duration", - "type": "string" - }, - "reason": { - "description": "Human-readable reason for the exclusion. This should be a static string (e.g. \"Disruptive update in progress\") and should not contain dynamically generated data (e.g. instance name). Can be left empty.", - "type": "string" - }, - "sliName": { - "description": "Name of an SLI that this exclusion applies to. Can be left empty, signaling that the instance should be excluded from all SLIs.", - "type": "string" - }, - "startTime": { - "description": "Start time of the exclusion. No alignment (e.g. to a full minute) needed.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata": { "description": "SloMetadata contains resources required for proper SLO classification of the instance.", "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata", "properties": { - "eligibility": { - "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility", - "description": "Optional. Global per-instance SLI eligibility which applies to all defined SLIs. Exactly one of 'eligibility' and 'per_sli_eligibility' fields must be used." - }, - "exclusions": { - "description": "List of SLO exclusion windows. When multiple entries in the list match (matching the exclusion time-window against current time point) the exclusion reason used in the first matching entry will be published. It is not needed to include expired exclusion in this list, as only the currently applicable exclusions are taken into account by the eligibility exporting subsystem (the historical state of exclusions will be reflected in the historically produced timeseries regardless of the current state). This field can be used to mark the instance as temporary ineligible for the purpose of SLO calculation. For permanent instance SLO exclusion, use of custom instance eligibility is recommended. See 'eligibility' field below.", - "items": { - "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" - }, - "type": "array" - }, "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": { @@ -1144,7 +1325,7 @@ }, "perSliEligibility": { "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility", - "description": "Optional. Multiple per-instance SLI eligibilities which apply for individual SLIs. Exactly one of 'eligibility' and 'per_sli_eligibility' fields must be used." + "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.", @@ -1178,6 +1359,10 @@ }, "type": "array" }, + "kmsKeyName": { + "description": "KMS key name used for data encryption.", + "type": "string" + }, "labels": { "additionalProperties": { "type": "string" @@ -1185,8 +1370,14 @@ "description": "Resource labels to represent user provided metadata.", "type": "object" }, + "maxShareCount": { + "description": "Output only. The max number of shares allowed.", + "format": "int64", + "readOnly": true, + "type": "string" + }, "name": { - "description": "Output only. The resource name of the instance, in the format projects/{project_id}/locations/{location_id}/instances/{instance_id}.", + "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" }, @@ -1197,6 +1388,11 @@ }, "type": "array" }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, "state": { "description": "Output only. The instance state.", "enum": [ @@ -1206,7 +1402,9 @@ "REPAIRING", "DELETING", "ERROR", - "RESTORING" + "RESTORING", + "SUSPENDED", + "REVERTING" ], "enumDescriptions": [ "State not set.", @@ -1215,7 +1413,9 @@ "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 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." ], "readOnly": true, "type": "string" @@ -1225,6 +1425,22 @@ "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" + }, "tier": { "description": "The service tier of the instance.", "enum": [ @@ -1233,7 +1449,8 @@ "PREMIUM", "BASIC_HDD", "BASIC_SSD", - "HIGH_SCALE_SSD" + "HIGH_SCALE_SSD", + "ENTERPRISE" ], "enumDescriptions": [ "Not set.", @@ -1241,7 +1458,8 @@ "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." + "HIGH_SCALE instances offer expanded capacity and performance scaling capabilities.", + "ENTERPRISE instances offer the features and availability needed for mission-critical workloads." ], "type": "string" } @@ -1253,7 +1471,7 @@ "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.", + "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" }, @@ -1278,7 +1496,7 @@ "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.", + "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" }, @@ -1334,6 +1552,24 @@ }, "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" + } + }, + "type": "object" + }, "Location": { "description": "A resource that represents Google Cloud Platform location.", "id": "Location", @@ -1437,8 +1673,22 @@ "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 {octet 1}.{octet 2}.{octet 3}.{octet 4} or IPv6 addresses in the format {block 1}:{block 2}:{block 3}:{block 4}:{block 5}:{block 6}:{block 7}:{block 8}.", + "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" }, @@ -1461,11 +1711,11 @@ "type": "array" }, "network": { - "description": "The name of the Google Compute Engine [VPC network](/compute/docs/networks-and-firewalls#networks) to which the instance is connected.", + "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": "A /29 CIDR block for Basic or a /23 CIDR block for High Scale in one of the [internal IP address ranges](https://www.arin.net/knowledge/address_filters.html) that identifies the range of IP addresses reserved for this instance. For example, 10.0.0.0/29 or 192.168.0.0/23. The range you specify can't overlap with either existing subnets or assigned IP address ranges for other Cloud Filestore instances in the selected VPC network.", + "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 or a /24 CIDR block for High Scale or 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 or 192.168.0.0/24. The range you specify can't overlap with either existing subnets or assigned IP address ranges for other Cloud Filestore instances in the selected VPC network.", "type": "string" } }, @@ -1500,7 +1750,7 @@ "type": "string" }, "ipRanges": { - "description": "List of either an IPv4 addresses in the format {octet 1}.{octet 2}.{octet 3}.{octet 4} or CIDR ranges in the format {octet 1}.{octet 2}.{octet 3}.{octet 4}/{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.", + "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" }, @@ -1563,40 +1813,47 @@ "id": "OperationMetadata", "properties": { "apiVersion": { - "description": "[Output only] API version used to start the operation.", + "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`.", + "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.", + "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.", + "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.", + "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.", + "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.", + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, "type": "string" } }, "type": "object" }, "RestoreInstanceRequest": { - "description": "RestoreInstanceRequest restores an existing instances's file share from a snapshot or backup.", + "description": "RestoreInstanceRequest restores an existing instance's file share from a snapshot or backup.", "id": "RestoreInstanceRequest", "properties": { "fileShare": { @@ -1604,11 +1861,22 @@ "type": "string" }, "sourceBackup": { - "description": "The resource name of the backup, in the format projects/{project_id}/locations/{location_id}/backups/{backup_id}.", + "description": "The resource name of the backup, in the format `projects/{project_id}/locations/{location_id}/backups/{backup_id}`.", "type": "string" }, "sourceSnapshot": { - "description": "The resource name of the snapshot, in the format projects/{project_id}/locations/{location_id}/snapshots/{snapshot_id}.", + "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" } }, @@ -1654,6 +1922,58 @@ }, "type": "object" }, + "Snapshot": { + "description": "A Cloud 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" + } + }, + "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", @@ -1727,7 +2047,7 @@ "type": "string" }, "denyMaintenancePeriods": { - "description": "Deny Maintenance Period that is applied to resource to indicate when maintenance is forbidden. User can specify zero or more non-overlapping deny periods. For V1, Maximum number of deny_maintenance_periods is expected to be one.", + "description": "Deny Maintenance Period that is applied to resource to indicate when maintenance is forbidden. User can specify zero or more non-overlapping deny periods. Maximum number of deny_maintenance_periods expected is one.", "items": { "$ref": "DenyMaintenancePeriod" }, diff --git a/etc/api/firebase/v1beta1/firebase-api.json b/etc/api/firebase/v1beta1/firebase-api.json index 83d4bfcb74..70e17611cc 100644 --- a/etc/api/firebase/v1beta1/firebase-api.json +++ b/etc/api/firebase/v1beta1/firebase-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" }, "https://www.googleapis.com/auth/firebase": { "description": "View and administer all your Firebase data and settings" @@ -1121,7 +1121,7 @@ } } }, - "revision": "20210329", + "revision": "20220304", "rootUrl": "https://firebase.googleapis.com/", "schemas": { "AddFirebaseRequest": { @@ -1131,14 +1131,6 @@ "locationId": { "description": "Deprecated. Instead, to set a Project's default GCP resource location, call [`FinalizeDefaultLocation`](../projects.defaultLocation/finalize) after you add Firebase resources to the GCP `Project`. The ID of the Project's default GCP resource location. The location must be one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations).", "type": "string" - }, - "regionCode": { - "description": "Deprecated. Instead, to link a Project with a Google Analytics account, call [`AddGoogleAnalytics`](../../v1beta1/projects/addGoogleAnalytics) after you add Firebase resources to the GCP `Project`. The region code (CLDR) that the account will use for Google Analytics data For example: US, GB, or DE In Java, use `com.google.i18n.identifiers.RegionCode`.", - "type": "string" - }, - "timeZone": { - "description": "Deprecated. Instead, to link a Project with a Google Analytics account, call [`AddGoogleAnalytics`](../../v1beta1/projects/addGoogleAnalytics) after you add Firebase resources to the GCP `Project`. The time zone that the account will use for Google Analytics data. For example: America/Los_Angeles or Africa/Abidjan", - "type": "string" } }, "type": "object" @@ -1200,6 +1192,11 @@ "description": "Details of a Google Analytics property", "id": "AnalyticsProperty", "properties": { + "analyticsAccountId": { + "description": "Output only. The ID of the [Google Analytics account](https://www.google.com/analytics/) for the Google Analytics property associated with the specified FirebaseProject.", + "readOnly": true, + "type": "string" + }, "displayName": { "description": "The display name of the Google Analytics property associated with the specified `FirebaseProject`.", "type": "string" @@ -1215,6 +1212,10 @@ "description": "Details of a Firebase App for Android.", "id": "AndroidApp", "properties": { + "apiKeyId": { + "description": "The key_id of the GCP ApiKey associated with this App. If set must have no restrictions, or only have restrictions that are valid for the associated Firebase App. Cannot be set in create requests, instead an existing valid API Key will be chosen, or if no valid API Keys exist, one will be provisioned for you. Cannot be set to an empty value in update requests.", + "type": "string" + }, "appId": { "description": "Immutable. The globally unique, Firebase-assigned identifier for the `AndroidApp`. This identifier should be treated as an opaque token, as the data format is not specified.", "type": "string" @@ -1381,6 +1382,10 @@ "description": "Details of a Firebase App for iOS.", "id": "IosApp", "properties": { + "apiKeyId": { + "description": "The key_id of the GCP ApiKey associated with this App. If set must have no restrictions, or only have restrictions that are valid for the associated Firebase App. Cannot be set in create requests, instead an existing valid API Key will be chosen, or if no valid API Keys exist, one will be provisioned for you. Cannot be set to an empty value in update requests.", + "type": "string" + }, "appId": { "description": "Immutable. The globally unique, Firebase-assigned identifier for the `IosApp`. This identifier should be treated as an opaque token, as the data format is not specified.", "type": "string" @@ -1404,6 +1409,10 @@ "projectId": { "description": "Immutable. A user-assigned unique identifier of the parent FirebaseProject for the `IosApp`.", "type": "string" + }, + "teamId": { + "description": "The Apple Developer Team ID associated with the App in the App Store.", + "type": "string" } }, "type": "object" @@ -1764,7 +1773,7 @@ "type": "string" }, "measurementId": { - "description": "Applicable for Firebase Web Apps only. The unique Google-assigned identifier of the Google Analytics web stream associated with the Firebase Web App. Firebase SDKs use this ID to interact with Google Analytics APIs. Learn more about this ID and Google Analytics web streams in the [Analytics documentation](https://support.google.com/analytics/topic/9303475).", + "description": "Applicable for Firebase Web Apps only. The unique Google-assigned identifier of the Google Analytics web stream associated with the Firebase Web App. Firebase SDKs use this ID to interact with Google Analytics APIs. Learn more about this ID and Google Analytics web streams in the [Analytics documentation](https://support.google.com/analytics/answer/9304153).", "type": "string" }, "streamId": { @@ -1779,6 +1788,10 @@ "description": "Details of a Firebase App for the web.", "id": "WebApp", "properties": { + "apiKeyId": { + "description": "The key_id of the GCP ApiKey associated with this App. If set must have no restrictions, or only have restrictions that are valid for the associated Firebase App. Cannot be set in create requests, instead an existing valid API Key will be chosen, or if no valid API Keys exist, one will be provisioned for you. Cannot be set to an empty value in update requests.", + "type": "string" + }, "appId": { "description": "Immutable. The globally unique, Firebase-assigned identifier for the `WebApp`. This identifier should be treated as an opaque token, as the data format is not specified.", "type": "string" @@ -1835,7 +1848,7 @@ "type": "string" }, "measurementId": { - "description": "The unique Google-assigned identifier of the Google Analytics web stream associated with the `WebApp`. Firebase SDKs use this ID to interact with Google Analytics APIs. This field is only present if the `WebApp` is linked to a web stream in a Google Analytics App + Web property. Learn more about this ID and Google Analytics web streams in the [Analytics documentation](https://support.google.com/analytics/topic/9303475). To generate a `measurementId` and link the `WebApp` with a Google Analytics web stream, call [`AddGoogleAnalytics`](../../v1beta1/projects/addGoogleAnalytics). For apps using the Firebase JavaScript SDK v7.20.0 and later, Firebase dynamically fetches the `measurementId` when your app initializes Analytics. Having this ID in your config object is optional, but it does serve as a fallback in the rare case that the dynamic fetch fails.", + "description": "The unique Google-assigned identifier of the Google Analytics web stream associated with the `WebApp`. Firebase SDKs use this ID to interact with Google Analytics APIs. This field is only present if the `WebApp` is linked to a web stream in a Google Analytics App + Web property. Learn more about this ID and Google Analytics web streams in the [Analytics documentation](https://support.google.com/analytics/answer/9304153). To generate a `measurementId` and link the `WebApp` with a Google Analytics web stream, call [`AddGoogleAnalytics`](../../v1beta1/projects/addGoogleAnalytics). For apps using the Firebase JavaScript SDK v7.20.0 and later, Firebase dynamically fetches the `measurementId` when your app initializes Analytics. Having this ID in your config object is optional, but it does serve as a fallback in the rare case that the dynamic fetch fails.", "type": "string" }, "messagingSenderId": { diff --git a/etc/api/firebaseappcheck/v1beta/firebaseappcheck-api.json b/etc/api/firebaseappcheck/v1beta/firebaseappcheck-api.json new file mode 100644 index 0000000000..bb361fd63d --- /dev/null +++ b/etc/api/firebaseappcheck/v1beta/firebaseappcheck-api.json @@ -0,0 +1,1715 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + }, + "https://www.googleapis.com/auth/firebase": { + "description": "View and administer all your Firebase data and settings" + } + } + } + }, + "basePath": "", + "baseUrl": "https://firebaseappcheck.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Firebaseappcheck", + "description": "Firebase App Check works alongside other Firebase services to help protect your backend resources from abuse, such as billing fraud or phishing.", + "discoveryVersion": "v1", + "documentationLink": "https://firebase.google.com/docs/app-check", + "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": "firebaseappcheck:v1beta", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://firebaseappcheck.mtls.googleapis.com/", + "name": "firebaseappcheck", + "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": { + "jwks": { + "methods": { + "get": { + "description": "Returns a public JWK set as specified by [RFC 7517](https://tools.ietf.org/html/rfc7517) that can be used to verify App Check tokens. Exactly one of the public keys in the returned set will successfully validate any App Check token that is currently valid.", + "flatPath": "v1beta/jwks", + "httpMethod": "GET", + "id": "firebaseappcheck.jwks.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name to the public JWK set. Must always be exactly the string `jwks`.", + "location": "path", + "pattern": "^jwks$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaPublicJwkSet" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + } + }, + "projects": { + "resources": { + "apps": { + "methods": { + "exchangeAppAttestAssertion": { + "description": "Accepts an App Attest assertion and an artifact previously obtained from ExchangeAppAttestAttestation and verifies those with Apple. If valid, returns an App Check token encapsulated in an AttestationTokenResponse.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeAppAttestAssertion", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.exchangeAppAttestAssertion", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+app}:exchangeAppAttestAssertion", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaExchangeAppAttestAssertionRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaAttestationTokenResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "exchangeAppAttestAttestation": { + "description": "Accepts an App Attest CBOR attestation and verifies it with Apple using your preconfigured team and bundle IDs. If valid, returns an attestation artifact that can later be exchanged for an AttestationTokenResponse using ExchangeAppAttestAssertion. For convenience and performance, this method's response object will also contain an App Check token encapsulated in an AttestationTokenResponse (if the verification is successful).", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeAppAttestAttestation", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.exchangeAppAttestAttestation", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+app}:exchangeAppAttestAttestation", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "exchangeCustomToken": { + "description": "Validates a custom token signed using your project's Admin SDK service account credentials. If valid, returns an App Check token encapsulated in an AttestationTokenResponse.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeCustomToken", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.exchangeCustomToken", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+app}:exchangeCustomToken", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaExchangeCustomTokenRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaAttestationTokenResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "exchangeDebugToken": { + "description": "Validates a debug token secret that you have previously created using CreateDebugToken. If valid, returns an App Check token encapsulated in an AttestationTokenResponse. Note that a restrictive quota is enforced on this method to prevent accidental exposure of the app to abuse.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeDebugToken", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.exchangeDebugToken", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+app}:exchangeDebugToken", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaExchangeDebugTokenRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaAttestationTokenResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "exchangeDeviceCheckToken": { + "description": "Accepts a [`device_token`](https://developer.apple.com/documentation/devicecheck/dcdevice) issued by DeviceCheck, and attempts to validate it with Apple. If valid, returns an App Check token encapsulated in an AttestationTokenResponse.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeDeviceCheckToken", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.exchangeDeviceCheckToken", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+app}:exchangeDeviceCheckToken", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaExchangeDeviceCheckTokenRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaAttestationTokenResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "exchangeRecaptchaEnterpriseToken": { + "description": "Validates a [reCAPTCHA Enterprise response token](https://cloud.google.com/recaptcha-enterprise/docs/create-assessment#retrieve_token). If valid, returns an App Check token encapsulated in an AttestationTokenResponse.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeRecaptchaEnterpriseToken", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.exchangeRecaptchaEnterpriseToken", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the web app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+app}:exchangeRecaptchaEnterpriseToken", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaAttestationTokenResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "exchangeRecaptchaToken": { + "description": "Validates a [reCAPTCHA v3 response token](https://developers.google.com/recaptcha/docs/v3). If valid, returns an App Check token encapsulated in an AttestationTokenResponse.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeRecaptchaToken", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.exchangeRecaptchaToken", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the web app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+app}:exchangeRecaptchaToken", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaExchangeRecaptchaTokenRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaAttestationTokenResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "exchangeSafetyNetToken": { + "description": "Validates a [SafetyNet token](https://developer.android.com/training/safetynet/attestation#request-attestation-step). If valid, returns an App Check token encapsulated in an AttestationTokenResponse.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeSafetyNetToken", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.exchangeSafetyNetToken", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the Android app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+app}:exchangeSafetyNetToken", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaExchangeSafetyNetTokenRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaAttestationTokenResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "generateAppAttestChallenge": { + "description": "Generates a challenge that protects the integrity of an immediately following call to ExchangeAppAttestAttestation or ExchangeAppAttestAssertion. A challenge should not be reused for multiple calls.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:generateAppAttestChallenge", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.generateAppAttestChallenge", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+app}:generateAppAttestChallenge", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaAppAttestChallengeResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + }, + "resources": { + "appAttestConfig": { + "methods": { + "batchGet": { + "description": "Atomically gets the AppAttestConfigs for the specified list of apps.", + "flatPath": "v1beta/projects/{projectsId}/apps/-/appAttestConfig:batchGet", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.appAttestConfig.batchGet", + "parameterOrder": [ + "parent" + ], + "parameters": { + "names": { + "description": "Required. The relative resource names of the AppAttestConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/appAttestConfig ``` A maximum of 100 objects can be retrieved in a batch.", + "location": "query", + "repeated": true, + "type": "string" + }, + "parent": { + "description": "Required. The parent project name shared by all AppAttestConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/apps/-/appAttestConfig:batchGet", + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "get": { + "description": "Gets the AppAttestConfig for the specified app.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/appAttestConfig", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.appAttestConfig.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the AppAttestConfig, in the format: ``` projects/{project_number}/apps/{app_id}/appAttestConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/appAttestConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaAppAttestConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "patch": { + "description": "Updates the AppAttestConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange AppAttest tokens for App Check tokens.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/appAttestConfig", + "httpMethod": "PATCH", + "id": "firebaseappcheck.projects.apps.appAttestConfig.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the App Attest configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/appAttestConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/appAttestConfig$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. A comma-separated list of names of fields in the AppAttestConfig Gets to update. Example: `token_ttl`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaAppAttestConfig" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaAppAttestConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + } + }, + "debugTokens": { + "methods": { + "create": { + "description": "Creates a new DebugToken for the specified app. For security reasons, after the creation operation completes, the `token` field cannot be updated or retrieved, but you can revoke the debug token using DeleteDebugToken. Each app can have a maximum of 20 debug tokens.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/debugTokens", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.debugTokens.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The relative resource name of the parent app in which the specified DebugToken will be created, in the format: ``` projects/{project_number}/apps/{app_id} ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/debugTokens", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaDebugToken" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaDebugToken" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "delete": { + "description": "Deletes the specified DebugToken. A deleted debug token cannot be used to exchange for an App Check token. Use this method when you suspect the secret `token` has been compromised or when you no longer need the debug token.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/debugTokens/{debugTokensId}", + "httpMethod": "DELETE", + "id": "firebaseappcheck.projects.apps.debugTokens.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the DebugToken to delete, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/debugTokens/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "get": { + "description": "Gets the specified DebugToken. For security reasons, the `token` field is never populated in the response.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/debugTokens/{debugTokensId}", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.debugTokens.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/debugTokens/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaDebugToken" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "list": { + "description": "Lists all DebugTokens for the specified app. For security reasons, the `token` field is never populated in the response.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/debugTokens", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.debugTokens.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of DebugTokens to return in the response. Note that an app can have at most 20 debug tokens. The server may return fewer than this at its own discretion. If no value is specified (or too large a value is specified), the server will impose its own limit.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token returned from a previous call to ListDebugTokens indicating where in the set of DebugTokens to resume listing. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListDebugTokens must match the call that provided the page token; if they do not match, the result is undefined.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The relative resource name of the parent app for which to list each associated DebugToken, in the format: ``` projects/{project_number}/apps/{app_id} ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/debugTokens", + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaListDebugTokensResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "patch": { + "description": "Updates the specified DebugToken. For security reasons, the `token` field cannot be updated, nor will it be populated in the response, but you can revoke the debug token using DeleteDebugToken.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/debugTokens/{debugTokensId}", + "httpMethod": "PATCH", + "id": "firebaseappcheck.projects.apps.debugTokens.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/debugTokens/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. A comma-separated list of names of fields in the DebugToken to update. Example: `display_name`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaDebugToken" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaDebugToken" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + } + }, + "deviceCheckConfig": { + "methods": { + "batchGet": { + "description": "Atomically gets the DeviceCheckConfigs for the specified list of apps. For security reasons, the `private_key` field is never populated in the response.", + "flatPath": "v1beta/projects/{projectsId}/apps/-/deviceCheckConfig:batchGet", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.deviceCheckConfig.batchGet", + "parameterOrder": [ + "parent" + ], + "parameters": { + "names": { + "description": "Required. The relative resource names of the DeviceCheckConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ``` A maximum of 100 objects can be retrieved in a batch.", + "location": "query", + "repeated": true, + "type": "string" + }, + "parent": { + "description": "Required. The parent project name shared by all DeviceCheckConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/apps/-/deviceCheckConfig:batchGet", + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "get": { + "description": "Gets the DeviceCheckConfig for the specified app. For security reasons, the `private_key` field is never populated in the response.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/deviceCheckConfig", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.deviceCheckConfig.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the DeviceCheckConfig, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/deviceCheckConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaDeviceCheckConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "patch": { + "description": "Updates the DeviceCheckConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange DeviceCheck tokens for App Check tokens. For security reasons, the `private_key` field is never populated in the response.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/deviceCheckConfig", + "httpMethod": "PATCH", + "id": "firebaseappcheck.projects.apps.deviceCheckConfig.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the DeviceCheck configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/deviceCheckConfig$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. A comma-separated list of names of fields in the DeviceCheckConfig Gets to update. Example: `key_id,private_key`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaDeviceCheckConfig" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaDeviceCheckConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + } + }, + "recaptchaConfig": { + "methods": { + "batchGet": { + "description": "Atomically gets the RecaptchaConfigs for the specified list of apps. For security reasons, the `site_secret` field is never populated in the response.", + "flatPath": "v1beta/projects/{projectsId}/apps/-/recaptchaConfig:batchGet", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.recaptchaConfig.batchGet", + "parameterOrder": [ + "parent" + ], + "parameters": { + "names": { + "description": "Required. The relative resource names of the RecaptchaConfigs to retrieve, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaConfig ``` A maximum of 100 objects can be retrieved in a batch.", + "location": "query", + "repeated": true, + "type": "string" + }, + "parent": { + "description": "Required. The parent project name shared by all RecaptchaConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/apps/-/recaptchaConfig:batchGet", + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaBatchGetRecaptchaConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "get": { + "description": "Gets the RecaptchaConfig for the specified app. For security reasons, the `site_secret` field is never populated in the response.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/recaptchaConfig", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.recaptchaConfig.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the RecaptchaConfig, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/recaptchaConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaRecaptchaConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "patch": { + "description": "Updates the RecaptchaConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange reCAPTCHA tokens for App Check tokens. For security reasons, the `site_secret` field is never populated in the response.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/recaptchaConfig", + "httpMethod": "PATCH", + "id": "firebaseappcheck.projects.apps.recaptchaConfig.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the reCAPTCHA v3 configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/recaptchaConfig$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. A comma-separated list of names of fields in the RecaptchaConfig to update. Example: `site_secret`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaRecaptchaConfig" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaRecaptchaConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + } + }, + "recaptchaEnterpriseConfig": { + "methods": { + "batchGet": { + "description": "Atomically gets the RecaptchaEnterpriseConfigs for the specified list of apps.", + "flatPath": "v1beta/projects/{projectsId}/apps/-/recaptchaEnterpriseConfig:batchGet", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.batchGet", + "parameterOrder": [ + "parent" + ], + "parameters": { + "names": { + "description": "Required. The relative resource names of the RecaptchaEnterpriseConfigs to retrieve, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ``` A maximum of 100 objects can be retrieved in a batch.", + "location": "query", + "repeated": true, + "type": "string" + }, + "parent": { + "description": "Required. The parent project name shared by all RecaptchaEnterpriseConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/apps/-/recaptchaEnterpriseConfig:batchGet", + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaBatchGetRecaptchaEnterpriseConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "get": { + "description": "Gets the RecaptchaEnterpriseConfig for the specified app.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/recaptchaEnterpriseConfig", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the RecaptchaEnterpriseConfig, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/recaptchaEnterpriseConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "patch": { + "description": "Updates the RecaptchaEnterpriseConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange reCAPTCHA Enterprise tokens for App Check tokens.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/recaptchaEnterpriseConfig", + "httpMethod": "PATCH", + "id": "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the reCAPTCHA Enterprise configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/recaptchaEnterpriseConfig$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. A comma-separated list of names of fields in the RecaptchaEnterpriseConfig to update. Example: `site_key`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + } + }, + "safetyNetConfig": { + "methods": { + "batchGet": { + "description": "Atomically gets the SafetyNetConfigs for the specified list of apps.", + "flatPath": "v1beta/projects/{projectsId}/apps/-/safetyNetConfig:batchGet", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.safetyNetConfig.batchGet", + "parameterOrder": [ + "parent" + ], + "parameters": { + "names": { + "description": "Required. The relative resource names of the SafetyNetConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/safetyNetConfig ``` A maximum of 100 objects can be retrieved in a batch.", + "location": "query", + "repeated": true, + "type": "string" + }, + "parent": { + "description": "Required. The parent project name shared by all SafetyNetConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/apps/-/safetyNetConfig:batchGet", + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaBatchGetSafetyNetConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "get": { + "description": "Gets the SafetyNetConfig for the specified app.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/safetyNetConfig", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.safetyNetConfig.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the SafetyNetConfig, in the format: ``` projects/{project_number}/apps/{app_id}/safetyNetConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/safetyNetConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaSafetyNetConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "patch": { + "description": "Updates the SafetyNetConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange SafetyNet tokens for App Check tokens.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/safetyNetConfig", + "httpMethod": "PATCH", + "id": "firebaseappcheck.projects.apps.safetyNetConfig.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the SafetyNet configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/safetyNetConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/safetyNetConfig$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. A comma-separated list of names of fields in the SafetyNetConfig Gets to update. Example: `token_ttl`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaSafetyNetConfig" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaSafetyNetConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + } + } + } + }, + "services": { + "methods": { + "batchUpdate": { + "description": "Atomically updates the specified Service configurations.", + "flatPath": "v1beta/projects/{projectsId}/services:batchUpdate", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.services.batchUpdate", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent project name shared by all Service configurations being updated, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being updated must match this field, or the entire batch fails.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/services:batchUpdate", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaBatchUpdateServicesRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaBatchUpdateServicesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "get": { + "description": "Gets the Service configuration for the specified service name.", + "flatPath": "v1beta/projects/{projectsId}/services/{servicesId}", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.services.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the Service to retrieve, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) * `firestore.googleapis.com` (Cloud Firestore)", + "location": "path", + "pattern": "^projects/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaService" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "list": { + "description": "Lists all Service configurations for the specified project. Only Services which were explicitly configured using UpdateService or BatchUpdateServices will be returned.", + "flatPath": "v1beta/projects/{projectsId}/services", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.services.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of Services to return in the response. Only explicitly configured services are returned. The server may return fewer than this at its own discretion. If no value is specified (or too large a value is specified), the server will impose its own limit.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token returned from a previous call to ListServices indicating where in the set of Services to resume listing. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListServices must match the call that provided the page token; if they do not match, the result is undefined.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The relative resource name of the parent project for which to list each associated Service, in the format: ``` projects/{project_number} ```", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/services", + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaListServicesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "patch": { + "description": "Updates the specified Service configuration.", + "flatPath": "v1beta/projects/{projectsId}/services/{servicesId}", + "httpMethod": "PATCH", + "id": "firebaseappcheck.projects.services.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the service configuration object, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) * `firestore.googleapis.com` (Cloud Firestore)", + "location": "path", + "pattern": "^projects/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. A comma-separated list of names of fields in the Service to update. Example: `enforcement_mode`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaService" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaService" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + } + } + } + } + }, + "revision": "20220225", + "rootUrl": "https://firebaseappcheck.googleapis.com/", + "schemas": { + "GoogleFirebaseAppcheckV1betaAppAttestChallengeResponse": { + "description": "Response message for the GenerateAppAttestChallenge method.", + "id": "GoogleFirebaseAppcheckV1betaAppAttestChallengeResponse", + "properties": { + "challenge": { + "description": "A one-time use challenge for the client to pass to the App Attest API.", + "format": "byte", + "type": "string" + }, + "ttl": { + "description": "The duration from the time this challenge is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaAppAttestConfig": { + "description": "An app's App Attest configuration object. This configuration controls certain properties of the App Check token returned by ExchangeAppAttestAttestation and ExchangeAppAttestAssertion, such as its ttl. Note that the Team ID registered with your app is used as part of the validation process. Please register it via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.iosApps/patch).", + "id": "GoogleFirebaseAppcheckV1betaAppAttestConfig", + "properties": { + "name": { + "description": "Required. The relative resource name of the App Attest configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/appAttestConfig ```", + "type": "string" + }, + "tokenTtl": { + "description": "Specifies the duration for which App Check tokens exchanged from App Attest artifacts will be valid. If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaAttestationTokenResponse": { + "description": "Encapsulates an *App Check token*, which are used to access Firebase services protected by App Check.", + "id": "GoogleFirebaseAppcheckV1betaAttestationTokenResponse", + "properties": { + "attestationToken": { + "description": "An App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and Firebase project. This token is used to access Firebase services protected by App Check.", + "type": "string" + }, + "ttl": { + "description": "The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse": { + "description": "Response message for the BatchGetAppAttestConfigs method.", + "id": "GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse", + "properties": { + "configs": { + "description": "AppAttestConfigs retrieved.", + "items": { + "$ref": "GoogleFirebaseAppcheckV1betaAppAttestConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse": { + "description": "Response message for the BatchGetDeviceCheckConfigs method.", + "id": "GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse", + "properties": { + "configs": { + "description": "DeviceCheckConfigs retrieved.", + "items": { + "$ref": "GoogleFirebaseAppcheckV1betaDeviceCheckConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaBatchGetRecaptchaConfigsResponse": { + "description": "Response message for the BatchGetRecaptchaConfigs method.", + "id": "GoogleFirebaseAppcheckV1betaBatchGetRecaptchaConfigsResponse", + "properties": { + "configs": { + "description": "RecaptchaConfigs retrieved.", + "items": { + "$ref": "GoogleFirebaseAppcheckV1betaRecaptchaConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaBatchGetRecaptchaEnterpriseConfigsResponse": { + "description": "Response message for the BatchGetRecaptchaEnterpriseConfigs method.", + "id": "GoogleFirebaseAppcheckV1betaBatchGetRecaptchaEnterpriseConfigsResponse", + "properties": { + "configs": { + "description": "RecaptchaEnterpriseConfigs retrieved.", + "items": { + "$ref": "GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaBatchGetSafetyNetConfigsResponse": { + "description": "Response message for the BatchGetSafetyNetConfigs method.", + "id": "GoogleFirebaseAppcheckV1betaBatchGetSafetyNetConfigsResponse", + "properties": { + "configs": { + "description": "SafetyNetConfigs retrieved.", + "items": { + "$ref": "GoogleFirebaseAppcheckV1betaSafetyNetConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaBatchUpdateServicesRequest": { + "description": "Request message for the BatchUpdateServices method.", + "id": "GoogleFirebaseAppcheckV1betaBatchUpdateServicesRequest", + "properties": { + "requests": { + "description": "Required. The request messages specifying the Services to update. A maximum of 100 objects can be updated in a batch.", + "items": { + "$ref": "GoogleFirebaseAppcheckV1betaUpdateServiceRequest" + }, + "type": "array" + }, + "updateMask": { + "description": "Optional. A comma-separated list of names of fields in the Services to update. Example: `display_name`. If this field is present, the `update_mask` field in the UpdateServiceRequest messages must all match this field, or the entire batch fails and no updates will be committed.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaBatchUpdateServicesResponse": { + "description": "Response message for the BatchUpdateServices method.", + "id": "GoogleFirebaseAppcheckV1betaBatchUpdateServicesResponse", + "properties": { + "services": { + "description": "Service objects after the updates have been applied.", + "items": { + "$ref": "GoogleFirebaseAppcheckV1betaService" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaDebugToken": { + "description": "A *debug token* is a secret used during the development or integration testing of an app. It essentially allows the development or integration testing to bypass app attestation while still allowing App Check to enforce protection on supported production Firebase services.", + "id": "GoogleFirebaseAppcheckV1betaDebugToken", + "properties": { + "displayName": { + "description": "Required. A human readable display name used to identify this debug token.", + "type": "string" + }, + "name": { + "description": "Required. The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```", + "type": "string" + }, + "token": { + "description": "Required. Input only. Immutable. The secret token itself. Must be provided during creation, and must be a UUID4, case insensitive. This field is immutable once set, and cannot be provided during an UpdateDebugToken request. You can, however, delete this debug token using DeleteDebugToken to revoke it. For security reasons, this field will never be populated in any response.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaDeviceCheckConfig": { + "description": "An app's DeviceCheck configuration object. This configuration is used by ExchangeDeviceCheckToken to validate device tokens issued to apps by DeviceCheck. It also controls certain properties of the returned App Check token, such as its ttl. Note that the Team ID registered with your app is used as part of the validation process. Please register it via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.iosApps/patch).", + "id": "GoogleFirebaseAppcheckV1betaDeviceCheckConfig", + "properties": { + "keyId": { + "description": "Required. The key identifier of a private key enabled with DeviceCheck, created in your Apple Developer account.", + "type": "string" + }, + "name": { + "description": "Required. The relative resource name of the DeviceCheck configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```", + "type": "string" + }, + "privateKey": { + "description": "Required. Input only. The contents of the private key (`.p8`) file associated with the key specified by `key_id`. For security reasons, this field will never be populated in any response.", + "type": "string" + }, + "privateKeySet": { + "description": "Output only. Whether the `private_key` field was previously set. Since we will never return the `private_key` field, this field is the only way to find out whether it was previously set.", + "readOnly": true, + "type": "boolean" + }, + "tokenTtl": { + "description": "Specifies the duration for which App Check tokens exchanged from DeviceCheck tokens will be valid. If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaExchangeAppAttestAssertionRequest": { + "description": "Request message for the ExchangeAppAttestAssertion method.", + "id": "GoogleFirebaseAppcheckV1betaExchangeAppAttestAssertionRequest", + "properties": { + "artifact": { + "description": "Required. The artifact returned by a previous call to ExchangeAppAttestAttestation.", + "format": "byte", + "type": "string" + }, + "assertion": { + "description": "Required. The CBOR-encoded assertion returned by the client-side App Attest API.", + "format": "byte", + "type": "string" + }, + "challenge": { + "description": "Required. A one-time challenge returned by an immediately prior call to GenerateAppAttestChallenge.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationRequest": { + "description": "Request message for the ExchangeAppAttestAttestation method.", + "id": "GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationRequest", + "properties": { + "attestationStatement": { + "description": "Required. The App Attest statement returned by the client-side App Attest API. This is a base64url encoded CBOR object in the JSON response.", + "format": "byte", + "type": "string" + }, + "challenge": { + "description": "Required. A one-time challenge returned by an immediately prior call to GenerateAppAttestChallenge.", + "format": "byte", + "type": "string" + }, + "keyId": { + "description": "Required. The key ID generated by App Attest for the client app.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationResponse": { + "description": "Response message for the ExchangeAppAttestAttestation method.", + "id": "GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationResponse", + "properties": { + "artifact": { + "description": "An artifact that can be used in future calls to ExchangeAppAttestAssertion.", + "format": "byte", + "type": "string" + }, + "attestationToken": { + "$ref": "GoogleFirebaseAppcheckV1betaAttestationTokenResponse", + "description": "Encapsulates an App Check token." + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaExchangeCustomTokenRequest": { + "description": "Request message for the ExchangeCustomToken method.", + "id": "GoogleFirebaseAppcheckV1betaExchangeCustomTokenRequest", + "properties": { + "customToken": { + "description": "Required. A custom token signed using your project's Admin SDK service account credentials.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaExchangeDebugTokenRequest": { + "description": "Request message for the ExchangeDebugToken method.", + "id": "GoogleFirebaseAppcheckV1betaExchangeDebugTokenRequest", + "properties": { + "debugToken": { + "description": "Required. A debug token secret. This string must match a debug token secret previously created using CreateDebugToken.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaExchangeDeviceCheckTokenRequest": { + "description": "Request message for the ExchangeDeviceCheckToken method.", + "id": "GoogleFirebaseAppcheckV1betaExchangeDeviceCheckTokenRequest", + "properties": { + "deviceToken": { + "description": "Required. The `device_token` as returned by Apple's client-side [DeviceCheck API](https://developer.apple.com/documentation/devicecheck/dcdevice). This is the base64 encoded `Data` (Swift) or `NSData` (ObjC) object.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest": { + "description": "Request message for the ExchangeRecaptchaEnterpriseToken method.", + "id": "GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest", + "properties": { + "recaptchaEnterpriseToken": { + "description": "Required. The reCAPTCHA token as returned by the [reCAPTCHA Enterprise JavaScript API](https://cloud.google.com/recaptcha-enterprise/docs/instrument-web-pages).", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaExchangeRecaptchaTokenRequest": { + "description": "Request message for the ExchangeRecaptchaToken method.", + "id": "GoogleFirebaseAppcheckV1betaExchangeRecaptchaTokenRequest", + "properties": { + "recaptchaToken": { + "description": "Required. The reCAPTCHA token as returned by the [reCAPTCHA v3 JavaScript API](https://developers.google.com/recaptcha/docs/v3).", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaExchangeSafetyNetTokenRequest": { + "description": "Request message for the ExchangeSafetyNetToken method.", + "id": "GoogleFirebaseAppcheckV1betaExchangeSafetyNetTokenRequest", + "properties": { + "safetyNetToken": { + "description": "Required. The [SafetyNet attestation response](https://developer.android.com/training/safetynet/attestation#request-attestation-step) issued to your app.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeRequest": { + "description": "Request message for the GenerateAppAttestChallenge method.", + "id": "GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeRequest", + "properties": {}, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaListDebugTokensResponse": { + "description": "Response message for the ListDebugTokens method.", + "id": "GoogleFirebaseAppcheckV1betaListDebugTokensResponse", + "properties": { + "debugTokens": { + "description": "The DebugTokens retrieved.", + "items": { + "$ref": "GoogleFirebaseAppcheckV1betaDebugToken" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If the result list is too large to fit in a single response, then a token is returned. If the string is empty or omitted, then this response is the last page of results. This token can be used in a subsequent call to ListDebugTokens to find the next group of DebugTokens. Page tokens are short-lived and should not be persisted.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaListServicesResponse": { + "description": "Response message for the ListServices method.", + "id": "GoogleFirebaseAppcheckV1betaListServicesResponse", + "properties": { + "nextPageToken": { + "description": "If the result list is too large to fit in a single response, then a token is returned. If the string is empty or omitted, then this response is the last page of results. This token can be used in a subsequent call to ListServices to find the next group of Services. Page tokens are short-lived and should not be persisted.", + "type": "string" + }, + "services": { + "description": "The Services retrieved.", + "items": { + "$ref": "GoogleFirebaseAppcheckV1betaService" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaPublicJwk": { + "description": "A JWK as specified by [section 4 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4) and [section 6.3.1 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1).", + "id": "GoogleFirebaseAppcheckV1betaPublicJwk", + "properties": { + "alg": { + "description": "See [section 4.4 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.4).", + "type": "string" + }, + "e": { + "description": "See [section 6.3.1.2 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1.2).", + "type": "string" + }, + "kid": { + "description": "See [section 4.5 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.5).", + "type": "string" + }, + "kty": { + "description": "See [section 4.1 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.1).", + "type": "string" + }, + "n": { + "description": "See [section 6.3.1.1 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1.1).", + "type": "string" + }, + "use": { + "description": "See [section 4.2 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.2).", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaPublicJwkSet": { + "description": "The currently active set of public keys that can be used to verify App Check tokens. This object is a JWK set as specified by [section 5 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-5). For security, the response **must not** be cached for longer than six hours.", + "id": "GoogleFirebaseAppcheckV1betaPublicJwkSet", + "properties": { + "keys": { + "description": "The set of public keys. See [section 5.1 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-5).", + "items": { + "$ref": "GoogleFirebaseAppcheckV1betaPublicJwk" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaRecaptchaConfig": { + "description": "An app's reCAPTCHA v3 configuration object. This configuration is used by ExchangeRecaptchaToken to validate reCAPTCHA tokens issued to apps by reCAPTCHA v3. It also controls certain properties of the returned App Check token, such as its ttl.", + "id": "GoogleFirebaseAppcheckV1betaRecaptchaConfig", + "properties": { + "name": { + "description": "Required. The relative resource name of the reCAPTCHA v3 configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaConfig ```", + "type": "string" + }, + "siteSecret": { + "description": "Required. Input only. The site secret used to identify your service for reCAPTCHA v3 verification. For security reasons, this field will never be populated in any response.", + "type": "string" + }, + "siteSecretSet": { + "description": "Output only. Whether the `site_secret` field was previously set. Since we will never return the `site_secret` field, this field is the only way to find out whether it was previously set.", + "readOnly": true, + "type": "boolean" + }, + "tokenTtl": { + "description": "Specifies the duration for which App Check tokens exchanged from reCAPTCHA tokens will be valid. If unset, a default value of 1 day is assumed. Must be between 30 minutes and 7 days, inclusive.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig": { + "description": "An app's reCAPTCHA Enterprise configuration object. This configuration is used by ExchangeRecaptchaEnterpriseToken to validate reCAPTCHA tokens issued to apps by reCAPTCHA Enterprise. It also controls certain properties of the returned App Check token, such as its ttl.", + "id": "GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig", + "properties": { + "name": { + "description": "Required. The relative resource name of the reCAPTCHA Enterprise configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ```", + "type": "string" + }, + "siteKey": { + "description": "The score-based site key [created in reCAPTCHA Enterprise](https://cloud.google.com/recaptcha-enterprise/docs/create-key#creating_a_site_key) used to [invoke reCAPTCHA and generate the reCAPTCHA tokens](https://cloud.google.com/recaptcha-enterprise/docs/instrument-web-pages) for your application. Important: This is *not* the `site_secret` (as it is in reCAPTCHA v3), but rather your score-based reCAPTCHA Enterprise site key.", + "type": "string" + }, + "tokenTtl": { + "description": "Specifies the duration for which App Check tokens exchanged from reCAPTCHA Enterprise tokens will be valid. If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaSafetyNetConfig": { + "description": "An app's SafetyNet configuration object. This configuration controls certain properties of the App Check token returned by ExchangeSafetyNetToken, such as its ttl. Note that your registered SHA-256 certificate fingerprints are used to validate tokens issued by SafetyNet; please register them via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.androidApps.sha/create).", + "id": "GoogleFirebaseAppcheckV1betaSafetyNetConfig", + "properties": { + "name": { + "description": "Required. The relative resource name of the SafetyNet configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/safetyNetConfig ```", + "type": "string" + }, + "tokenTtl": { + "description": "Specifies the duration for which App Check tokens exchanged from SafetyNet tokens will be valid. If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaService": { + "description": "The enforcement configuration for a Firebase service supported by App Check.", + "id": "GoogleFirebaseAppcheckV1betaService", + "properties": { + "enforcementMode": { + "description": "Required. The App Check enforcement mode for this service.", + "enum": [ + "OFF", + "UNENFORCED", + "ENFORCED" + ], + "enumDescriptions": [ + "Firebase App Check is not enforced for the service, nor are App Check metrics collected. Though the service is not protected by App Check in this mode, other applicable protections, such as user authorization, are still enforced. An unconfigured service is in this mode by default.", + "Firebase App Check is not enforced for the service. App Check metrics are collected to help you decide when to turn on enforcement for the service. Though the service is not protected by App Check in this mode, other applicable protections, such as user authorization, are still enforced.", + "Firebase App Check is enforced for the service. The service will reject any request that attempts to access your project's resources if it does not have valid App Check token attached, with some exceptions depending on the service; for example, some services will still allow requests bearing the developer's privileged service account credentials without an App Check token. App Check metrics continue to be collected to help you detect issues with your App Check integration and monitor the composition of your callers. While the service is protected by App Check, other applicable protections, such as user authorization, continue to be enforced at the same time. Use caution when choosing to enforce App Check on a Firebase service. If your users have not updated to an App Check capable version of your app, their apps will no longer be able to use your Firebase services that are enforcing App Check. App Check metrics can help you decide whether to enforce App Check on your Firebase services. If your app has not launched yet, you should enable enforcement immediately, since there are no outdated clients in use." + ], + "type": "string" + }, + "name": { + "description": "Required. The relative resource name of the service configuration object, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) * `firestore.googleapis.com` (Cloud Firestore)", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaUpdateServiceRequest": { + "description": "Request message for the UpdateService method as well as an individual update message for the BatchUpdateServices method.", + "id": "GoogleFirebaseAppcheckV1betaUpdateServiceRequest", + "properties": { + "service": { + "$ref": "GoogleFirebaseAppcheckV1betaService", + "description": "Required. The Service to update. The Service's `name` field is used to identify the Service to be updated, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) * `firestore.googleapis.com` (Cloud Firestore)" + }, + "updateMask": { + "description": "Required. A comma-separated list of names of fields in the Service to update. Example: `enforcement_mode`.", + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", + "id": "GoogleProtobufEmpty", + "properties": {}, + "type": "object" + } + }, + "servicePath": "", + "title": "Firebase App Check API", + "version": "v1beta", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/firebasedatabase/v1beta/firebasedatabase-api.json b/etc/api/firebasedatabase/v1beta/firebasedatabase-api.json index 280ce401ec..8759c6b1bb 100644 --- a/etc/api/firebasedatabase/v1beta/firebasedatabase-api.json +++ b/etc/api/firebasedatabase/v1beta/firebasedatabase-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" }, "https://www.googleapis.com/auth/firebase": { "description": "View and administer all your Firebase data and settings" @@ -317,7 +317,7 @@ } } }, - "revision": "20210329", + "revision": "20220304", "rootUrl": "https://firebasedatabase.googleapis.com/", "schemas": { "DatabaseInstance": { @@ -329,7 +329,7 @@ "type": "string" }, "name": { - "description": "The fully qualified resource name of the database instance, in the form: `projects/{project-number}/locations/{location-id}/instances/{database-id}`. Currently the only supported location is 'us-central1'.", + "description": "The fully qualified resource name of the database instance, in the form: `projects/{project-number}/locations/{location-id}/instances/{database-id}`.", "type": "string" }, "project": { diff --git a/etc/api/firebasedynamiclinks/v1/firebasedynamiclinks-api.json b/etc/api/firebasedynamiclinks/v1/firebasedynamiclinks-api.json index 51dc90ea4c..a6442cdf0f 100644 --- a/etc/api/firebasedynamiclinks/v1/firebasedynamiclinks-api.json +++ b/etc/api/firebasedynamiclinks/v1/firebasedynamiclinks-api.json @@ -224,7 +224,7 @@ } } }, - "revision": "20210329", + "revision": "20220228", "rootUrl": "https://firebasedynamiclinks.googleapis.com/", "schemas": { "AnalyticsInfo": { @@ -817,7 +817,7 @@ "id": "GooglePlayAnalytics", "properties": { "gclid": { - "description": "[AdWords autotagging parameter](https://support.google.com/analytics/answer/1033981?hl=en); used to measure Google AdWords ads. This value is generated dynamically and should never be modified.", + "description": "Deprecated; FDL SDK does not process nor log it.", "type": "string" }, "utmCampaign": { diff --git a/etc/api/firebasehosting/v1/firebasehosting-api.json b/etc/api/firebasehosting/v1/firebasehosting-api.json index 6c90eb5205..a7a4b43e34 100644 --- a/etc/api/firebasehosting/v1/firebasehosting-api.json +++ b/etc/api/firebasehosting/v1/firebasehosting-api.json @@ -186,7 +186,7 @@ } } }, - "revision": "20210315", + "revision": "20220212", "rootUrl": "https://firebasehosting.googleapis.com/", "schemas": { "CancelOperationRequest": { diff --git a/etc/api/firebasehosting/v1beta1/firebasehosting-api.json b/etc/api/firebasehosting/v1beta1/firebasehosting-api.json index ecfdd594ce..55db95a019 100644 --- a/etc/api/firebasehosting/v1beta1/firebasehosting-api.json +++ b/etc/api/firebasehosting/v1beta1/firebasehosting-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" }, "https://www.googleapis.com/auth/firebase": { "description": "View and administer all your Firebase data and settings" @@ -1939,7 +1939,7 @@ } } }, - "revision": "20210315", + "revision": "20220212", "rootUrl": "https://firebasehosting.googleapis.com/", "schemas": { "ActingUser": { @@ -2452,22 +2452,6 @@ }, "type": "object" }, - "PreviewConfig": { - "description": "Deprecated in favor of [site channels](sites.channels).", - "id": "PreviewConfig", - "properties": { - "active": { - "description": "If true, preview URLs are enabled for this version.", - "type": "boolean" - }, - "expireTime": { - "description": "Indicates the expiration time for previewing this version; preview URL requests received after this time will 404.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, "Redirect": { "description": "A [`Redirect`](https://firebase.google.com/docs/hosting/full-config#redirects) specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.", "id": "Redirect", @@ -2766,10 +2750,6 @@ "description": "The fully-qualified resource name for the version, in the format: sites/ SITE_ID/versions/VERSION_ID This name is provided in the response body when you call [`CreateVersion`](sites.versions/create).", "type": "string" }, - "preview": { - "$ref": "PreviewConfig", - "description": "Deprecated in favor of [site channels](sites.channels)." - }, "status": { "description": "The deploy status of the version. For a successful deploy, call [`CreateVersion`](sites.versions/create) to make a new version (`CREATED` status), [upload all desired files](sites.versions/populateFiles) to the version, then [update](sites.versions/patch) the version to the `FINALIZED` status. Note that if you leave the version in the `CREATED` state for more than 12 hours, the system will automatically mark the version as `ABANDONED`. You can also change the status of a version to `DELETED` by calling [`DeleteVersion`](sites.versions/delete).", "enum": [ diff --git a/etc/api/firebaseml/v1/firebaseml-api.json b/etc/api/firebaseml/v1/firebaseml-api.json index 32ae2a0007..7507265819 100644 --- a/etc/api/firebaseml/v1/firebaseml-api.json +++ b/etc/api/firebaseml/v1/firebaseml-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -204,7 +204,7 @@ } } }, - "revision": "20210329", + "revision": "20220302", "rootUrl": "https://firebaseml.googleapis.com/", "schemas": { "CancelOperationRequest": { diff --git a/etc/api/firebaseml/v1beta2/firebaseml-api.json b/etc/api/firebaseml/v1beta2/firebaseml-api.json index 96fa88857b..f635749680 100644 --- a/etc/api/firebaseml/v1beta2/firebaseml-api.json +++ b/etc/api/firebaseml/v1beta2/firebaseml-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -318,7 +318,7 @@ } } }, - "revision": "20210329", + "revision": "20220302", "rootUrl": "https://firebaseml.googleapis.com/", "schemas": { "DownloadModelResponse": { diff --git a/etc/api/firebaserules/v1/firebaserules-api.json b/etc/api/firebaserules/v1/firebaserules-api.json index 57681c2a9a..49ed6b662c 100644 --- a/etc/api/firebaserules/v1/firebaserules-api.json +++ b/etc/api/firebaserules/v1/firebaserules-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." }, "https://www.googleapis.com/auth/firebase": { "description": "View and administer all your Firebase data and settings" @@ -123,7 +123,7 @@ ], "parameters": { "name": { - "description": "Tests may either provide `source` or a `Ruleset` resource name. For tests against `source`, the resource name must refer to the project: Format: `projects/{project_id}` For tests against a `Ruleset`, this must be the `Ruleset` resource name: Format: `projects/{project_id}/rulesets/{ruleset_id}`", + "description": "Required. Tests may either provide `source` or a `Ruleset` resource name. For tests against `source`, the resource name must refer to the project: Format: `projects/{project_id}` For tests against a `Ruleset`, this must be the `Ruleset` resource name: Format: `projects/{project_id}/rulesets/{ruleset_id}`", "location": "path", "pattern": "^projects/.*$", "required": true, @@ -148,7 +148,7 @@ "releases": { "methods": { "create": { - "description": "Create a `Release`. Release names should reflect the developer's deployment practices. For example, the release name may include the environment name, application name, application version, or any other name meaningful to the developer. Once a `Release` refers to a `Ruleset`, the rules can be enforced by Firebase Rules-enabled services. More than one `Release` may be 'live' concurrently. Consider the following three `Release` names for `projects/foo` and the `Ruleset` to which they refer. Release Name | Ruleset Name --------------------------------|------------- projects/foo/releases/prod | projects/foo/rulesets/uuid123 projects/foo/releases/prod/beta | projects/foo/rulesets/uuid123 projects/foo/releases/prod/v23 | projects/foo/rulesets/uuid456 The table reflects the `Ruleset` rollout in progress. The `prod` and `prod/beta` releases refer to the same `Ruleset`. However, `prod/v23` refers to a new `Ruleset`. The `Ruleset` reference for a `Release` may be updated using the UpdateRelease method.", + "description": "Create a `Release`. Release names should reflect the developer's deployment practices. For example, the release name may include the environment name, application name, application version, or any other name meaningful to the developer. Once a `Release` refers to a `Ruleset`, the rules can be enforced by Firebase Rules-enabled services. More than one `Release` may be 'live' concurrently. Consider the following three `Release` names for `projects/foo` and the `Ruleset` to which they refer. Release Name -> Ruleset Name * projects/foo/releases/prod -> projects/foo/rulesets/uuid123 * projects/foo/releases/prod/beta -> projects/foo/rulesets/uuid123 * projects/foo/releases/prod/v23 -> projects/foo/rulesets/uuid456 The relationships reflect a `Ruleset` rollout in progress. The `prod` and `prod/beta` releases refer to the same `Ruleset`. However, `prod/v23` refers to a new `Ruleset`. The `Ruleset` reference for a `Release` may be updated using the UpdateRelease method.", "flatPath": "v1/projects/{projectsId}/releases", "httpMethod": "POST", "id": "firebaserules.projects.releases.create", @@ -157,7 +157,7 @@ ], "parameters": { "name": { - "description": "Resource name for the project which owns this `Release`. Format: `projects/{project_id}`", + "description": "Required. Resource name for the project which owns this `Release`. Format: `projects/{project_id}`", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -186,7 +186,7 @@ ], "parameters": { "name": { - "description": "Resource name for the `Release` to delete. Format: `projects/{project_id}/releases/{release_id}`", + "description": "Required. Resource name for the `Release` to delete. Format: `projects/{project_id}/releases/{release_id}`", "location": "path", "pattern": "^projects/[^/]+/releases/.*$", "required": true, @@ -212,7 +212,7 @@ ], "parameters": { "name": { - "description": "Resource name of the `Release`. Format: `projects/{project_id}/releases/{release_id}`", + "description": "Required. Resource name of the `Release`. Format: `projects/{project_id}/releases/{release_id}`", "location": "path", "pattern": "^projects/[^/]+/releases/.*$", "required": true, @@ -254,7 +254,7 @@ "type": "string" }, "name": { - "description": "Resource name of the `Release`. Format: `projects/{project_id}/releases/{release_id}`", + "description": "Required. Resource name of the `Release`. Format: `projects/{project_id}/releases/{release_id}`", "location": "path", "pattern": "^projects/[^/]+/releases/.*$", "required": true, @@ -281,12 +281,12 @@ ], "parameters": { "filter": { - "description": "`Release` filter. The list method supports filters with restrictions on the `Release.name`, `Release.ruleset_name`, and `Release.test_suite_name`. Example 1: A filter of 'name=prod*' might return `Release`s with names within 'projects/foo' prefixed with 'prod': Name | Ruleset Name ------------------------------|------------- projects/foo/releases/prod | projects/foo/rulesets/uuid1234 projects/foo/releases/prod/v1 | projects/foo/rulesets/uuid1234 projects/foo/releases/prod/v2 | projects/foo/rulesets/uuid8888 Example 2: A filter of `name=prod* ruleset_name=uuid1234` would return only `Release` instances for 'projects/foo' with names prefixed with 'prod' referring to the same `Ruleset` name of 'uuid1234': Name | Ruleset Name ------------------------------|------------- projects/foo/releases/prod | projects/foo/rulesets/1234 projects/foo/releases/prod/v1 | projects/foo/rulesets/1234 In the examples, the filter parameters refer to the search filters are relative to the project. Fully qualified prefixed may also be used. e.g. `test_suite_name=projects/foo/testsuites/uuid1`", + "description": "`Release` filter. The list method supports filters with restrictions on the `Release.name`, and `Release.ruleset_name`. Example 1: A filter of 'name=prod*' might return `Release`s with names within 'projects/foo' prefixed with 'prod': Name -> Ruleset Name: * projects/foo/releases/prod -> projects/foo/rulesets/uuid1234 * projects/foo/releases/prod/v1 -> projects/foo/rulesets/uuid1234 * projects/foo/releases/prod/v2 -> projects/foo/rulesets/uuid8888 Example 2: A filter of `name=prod* ruleset_name=uuid1234` would return only `Release` instances for 'projects/foo' with names prefixed with 'prod' referring to the same `Ruleset` name of 'uuid1234': Name -> Ruleset Name: * projects/foo/releases/prod -> projects/foo/rulesets/1234 * projects/foo/releases/prod/v1 -> projects/foo/rulesets/1234 In the examples, the filter parameters refer to the search filters are relative to the project. Fully qualified prefixed may also be used.", "location": "query", "type": "string" }, "name": { - "description": "Resource name for the project. Format: `projects/{project_id}`", + "description": "Required. Resource name for the project. Format: `projects/{project_id}`", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -315,7 +315,7 @@ ] }, "patch": { - "description": "Update a `Release` via PATCH. Only updates to the `ruleset_name` and `test_suite_name` fields will be honored. `Release` rename is not supported. To create a `Release` use the CreateRelease method.", + "description": "Update a `Release` via PATCH. Only updates to `ruleset_name` will be honored. `Release` rename is not supported. To create a `Release` use the CreateRelease method.", "flatPath": "v1/projects/{projectsId}/releases/{releasesId}", "httpMethod": "PATCH", "id": "firebaserules.projects.releases.patch", @@ -324,7 +324,7 @@ ], "parameters": { "name": { - "description": "Resource name for the project which owns this `Release`. Format: `projects/{project_id}`", + "description": "Required. Resource name for the project which owns this `Release`. Format: `projects/{project_id}`", "location": "path", "pattern": "^projects/[^/]+/releases/.*$", "required": true, @@ -357,7 +357,7 @@ ], "parameters": { "name": { - "description": "Resource name for Project which owns this `Ruleset`. Format: `projects/{project_id}`", + "description": "Required. Resource name for Project which owns this `Ruleset`. Format: `projects/{project_id}`", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -386,7 +386,7 @@ ], "parameters": { "name": { - "description": "Resource name for the ruleset to delete. Format: `projects/{project_id}/rulesets/{ruleset_id}`", + "description": "Required. Resource name for the ruleset to delete. Format: `projects/{project_id}/rulesets/{ruleset_id}`", "location": "path", "pattern": "^projects/[^/]+/rulesets/[^/]+$", "required": true, @@ -412,7 +412,7 @@ ], "parameters": { "name": { - "description": "Resource name for the ruleset to get. Format: `projects/{project_id}/rulesets/{ruleset_id}`", + "description": "Required. Resource name for the ruleset to get. Format: `projects/{project_id}/rulesets/{ruleset_id}`", "location": "path", "pattern": "^projects/[^/]+/rulesets/[^/]+$", "required": true, @@ -444,7 +444,7 @@ "type": "string" }, "name": { - "description": "Resource name for the project. Format: `projects/{project_id}`", + "description": "Required. Resource name for the project. Format: `projects/{project_id}`", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -477,7 +477,7 @@ } } }, - "revision": "20210311", + "revision": "20220127", "rootUrl": "https://firebaserules.googleapis.com/", "schemas": { "Arg": { @@ -531,7 +531,7 @@ "id": "File", "properties": { "content": { - "description": "Textual Content.", + "description": "Required. Textual Content.", "type": "string" }, "fingerprint": { @@ -540,7 +540,7 @@ "type": "string" }, "name": { - "description": "File name.", + "description": "Required. File name.", "type": "string" } }, @@ -726,21 +726,23 @@ "id": "Release", "properties": { "createTime": { - "description": "Time the release was created. Output only.", + "description": "Output only. Time the release was created.", "format": "google-datetime", + "readOnly": true, "type": "string" }, "name": { - "description": "Resource name for the `Release`. `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2` which affords developers a great deal of flexibility in mapping the name to the style that best fits their existing development practices. For example, a name could refer to an environment, an app, a version, or some combination of three. In the table below, for the project name `projects/foo`, the following relative release paths show how flat and structured names might be chosen to match a desired development / deployment strategy. Use Case | Flat Name | Structured Name -------------|---------------------|---------------- Environments | releases/qa | releases/qa Apps | releases/app1_qa | releases/app1/qa Versions | releases/app1_v2_qa | releases/app1/v2/qa The delimiter between the release name path elements can be almost anything and it should work equally well with the release name list filter, but in many ways the structured paths provide a clearer picture of the relationship between `Release` instances. Format: `projects/{project_id}/releases/{release_id}`", + "description": "Required. Format: `projects/{project_id}/releases/{release_id}`", "type": "string" }, "rulesetName": { - "description": "Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must exist the `Release` to be created.", + "description": "Required. Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must exist the `Release` to be created.", "type": "string" }, "updateTime": { - "description": "Time the release was updated. Output only.", + "description": "Output only. Time the release was updated.", "format": "google-datetime", + "readOnly": true, "type": "string" } }, @@ -766,21 +768,24 @@ "id": "Ruleset", "properties": { "createTime": { - "description": "Time the `Ruleset` was created. Output only.", + "description": "Output only. Time the `Ruleset` was created.", "format": "google-datetime", + "readOnly": true, "type": "string" }, "metadata": { "$ref": "Metadata", - "description": "The metadata for this ruleset. Output only." + "description": "Output only. The metadata for this ruleset.", + "readOnly": true }, "name": { - "description": "Name of the `Ruleset`. The ruleset_id is auto generated by the service. Format: `projects/{project_id}/rulesets/{ruleset_id}` Output only.", + "description": "Output only. Name of the `Ruleset`. The ruleset_id is auto generated by the service. Format: `projects/{project_id}/rulesets/{ruleset_id}`", + "readOnly": true, "type": "string" }, "source": { "$ref": "Source", - "description": "`Source` for the `Ruleset`." + "description": "Required. `Source` for the `Ruleset`." } }, "type": "object" @@ -790,7 +795,7 @@ "id": "Source", "properties": { "files": { - "description": "`File` set constituting the `Source` bundle.", + "description": "Required. `File` set constituting the `Source` bundle.", "items": { "$ref": "File" }, @@ -959,7 +964,7 @@ }, "testSuite": { "$ref": "TestSuite", - "description": "Inline `TestSuite` to run." + "description": "The tests to execute against the `Source`. When `Source` is provided inline, the test cases will only be run if the `Source` is syntactically and semantically valid. Inline `TestSuite` to run." } }, "type": "object" @@ -1000,12 +1005,12 @@ "type": "object" }, "UpdateReleaseRequest": { - "description": "The request for FirebaseRulesService.UpdateReleasePatch.", + "description": "The request for FirebaseRulesService.UpdateRelease.", "id": "UpdateReleaseRequest", "properties": { "release": { "$ref": "Release", - "description": "`Release` to update." + "description": "Required. `Release` to update." }, "updateMask": { "description": "Specifies which fields to update.", diff --git a/etc/api/firebasestorage/v1beta/firebasestorage-api.json b/etc/api/firebasestorage/v1beta/firebasestorage-api.json index 6fe0043f3c..1b161c53bc 100644 --- a/etc/api/firebasestorage/v1beta/firebasestorage-api.json +++ b/etc/api/firebasestorage/v1beta/firebasestorage-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." }, "https://www.googleapis.com/auth/firebase": { "description": "View and administer all your Firebase data and settings" @@ -122,7 +122,7 @@ ], "parameters": { "bucket": { - "description": "Required. Resource name of the bucket, mirrors the ID of the underlying Google Cloud Storage bucket. Because bucket resource names are unique across projects, you may omit the project number, `projects/-/buckets/{bucket_id}`.", + "description": "Required. Resource name of the bucket, mirrors the ID of the underlying Google Cloud Storage bucket, `projects/{project_number}/buckets/{bucket_id}`.", "location": "path", "pattern": "^projects/[^/]+/buckets/[^/]+$", "required": true, @@ -151,7 +151,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the bucket, mirrors the ID of the underlying Google Cloud Storage bucket. Because bucket resource names are unique across projects, you may omit the project number, `projects/-/buckets/{bucket_id}`.", + "description": "Required. Resource name of the bucket, mirrors the ID of the underlying Google Cloud Storage bucket, `projects/{project_number}/buckets/{bucket_id}`.", "location": "path", "pattern": "^projects/[^/]+/buckets/[^/]+$", "required": true, @@ -214,7 +214,7 @@ ], "parameters": { "bucket": { - "description": "Required. Resource name of the bucket, mirrors the ID of the underlying Google Cloud Storage bucket. Because bucket resource names are unique across projects, you may omit the project number, `projects/-/buckets/{bucket_id}`.", + "description": "Required. Resource name of the bucket, mirrors the ID of the underlying Google Cloud Storage bucket, `projects/{project_number}/buckets/{bucket_id}`.", "location": "path", "pattern": "^projects/[^/]+/buckets/[^/]+$", "required": true, @@ -238,7 +238,7 @@ } } }, - "revision": "20210329", + "revision": "20220218", "rootUrl": "https://firebasestorage.googleapis.com/", "schemas": { "AddFirebaseRequest": { @@ -251,9 +251,19 @@ "description": "A storage bucket and its relation to a parent Firebase project.", "id": "Bucket", "properties": { + "location": { + "description": "Output only. Location of the storage bucket.", + "readOnly": true, + "type": "string" + }, "name": { "description": "Resource name of the bucket.", "type": "string" + }, + "reconciling": { + "description": "Output only. Represents whether a bucket is being moved to a new location, in which case reconciling is set to true.", + "readOnly": true, + "type": "boolean" } }, "type": "object" @@ -264,6 +274,104 @@ "properties": {}, "type": "object" }, + "GoogleFirebaseStorageControlplaneV1alphaMigrateLocationDestructivelyMetadata": { + "description": "Metadata for MigrateLocationDestructively LRO.", + "id": "GoogleFirebaseStorageControlplaneV1alphaMigrateLocationDestructivelyMetadata", + "properties": { + "createTime": { + "description": "The time the LRO was created.", + "format": "google-datetime", + "type": "string" + }, + "lastUpdateTime": { + "description": "The time the LRO was last updated.", + "format": "google-datetime", + "type": "string" + }, + "state": { + "description": "The current state of the migration.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "CREATING_TEMP_BUCKET", + "TRANSFERRING_TO_TEMP", + "DELETING_SOURCE_BUCKET", + "CREATING_DESTINATION_BUCKET", + "TRANSFERRING_TO_DESTINATION", + "DELETING_TEMP_BUCKET", + "SUCCEEDED", + "FAILED", + "ROLLING_BACK", + "ROLLED_BACK" + ], + "enumDescriptions": [ + "Unspecified state. Should not be used.", + "The MigrateLocationDestructively request has passed precondition checks and the bucket migration will begin soon.", + "Generating a unique bucket name, storing the source -> temp mapping in Spanner, and actually creating the temporary bucket via Bigstore.", + "The first STS transfer to move all objects from the source bucket to the temp bucket is underway.", + "The source bucket is being emptied and deleted.", + "The source bucket is being recreated in the new location.", + "The second STS transfer to move all objects from the temp bucket to the final bucket is underway.", + "The temp bucket is being emptied and deleted.", + "All stages of the migration have completed and the operation has been marked done and updated with a response.", + "The migration failed at some stage and it is not possible to continue retrying that stage. Manual recovery may be needed. Rollback is either impossible at this stage, or has been attempted and failed.", + "The migration has encountered a permanent failure and is now being rolled back so that the source bucket is restored to its original state.", + "The migration has been successfully rolled back." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseStorageControlplaneV1betaMigrateLocationDestructivelyMetadata": { + "description": "Metadata for MigrateLocationDestructively LRO.", + "id": "GoogleFirebaseStorageControlplaneV1betaMigrateLocationDestructivelyMetadata", + "properties": { + "createTime": { + "description": "The time the LRO was created.", + "format": "google-datetime", + "type": "string" + }, + "lastUpdateTime": { + "description": "The time the LRO was last updated.", + "format": "google-datetime", + "type": "string" + }, + "state": { + "description": "The current state of the migration.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "CREATING_TEMP_BUCKET", + "TRANSFERRING_TO_TEMP", + "DELETING_SOURCE_BUCKET", + "CREATING_DESTINATION_BUCKET", + "TRANSFERRING_TO_DESTINATION", + "DELETING_TEMP_BUCKET", + "SUCCEEDED", + "FAILED", + "ROLLING_BACK", + "ROLLED_BACK" + ], + "enumDescriptions": [ + "Unspecified state. Should not be used.", + "The MigrateLocationDestructively request has passed precondition checks and the bucket migration will begin soon.", + "Generating a unique bucket name, storing the source -> temp mapping in Spanner, and actually creating the temporary bucket via Bigstore.", + "The first STS transfer to move all objects from the source bucket to the temp bucket is underway.", + "The source bucket is being emptied and deleted.", + "The source bucket is being recreated in the new location.", + "The second STS transfer to move all objects from the temp bucket to the final bucket is underway.", + "The temp bucket is being emptied and deleted.", + "All stages of the migration have completed and the operation has been marked done and updated with a response.", + "The migration failed at some stage and it is not possible to continue retrying that stage. Manual recovery may be needed. Rollback is either impossible at this stage, or has been attempted and failed.", + "The migration has encountered a permanent failure and is now being rolled back so that the source bucket is restored to its original state.", + "The migration has been successfully rolled back." + ], + "type": "string" + } + }, + "type": "object" + }, "ListBucketsResponse": { "description": "The response returned by `ListBuckets`.", "id": "ListBucketsResponse", diff --git a/etc/api/firestore/v1/firestore-api.json b/etc/api/firestore/v1/firestore-api.json index 443f123f3f..04991aed36 100644 --- a/etc/api/firestore/v1/firestore-api.json +++ b/etc/api/firestore/v1/firestore-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "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" @@ -141,6 +141,32 @@ "https://www.googleapis.com/auth/datastore" ] }, + "get": { + "description": "Gets information about a database.", + "flatPath": "v1/projects/{projectsId}/databases/{databasesId}", + "httpMethod": "GET", + "id": "firestore.projects.databases.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the form `projects/{project_id}/databases/{database_id}`", + "location": "path", + "pattern": "^projects/[^/]+/databases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleFirestoreAdminV1Database" + }, + "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": "v1/projects/{projectsId}/databases/{databasesId}:importDocuments", @@ -169,6 +195,67 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/datastore" ] + }, + "list": { + "description": "List all the databases in the project.", + "flatPath": "v1/projects/{projectsId}/databases", + "httpMethod": "GET", + "id": "firestore.projects.databases.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. A parent name of the form `projects/{project_id}`", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/databases", + "response": { + "$ref": "GoogleFirestoreAdminV1ListDatabasesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/datastore" + ] + }, + "patch": { + "description": "Updates a database.", + "flatPath": "v1/projects/{projectsId}/databases/{databasesId}", + "httpMethod": "PATCH", + "id": "firestore.projects.databases.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the Database. Format: `projects/{project}/databases/{database}`", + "location": "path", + "pattern": "^projects/[^/]+/databases/[^/]+$", + "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": "GoogleFirestoreAdminV1Database" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/datastore" + ] } }, "resources": { @@ -203,7 +290,7 @@ ] }, "list": { - "description": "Lists the field configuration and metadata for this database. Currently, FirestoreAdmin.ListFields only supports listing fields that have been explicitly overridden. To issue this query, call FirestoreAdmin.ListFields with the filter set to `indexConfig.usesAncestorConfig:false`.", + "description": "Lists the field configuration and metadata for this database. Currently, FirestoreAdmin.ListFields only supports listing fields that have been explicitly overridden. To issue this query, call FirestoreAdmin.ListFields with the filter set to `indexConfig.usesAncestorConfig:false` .", "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/collectionGroups/{collectionGroupsId}/fields", "httpMethod": "GET", "id": "firestore.projects.databases.collectionGroups.fields.list", @@ -212,7 +299,7 @@ ], "parameters": { "filter": { - "description": "The filter to apply to list results. Currently, FirestoreAdmin.ListFields only supports listing fields that have been explicitly overridden. To issue this query, call FirestoreAdmin.ListFields with the filter set to `indexConfig.usesAncestorConfig:false`.", + "description": "The filter to apply to list results. Currently, FirestoreAdmin.ListFields only supports listing fields that have been explicitly overridden. To issue this query, call FirestoreAdmin.ListFields with a filter that includes `indexConfig.usesAncestorConfig:false` .", "location": "query", "type": "string" }, @@ -590,7 +677,7 @@ "type": "boolean" }, "currentDocument.updateTime": { - "description": "When set, the target document must exist and have been last updated at that time.", + "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" @@ -830,7 +917,7 @@ "type": "boolean" }, "currentDocument.updateTime": { - "description": "When set, the target document must exist and have been last updated at that time.", + "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" @@ -1135,7 +1222,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -1160,7 +1247,7 @@ } } }, - "revision": "20210317", + "revision": "20220221", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "ArrayValue": { @@ -1685,6 +1772,55 @@ }, "type": "object" }, + "GoogleFirestoreAdminV1Database": { + "description": "A Cloud Firestore Database. Currently only one database is allowed per cloud project; this database must have a `database_id` of '(default)'.", + "id": "GoogleFirestoreAdminV1Database", + "properties": { + "concurrencyMode": { + "description": "The concurrency control mode to use for this database.", + "enum": [ + "CONCURRENCY_MODE_UNSPECIFIED", + "OPTIMISTIC", + "PESSIMISTIC", + "OPTIMISTIC_WITH_ENTITY_GROUPS" + ], + "enumDescriptions": [ + "Not used.", + "Use optimistic concurrency control by default. This setting is available for Cloud Firestore customers.", + "Use pessimistic concurrency control by default. This setting is available for Cloud Firestore customers. This is the default setting for Cloud Firestore.", + "Use optimistic concurrency control with entity groups by default. This is the only available setting for Cloud Datastore customers. This is the default setting for Cloud Datastore." + ], + "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" + }, + "locationId": { + "description": "The location of the database. Available databases are listed at https://cloud.google.com/firestore/docs/locations.", + "type": "string" + }, + "name": { + "description": "The resource name of the Database. Format: `projects/{project}/databases/{database}`", + "type": "string" + }, + "type": { + "description": "The type of the database. See https://cloud.google.com/datastore/docs/firestore-or-datastore for information about how to choose.", + "enum": [ + "DATABASE_TYPE_UNSPECIFIED", + "FIRESTORE_NATIVE", + "DATASTORE_MODE" + ], + "enumDescriptions": [ + "The default value. This value is used if the database type is omitted.", + "Firestore Native Mode", + "Firestore in Datastore Mode." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleFirestoreAdminV1ExportDocumentsMetadata": { "description": "Metadata for google.longrunning.Operation results from FirestoreAdmin.ExportDocuments.", "id": "GoogleFirestoreAdminV1ExportDocumentsMetadata", @@ -2116,6 +2252,20 @@ }, "type": "object" }, + "GoogleFirestoreAdminV1ListDatabasesResponse": { + "description": "The list of databases for a project.", + "id": "GoogleFirestoreAdminV1ListDatabasesResponse", + "properties": { + "databases": { + "description": "The databases in the project.", + "items": { + "$ref": "GoogleFirestoreAdminV1Database" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleFirestoreAdminV1ListFieldsResponse": { "description": "The response for FirestoreAdmin.ListFields.", "id": "GoogleFirestoreAdminV1ListFieldsResponse", @@ -2175,6 +2325,12 @@ }, "type": "object" }, + "GoogleFirestoreAdminV1UpdateDatabaseMetadata": { + "description": "Metadata related to the update database operation.", + "id": "GoogleFirestoreAdminV1UpdateDatabaseMetadata", + "properties": {}, + "type": "object" + }, "GoogleLongrunningCancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "GoogleLongrunningCancelOperationRequest", @@ -2235,7 +2391,7 @@ "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 must conform to the WGS84 standard. Values must be within normalized ranges.", + "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": { @@ -2496,7 +2652,7 @@ "type": "boolean" }, "updateTime": { - "description": "When set, the target document must exist and have been last updated at that time.", + "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" } @@ -2586,7 +2742,7 @@ "description": "A structured query." }, "transaction": { - "description": "Reads documents in a 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" } @@ -2599,7 +2755,7 @@ "properties": { "document": { "$ref": "Document", - "description": "A query result. Not set when reporting partial progress." + "description": "A query result, not set when reporting partial progress." }, "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.", diff --git a/etc/api/firestore/v1beta1/firestore-api.json b/etc/api/firestore/v1beta1/firestore-api.json index 52b96e9228..dca8d303b0 100644 --- a/etc/api/firestore/v1beta1/firestore-api.json +++ b/etc/api/firestore/v1beta1/firestore-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "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" @@ -352,7 +352,7 @@ "type": "boolean" }, "currentDocument.updateTime": { - "description": "When set, the target document must exist and have been last updated at that time.", + "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" @@ -592,7 +592,7 @@ "type": "boolean" }, "currentDocument.updateTime": { - "description": "When set, the target document must exist and have been last updated at that time.", + "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" @@ -849,7 +849,7 @@ } } }, - "revision": "20210317", + "revision": "20220221", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "ArrayValue": { @@ -1374,6 +1374,12 @@ }, "type": "object" }, + "GoogleFirestoreAdminV1UpdateDatabaseMetadata": { + "description": "Metadata related to the update database operation.", + "id": "GoogleFirestoreAdminV1UpdateDatabaseMetadata", + "properties": {}, + "type": "object" + }, "GoogleFirestoreAdminV1beta1ExportDocumentsMetadata": { "description": "Metadata for ExportDocuments operations.", "id": "GoogleFirestoreAdminV1beta1ExportDocumentsMetadata", @@ -1724,7 +1730,7 @@ "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 must conform to the WGS84 standard. Values must be within normalized ranges.", + "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": { @@ -1933,7 +1939,7 @@ "type": "boolean" }, "updateTime": { - "description": "When set, the target document must exist and have been last updated at that time.", + "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" } @@ -2023,7 +2029,7 @@ "description": "A structured query." }, "transaction": { - "description": "Reads documents in a 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" } @@ -2036,7 +2042,7 @@ "properties": { "document": { "$ref": "Document", - "description": "A query result. Not set when reporting partial progress." + "description": "A query result, not set when reporting partial progress." }, "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.", diff --git a/etc/api/firestore/v1beta2/firestore-api.json b/etc/api/firestore/v1beta2/firestore-api.json index ea7ce8e529..ee478b5f2e 100644 --- a/etc/api/firestore/v1beta2/firestore-api.json +++ b/etc/api/firestore/v1beta2/firestore-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "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" @@ -415,7 +415,7 @@ } } }, - "revision": "20210317", + "revision": "20220221", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "Empty": { @@ -424,6 +424,12 @@ "properties": {}, "type": "object" }, + "GoogleFirestoreAdminV1UpdateDatabaseMetadata": { + "description": "Metadata related to the update database operation.", + "id": "GoogleFirestoreAdminV1UpdateDatabaseMetadata", + "properties": {}, + "type": "object" + }, "GoogleFirestoreAdminV1beta2ExportDocumentsMetadata": { "description": "Metadata for google.longrunning.Operation results from FirestoreAdmin.ExportDocuments.", "id": "GoogleFirestoreAdminV1beta2ExportDocumentsMetadata", diff --git a/etc/api/fitness/v1/fitness-api.json b/etc/api/fitness/v1/fitness-api.json index 0a5891d6d2..8a08392f6a 100644 --- a/etc/api/fitness/v1/fitness-api.json +++ b/etc/api/fitness/v1/fitness-api.json @@ -6,67 +6,67 @@ "description": "Use Google Fit to see and store your physical activity data" }, "https://www.googleapis.com/auth/fitness.activity.write": { - "description": "See and add to your Google Fit physical activity data" + "description": "Add to your Google Fit physical activity data" }, "https://www.googleapis.com/auth/fitness.blood_glucose.read": { "description": "See info about your blood glucose in Google Fit. I consent to Google sharing my blood glucose information with this app." }, "https://www.googleapis.com/auth/fitness.blood_glucose.write": { - "description": "See and add info about your blood glucose to Google Fit. I consent to Google sharing my blood glucose information with this app." + "description": "Add info about your blood glucose to Google Fit. I consent to Google using my blood glucose information with this app." }, "https://www.googleapis.com/auth/fitness.blood_pressure.read": { "description": "See info about your blood pressure in Google Fit. I consent to Google sharing my blood pressure information with this app." }, "https://www.googleapis.com/auth/fitness.blood_pressure.write": { - "description": "See and add info about your blood pressure in Google Fit. I consent to Google sharing my blood pressure information with this app." + "description": "Add info about your blood pressure in Google Fit. I consent to Google using my blood pressure information with this app." }, "https://www.googleapis.com/auth/fitness.body.read": { - "description": "See info about your body measurements and heart rate in Google Fit" + "description": "See info about your body measurements in Google Fit" }, "https://www.googleapis.com/auth/fitness.body.write": { - "description": "See and add info about your body measurements and heart rate to Google Fit" + "description": "Add info about your body measurements to Google Fit" }, "https://www.googleapis.com/auth/fitness.body_temperature.read": { "description": "See info about your body temperature in Google Fit. I consent to Google sharing my body temperature information with this app." }, "https://www.googleapis.com/auth/fitness.body_temperature.write": { - "description": "See and add to info about your body temperature in Google Fit. I consent to Google sharing my body temperature information with this app." + "description": "Add to info about your body temperature in Google Fit. I consent to Google using my body temperature information with this app." }, "https://www.googleapis.com/auth/fitness.heart_rate.read": { "description": "See your heart rate data in Google Fit. I consent to Google sharing my heart rate information with this app." }, "https://www.googleapis.com/auth/fitness.heart_rate.write": { - "description": "See and add to your heart rate data in Google Fit. I consent to Google sharing my heart rate information with this app." + "description": "Add to your heart rate data in Google Fit. I consent to Google using my heart rate information with this app." }, "https://www.googleapis.com/auth/fitness.location.read": { "description": "See your Google Fit speed and distance data" }, "https://www.googleapis.com/auth/fitness.location.write": { - "description": "See and add to your Google Fit location data" + "description": "Add to your Google Fit location data" }, "https://www.googleapis.com/auth/fitness.nutrition.read": { "description": "See info about your nutrition in Google Fit" }, "https://www.googleapis.com/auth/fitness.nutrition.write": { - "description": "See and add to info about your nutrition in Google Fit" + "description": "Add to info about your nutrition in Google Fit" }, "https://www.googleapis.com/auth/fitness.oxygen_saturation.read": { "description": "See info about your oxygen saturation in Google Fit. I consent to Google sharing my oxygen saturation information with this app." }, "https://www.googleapis.com/auth/fitness.oxygen_saturation.write": { - "description": "See and add info about your oxygen saturation in Google Fit. I consent to Google sharing my oxygen saturation information with this app." + "description": "Add info about your oxygen saturation in Google Fit. I consent to Google using my oxygen saturation information with this app." }, "https://www.googleapis.com/auth/fitness.reproductive_health.read": { "description": "See info about your reproductive health in Google Fit. I consent to Google sharing my reproductive health information with this app." }, "https://www.googleapis.com/auth/fitness.reproductive_health.write": { - "description": "See and add info about your reproductive health in Google Fit. I consent to Google sharing my reproductive health information with this app." + "description": "Add info about your reproductive health in Google Fit. I consent to Google using my reproductive health information with this app." }, "https://www.googleapis.com/auth/fitness.sleep.read": { "description": "See your sleep data in Google Fit. I consent to Google sharing my sleep information with this app." }, "https://www.googleapis.com/auth/fitness.sleep.write": { - "description": "See and add to your sleep data in Google Fit. I consent to Google sharing my sleep information with this app." + "description": "Add to your sleep data in Google Fit. I consent to Google using my sleep information with this app." } } } @@ -831,7 +831,7 @@ } } }, - "revision": "20210323", + "revision": "20220302", "rootUrl": "https://fitness.googleapis.com/", "schemas": { "AggregateBucket": { @@ -937,7 +937,7 @@ "fitness.users.dataset.aggregate" ] }, - "description": "The end of a window of time. Data that intersects with this time window will be aggregated. The time is in milliseconds since epoch, inclusive.", + "description": "The end of a window of time. Data that intersects with this time window will be aggregated. The time is in milliseconds since epoch, inclusive. The maximum allowed difference between start_time_millis // and end_time_millis is 7776000000 (roughly 90 days).", "format": "int64", "type": "string" }, diff --git a/etc/api/games/v1/games-api.json b/etc/api/games/v1/games-api.json index 4eca460121..9766662cb2 100644 --- a/etc/api/games/v1/games-api.json +++ b/etc/api/games/v1/games-api.json @@ -1204,38 +1204,6 @@ } } }, - "snapshotsExtended": { - "methods": { - "resolveSnapshotHead": { - "description": "Resolves any potential conflicts according to the resolution policy specified in the request and returns the snapshot head after the resolution.", - "flatPath": "games/v1/snapshotsExtended/{snapshotName}:resolveHead", - "httpMethod": "POST", - "id": "games.snapshotsExtended.resolveSnapshotHead", - "parameterOrder": [ - "snapshotName" - ], - "parameters": { - "snapshotName": { - "description": "Required. Name of the snapshot.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "games/v1/snapshotsExtended/{snapshotName}:resolveHead", - "request": { - "$ref": "ResolveSnapshotHeadRequest" - }, - "response": { - "$ref": "ResolveSnapshotHeadResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/drive.appdata", - "https://www.googleapis.com/auth/games" - ] - } - } - }, "stats": { "methods": { "get": { @@ -1256,7 +1224,7 @@ } } }, - "revision": "20210325", + "revision": "20220217", "rootUrl": "https://games.googleapis.com/", "schemas": { "AchievementDefinition": { @@ -2935,49 +2903,6 @@ }, "type": "object" }, - "ResolveSnapshotHeadRequest": { - "description": "Request for ResolveSnapshotHead RPC.", - "id": "ResolveSnapshotHeadRequest", - "properties": { - "maxConflictsPerSnapshot": { - "description": "The maximum number of SnapshotRevision resources for `conflictingRevisions` to return per SnapshotExtended resource in the response. For any response, the actual number of resources returned may be less than specified by `maxConflictsPerSnapshot`. The value provided should be greater or equal to 0. If no value is provided, the server will use a sensible default.", - "format": "int32", - "type": "integer" - }, - "resolutionPolicy": { - "description": "Required. The automatic resolution policy. All conflicts are resolved in chronological order, starting from the/ least recent. If the comparison metric is equal for the tentative head and the conflict, the head wins.", - "enum": [ - "RESOLUTION_POLICY_UNSPECIFIED", - "USE_HEAD", - "LONGEST_PLAYTIME", - "MOST_RECENTLY_MODIFIED", - "HIGHEST_PROGRESS", - "NO_AUTOMATIC_RESOLUTION" - ], - "enumDescriptions": [ - "Safe default, don't use explicitly.", - "Drops all conflicts and keeps the current head only.", - "Use the snapshot with the longest played time.", - "Use the snapshot that was most recently modified.", - "Use the snapshot with the highest progress value.", - "Don't resolve conflicts at all. Effectively only returns the current head revision of the snapshot. Corresponds to a game opening the snapshot with manual resolution policy." - ], - "type": "string" - } - }, - "type": "object" - }, - "ResolveSnapshotHeadResponse": { - "description": "Response for ResolveSnapshotHead RPC.", - "id": "ResolveSnapshotHeadResponse", - "properties": { - "snapshot": { - "$ref": "SnapshotExtended", - "description": "The state of the snapshot." - } - }, - "type": "object" - }, "RevisionCheckResponse": { "description": "A third party checking a revision response.", "id": "RevisionCheckResponse", @@ -3099,95 +3024,6 @@ }, "type": "object" }, - "SnapshotCoverImageResource": { - "description": "Identifies a snapshot cover image resource. The image is provided by the game.", - "id": "SnapshotCoverImageResource", - "properties": { - "contentHash": { - "description": "Output only. Hash-like weak identifier of the uploaded image bytes, consistent per player per application. The content hash for a given resource will not change if the binary data hasn't changed. Except in very rare circumstances, the content_hash for matching binary data will be the same within a given player and application.", - "readOnly": true, - "type": "string" - }, - "downloadUrl": { - "description": "Output only. A URL the client can use to download the image. May vary across requests, and only guaranteed to be valid for a short time after it is returned.", - "readOnly": true, - "type": "string" - }, - "height": { - "description": "The height of the image in pixels.", - "format": "int32", - "type": "integer" - }, - "mimeType": { - "description": "Output only. The MIME type of the image.", - "readOnly": true, - "type": "string" - }, - "resourceId": { - "description": "The ID of the image resource. It's guaranteed that if two IDs are equal then the contents are equal as well. It's not guaranteed that two identical blobs coming from separate uploads have the same ID. The resource ID can only be used within the application, user and resource type it was originally returned for. For example, it's not possible to use SnapshotDataResource's resource ID as the resource_id of a SnapshotCoverImageResource, even if the blob is a valid image file.", - "type": "string" - }, - "width": { - "description": "The width of the image in pixels.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "SnapshotDataResource": { - "description": "Identifies a snapshot data resource. The data is provided by the game.", - "id": "SnapshotDataResource", - "properties": { - "contentHash": { - "description": "Output only. Hash-like weak identifier of the uploaded blob bytes, consistent per player per application. The content hash for a given resource will not change if the binary data hasn't changed. Except in very rare circumstances, the content_hash for matching binary data will be the same within a given player and application.", - "readOnly": true, - "type": "string" - }, - "downloadUrl": { - "description": "Output only. A URL that the client can use to download the blob. May vary across requests, and only guaranteed to be valid for a short time after it is returned.", - "readOnly": true, - "type": "string" - }, - "resourceId": { - "description": "The ID of the blob resource. It's guaranteed that if two IDs are equal then the contents are equal as well. It's not guaranteed that two identical blobs coming from separate uploads have the same resource ID. The resource ID can only be used within the application, user and resource type it was originally returned for. For example, it's not possible to use SnapshotDataResource's resource ID as the resource_id of a SnapshotCoverImageResource, even if the blob is a valid image file.", - "type": "string" - }, - "size": { - "description": "Output only. Size of the saved game blob in bytes.", - "format": "int64", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "SnapshotExtended": { - "description": "A snapshot represents a saved game state referred to using the developer-provided snapshot_name. The set of attributes and binary data for a specific state is called a revision. Each revision is itself immutable, and referred to by a snapshot revision id. At any time, a snapshot has a \"head\" revision, and updates are made against that revision. If a snapshot update is received that isn't against the current head revision, then instead of changing the head revision it will result in a conflicting revision that must be specifically resolved.", - "id": "SnapshotExtended", - "properties": { - "conflictingRevisions": { - "description": "A list of conflicting revisions. Only set if explicitly requested (e.g. using a field mask or a request flag), or if the RPC guarantees that this field is set. The conflicting revisions are sorted chronologically by their server creation time (oldest first). If there are too many conflicting revisions to return all of them in a single request this will only contain the first batch. In such case, the presented conflicting revisions must be resolved first in order to fetch the next batch.", - "items": { - "$ref": "SnapshotRevision" - }, - "type": "array" - }, - "hasConflictingRevisions": { - "description": "An indicator whether the snapshot has any conflicting revisions or not. Always set.", - "type": "boolean" - }, - "headRevision": { - "$ref": "SnapshotRevision", - "description": "The current head revision (the canonical revision as understood by the server)." - }, - "snapshotName": { - "description": "An identifier of the snapshot, developer-specified. It must match the pattern [0-9a-zA-Z-._~]{1,100}.", - "type": "string" - } - }, - "type": "object" - }, "SnapshotImage": { "description": "An image of a snapshot.", "id": "SnapshotImage", @@ -3239,60 +3075,6 @@ }, "type": "object" }, - "SnapshotMetadata": { - "description": "Metadata about a snapshot revision. Snapshot metadata is immutable - a metadata change corresponds to a new snapshot revision.", - "id": "SnapshotMetadata", - "properties": { - "description": { - "description": "The description of this snapshot.", - "type": "string" - }, - "deviceName": { - "description": "The device that created the current revision.", - "type": "string" - }, - "gameplayDuration": { - "description": "The duration associated with this snapshot. Values with sub-millisecond precision can be rounded or trimmed to the closest millisecond.", - "format": "google-duration", - "type": "string" - }, - "lastModifyTime": { - "description": "The timestamp of the last modification to this snapshot as provided by the client. Values with sub-millisecond precision can be rounded or trimmed to the closest millisecond.", - "format": "google-datetime", - "type": "string" - }, - "progressValue": { - "description": "The progress value (64-bit integer set by developer) associated with this snapshot.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "SnapshotRevision": { - "description": "A Snapshot revision resource. Snapshot revisions are immutable.", - "id": "SnapshotRevision", - "properties": { - "blob": { - "$ref": "SnapshotDataResource", - "description": "Reference to the game provided blob for this revision." - }, - "coverImage": { - "$ref": "SnapshotCoverImageResource", - "description": "Reference to the cover image for this revision." - }, - "id": { - "description": "Output only. A server generated identifier of the snapshot revision.", - "readOnly": true, - "type": "string" - }, - "metadata": { - "$ref": "SnapshotMetadata", - "description": "Metadata for this snapshot revision." - } - }, - "type": "object" - }, "StatsResponse": { "description": "A third party stats resource.", "id": "StatsResponse", diff --git a/etc/api/gamesconfiguration/v1configuration/gamesconfiguration-api.json b/etc/api/gamesconfiguration/v1configuration/gamesconfiguration-api.json index c7e94fd627..772c5801e3 100644 --- a/etc/api/gamesconfiguration/v1configuration/gamesconfiguration-api.json +++ b/etc/api/gamesconfiguration/v1configuration/gamesconfiguration-api.json @@ -439,7 +439,7 @@ } } }, - "revision": "20210325", + "revision": "20220217", "rootUrl": "https://gamesconfiguration.googleapis.com/", "schemas": { "AchievementConfiguration": { diff --git a/etc/api/gameservices/v1/gameservices-api.json b/etc/api/gameservices/v1/gameservices-api.json index 3baa475ac6..1dcc947a90 100644 --- a/etc/api/gameservices/v1/gameservices-api.json +++ b/etc/api/gameservices/v1/gameservices-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -161,7 +161,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -194,12 +194,12 @@ ], "parameters": { "deploymentId": { - "description": "Required. The ID of the game server delpoyment resource to be created.", + "description": "Required. The ID of the game server deployment resource to create.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{location}`.", + "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -227,7 +227,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the game server delpoyment to delete, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.", + "description": "Required. The name of the game server deployment to delete, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", "required": true, @@ -252,7 +252,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the game server delpoyment, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.", + "description": "Required. The name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", "required": true, @@ -280,7 +280,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the game server delpoyment to retrieve, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.", + "description": "Required. The name of the game server deployment to retrieve, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", "required": true, @@ -305,7 +305,7 @@ ], "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).", + "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" @@ -327,7 +327,7 @@ ] }, "getRollout": { - "description": "Gets details a single game server deployment rollout.", + "description": "Gets details of a single game server deployment rollout.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/rollout", "httpMethod": "GET", "id": "gameservices.projects.locations.gameServerDeployments.getRollout", @@ -336,7 +336,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the game server delpoyment to retrieve, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`.", + "description": "Required. The name of the game server deployment rollout to retrieve, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", "required": true, @@ -361,28 +361,28 @@ ], "parameters": { "filter": { - "description": "Optional. The filter to apply to list results.", + "description": "Optional. The filter to apply to list results (see [Filtering](https://google.aip.dev/160)).", "location": "query", "type": "string" }, "orderBy": { - "description": "Optional. Specifies the ordering of results following syntax at https://cloud.google.com/apis/design/design_patterns#sorting_order.", + "description": "Optional. Specifies the ordering of results following [Cloud API syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order).", "location": "query", "type": "string" }, "pageSize": { - "description": "Optional. The maximum number of items to return. If unspecified, the server will pick an appropriate default. The server may return fewer items than requested. A caller should only rely on response's next_page_token to determine if there are more GameServerDeployments left to be queried.", + "description": "Optional. The maximum number of items to return. If unspecified, the server picks an appropriate default. The server may return fewer items than requested. A caller should only rely on the response's next_page_token to determine if there are more GameServerDeployments left to be queried.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. The next_page_token value returned from a previous List request, if any.", + "description": "Optional. The next_page_token value returned from a previous list request, if any.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{location}`.", + "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -407,14 +407,14 @@ ], "parameters": { "name": { - "description": "The resource name of the game server deployment, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`.", + "description": "The resource name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Required. Mask of fields to update. At least one path must be supplied in this field. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "description": "Required. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", "format": "google-fieldmask", "location": "query", "type": "string" @@ -441,7 +441,7 @@ ], "parameters": { "name": { - "description": "The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.", + "description": "The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", "required": true, @@ -454,7 +454,7 @@ "type": "string" }, "updateMask": { - "description": "Optional. Mask of fields to update. At least one path must be supplied in this field. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "description": "Optional. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", "format": "google-fieldmask", "location": "query", "type": "string" @@ -528,7 +528,7 @@ ] }, "updateRollout": { - "description": "Patches a single game server deployment rollout. The method will not return an error if the update does not affect any existing realms. For example - if the default_game_server_config is changed but all existing realms use the override, that is valid. Similarly, if a non existing realm is explicitly called out in game_server_config_overrides field, that will also not result in an error.", + "description": "Patches a single game server deployment rollout. The method will not return an error if the update does not affect any existing realms. For example, the following cases will not return an error: * The default_game_server_config is changed but all existing realms use the override. * A non-existing realm is explicitly called out in the game_server_config_overrides field.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/rollout", "httpMethod": "PATCH", "id": "gameservices.projects.locations.gameServerDeployments.updateRollout", @@ -537,14 +537,14 @@ ], "parameters": { "name": { - "description": "The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.", + "description": "The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Required. Mask of fields to update. At least one path must be supplied in this field. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "description": "Required. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", "format": "google-fieldmask", "location": "query", "type": "string" @@ -575,12 +575,12 @@ ], "parameters": { "configId": { - "description": "Required. The ID of the game server config resource to be created.", + "description": "Required. The ID of the game server config resource to create.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/`.", + "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", "required": true, @@ -599,7 +599,7 @@ ] }, "delete": { - "description": "Deletes a single game server config. The deletion will fail if the game server config is referenced in a game server deployment rollout.", + "description": "Deletes a single game server config. The deletion fails if the game server config is referenced in a game server deployment rollout.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs/{configsId}", "httpMethod": "DELETE", "id": "gameservices.projects.locations.gameServerDeployments.configs.delete", @@ -608,7 +608,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the game server config to delete, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.", + "description": "Required. The name of the game server config to delete, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+/configs/[^/]+$", "required": true, @@ -633,7 +633,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the game server config to retrieve, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.", + "description": "Required. The name of the game server config to retrieve, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+/configs/[^/]+$", "required": true, @@ -658,17 +658,17 @@ ], "parameters": { "filter": { - "description": "Optional. The filter to apply to list results.", + "description": "Optional. The filter to apply to list results (see [Filtering](https://google.aip.dev/160)).", "location": "query", "type": "string" }, "orderBy": { - "description": "Optional. Specifies the ordering of results following syntax at https://cloud.google.com/apis/design/design_patterns#sorting_order.", + "description": "Optional. Specifies the ordering of results following [Cloud API syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order).", "location": "query", "type": "string" }, "pageSize": { - "description": "Optional. The maximum number of items to return. If unspecified, server will pick an appropriate default. Server may return fewer items than requested. A caller should only rely on response's next_page_token to determine if there are more GameServerConfigs left to be queried.", + "description": "Optional. The maximum number of items to return. If unspecified, the server picks an appropriate default. The server may return fewer items than requested. A caller should only rely on response's next_page_token to determine if there are more GameServerConfigs left to be queried.", "format": "int32", "location": "query", "type": "integer" @@ -679,7 +679,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/*`.", + "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", "required": true, @@ -833,14 +833,14 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{location}`.", + "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "realmId": { - "description": "Required. The ID of the realm resource to be created.", + "description": "Required. The ID of the realm resource to create.", "location": "query", "type": "string" } @@ -866,7 +866,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the realm to delete, in the following form: `projects/{project}/locations/{location}/realms/{realm}`.", + "description": "Required. The name of the realm to delete, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", "required": true, @@ -891,7 +891,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the realm to retrieve, in the following form: `projects/{project}/locations/{location}/realms/{realm}`.", + "description": "Required. The name of the realm to retrieve, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", "required": true, @@ -916,28 +916,28 @@ ], "parameters": { "filter": { - "description": "Optional. The filter to apply to list results.", + "description": "Optional. The filter to apply to list results (see [Filtering](https://google.aip.dev/160)).", "location": "query", "type": "string" }, "orderBy": { - "description": "Optional. Specifies the ordering of results following syntax at https://cloud.google.com/apis/design/design_patterns#sorting_order.", + "description": "Optional. Specifies the ordering of results following [Cloud API syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order).", "location": "query", "type": "string" }, "pageSize": { - "description": "Optional. The maximum number of items to return. If unspecified, server will pick an appropriate default. Server may return fewer items than requested. A caller should only rely on response's next_page_token to determine if there are more realms left to be queried.", + "description": "Optional. The maximum number of items to return. If unspecified, the server picks an appropriate default. The server may return fewer items than requested. A caller should only rely on the response's next_page_token to determine if there are more realms left to be queried.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. The next_page_token value returned from a previous List request, if any.", + "description": "Optional. The next_page_token value returned from a previous list request, if any.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{location}`.", + "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -962,14 +962,14 @@ ], "parameters": { "name": { - "description": "The resource name of the realm, in the following form: `projects/{project}/locations/{location}/realms/{realm}`. For example, `projects/my-project/locations/{location}/realms/my-realm`.", + "description": "The resource name of the realm, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`. For example, `projects/my-project/locations/global/realms/my-realm`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", "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", + "description": "Required. The update mask to apply to the resource. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", "format": "google-fieldmask", "location": "query", "type": "string" @@ -996,7 +996,7 @@ ], "parameters": { "name": { - "description": "The resource name of the realm, in the following form: `projects/{project}/locations/{location}/realms/{realm}`. For example, `projects/my-project/locations/{location}/realms/my-realm`.", + "description": "The resource name of the realm, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`. For example, `projects/my-project/locations/global/realms/my-realm`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", "required": true, @@ -1009,7 +1009,7 @@ "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", + "description": "Required. The update mask to apply to the resource. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1040,12 +1040,12 @@ ], "parameters": { "gameServerClusterId": { - "description": "Required. The ID of the game server cluster resource to be created.", + "description": "Required. The ID of the game server cluster resource to create.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{location}/realms/{realm-id}`.", + "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", "required": true, @@ -1073,7 +1073,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the game server cluster to delete, in the following form: `projects/{project}/locations/{location}/gameServerClusters/{cluster}`.", + "description": "Required. The name of the game server cluster to delete, in the following form: `projects/{project}/locations/{locationId}/gameServerClusters/{gameServerClusterId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", "required": true, @@ -1098,11 +1098,26 @@ ], "parameters": { "name": { - "description": "Required. The name of the game server cluster to retrieve, in the following form: `projects/{project}/locations/{location}/realms/{realm-id}/gameServerClusters/{cluster}`.", + "description": "Required. The name of the game server cluster to retrieve, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", "required": true, "type": "string" + }, + "view": { + "description": "Optional. View for the returned GameServerCluster objects. When `FULL` is specified, the `cluster_state` field is also returned in the GameServerCluster object, which includes the state of the referenced Kubernetes cluster such as versions and provider info. The default/unset value is `GAME_SERVER_CLUSTER_VIEW_UNSPECIFIED`, the same as `BASIC`, which does not return the `cluster_state` field.", + "enum": [ + "GAME_SERVER_CLUSTER_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "If the value is not set, Google Cloud Game Servers defaults to the `BASIC` view.", + "Includes basic information of a GameServerCluster resource and omits `cluster_state`. This is the default value (for methods ListGameServerClusters, GetGameServerCluster, and PreviewCreateGameServerCluster).", + "Include basic information of a GameServerCluster resource as well as `cluster_state`." + ], + "location": "query", + "type": "string" } }, "path": "v1/{+name}", @@ -1123,32 +1138,47 @@ ], "parameters": { "filter": { - "description": "Optional. The filter to apply to list results.", + "description": "Optional. The filter to apply to list results (see [Filtering](https://google.aip.dev/160)).", "location": "query", "type": "string" }, "orderBy": { - "description": "Optional. Specifies the ordering of results following syntax at https://cloud.google.com/apis/design/design_patterns#sorting_order.", + "description": "Optional. Specifies the ordering of results following [Cloud API syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order).", "location": "query", "type": "string" }, "pageSize": { - "description": "Optional. The maximum number of items to return. If unspecified, the server will pick an appropriate default. The server may return fewer items than requested. A caller should only rely on response's next_page_token to determine if there are more GameServerClusters left to be queried.", + "description": "Optional. The maximum number of items to return. If unspecified, the server picks an appropriate default. The server may return fewer items than requested. A caller should only rely on response's next_page_token to determine if there are more GameServerClusters left to be queried.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. The next_page_token value returned from a previous List request, if any.", + "description": "Optional. The next_page_token value returned from a previous list request, if any.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent resource name, in the following form: \"projects/{project}/locations/{location}/realms/{realm}\".", + "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", "required": true, "type": "string" + }, + "view": { + "description": "Optional. View for the returned GameServerCluster objects. When `FULL` is specified, the `cluster_state` field is also returned in the GameServerCluster object, which includes the state of the referenced Kubernetes cluster such as versions and provider info. The default/unset value is `GAME_SERVER_CLUSTER_VIEW_UNSPECIFIED`, the same as `BASIC`, which does not return the `cluster_state` field.", + "enum": [ + "GAME_SERVER_CLUSTER_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "If the value is not set, Google Cloud Game Servers defaults to the `BASIC` view.", + "Includes basic information of a GameServerCluster resource and omits `cluster_state`. This is the default value (for methods ListGameServerClusters, GetGameServerCluster, and PreviewCreateGameServerCluster).", + "Include basic information of a GameServerCluster resource as well as `cluster_state`." + ], + "location": "query", + "type": "string" } }, "path": "v1/{+parent}/gameServerClusters", @@ -1169,14 +1199,14 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the game server cluster, in the following form: `projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`. For example, `projects/my-project/locations/{location}/realms/zanzibar/gameServerClusters/my-onprem-cluster`.", + "description": "Required. The resource name of the game server cluster, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`. For example, `projects/my-project/locations/global/realms/zanzibar/gameServerClusters/my-gke-cluster`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Required. Mask of fields to update. At least one path must be supplied in this field. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "description": "Required. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1203,12 +1233,12 @@ ], "parameters": { "gameServerClusterId": { - "description": "Required. The ID of the game server cluster resource to be created.", + "description": "Required. The ID of the game server cluster resource to create.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{location}/realms/{realm}`.", + "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", "required": true, @@ -1219,6 +1249,21 @@ "format": "google-datetime", "location": "query", "type": "string" + }, + "view": { + "description": "Optional. This field is deprecated. Preview will always return KubernetesClusterState.", + "enum": [ + "GAME_SERVER_CLUSTER_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "If the value is not set, Google Cloud Game Servers defaults to the `BASIC` view.", + "Includes basic information of a GameServerCluster resource and omits `cluster_state`. This is the default value (for methods ListGameServerClusters, GetGameServerCluster, and PreviewCreateGameServerCluster).", + "Include basic information of a GameServerCluster resource as well as `cluster_state`." + ], + "location": "query", + "type": "string" } }, "path": "v1/{+parent}/gameServerClusters:previewCreate", @@ -1242,7 +1287,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the game server cluster to delete, in the following form: `projects/{project}/locations/{location}/gameServerClusters/{cluster}`.", + "description": "Required. The name of the game server cluster to delete, in the following form: `projects/{project}/locations/{locationId}/gameServerClusters/{gameServerClusterId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", "required": true, @@ -1273,7 +1318,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the game server cluster, in the following form: `projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`. For example, `projects/my-project/locations/{location}/realms/zanzibar/gameServerClusters/my-onprem-cluster`.", + "description": "Required. The resource name of the game server cluster, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`. For example, `projects/my-project/locations/global/realms/zanzibar/gameServerClusters/my-gke-cluster`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", "required": true, @@ -1286,7 +1331,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Mask of fields to update. At least one path must be supplied in this field. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "description": "Required. Mask of fields to update. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1312,7 +1357,7 @@ } } }, - "revision": "20210312", + "revision": "20220223", "rootUrl": "https://gameservices.googleapis.com/", "schemas": { "AuditConfig": { @@ -1326,12 +1371,6 @@ }, "type": "array" }, - "exemptedMembers": { - "items": { - "type": "string" - }, - "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" @@ -1398,7 +1437,7 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "description": "Associates `members`, or principals, with a `role`.", "id": "Binding", "properties": { "bindingId": { @@ -1406,17 +1445,17 @@ }, "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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -1473,7 +1512,7 @@ "Default non-attribute.", "Either principal or (if present) authority selector.", "The principal (even if an authority selector is present), which must only be used for attribution, not authorization.", - "Any of the security realms in the IAMContext (go/security-realms). When used with IN, the condition indicates \"any of the request's realms match one of the given values; with NOT_IN, \"none of the realms match any of the given values\". Note that a value can be: - 'self' (i.e., allow connections from clients that are in the same security realm) - 'self:metro' (i.e., clients that are in the same metro) - 'self:cloud-region' (i.e., allow connections from clients that are in the same cloud region) - 'guardians' (i.e., allow connections from its guardian realms. See go/security-realms-glossary#guardian for more information.) - a realm (e.g., 'campus-abc') - a realm group (e.g., 'realms-for-borg-cell-xx', see: go/realm-groups) A match is determined by a realm group membership check performed by a RealmAclRep object (go/realm-acl-howto). It is not permitted to grant access based on the *absence* of a realm, so realm conditions can only be used in a \"positive\" context (e.g., ALLOW/IN or DENY/NOT_IN).", + "Any of the security realms in the IAMContext (go/security-realms). When used with IN, the condition indicates \"any of the request's realms match one of the given values; with NOT_IN, \"none of the realms match any of the given values\". Note that a value can be: - 'self' (i.e., allow connections from clients that are in the same security realm, which is currently but not guaranteed to be campus-sized) - 'self:metro' (i.e., clients that are in the same metro) - 'self:cloud-region' (i.e., allow connections from clients that are in the same cloud region) - 'self:prod-region' (i.e., allow connections from clients that are in the same prod region) - 'guardians' (i.e., allow connections from its guardian realms. See go/security-realms-glossary#guardian for more information.) - a realm (e.g., 'campus-abc') - a realm group (e.g., 'realms-for-borg-cell-xx', see: go/realm-groups) A match is determined by a realm group membership check performed by a RealmAclRep object (go/realm-acl-howto). It is not permitted to grant access based on the *absence* of a realm, so realm conditions can only be used in a \"positive\" context (e.g., ALLOW/IN or DENY/NOT_IN).", "An approver (distinct from the requester) that has authorized this request. When used with IN, the condition indicates that one of the approvers associated with the request matches the specified principal, or is a member of the specified group. Approvers can only grant additional access, and are thus only used in a strictly positive context (e.g. ALLOW/IN or DENY/NOT_IN).", "What types of justifications have been supplied with this request. String values should match enum names from security.credentials.JustificationType, e.g. \"MANUAL_STRING\". It is not permitted to grant access based on the *absence* of a justification, so justification conditions can only be used in a \"positive\" context (e.g., ALLOW/IN or DENY/NOT_IN). Multiple justifications, e.g., a Buganizer ID and a manually-entered reason, are normal and supported.", "What type of credentials have been supplied with this request. String values should match enum names from security_loas_l2.CredentialsType - currently, only CREDS_TYPE_EMERGENCY is supported. It is not permitted to grant access based on the *absence* of a credentials type, so the conditions can only be used in a \"positive\" context (e.g., ALLOW/IN or DENY/NOT_IN).", @@ -1664,7 +1703,7 @@ "type": "object" }, "DeployedFleetStatus": { - "description": "DeployedFleetStatus has details about the Agones fleets such as how many are running, how many allocated, and so on.", + "description": "DeployedFleetStatus has details about the Agones fleets, such as how many are running, how many are allocated, and so on.", "id": "DeployedFleetStatus", "properties": { "allocatedReplicas": { @@ -1751,7 +1790,7 @@ "id": "FleetConfig", "properties": { "fleetSpec": { - "description": "Agones fleet spec. Example spec: `https://agones.dev/site/docs/reference/fleet/`.", + "description": "Agones fleet spec (see [example spec](https://agones.dev/site/docs/reference/fleet/)).", "type": "string" }, "name": { @@ -1765,6 +1804,11 @@ "description": "A game server cluster resource.", "id": "GameServerCluster", "properties": { + "clusterState": { + "$ref": "KubernetesClusterState", + "description": "Output only. The state of the Kubernetes cluster in preview. This will be available if view is set to FULL in the relevant list/get/preview request.", + "readOnly": true + }, "connectionInfo": { "$ref": "GameServerClusterConnectionInfo", "description": "The game server cluster connection information. This information is used to manage game server clusters." @@ -1780,7 +1824,7 @@ "type": "string" }, "etag": { - "description": "ETag of the resource.", + "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", "type": "string" }, "labels": { @@ -1791,7 +1835,7 @@ "type": "object" }, "name": { - "description": "Required. The resource name of the game server cluster, in the following form: `projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`. For example, `projects/my-project/locations/{location}/realms/zanzibar/gameServerClusters/my-onprem-cluster`.", + "description": "Required. The resource name of the game server cluster, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`. For example, `projects/my-project/locations/global/realms/zanzibar/gameServerClusters/my-gke-cluster`.", "type": "string" }, "updateTime": { @@ -1847,7 +1891,7 @@ "type": "object" }, "name": { - "description": "The resource name of the game server config, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.", + "description": "The resource name of the game server config, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.", "type": "string" }, "scalingConfigs": { @@ -1892,11 +1936,11 @@ "type": "string" }, "description": { - "description": "Human readable description of the game server delpoyment.", + "description": "Human readable description of the game server deployment.", "type": "string" }, "etag": { - "description": "ETag of the resource.", + "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", "type": "string" }, "labels": { @@ -1907,7 +1951,7 @@ "type": "object" }, "name": { - "description": "The resource name of the game server deployment, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`.", + "description": "The resource name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`.", "type": "string" }, "updateTime": { @@ -1945,7 +1989,7 @@ "type": "array" }, "name": { - "description": "The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.", + "description": "The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.", "type": "string" }, "updateTime": { @@ -1962,7 +2006,64 @@ "id": "GkeClusterReference", "properties": { "cluster": { - "description": "The full or partial name of a GKE cluster, using one of the following forms: * `projects/{project}/locations/{location}/clusters/{cluster}` * `locations/{location}/clusters/{cluster}` * `{cluster}` If project and location are not specified, the project and location of the GameServerCluster resource are used to generate the full name of the GKE cluster.", + "description": "The full or partial name of a GKE cluster, using one of the following forms: * `projects/{project}/locations/{locationId}/clusters/{cluster}` * `locations/{locationId}/clusters/{cluster}` * `{cluster}` If project and location are not specified, the project and location of the GameServerCluster resource are used to generate the full name of the GKE cluster.", + "type": "string" + } + }, + "type": "object" + }, + "KubernetesClusterState": { + "description": "The state of the Kubernetes cluster.", + "id": "KubernetesClusterState", + "properties": { + "agonesVersionInstalled": { + "description": "Output only. The version of Agones currently installed in the registered Kubernetes cluster.", + "readOnly": true, + "type": "string" + }, + "agonesVersionTargeted": { + "description": "Output only. The version of Agones that is targeted to be installed in the cluster.", + "readOnly": true, + "type": "string" + }, + "installationState": { + "description": "Output only. The state for the installed versions of Agones/Kubernetes.", + "enum": [ + "INSTALLATION_STATE_UNSPECIFIED", + "AGONES_KUBERNETES_VERSION_SUPPORTED", + "AGONES_VERSION_UNSUPPORTED", + "AGONES_KUBERNETES_VERSION_UNSUPPORTED", + "AGONES_VERSION_UNRECOGNIZED", + "KUBERNETES_VERSION_UNRECOGNIZED", + "VERSION_VERIFICATION_FAILED", + "AGONES_NOT_INSTALLED" + ], + "enumDescriptions": [ + "The default installation state. This value is used if the state is omitted.", + "Both the Agones and Kubernetes versions are supported by Google Cloud Game Servers and Agones and Kubernetes versions are compatible.", + "The installed version of Agones is not supported by Google Cloud Game Servers.", + "The installed version of Agones is supported by Google Cloud Game Servers, but the installed version of Kubernetes is not recommended or supported by the version of Agones.", + "The installed version of Agones is not recognized because the Agones controller's image name does not have a version string reported as {major}.{minor}(.{patch}).", + "The server version of Kubernetes cluster is not recognized because the API server didn't return parsable version info on path/version.", + "Failed to read or verify the version of Agones or Kubernetes. See `version_installed_error_message` for details.", + "Agones is not installed." + ], + "readOnly": true, + "type": "string" + }, + "kubernetesVersionInstalled": { + "description": "Output only. The version of Kubernetes that is currently used in the registered Kubernetes cluster (as detected by the Cloud Game Servers service).", + "readOnly": true, + "type": "string" + }, + "provider": { + "description": "Output only. The cloud provider type reported by the first node's `providerID` in the list of nodes on the Kubernetes endpoint. On Kubernetes platforms that support zero-node clusters (like GKE-on-GCP), the provider type will be empty.", + "readOnly": true, + "type": "string" + }, + "versionInstalledErrorMessage": { + "description": "Output only. The detailed error message for the installed versions of Agones/Kubernetes.", + "readOnly": true, "type": "string" } }, @@ -2298,7 +2399,7 @@ "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/).", + "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": { @@ -2309,7 +2410,7 @@ "type": "array" }, "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.", + "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" }, @@ -2320,9 +2421,6 @@ "format": "byte", "type": "string" }, - "iamOwned": { - "type": "boolean" - }, "rules": { "description": "If more than one rule is specified, the rules are applied in the following manner: - All matching LOG rules are always applied. - If any DENY/DENY_WITH_LOG rule matches, permission is denied. Logging will be applied if one or more matching rule requires logging. - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is granted. Logging will be applied if one or more matching rule requires logging. - Otherwise, if no rule applies, permission is denied.", "items": { @@ -2342,6 +2440,11 @@ "description": "Response message for GameServerClustersService.PreviewCreateGameServerCluster.", "id": "PreviewCreateGameServerClusterResponse", "properties": { + "clusterState": { + "$ref": "KubernetesClusterState", + "description": "Output only. The state of the Kubernetes cluster in preview. This will be available if view is set to FULL in the relevant list/get/preview request.", + "readOnly": true + }, "etag": { "description": "The ETag of the game server cluster.", "type": "string" @@ -2435,7 +2538,7 @@ "type": "string" }, "etag": { - "description": "ETag of the resource.", + "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", "type": "string" }, "labels": { @@ -2446,11 +2549,11 @@ "type": "object" }, "name": { - "description": "The resource name of the realm, in the following form: `projects/{project}/locations/{location}/realms/{realm}`. For example, `projects/my-project/locations/{location}/realms/my-realm`.", + "description": "The resource name of the realm, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`. For example, `projects/my-project/locations/global/realms/my-realm`.", "type": "string" }, "timeZone": { - "description": "Required. Time zone where all policies targeting this realm are evaluated. The value of this field must be from the IANA time zone database: https://www.iana.org/time-zones.", + "description": "Required. Time zone where all policies targeting this realm are evaluated. The value of this field must be from the [IANA time zone database](https://www.iana.org/time-zones).", "type": "string" }, "updateTime": { @@ -2519,7 +2622,7 @@ "type": "array" }, "logConfig": { - "description": "The config returned to callers of tech.iam.IAM.CheckPolicy for any entries that match the LOG action.", + "description": "The config returned to callers of CheckPolicy for any entries that match the LOG action.", "items": { "$ref": "LogConfig" }, @@ -2547,15 +2650,15 @@ "id": "ScalingConfig", "properties": { "fleetAutoscalerSpec": { - "description": "Required. Agones fleet autoscaler spec. Example spec: https://agones.dev/site/docs/reference/fleetautoscaler/", + "description": "Required. Agones fleet autoscaler spec (see [example spec](https://agones.dev/site/docs/reference/fleetautoscaler/)).", "type": "string" }, "name": { - "description": "Required. The name of the Scaling Config", + "description": "Required. The name of the scaling config.", "type": "string" }, "schedules": { - "description": "The schedules to which this Scaling Config applies.", + "description": "The schedules to which this scaling config applies.", "items": { "$ref": "Schedule" }, @@ -2572,7 +2675,7 @@ "type": "object" }, "Schedule": { - "description": "The schedule of a recurring or one time event. The event's time span is specified by start_time and end_time. If the scheduled event's timespan is larger than the cron_spec + cron_job_duration, the event will be recurring. If only cron_spec + cron_job_duration are specified, the event is effective starting at the local time specified by cron_spec, and is recurring. start_time|-------[cron job]-------[cron job]-------[cron job]---|end_time cron job: cron spec start time + duration", + "description": "The schedule of a recurring or one time event. The event's time span is specified by start_time and end_time. If the scheduled event's timespan is larger than cron_spec added with cron_job_duration, the event is recurring. If only cron_spec and cron_job_duration are specified, the event starts at the local time specified by cron_spec, and is recurring. ``` start_time|-------[cron job]-------[cron job]-------[cron job]---|end_time cron job: cron spec start time + duration ```", "id": "Schedule", "properties": { "cronJobDuration": { @@ -2581,7 +2684,7 @@ "type": "string" }, "cronSpec": { - "description": "The cron definition of the scheduled event. See https://en.wikipedia.org/wiki/Cron. Cron spec specifies the local time as defined by the realm.", + "description": "The cron definition of the scheduled event. See https://en.wikipedia.org/wiki/Cron. The cron spec specifies the local time as defined by the realm.", "type": "string" }, "endTime": { @@ -2618,11 +2721,11 @@ "id": "SpecSource", "properties": { "gameServerConfigName": { - "description": "The game server config resource. Uses the form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment_id}/configs/{config_id}`.", + "description": "The game server config resource. Uses the form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`.", "type": "string" }, "name": { - "description": "The name of the Agones leet config or Agones scaling config used to derive the Agones fleet or Agones autoscaler spec.", + "description": "The name of the Agones fleet config or Agones scaling config used to derive the Agones fleet or Agones autoscaler spec.", "type": "string" } }, @@ -2667,11 +2770,11 @@ "type": "array" }, "gameServerClusterName": { - "description": "The game server cluster name. Uses the form: `projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`.", + "description": "The game server cluster name. Uses the form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`.", "type": "string" }, "gameServerDeploymentName": { - "description": "The game server deployment name. Uses the form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment_id}`.", + "description": "The game server deployment name. Uses the form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`.", "type": "string" } }, diff --git a/etc/api/gameservices/v1beta/gameservices-api.json b/etc/api/gameservices/v1beta/gameservices-api.json index b54d7b38fd..2818869765 100644 --- a/etc/api/gameservices/v1beta/gameservices-api.json +++ b/etc/api/gameservices/v1beta/gameservices-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -161,7 +161,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -194,12 +194,12 @@ ], "parameters": { "deploymentId": { - "description": "Required. The ID of the game server delpoyment resource to be created.", + "description": "Required. The ID of the game server deployment resource to create.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{location}`.", + "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -227,7 +227,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the game server delpoyment to delete, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.", + "description": "Required. The name of the game server deployment to delete, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", "required": true, @@ -252,7 +252,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the game server delpoyment, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.", + "description": "Required. The name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", "required": true, @@ -280,7 +280,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the game server delpoyment to retrieve, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.", + "description": "Required. The name of the game server deployment to retrieve, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", "required": true, @@ -305,7 +305,7 @@ ], "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).", + "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" @@ -327,7 +327,7 @@ ] }, "getRollout": { - "description": "Gets details a single game server deployment rollout.", + "description": "Gets details of a single game server deployment rollout.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/rollout", "httpMethod": "GET", "id": "gameservices.projects.locations.gameServerDeployments.getRollout", @@ -336,7 +336,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the game server delpoyment to retrieve, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`.", + "description": "Required. The name of the game server deployment rollout to retrieve, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", "required": true, @@ -361,28 +361,28 @@ ], "parameters": { "filter": { - "description": "Optional. The filter to apply to list results.", + "description": "Optional. The filter to apply to list results (see [Filtering](https://google.aip.dev/160)).", "location": "query", "type": "string" }, "orderBy": { - "description": "Optional. Specifies the ordering of results following syntax at https://cloud.google.com/apis/design/design_patterns#sorting_order.", + "description": "Optional. Specifies the ordering of results following [Cloud API syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order).", "location": "query", "type": "string" }, "pageSize": { - "description": "Optional. The maximum number of items to return. If unspecified, the server will pick an appropriate default. The server may return fewer items than requested. A caller should only rely on response's next_page_token to determine if there are more GameServerDeployments left to be queried.", + "description": "Optional. The maximum number of items to return. If unspecified, the server picks an appropriate default. The server may return fewer items than requested. A caller should only rely on the response's next_page_token to determine if there are more GameServerDeployments left to be queried.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. The next_page_token value returned from a previous List request, if any.", + "description": "Optional. The next_page_token value returned from a previous list request, if any.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{location}`.", + "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -407,14 +407,14 @@ ], "parameters": { "name": { - "description": "The resource name of the game server deployment, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`.", + "description": "The resource name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Required. Mask of fields to update. At least one path must be supplied in this field. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "description": "Required. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", "format": "google-fieldmask", "location": "query", "type": "string" @@ -441,7 +441,7 @@ ], "parameters": { "name": { - "description": "The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.", + "description": "The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", "required": true, @@ -454,7 +454,7 @@ "type": "string" }, "updateMask": { - "description": "Optional. Mask of fields to update. At least one path must be supplied in this field. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "description": "Optional. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", "format": "google-fieldmask", "location": "query", "type": "string" @@ -528,7 +528,7 @@ ] }, "updateRollout": { - "description": "Patches a single game server deployment rollout. The method will not return an error if the update does not affect any existing realms. For example - if the default_game_server_config is changed but all existing realms use the override, that is valid. Similarly, if a non existing realm is explicitly called out in game_server_config_overrides field, that will also not result in an error.", + "description": "Patches a single game server deployment rollout. The method will not return an error if the update does not affect any existing realms. For example, the following cases will not return an error: * The default_game_server_config is changed but all existing realms use the override. * A non-existing realm is explicitly called out in the game_server_config_overrides field.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/rollout", "httpMethod": "PATCH", "id": "gameservices.projects.locations.gameServerDeployments.updateRollout", @@ -537,14 +537,14 @@ ], "parameters": { "name": { - "description": "The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.", + "description": "The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Required. Mask of fields to update. At least one path must be supplied in this field. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "description": "Required. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", "format": "google-fieldmask", "location": "query", "type": "string" @@ -575,12 +575,12 @@ ], "parameters": { "configId": { - "description": "Required. The ID of the game server config resource to be created.", + "description": "Required. The ID of the game server config resource to create.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/`.", + "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", "required": true, @@ -599,7 +599,7 @@ ] }, "delete": { - "description": "Deletes a single game server config. The deletion will fail if the game server config is referenced in a game server deployment rollout.", + "description": "Deletes a single game server config. The deletion fails if the game server config is referenced in a game server deployment rollout.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs/{configsId}", "httpMethod": "DELETE", "id": "gameservices.projects.locations.gameServerDeployments.configs.delete", @@ -608,7 +608,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the game server config to delete, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.", + "description": "Required. The name of the game server config to delete, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+/configs/[^/]+$", "required": true, @@ -633,7 +633,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the game server config to retrieve, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.", + "description": "Required. The name of the game server config to retrieve, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+/configs/[^/]+$", "required": true, @@ -658,17 +658,17 @@ ], "parameters": { "filter": { - "description": "Optional. The filter to apply to list results.", + "description": "Optional. The filter to apply to list results (see [Filtering](https://google.aip.dev/160)).", "location": "query", "type": "string" }, "orderBy": { - "description": "Optional. Specifies the ordering of results following syntax at https://cloud.google.com/apis/design/design_patterns#sorting_order.", + "description": "Optional. Specifies the ordering of results following [Cloud API syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order).", "location": "query", "type": "string" }, "pageSize": { - "description": "Optional. The maximum number of items to return. If unspecified, server will pick an appropriate default. Server may return fewer items than requested. A caller should only rely on response's next_page_token to determine if there are more GameServerConfigs left to be queried.", + "description": "Optional. The maximum number of items to return. If unspecified, the server picks an appropriate default. The server may return fewer items than requested. A caller should only rely on response's next_page_token to determine if there are more GameServerConfigs left to be queried.", "format": "int32", "location": "query", "type": "integer" @@ -679,7 +679,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/*`.", + "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", "required": true, @@ -833,14 +833,14 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{location}`.", + "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "realmId": { - "description": "Required. The ID of the realm resource to be created.", + "description": "Required. The ID of the realm resource to create.", "location": "query", "type": "string" } @@ -866,7 +866,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the realm to delete, in the following form: `projects/{project}/locations/{location}/realms/{realm}`.", + "description": "Required. The name of the realm to delete, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", "required": true, @@ -891,7 +891,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the realm to retrieve, in the following form: `projects/{project}/locations/{location}/realms/{realm}`.", + "description": "Required. The name of the realm to retrieve, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", "required": true, @@ -916,28 +916,28 @@ ], "parameters": { "filter": { - "description": "Optional. The filter to apply to list results.", + "description": "Optional. The filter to apply to list results (see [Filtering](https://google.aip.dev/160)).", "location": "query", "type": "string" }, "orderBy": { - "description": "Optional. Specifies the ordering of results following syntax at https://cloud.google.com/apis/design/design_patterns#sorting_order.", + "description": "Optional. Specifies the ordering of results following [Cloud API syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order).", "location": "query", "type": "string" }, "pageSize": { - "description": "Optional. The maximum number of items to return. If unspecified, server will pick an appropriate default. Server may return fewer items than requested. A caller should only rely on response's next_page_token to determine if there are more realms left to be queried.", + "description": "Optional. The maximum number of items to return. If unspecified, the server picks an appropriate default. The server may return fewer items than requested. A caller should only rely on the response's next_page_token to determine if there are more realms left to be queried.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. The next_page_token value returned from a previous List request, if any.", + "description": "Optional. The next_page_token value returned from a previous list request, if any.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{location}`.", + "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -962,14 +962,14 @@ ], "parameters": { "name": { - "description": "The resource name of the realm, in the following form: `projects/{project}/locations/{location}/realms/{realm}`. For example, `projects/my-project/locations/{location}/realms/my-realm`.", + "description": "The resource name of the realm, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`. For example, `projects/my-project/locations/global/realms/my-realm`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", "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", + "description": "Required. The update mask to apply to the resource. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", "format": "google-fieldmask", "location": "query", "type": "string" @@ -996,7 +996,7 @@ ], "parameters": { "name": { - "description": "The resource name of the realm, in the following form: `projects/{project}/locations/{location}/realms/{realm}`. For example, `projects/my-project/locations/{location}/realms/my-realm`.", + "description": "The resource name of the realm, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`. For example, `projects/my-project/locations/global/realms/my-realm`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", "required": true, @@ -1009,7 +1009,7 @@ "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", + "description": "Required. The update mask to apply to the resource. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1040,12 +1040,12 @@ ], "parameters": { "gameServerClusterId": { - "description": "Required. The ID of the game server cluster resource to be created.", + "description": "Required. The ID of the game server cluster resource to create.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{location}/realms/{realm-id}`.", + "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", "required": true, @@ -1073,7 +1073,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the game server cluster to delete, in the following form: `projects/{project}/locations/{location}/gameServerClusters/{cluster}`.", + "description": "Required. The name of the game server cluster to delete, in the following form: `projects/{project}/locations/{locationId}/gameServerClusters/{gameServerClusterId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", "required": true, @@ -1098,11 +1098,26 @@ ], "parameters": { "name": { - "description": "Required. The name of the game server cluster to retrieve, in the following form: `projects/{project}/locations/{location}/realms/{realm-id}/gameServerClusters/{cluster}`.", + "description": "Required. The name of the game server cluster to retrieve, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", "required": true, "type": "string" + }, + "view": { + "description": "Optional. View for the returned GameServerCluster objects. When `FULL` is specified, the `cluster_state` field is also returned in the GameServerCluster object, which includes the state of the referenced Kubernetes cluster such as versions and provider info. The default/unset value is `GAME_SERVER_CLUSTER_VIEW_UNSPECIFIED`, the same as `BASIC`, which does not return the `cluster_state` field.", + "enum": [ + "GAME_SERVER_CLUSTER_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "If the value is not set, Google Cloud Game Servers defaults to the `BASIC` view.", + "Includes basic information of a GameServerCluster resource and omits `cluster_state`. This is the default value (for methods ListGameServerClusters, GetGameServerCluster, and PreviewCreateGameServerCluster).", + "Include basic information of a GameServerCluster resource as well as `cluster_state`." + ], + "location": "query", + "type": "string" } }, "path": "v1beta/{+name}", @@ -1123,32 +1138,47 @@ ], "parameters": { "filter": { - "description": "Optional. The filter to apply to list results.", + "description": "Optional. The filter to apply to list results (see [Filtering](https://google.aip.dev/160)).", "location": "query", "type": "string" }, "orderBy": { - "description": "Optional. Specifies the ordering of results following syntax at https://cloud.google.com/apis/design/design_patterns#sorting_order.", + "description": "Optional. Specifies the ordering of results following [Cloud API syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order).", "location": "query", "type": "string" }, "pageSize": { - "description": "Optional. The maximum number of items to return. If unspecified, the server will pick an appropriate default. The server may return fewer items than requested. A caller should only rely on response's next_page_token to determine if there are more GameServerClusters left to be queried.", + "description": "Optional. The maximum number of items to return. If unspecified, the server picks an appropriate default. The server may return fewer items than requested. A caller should only rely on response's next_page_token to determine if there are more GameServerClusters left to be queried.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. The next_page_token value returned from a previous List request, if any.", + "description": "Optional. The next_page_token value returned from a previous list request, if any.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent resource name, in the following form: \"projects/{project}/locations/{location}/realms/{realm}\".", + "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", "required": true, "type": "string" + }, + "view": { + "description": "Optional. View for the returned GameServerCluster objects. When `FULL` is specified, the `cluster_state` field is also returned in the GameServerCluster object, which includes the state of the referenced Kubernetes cluster such as versions and provider info. The default/unset value is `GAME_SERVER_CLUSTER_VIEW_UNSPECIFIED`, the same as `BASIC`, which does not return the `cluster_state` field.", + "enum": [ + "GAME_SERVER_CLUSTER_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "If the value is not set, Google Cloud Game Servers defaults to the `BASIC` view.", + "Includes basic information of a GameServerCluster resource and omits `cluster_state`. This is the default value (for methods ListGameServerClusters, GetGameServerCluster, and PreviewCreateGameServerCluster).", + "Include basic information of a GameServerCluster resource as well as `cluster_state`." + ], + "location": "query", + "type": "string" } }, "path": "v1beta/{+parent}/gameServerClusters", @@ -1169,14 +1199,14 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the game server cluster, in the following form: `projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`. For example, `projects/my-project/locations/{location}/realms/zanzibar/gameServerClusters/my-onprem-cluster`.", + "description": "Required. The resource name of the game server cluster, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`. For example, `projects/my-project/locations/global/realms/zanzibar/gameServerClusters/my-gke-cluster`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Required. Mask of fields to update. At least one path must be supplied in this field. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "description": "Required. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1203,12 +1233,12 @@ ], "parameters": { "gameServerClusterId": { - "description": "Required. The ID of the game server cluster resource to be created.", + "description": "Required. The ID of the game server cluster resource to create.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{location}/realms/{realm}`.", + "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", "required": true, @@ -1219,6 +1249,21 @@ "format": "google-datetime", "location": "query", "type": "string" + }, + "view": { + "description": "Optional. This field is deprecated. Preview will always return KubernetesClusterState.", + "enum": [ + "GAME_SERVER_CLUSTER_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "If the value is not set, Google Cloud Game Servers defaults to the `BASIC` view.", + "Includes basic information of a GameServerCluster resource and omits `cluster_state`. This is the default value (for methods ListGameServerClusters, GetGameServerCluster, and PreviewCreateGameServerCluster).", + "Include basic information of a GameServerCluster resource as well as `cluster_state`." + ], + "location": "query", + "type": "string" } }, "path": "v1beta/{+parent}/gameServerClusters:previewCreate", @@ -1242,7 +1287,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the game server cluster to delete, in the following form: `projects/{project}/locations/{location}/gameServerClusters/{cluster}`.", + "description": "Required. The name of the game server cluster to delete, in the following form: `projects/{project}/locations/{locationId}/gameServerClusters/{gameServerClusterId}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", "required": true, @@ -1273,7 +1318,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the game server cluster, in the following form: `projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`. For example, `projects/my-project/locations/{location}/realms/zanzibar/gameServerClusters/my-onprem-cluster`.", + "description": "Required. The resource name of the game server cluster, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`. For example, `projects/my-project/locations/global/realms/zanzibar/gameServerClusters/my-gke-cluster`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", "required": true, @@ -1286,7 +1331,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Mask of fields to update. At least one path must be supplied in this field. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "description": "Required. Mask of fields to update. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1312,7 +1357,7 @@ } } }, - "revision": "20210325", + "revision": "20220223", "rootUrl": "https://gameservices.googleapis.com/", "schemas": { "AuditConfig": { @@ -1326,12 +1371,6 @@ }, "type": "array" }, - "exemptedMembers": { - "items": { - "type": "string" - }, - "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" @@ -1398,7 +1437,7 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "description": "Associates `members`, or principals, with a `role`.", "id": "Binding", "properties": { "bindingId": { @@ -1406,17 +1445,17 @@ }, "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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -1473,7 +1512,7 @@ "Default non-attribute.", "Either principal or (if present) authority selector.", "The principal (even if an authority selector is present), which must only be used for attribution, not authorization.", - "Any of the security realms in the IAMContext (go/security-realms). When used with IN, the condition indicates \"any of the request's realms match one of the given values; with NOT_IN, \"none of the realms match any of the given values\". Note that a value can be: - 'self' (i.e., allow connections from clients that are in the same security realm) - 'self:metro' (i.e., clients that are in the same metro) - 'self:cloud-region' (i.e., allow connections from clients that are in the same cloud region) - 'guardians' (i.e., allow connections from its guardian realms. See go/security-realms-glossary#guardian for more information.) - a realm (e.g., 'campus-abc') - a realm group (e.g., 'realms-for-borg-cell-xx', see: go/realm-groups) A match is determined by a realm group membership check performed by a RealmAclRep object (go/realm-acl-howto). It is not permitted to grant access based on the *absence* of a realm, so realm conditions can only be used in a \"positive\" context (e.g., ALLOW/IN or DENY/NOT_IN).", + "Any of the security realms in the IAMContext (go/security-realms). When used with IN, the condition indicates \"any of the request's realms match one of the given values; with NOT_IN, \"none of the realms match any of the given values\". Note that a value can be: - 'self' (i.e., allow connections from clients that are in the same security realm, which is currently but not guaranteed to be campus-sized) - 'self:metro' (i.e., clients that are in the same metro) - 'self:cloud-region' (i.e., allow connections from clients that are in the same cloud region) - 'self:prod-region' (i.e., allow connections from clients that are in the same prod region) - 'guardians' (i.e., allow connections from its guardian realms. See go/security-realms-glossary#guardian for more information.) - a realm (e.g., 'campus-abc') - a realm group (e.g., 'realms-for-borg-cell-xx', see: go/realm-groups) A match is determined by a realm group membership check performed by a RealmAclRep object (go/realm-acl-howto). It is not permitted to grant access based on the *absence* of a realm, so realm conditions can only be used in a \"positive\" context (e.g., ALLOW/IN or DENY/NOT_IN).", "An approver (distinct from the requester) that has authorized this request. When used with IN, the condition indicates that one of the approvers associated with the request matches the specified principal, or is a member of the specified group. Approvers can only grant additional access, and are thus only used in a strictly positive context (e.g. ALLOW/IN or DENY/NOT_IN).", "What types of justifications have been supplied with this request. String values should match enum names from security.credentials.JustificationType, e.g. \"MANUAL_STRING\". It is not permitted to grant access based on the *absence* of a justification, so justification conditions can only be used in a \"positive\" context (e.g., ALLOW/IN or DENY/NOT_IN). Multiple justifications, e.g., a Buganizer ID and a manually-entered reason, are normal and supported.", "What type of credentials have been supplied with this request. String values should match enum names from security_loas_l2.CredentialsType - currently, only CREDS_TYPE_EMERGENCY is supported. It is not permitted to grant access based on the *absence* of a credentials type, so the conditions can only be used in a \"positive\" context (e.g., ALLOW/IN or DENY/NOT_IN).", @@ -1664,7 +1703,7 @@ "type": "object" }, "DeployedFleetStatus": { - "description": "DeployedFleetStatus has details about the Agones fleets such as how many are running, how many allocated, and so on.", + "description": "DeployedFleetStatus has details about the Agones fleets, such as how many are running, how many are allocated, and so on.", "id": "DeployedFleetStatus", "properties": { "allocatedReplicas": { @@ -1751,7 +1790,7 @@ "id": "FleetConfig", "properties": { "fleetSpec": { - "description": "Agones fleet spec. Example spec: `https://agones.dev/site/docs/reference/fleet/`.", + "description": "Agones fleet spec (see [example spec](https://agones.dev/site/docs/reference/fleet/)).", "type": "string" }, "name": { @@ -1765,23 +1804,10 @@ "description": "A game server cluster resource.", "id": "GameServerCluster", "properties": { - "allocationPriority": { - "description": "Optional. The allocation priority assigned to the game server cluster. Game server clusters receive new game server allocations based on the relative allocation priorites set for each cluster, if the realm is configured for multicluster allocation.", - "enum": [ - "PRIORITY_UNSPECIFIED", - "P1", - "P2", - "P3", - "P4" - ], - "enumDescriptions": [ - "The default allocation priority. `PRIORITY_UNSPECIFIED` is the lowest possible priority.", - "Priority 1, the highest priority.", - "Priority 2.", - "Priority 3.", - "Priority 4." - ], - "type": "string" + "clusterState": { + "$ref": "KubernetesClusterState", + "description": "Output only. The state of the Kubernetes cluster in preview. This will be available if view is set to FULL in the relevant list/get/preview request.", + "readOnly": true }, "connectionInfo": { "$ref": "GameServerClusterConnectionInfo", @@ -1798,7 +1824,7 @@ "type": "string" }, "etag": { - "description": "ETag of the resource.", + "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", "type": "string" }, "labels": { @@ -1809,7 +1835,7 @@ "type": "object" }, "name": { - "description": "Required. The resource name of the game server cluster, in the following form: `projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`. For example, `projects/my-project/locations/{location}/realms/zanzibar/gameServerClusters/my-onprem-cluster`.", + "description": "Required. The resource name of the game server cluster, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`. For example, `projects/my-project/locations/global/realms/zanzibar/gameServerClusters/my-gke-cluster`.", "type": "string" }, "updateTime": { @@ -1829,10 +1855,6 @@ "$ref": "GkeClusterReference", "description": "Reference to the GKE cluster where the game servers are installed." }, - "gkeHubClusterReference": { - "$ref": "GkeHubClusterReference", - "description": "Reference to a Kubernetes cluster registered through GKE Hub. See https://cloud.google.com/anthos/multicluster-management/ for more information about registering Kubernetes clusters." - }, "namespace": { "description": "Namespace designated on the game server cluster where the Agones game server instances will be created. Existence of the namespace will be validated during creation.", "type": "string" @@ -1869,7 +1891,7 @@ "type": "object" }, "name": { - "description": "The resource name of the game server config, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.", + "description": "The resource name of the game server config, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.", "type": "string" }, "scalingConfigs": { @@ -1914,11 +1936,11 @@ "type": "string" }, "description": { - "description": "Human readable description of the game server delpoyment.", + "description": "Human readable description of the game server deployment.", "type": "string" }, "etag": { - "description": "ETag of the resource.", + "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", "type": "string" }, "labels": { @@ -1929,7 +1951,7 @@ "type": "object" }, "name": { - "description": "The resource name of the game server deployment, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`.", + "description": "The resource name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`.", "type": "string" }, "updateTime": { @@ -1967,7 +1989,7 @@ "type": "array" }, "name": { - "description": "The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.", + "description": "The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.", "type": "string" }, "updateTime": { @@ -1984,18 +2006,64 @@ "id": "GkeClusterReference", "properties": { "cluster": { - "description": "The full or partial name of a GKE cluster, using one of the following forms: * `projects/{project}/locations/{location}/clusters/{cluster}` * `locations/{location}/clusters/{cluster}` * `{cluster}` If project and location are not specified, the project and location of the GameServerCluster resource are used to generate the full name of the GKE cluster.", + "description": "The full or partial name of a GKE cluster, using one of the following forms: * `projects/{project}/locations/{locationId}/clusters/{cluster}` * `locations/{locationId}/clusters/{cluster}` * `{cluster}` If project and location are not specified, the project and location of the GameServerCluster resource are used to generate the full name of the GKE cluster.", "type": "string" } }, "type": "object" }, - "GkeHubClusterReference": { - "description": "GkeHubClusterReference represents a reference to a Kubernetes cluster registered through GKE Hub.", - "id": "GkeHubClusterReference", + "KubernetesClusterState": { + "description": "The state of the Kubernetes cluster.", + "id": "KubernetesClusterState", "properties": { - "membership": { - "description": "The full or partial name of a GKE Hub membership, using one of the following forms: * `https://gkehub.googleapis.com/v1beta1/projects/{project_id}/locations/global/memberships/{membership_id}` * `projects/{project_id}/locations/global/memberships/{membership_id}` * `{membership_id}` If project is not specified, the project of the GameServerCluster resource is used to generate the full name of the GKE Hub membership.", + "agonesVersionInstalled": { + "description": "Output only. The version of Agones currently installed in the registered Kubernetes cluster.", + "readOnly": true, + "type": "string" + }, + "agonesVersionTargeted": { + "description": "Output only. The version of Agones that is targeted to be installed in the cluster.", + "readOnly": true, + "type": "string" + }, + "installationState": { + "description": "Output only. The state for the installed versions of Agones/Kubernetes.", + "enum": [ + "INSTALLATION_STATE_UNSPECIFIED", + "AGONES_KUBERNETES_VERSION_SUPPORTED", + "AGONES_VERSION_UNSUPPORTED", + "AGONES_KUBERNETES_VERSION_UNSUPPORTED", + "AGONES_VERSION_UNRECOGNIZED", + "KUBERNETES_VERSION_UNRECOGNIZED", + "VERSION_VERIFICATION_FAILED", + "AGONES_NOT_INSTALLED" + ], + "enumDescriptions": [ + "The default installation state. This value is used if the state is omitted.", + "Both the Agones and Kubernetes versions are supported by Google Cloud Game Servers and Agones and Kubernetes versions are compatible.", + "The installed version of Agones is not supported by Google Cloud Game Servers.", + "The installed version of Agones is supported by Google Cloud Game Servers, but the installed version of Kubernetes is not recommended or supported by the version of Agones.", + "The installed version of Agones is not recognized because the Agones controller's image name does not have a version string reported as {major}.{minor}(.{patch}).", + "The server version of Kubernetes cluster is not recognized because the API server didn't return parsable version info on path/version.", + "Failed to read or verify the version of Agones or Kubernetes. See `version_installed_error_message` for details.", + "Agones is not installed." + ], + "readOnly": true, + "type": "string" + }, + "kubernetesVersionInstalled": { + "description": "Output only. The version of Kubernetes that is currently used in the registered Kubernetes cluster (as detected by the Cloud Game Servers service).", + "readOnly": true, + "type": "string" + }, + "provider": { + "description": "Output only. The cloud provider type reported by the first node's `providerID` in the list of nodes on the Kubernetes endpoint. On Kubernetes platforms that support zero-node clusters (like GKE-on-GCP), the provider type will be empty.", + "readOnly": true, + "type": "string" + }, + "versionInstalledErrorMessage": { + "description": "Output only. The detailed error message for the installed versions of Agones/Kubernetes.", + "readOnly": true, "type": "string" } }, @@ -2331,7 +2399,7 @@ "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/).", + "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": { @@ -2342,7 +2410,7 @@ "type": "array" }, "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.", + "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" }, @@ -2353,9 +2421,6 @@ "format": "byte", "type": "string" }, - "iamOwned": { - "type": "boolean" - }, "rules": { "description": "If more than one rule is specified, the rules are applied in the following manner: - All matching LOG rules are always applied. - If any DENY/DENY_WITH_LOG rule matches, permission is denied. Logging will be applied if one or more matching rule requires logging. - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is granted. Logging will be applied if one or more matching rule requires logging. - Otherwise, if no rule applies, permission is denied.", "items": { @@ -2375,6 +2440,11 @@ "description": "Response message for GameServerClustersService.PreviewCreateGameServerCluster.", "id": "PreviewCreateGameServerClusterResponse", "properties": { + "clusterState": { + "$ref": "KubernetesClusterState", + "description": "Output only. The state of the Kubernetes cluster in preview. This will be available if view is set to FULL in the relevant list/get/preview request.", + "readOnly": true + }, "etag": { "description": "The ETag of the game server cluster.", "type": "string" @@ -2468,7 +2538,7 @@ "type": "string" }, "etag": { - "description": "ETag of the resource.", + "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", "type": "string" }, "labels": { @@ -2479,11 +2549,11 @@ "type": "object" }, "name": { - "description": "The resource name of the realm, in the following form: `projects/{project}/locations/{location}/realms/{realm}`. For example, `projects/my-project/locations/{location}/realms/my-realm`.", + "description": "The resource name of the realm, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`. For example, `projects/my-project/locations/global/realms/my-realm`.", "type": "string" }, "timeZone": { - "description": "Required. Time zone where all policies targeting this realm are evaluated. The value of this field must be from the IANA time zone database: https://www.iana.org/time-zones.", + "description": "Required. Time zone where all policies targeting this realm are evaluated. The value of this field must be from the [IANA time zone database](https://www.iana.org/time-zones).", "type": "string" }, "updateTime": { @@ -2552,7 +2622,7 @@ "type": "array" }, "logConfig": { - "description": "The config returned to callers of tech.iam.IAM.CheckPolicy for any entries that match the LOG action.", + "description": "The config returned to callers of CheckPolicy for any entries that match the LOG action.", "items": { "$ref": "LogConfig" }, @@ -2580,15 +2650,15 @@ "id": "ScalingConfig", "properties": { "fleetAutoscalerSpec": { - "description": "Required. Agones fleet autoscaler spec. Example spec: https://agones.dev/site/docs/reference/fleetautoscaler/", + "description": "Required. Agones fleet autoscaler spec (see [example spec](https://agones.dev/site/docs/reference/fleetautoscaler/)).", "type": "string" }, "name": { - "description": "Required. The name of the Scaling Config", + "description": "Required. The name of the scaling config.", "type": "string" }, "schedules": { - "description": "The schedules to which this Scaling Config applies.", + "description": "The schedules to which this scaling config applies.", "items": { "$ref": "Schedule" }, @@ -2605,7 +2675,7 @@ "type": "object" }, "Schedule": { - "description": "The schedule of a recurring or one time event. The event's time span is specified by start_time and end_time. If the scheduled event's timespan is larger than the cron_spec + cron_job_duration, the event will be recurring. If only cron_spec + cron_job_duration are specified, the event is effective starting at the local time specified by cron_spec, and is recurring. start_time|-------[cron job]-------[cron job]-------[cron job]---|end_time cron job: cron spec start time + duration", + "description": "The schedule of a recurring or one time event. The event's time span is specified by start_time and end_time. If the scheduled event's timespan is larger than cron_spec added with cron_job_duration, the event is recurring. If only cron_spec and cron_job_duration are specified, the event starts at the local time specified by cron_spec, and is recurring. ``` start_time|-------[cron job]-------[cron job]-------[cron job]---|end_time cron job: cron spec start time + duration ```", "id": "Schedule", "properties": { "cronJobDuration": { @@ -2614,7 +2684,7 @@ "type": "string" }, "cronSpec": { - "description": "The cron definition of the scheduled event. See https://en.wikipedia.org/wiki/Cron. Cron spec specifies the local time as defined by the realm.", + "description": "The cron definition of the scheduled event. See https://en.wikipedia.org/wiki/Cron. The cron spec specifies the local time as defined by the realm.", "type": "string" }, "endTime": { @@ -2651,11 +2721,11 @@ "id": "SpecSource", "properties": { "gameServerConfigName": { - "description": "The game server config resource. Uses the form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment_id}/configs/{config_id}`.", + "description": "The game server config resource. Uses the form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`.", "type": "string" }, "name": { - "description": "The name of the Agones leet config or Agones scaling config used to derive the Agones fleet or Agones autoscaler spec.", + "description": "The name of the Agones fleet config or Agones scaling config used to derive the Agones fleet or Agones autoscaler spec.", "type": "string" } }, @@ -2700,11 +2770,11 @@ "type": "array" }, "gameServerClusterName": { - "description": "The game server cluster name. Uses the form: `projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`.", + "description": "The game server cluster name. Uses the form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`.", "type": "string" }, "gameServerDeploymentName": { - "description": "The game server deployment name. Uses the form: `projects/{project}/locations/{location}/gameServerDeployments/{deployment_id}`.", + "description": "The game server deployment name. Uses the form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`.", "type": "string" } }, diff --git a/etc/api/gamesmanagement/v1management/gamesmanagement-api.json b/etc/api/gamesmanagement/v1management/gamesmanagement-api.json index 57d939ed7a..48ee9100cf 100644 --- a/etc/api/gamesmanagement/v1management/gamesmanagement-api.json +++ b/etc/api/gamesmanagement/v1management/gamesmanagement-api.json @@ -471,7 +471,7 @@ } } }, - "revision": "20210325", + "revision": "20220217", "rootUrl": "https://gamesmanagement.googleapis.com/", "schemas": { "AchievementResetAllResponse": { diff --git a/etc/api/genomics/v2alpha1/genomics-api.json b/etc/api/genomics/v2alpha1/genomics-api.json index 5d85abd1ce..e50d0566e3 100644 --- a/etc/api/genomics/v2alpha1/genomics-api.json +++ b/etc/api/genomics/v2alpha1/genomics-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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" @@ -199,7 +199,7 @@ ], "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. In v1 and v1alpha2, the following filter fields are supported: * projectId: Required. Corresponds to OperationMetadata.projectId. * createTime: The time this job was created, in seconds from the [epoch](http://en.wikipedia.org/wiki/Unix_time). Can use `>=` and/or `<=` operators. * status: Can be `RUNNING`, `SUCCESS`, `FAILURE`, or `CANCELED`. Only one status may be specified. * labels.key where key is a label key. 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`", + "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" }, @@ -301,7 +301,7 @@ } } }, - "revision": "20210324", + "revision": "20220302", "rootUrl": "https://genomics.googleapis.com/", "schemas": { "Accelerator": { @@ -335,6 +335,10 @@ "$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" @@ -490,32 +494,6 @@ }, "type": "object" }, - "ComputeEngine": { - "description": "Describes a Compute Engine resource that is being managed by a running pipeline.", - "id": "ComputeEngine", - "properties": { - "diskNames": { - "description": "The names of the disks that were created for this pipeline.", - "items": { - "type": "string" - }, - "type": "array" - }, - "instanceName": { - "description": "The instance on which the operation is running.", - "type": "string" - }, - "machineType": { - "description": "The machine type of the instance.", - "type": "string" - }, - "zone": { - "description": "The availability zone in which the instance resides.", - "type": "string" - } - }, - "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", @@ -713,7 +691,7 @@ "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 (e.g., 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. E.g., 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 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", @@ -868,87 +846,6 @@ }, "type": "object" }, - "OperationEvent": { - "description": "An event that occurred during an Operation.", - "id": "OperationEvent", - "properties": { - "description": { - "description": "Required description of event.", - "type": "string" - }, - "endTime": { - "description": "Optional time of when event finished. An event can have a start time and no finish time. If an event has a finish time, there must be a start time.", - "format": "google-datetime", - "type": "string" - }, - "startTime": { - "description": "Optional time of when event started.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "OperationMetadata": { - "description": "Metadata describing an Operation.", - "id": "OperationMetadata", - "properties": { - "clientId": { - "description": "This field is deprecated. Use `labels` instead. Optionally provided by the caller when submitting the request that creates the operation.", - "type": "string" - }, - "createTime": { - "description": "The time at which the job was submitted to the Genomics service.", - "format": "google-datetime", - "type": "string" - }, - "endTime": { - "description": "The time at which the job stopped running.", - "format": "google-datetime", - "type": "string" - }, - "events": { - "description": "Optional event messages that were generated during the job's execution. This also contains any warnings that were generated during import or export.", - "items": { - "$ref": "OperationEvent" - }, - "type": "array" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Optionally provided by the caller when submitting the request that creates the operation.", - "type": "object" - }, - "projectId": { - "description": "The Google Cloud Project in which the job is scoped.", - "type": "string" - }, - "request": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "The original request that started the operation. Note that this will be in current version of the API. If the operation was started with v1beta2 API and a GetOperation is performed on v1 API, a v1 request will be returned.", - "type": "object" - }, - "runtimeMetadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Runtime metadata on this Operation.", - "type": "object" - }, - "startTime": { - "description": "The time at which the job began to run.", - "format": "google-datetime", - "type": "string" - } - }, - "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", @@ -980,6 +877,10 @@ }, "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" @@ -1078,17 +979,6 @@ "properties": {}, "type": "object" }, - "RuntimeMetadata": { - "description": "Runtime metadata that will be populated in the runtimeMetadata field of the Operation associated with a RunPipeline execution.", - "id": "RuntimeMetadata", - "properties": { - "computeEngine": { - "$ref": "ComputeEngine", - "description": "Execution information specific to Google Compute Engine." - } - }, - "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", @@ -1251,6 +1141,10 @@ "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." diff --git a/etc/api/gkehub/v1/gkehub-api.json b/etc/api/gkehub/v1/gkehub-api.json index a43fc43f3e..9bdc22062c 100644 --- a/etc/api/gkehub/v1/gkehub-api.json +++ b/etc/api/gkehub/v1/gkehub-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -177,10 +177,284 @@ } }, "resources": { + "features": { + "methods": { + "create": { + "description": "Adds a new Feature.", + "flatPath": "v1/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": "v1/{+parent}/features", + "request": { + "$ref": "Feature" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Removes a Feature.", + "flatPath": "v1/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": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Feature.", + "flatPath": "v1/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" + } + }, + "path": "v1/{+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": "v1/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Features in a given project and location.", + "flatPath": "v1/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" + } + }, + "path": "v1/{+parent}/features", + "response": { + "$ref": "ListFeaturesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing Feature.", + "flatPath": "v1/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": "v1/{+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": "v1/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/features/[^/]+$", + "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}/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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "memberships": { "methods": { "create": { - "description": "Adds a new Membership.", + "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": "v1/projects/{projectsId}/locations/{locationsId}/memberships", "httpMethod": "POST", "id": "gkehub.projects.locations.memberships.create", @@ -218,7 +492,7 @@ ] }, "delete": { - "description": "Removes a Membership.", + "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": "v1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}", "httpMethod": "DELETE", "id": "gkehub.projects.locations.memberships.delete", @@ -248,7 +522,7 @@ ] }, "generateConnectManifest": { - "description": "Generates the manifest for deployment of the GKE connect agent.", + "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": "v1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}:generateConnectManifest", "httpMethod": "GET", "id": "gkehub.projects.locations.memberships.generateConnectManifest", @@ -339,7 +613,7 @@ ], "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).", + "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" @@ -631,9 +905,26 @@ } } }, - "revision": "20210322", + "revision": "20220211", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { + "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" + }, "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", @@ -695,6 +986,11 @@ "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. 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, @@ -704,22 +1000,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -731,6 +1027,683 @@ "properties": {}, "type": "object" }, + "CommonFeatureSpec": { + "description": "CommonFeatureSpec contains Hub-wide configuration information", + "id": "CommonFeatureSpec", + "properties": { + "appdevexperience": { + "$ref": "AppDevExperienceFeatureSpec", + "description": "Appdevexperience specific spec." + }, + "multiclusteringress": { + "$ref": "MultiClusterIngressFeatureSpec", + "description": "Multicluster Ingress-specific spec." + } + }, + "type": "object" + }, + "CommonFeatureState": { + "description": "CommonFeatureState contains Hub-wide Feature status information.", + "id": "CommonFeatureState", + "properties": { + "appdevexperience": { + "$ref": "AppDevExperienceFeatureState", + "description": "Appdevexperience specific state." + }, + "state": { + "$ref": "FeatureState", + "description": "Output only. The \"running state\" of the Feature in this Hub.", + "readOnly": true + } + }, + "type": "object" + }, + "ConfigManagementConfigSync": { + "description": "Configuration for Config Sync", + "id": "ConfigManagementConfigSync", + "properties": { + "enabled": { + "description": "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 git field.", + "type": "boolean" + }, + "git": { + "$ref": "ConfigManagementGitConfig", + "description": "Git repo configuration for the cluster." + }, + "preventDrift": { + "description": "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": "Specifies whether the Config Sync Repo is in \u201chierarchical\u201d or \u201cunstructured\u201d mode.", + "type": "string" + } + }, + "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" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined", + "Deployment is not installed", + "Deployment is installed", + "Deployment was attempted to be installed, but has errors" + ], + "type": "string" + }, + "gitSync": { + "description": "Deployment state of the git-sync pod", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined", + "Deployment is not installed", + "Deployment is installed", + "Deployment was attempted to be installed, but has errors" + ], + "type": "string" + }, + "importer": { + "description": "Deployment state of the importer pod", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined", + "Deployment is not installed", + "Deployment is installed", + "Deployment was attempted to be installed, but has errors" + ], + "type": "string" + }, + "monitor": { + "description": "Deployment state of the monitor pod", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined", + "Deployment is not installed", + "Deployment is installed", + "Deployment was attempted to be installed, but has errors" + ], + "type": "string" + }, + "reconcilerManager": { + "description": "Deployment state of reconciler-manager pod", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined", + "Deployment is not installed", + "Deployment is installed", + "Deployment was attempted to be installed, but has errors" + ], + "type": "string" + }, + "rootReconciler": { + "description": "Deployment state of root-reconciler", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined", + "Deployment is not installed", + "Deployment is installed", + "Deployment was attempted to be installed, but has errors" + ], + "type": "string" + }, + "syncer": { + "description": "Deployment state of the syncer pod", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined", + "Deployment is not installed", + "Deployment is installed", + "Deployment was attempted to be installed, but has errors" + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSyncState": { + "description": "State information for ConfigSync", + "id": "ConfigManagementConfigSyncState", + "properties": { + "deploymentState": { + "$ref": "ConfigManagementConfigSyncDeploymentState", + "description": "Information about the deployment of ConfigSync, including the version of the various Pods deployed" + }, + "syncState": { + "$ref": "ConfigManagementSyncState", + "description": "The state of ConfigSync's process to sync configs to a cluster" + }, + "version": { + "$ref": "ConfigManagementConfigSyncVersion", + "description": "The version of ConfigSync deployed" + } + }, + "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" + }, + "reconcilerManager": { + "description": "Version of the deployed reconciler-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" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined", + "Deployment is not installed", + "Deployment is installed", + "Deployment was attempted to be installed, but has errors" + ], + "type": "string" + }, + "gatekeeperControllerManagerState": { + "description": "Status of gatekeeper-controller-manager pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined", + "Deployment is not installed", + "Deployment is installed", + "Deployment was attempted to be installed, but has errors" + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementGitConfig": { + "description": "Git repo configuration for a single cluster.", + "id": "ConfigManagementGitConfig", + "properties": { + "gcpServiceAccountEmail": { + "description": "The GCP Service Account Email used for auth when secret_type is gcpServiceAccount.", + "type": "string" + }, + "httpsProxy": { + "description": "URL for the HTTPS proxy to be used when communicating with the Git repo.", + "type": "string" + }, + "policyDir": { + "description": "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": "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": "The branch of the repository to sync from. Default: master.", + "type": "string" + }, + "syncRepo": { + "description": "The URL of the Git repository to use as the source of truth.", + "type": "string" + }, + "syncRev": { + "description": "Git revision (tag or hash) to check out. Default HEAD.", + "type": "string" + }, + "syncWaitSecs": { + "description": "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" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined", + "Deployment is not installed", + "Deployment is installed", + "Deployment was attempted to be installed, but has errors" + ], + "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" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined", + "Deployment is not installed", + "Deployment is installed", + "Deployment was attempted to be installed, but has errors" + ], + "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": { + "configSync": { + "$ref": "ConfigManagementConfigSync", + "description": "Config Sync configuration for the cluster." + }, + "hierarchyController": { + "$ref": "ConfigManagementHierarchyControllerConfig", + "description": "Hierarchy Controller configuration for the cluster." + }, + "policyController": { + "$ref": "ConfigManagementPolicyController", + "description": "Policy Controller configuration for the cluster." + }, + "version": { + "description": "Version of ACM installed.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementMembershipState": { + "description": "**Anthos Config Management**: State for a single cluster.", + "id": "ConfigManagementMembershipState", + "properties": { + "clusterName": { + "description": "The user-defined name for the cluster used by ClusterSelectors to group clusters together. This should match Membership's membership_name, unless the user installed ACM on the cluster manually prior to enabling the ACM hub feature. Unique within a Anthos Config Management installation.", + "type": "string" + }, + "configSyncState": { + "$ref": "ConfigManagementConfigSyncState", + "description": "Current sync status" + }, + "hierarchyControllerState": { + "$ref": "ConfigManagementHierarchyControllerState", + "description": "Hierarchy Controller status" + }, + "membershipSpec": { + "$ref": "ConfigManagementMembershipSpec", + "description": "Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state" + }, + "operatorState": { + "$ref": "ConfigManagementOperatorState", + "description": "Current install status of ACM's Operator" + }, + "policyControllerState": { + "$ref": "ConfigManagementPolicyControllerState", + "description": "PolicyController status" + } + }, + "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" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined", + "Deployment is not installed", + "Deployment is installed", + "Deployment was attempted to be installed, but has errors" + ], + "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" + }, + "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" + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerState": { + "description": "State for PolicyControllerState.", + "id": "ConfigManagementPolicyControllerState", + "properties": { + "deploymentState": { + "$ref": "ConfigManagementGatekeeperDeploymentState", + "description": "The state about the policy controller installation." + }, + "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": [ + "ACM cannot determine a sync code", + "ACM successfully synced the git Repo with the cluster", + "ACM is in the progress of syncing a new change", + "Indicates an error configuring ACM, and user action is required", + "ACM has been installed (operator manifest deployed), but not configured.", + "ACM has not been installed (no operator pod found)", + "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": { + "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", @@ -746,6 +1719,17 @@ }, "type": "object" }, + "EdgeCluster": { + "description": "EdgeCluster contains information specific to Google Edge Clusters.", + "id": "EdgeCluster", + "properties": { + "resourceLink": { + "description": "Immutable. Self-link of the GCP 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); } The JSON representation for `Empty` is empty JSON object `{}`.", "id": "Empty", @@ -775,6 +1759,131 @@ }, "type": "object" }, + "Feature": { + "description": "Feature represents the settings and status of any Hub 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" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "GCP 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 + }, + "spec": { + "$ref": "CommonFeatureSpec", + "description": "Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused." + }, + "state": { + "$ref": "CommonFeatureState", + "description": "Output only. The Hub-wide Feature state.", + "readOnly": true + }, + "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 Hub 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 Hub.", + "The Feature is enabled in this Hub, and the Feature resource is fully available.", + "The Feature is being disabled in this Hub, 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" + }, + "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" + }, "GenerateConnectManifestResponse": { "description": "GenerateConnectManifestResponse contains manifest information for installing/upgrading a Connect agent.", "id": "GenerateConnectManifestResponse", @@ -793,6 +1902,11 @@ "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 GCP 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" @@ -868,6 +1982,55 @@ }, "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" + }, + "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" + }, "ListLocationsResponse": { "description": "The response message for Locations.ListLocations.", "id": "ListLocationsResponse", @@ -1037,14 +2200,60 @@ "description": "MembershipEndpoint contains information needed to contact a Kubernetes API, endpoint and any additional Kubernetes metadata.", "id": "MembershipEndpoint", "properties": { + "edgeCluster": { + "$ref": "EdgeCluster", + "description": "Optional. Specific information for a Google Edge cluster." + }, "gkeCluster": { "$ref": "GkeCluster", - "description": "Optional. GKE-specific information. Only present if this Membership is a GKE cluster." + "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" + }, + "MembershipFeatureSpec": { + "description": "MembershipFeatureSpec contains configuration information for a single Membership.", + "id": "MembershipFeatureSpec", + "properties": { + "configmanagement": { + "$ref": "ConfigManagementMembershipSpec", + "description": "Config Management-specific spec." + } + }, + "type": "object" + }, + "MembershipFeatureState": { + "description": "MembershipFeatureState contains Feature status information for a single Membership.", + "id": "MembershipFeatureState", + "properties": { + "appdevexperience": { + "$ref": "AppDevExperienceFeatureState", + "description": "Appdevexperience specific state." + }, + "configmanagement": { + "$ref": "ConfigManagementMembershipState", + "description": "Config Management-specific state." + }, + "state": { + "$ref": "FeatureState", + "description": "The high-level state of this Feature for a single membership." } }, "type": "object" @@ -1077,6 +2286,53 @@ }, "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 GCP 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", + "type": "string" + } + }, + "type": "object" + }, + "MultiClusterIngressFeatureSpec": { + "description": "**Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature.", + "id": "MultiClusterIngressFeatureSpec", + "properties": { + "configMembership": { + "description": "Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`", + "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" + }, + "resourceLink": { + "description": "Immutable. Self-link of the GCP 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", @@ -1157,7 +2413,7 @@ "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/).", + "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": { @@ -1168,7 +2424,7 @@ "type": "array" }, "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.", + "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" }, @@ -1187,6 +2443,40 @@ }, "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", @@ -1203,6 +2493,33 @@ }, "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", @@ -1248,7 +2565,7 @@ } }, "servicePath": "", - "title": "GKE Hub", + "title": "GKE Hub API", "version": "v1", "version_module": true } \ No newline at end of file diff --git a/etc/api/gkehub/v1alpha/gkehub-api.json b/etc/api/gkehub/v1alpha/gkehub-api.json index 4625595329..dcfd814d7f 100644 --- a/etc/api/gkehub/v1alpha/gkehub-api.json +++ b/etc/api/gkehub/v1alpha/gkehub-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -179,6 +179,104 @@ "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" + } + }, + "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", @@ -189,7 +287,7 @@ ], "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).", + "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" @@ -210,6 +308,91 @@ "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" + } + }, + "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", @@ -268,199 +451,274 @@ } } }, - "global": { - "resources": { - "features": { - "methods": { - "create": { - "description": "Adds a new Feature.", - "flatPath": "v1alpha/projects/{projectsId}/locations/global/features", - "httpMethod": "POST", - "id": "gkehub.projects.locations.global.features.create", - "parameterOrder": [ - "parent" - ], - "parameters": { - "featureId": { - "description": "The ID of the feature to create.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "The parent (project and location) where the Feature will be created. Specified in the format `projects/*/locations/global`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/global$", - "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}/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/global/features/{featuresId}", - "httpMethod": "DELETE", - "id": "gkehub.projects.locations.global.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": "The Feature resource name in the format `projects/*/locations/global/features/*`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/global/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/global/features/{featuresId}", - "httpMethod": "GET", - "id": "gkehub.projects.locations.global.features.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The Feature resource name in the format `projects/*/locations/global/features/*`", - "location": "path", - "pattern": "^projects/[^/]+/locations/global/features/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+name}", - "response": { - "$ref": "Feature" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists Features in a given project and location.", - "flatPath": "v1alpha/projects/{projectsId}/locations/global/features", - "httpMethod": "GET", - "id": "gkehub.projects.locations.global.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": "The parent (project and location) where the Features will be listed. Specified in the format `projects/*/locations/global`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/global$", - "required": true, - "type": "string" - } - }, - "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/global/features/{featuresId}", - "httpMethod": "PATCH", - "id": "gkehub.projects.locations.global.features.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The Feature resource name in the format `projects/*/locations/global/features/*`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/global/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" - }, - "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" - ] + "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": "Fleet" + }, + "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": "Empty" + }, + "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" + ] + }, + "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 GCP 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": "Fleet" + }, + "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": { + "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" + ] + }, + "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", @@ -471,7 +729,7 @@ ], "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).", + "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" @@ -492,6 +750,137 @@ "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/*`.", + "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", @@ -678,9 +1067,41 @@ } } }, - "revision": "20210322", + "revision": "20220211", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { + "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 See go/onyx-application-metrics-logs-user-guide", + "type": "boolean" + } + }, + "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" + }, "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", @@ -729,23 +1150,49 @@ }, "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. 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` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -758,7 +1205,7 @@ "type": "object" }, "CloudAuditLoggingFeatureSpec": { - "description": "Spec for Audit Logging Allowlisting.", + "description": "**Cloud Audit Logging**: Spec for Audit Logging Allowlisting.", "id": "CloudAuditLoggingFeatureSpec", "properties": { "allowlistedServiceAccounts": { @@ -771,10 +1218,39 @@ }, "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" + }, "CommonFeatureSpec": { "description": "CommonFeatureSpec contains Hub-wide configuration information", "id": "CommonFeatureSpec", "properties": { + "appdevexperience": { + "$ref": "AppDevExperienceFeatureSpec", + "description": "Appdevexperience specific spec." + }, "cloudauditlogging": { "$ref": "CloudAuditLoggingFeatureSpec", "description": "Cloud Audit Logging-specific spec." @@ -782,6 +1258,10 @@ "multiclusteringress": { "$ref": "MultiClusterIngressFeatureSpec", "description": "Multicluster Ingress-specific spec." + }, + "workloadcertificate": { + "$ref": "FeatureSpec", + "description": "Workload Certificate spec." } }, "type": "object" @@ -790,6 +1270,10 @@ "description": "CommonFeatureState contains Hub-wide Feature status information.", "id": "CommonFeatureState", "properties": { + "appdevexperience": { + "$ref": "AppDevExperienceFeatureState", + "description": "Appdevexperience specific state." + }, "servicemesh": { "$ref": "ServiceMeshFeatureState", "description": "Service Mesh-specific state." @@ -855,10 +1339,18 @@ "description": "Configuration for Config Sync", "id": "ConfigManagementConfigSync", "properties": { + "enabled": { + "description": "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 git field.", + "type": "boolean" + }, "git": { "$ref": "ConfigManagementGitConfig", "description": "Git repo configuration for the cluster." }, + "preventDrift": { + "description": "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": "Specifies whether the Config Sync Repo is in \u201chierarchical\u201d or \u201cunstructured\u201d mode.", "type": "string" @@ -870,6 +1362,22 @@ "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" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined", + "Deployment is not installed", + "Deployment is installed", + "Deployment was attempted to be installed, but has errors" + ], + "type": "string" + }, "gitSync": { "description": "Deployment state of the git-sync pod", "enum": [ @@ -992,6 +1500,10 @@ "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" @@ -1077,6 +1589,22 @@ "Deployment was attempted to be installed, but has errors" ], "type": "string" + }, + "gatekeeperMutation": { + "description": "Status of the pod serving the mutation webhook.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined", + "Deployment is not installed", + "Deployment is installed", + "Deployment was attempted to be installed, but has errors" + ], + "type": "string" } }, "type": "object" @@ -1098,7 +1626,7 @@ "type": "string" }, "secretType": { - "description": "Type of secret configured for access to the Git repo.", + "description": "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": { @@ -1240,7 +1768,7 @@ "type": "object" }, "ConfigManagementMembershipSpec": { - "description": "Configuration for a single cluster. Intended to parallel the ConfigManagement CR.", + "description": "**Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR.", "id": "ConfigManagementMembershipSpec", "properties": { "binauthz": { @@ -1267,7 +1795,7 @@ "type": "object" }, "ConfigManagementMembershipState": { - "description": "State for Anthos Config Management", + "description": "**Anthos Config Management**: State for a single cluster.", "id": "ConfigManagementMembershipState", "properties": { "binauthzState": { @@ -1359,6 +1887,10 @@ "description": "Logs all denies and dry run failures.", "type": "boolean" }, + "mutationEnabled": { + "description": "Enable users to try out mutation for PolicyController.", + "type": "boolean" + }, "referentialRulesEnabled": { "description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.", "type": "boolean" @@ -1458,7 +1990,7 @@ "type": "string" }, "lastSync": { - "description": "Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String This field is being deprecated. Use last_sync_time instead. (b/154053616)", + "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": { @@ -1477,6 +2009,32 @@ }, "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 GCP 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); } The JSON representation for `Empty` is empty JSON object `{}`.", "id": "Empty", @@ -1533,19 +2091,19 @@ "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 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.", + "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.", + "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/global/features/*`.", + "description": "Output only. The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`.", "readOnly": true, "type": "string" }, @@ -1599,6 +2157,31 @@ }, "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" + ], + "enumDescriptions": [ + "Disable default Google managed CA.", + "Disable default Google managed CA.", + "Use default Google managed CA." + ], + "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", @@ -1631,6 +2214,79 @@ }, "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" + }, + "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" + }, + "fleetName": { + "description": "The name for the fleet. The name must meet the following constraints: + The name of a fleet should be unique within the organization; + It must consist of lower case alphanumeric characters or `-`; + The length of the name must be less than or equal to 63; + Unicode names must be expressed in Punycode format (rfc3492). Examples: + prod-fleet + xn--wlq33vhyw9jb \uff08Punycode form for \"\u751f\u4ea7\u73af\u5883\")", + "type": "string" + }, + "name": { + "description": "Output only. The full, unique resource name of this fleet in the format of `projects/{project}/locations/{location}/fleets/{fleet}`. Each GCP project can have at most one fleet resource, named \"default\".", + "readOnly": true, + "type": "string" + }, + "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" + }, + "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 GCP 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", @@ -1658,6 +2314,230 @@ }, "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": { + "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" + } + }, + "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" + } + }, + "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": "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" + }, + "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" + }, + "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" + }, "ListFeaturesResponse": { "description": "Response message for the `GkeHub.ListFeatures` method.", "id": "ListFeaturesResponse", @@ -1694,6 +2574,31 @@ }, "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", @@ -1746,13 +2651,139 @@ }, "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. 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. GCP 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" + }, + "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": { + "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" + }, "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." + }, + "identityservice": { + "$ref": "IdentityServiceMembershipSpec", + "description": "Identity Service-specific spec." + }, + "mesh": { + "$ref": "ServiceMeshMembershipSpec", + "description": "Anthos Service Mesh-specific spec" + }, + "policycontroller": { + "$ref": "PolicyControllerMembershipSpec", + "description": "Policy Controller spec." + }, + "workloadcertificate": { + "$ref": "MembershipSpec", + "description": "Workload Certificate spec." } }, "type": "object" @@ -1761,14 +2792,26 @@ "description": "MembershipFeatureState contains Feature status information for a single Membership.", "id": "MembershipFeatureState", "properties": { + "appdevexperience": { + "$ref": "AppDevExperienceFeatureState", + "description": "Appdevexperience specific state." + }, "configmanagement": { "$ref": "ConfigManagementMembershipState", "description": "Config Management-specific state." }, + "identityservice": { + "$ref": "IdentityServiceMembershipState", + "description": "Identity Service-specific state." + }, "metering": { "$ref": "MeteringMembershipState", "description": "Metering-specific spec." }, + "policycontroller": { + "$ref": "PolicyControllerMembershipState", + "description": "Policycontroller-specific state." + }, "servicemesh": { "$ref": "ServiceMeshMembershipState", "description": "Service Mesh-specific state." @@ -1780,8 +2823,57 @@ }, "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.", + "description": "**Metering**: Per-Membership Feature State.", "id": "MeteringMembershipState", "properties": { "lastMeasurementTime": { @@ -1797,10 +2889,40 @@ }, "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 GCP 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", + "type": "string" + } + }, + "type": "object" + }, "MultiClusterIngressFeatureSpec": { - "description": "FeatureSpec contains the input for the MultiClusterIngress feature.", + "description": "**Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature.", "id": "MultiClusterIngressFeatureSpec", "properties": { + "billing": { + "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" @@ -1808,6 +2930,26 @@ }, "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" + }, + "resourceLink": { + "description": "Immutable. Self-link of the GCP 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", @@ -1888,7 +3030,7 @@ "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/).", + "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": { @@ -1899,7 +3041,7 @@ "type": "array" }, "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.", + "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" }, @@ -1918,6 +3060,201 @@ }, "type": "object" }, + "PolicyControllerMembershipSpec": { + "description": "**Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR.", + "id": "PolicyControllerMembershipSpec", + "properties": { + "policyControllerHubConfig": { + "$ref": "PolicyControllerPolicyControllerHubConfig", + "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": { + "clusterName": { + "description": "The user-defined name for the cluster used by ClusterSelectors to group clusters together. This should match Membership's membership_name, unless the user installed PC on the cluster manually prior to enabling the PC hub feature. Unique within a Policy Controller installation.", + "type": "string" + }, + "membershipSpec": { + "$ref": "PolicyControllerMembershipSpec", + "description": "Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state" + }, + "policyControllerHubState": { + "$ref": "PolicyControllerPolicyControllerHubState", + "description": "Policy Controller state observed by the Policy Controller Hub" + }, + "state": { + "description": "The lifecycle state Policy Controller is in.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLING", + "ACTIVE", + "UPDATING", + "DECOMISSIONING", + "CLUSTER_ERROR", + "HUB_ERROR" + ], + "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\u2019s operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", + "The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", + "The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", + "The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as \u2018install\u2019).", + "In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to \u2018take hands off\u2019 to avoid corrupting the PC or other data." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerPolicyControllerHubConfig": { + "description": "Configuration for Policy Controller", + "id": "PolicyControllerPolicyControllerHubConfig", + "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" + }, + "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_DISABLED" + ], + "enumDescriptions": [ + "Spec is unknown.", + "Request to uninstall Policy Controller.", + "Request to install and enable Policy Controller.", + "Request to disable Policy Controller. If Policy Controller is not installed, it will be installed but disabled." + ], + "type": "string" + }, + "logDeniesEnabled": { + "description": "Logs all denies and dry run failures.", + "type": "boolean" + }, + "mutationEnabled": { + "description": "Enables the ability to mutate resources using Policy Controller.", + "type": "boolean" + }, + "referentialRulesEnabled": { + "description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.", + "type": "boolean" + }, + "templateLibraryConfig": { + "$ref": "PolicyControllerTemplateLibraryConfig", + "description": "Configures the library templates to install along with Policy Controller." + } + }, + "type": "object" + }, + "PolicyControllerPolicyControllerHubState": { + "description": "State of the Policy Controller.", + "id": "PolicyControllerPolicyControllerHubState", + "properties": { + "deploymentStates": { + "additionalProperties": { + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "DEPLOYMENT_STATE_NOT_INSTALLED", + "DEPLOYMENT_STATE_INSTALLED", + "DEPLOYMENT_STATE_ERROR" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined", + "Deployment is not installed", + "Deployment is installed", + "Deployment was attempted to be installed, but has errors" + ], + "type": "string" + }, + "description": "Map from deployment name to deployment state. Example deployments are gatekeeper-controller-manager, gatekeeper-audit deployment, and gatekeeper-mutation.", + "type": "object" + }, + "version": { + "$ref": "PolicyControllerPolicyControllerHubVersion", + "description": "The version of Gatekeeper Policy Controller deployed." + } + }, + "type": "object" + }, + "PolicyControllerPolicyControllerHubVersion": { + "description": "The build version of Gatekeeper that Policy Controller is using.", + "id": "PolicyControllerPolicyControllerHubVersion", + "properties": { + "version": { + "description": "The gatekeeper image tag that is composed of ACM version, git tag, build number.", + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerTemplateLibraryConfig": { + "description": "The config specifying which default library templates to install.", + "id": "PolicyControllerTemplateLibraryConfig", + "properties": { + "included": { + "description": "Whether the standard template library should be installed or not.", + "type": "boolean" + } + }, + "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" + }, "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", @@ -1979,8 +3316,46 @@ }, "type": "object" }, + "ServiceMeshControlPlaneManagement": { + "description": "Status of control plane management.", + "id": "ServiceMeshControlPlaneManagement", + "properties": { + "details": { + "description": "Explanation of state.", + "items": { + "$ref": "ServiceMeshStatusDetails" + }, + "type": "array" + }, + "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" + }, "ServiceMeshFeatureState": { - "description": "FeatureState describes the state of the Service Mesh Hub Feature as analyzed by the Service Mesh Hub Controller, for the whole Hub.", + "description": "**Service Mesh**: State for the whole Hub, as analyzed by the Service Mesh Hub Controller.", "id": "ServiceMeshFeatureState", "properties": { "analysisMessages": { @@ -1994,8 +3369,29 @@ }, "type": "object" }, + "ServiceMeshMembershipSpec": { + "description": "**Service Mesh**: Spec for a single Membership for the servicemesh feature", + "id": "ServiceMeshMembershipSpec", + "properties": { + "controlPlane": { + "description": "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" + } + }, + "type": "object" + }, "ServiceMeshMembershipState": { - "description": "MembershipState describes the state of the Service Mesh Hub Feature as analyzed by the Service Mesh Hub Controller, for single Membership.", + "description": "**Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller.", "id": "ServiceMeshMembershipState", "properties": { "analysisMessages": { @@ -2005,6 +3401,26 @@ }, "readOnly": true, "type": "array" + }, + "controlPlaneManagement": { + "$ref": "ServiceMeshControlPlaneManagement", + "description": "Output only. Status of control 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" @@ -2040,6 +3456,33 @@ }, "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", @@ -2067,10 +3510,25 @@ } }, "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", + "title": "GKE Hub API", "version": "v1alpha", "version_module": true } \ No newline at end of file diff --git a/etc/api/gkehub/v1alpha2/gkehub-api.json b/etc/api/gkehub/v1alpha2/gkehub-api.json index 9533af611e..730b2a8646 100644 --- a/etc/api/gkehub/v1alpha2/gkehub-api.json +++ b/etc/api/gkehub/v1alpha2/gkehub-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -216,7 +216,7 @@ "memberships": { "methods": { "create": { - "description": "Adds a new Membership.", + "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", @@ -249,7 +249,7 @@ ] }, "delete": { - "description": "Removes a Membership.", + "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", @@ -274,7 +274,7 @@ ] }, "generateConnectManifest": { - "description": "Generates the manifest for deployment of the GKE connect agent.", + "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", @@ -365,7 +365,7 @@ ], "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).", + "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" @@ -652,7 +652,7 @@ } } }, - "revision": "20210326", + "revision": "20220211", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AuditConfig": { @@ -730,22 +730,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -772,6 +772,17 @@ }, "type": "object" }, + "EdgeCluster": { + "description": "EdgeCluster contains information specific to Google Edge Clusters.", + "id": "EdgeCluster", + "properties": { + "resourceLink": { + "description": "Immutable. Self-link of the GCP 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); } The JSON representation for `Empty` is empty JSON object `{}`.", "id": "Empty", @@ -819,6 +830,11 @@ "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 GCP 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" @@ -1129,9 +1145,13 @@ "description": "MembershipEndpoint contains information needed to contact a Kubernetes API, endpoint and any additional Kubernetes metadata.", "id": "MembershipEndpoint", "properties": { + "edgeCluster": { + "$ref": "EdgeCluster", + "description": "Optional. Specific information for a Google Edge cluster." + }, "gkeCluster": { "$ref": "GkeCluster", - "description": "Optional. GKE-specific information. Only present if this Membership is a GKE cluster." + "description": "Optional. Specific information for a GKE-on-GCP cluster." }, "kubernetesMetadata": { "$ref": "KubernetesMetadata", @@ -1141,6 +1161,14 @@ "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" @@ -1173,6 +1201,42 @@ }, "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 GCP 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", + "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" + }, + "resourceLink": { + "description": "Immutable. Self-link of the GCP 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", @@ -1253,7 +1317,7 @@ "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/).", + "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": { @@ -1264,7 +1328,7 @@ "type": "array" }, "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.", + "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" }, @@ -1306,6 +1370,10 @@ "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" @@ -1374,7 +1442,7 @@ } }, "servicePath": "", - "title": "GKE Hub", + "title": "GKE Hub API", "version": "v1alpha2", "version_module": true } \ No newline at end of file diff --git a/etc/api/gkehub/v1beta/gkehub-api.json b/etc/api/gkehub/v1beta/gkehub-api.json index b935e5ff1f..3a13185209 100644 --- a/etc/api/gkehub/v1beta/gkehub-api.json +++ b/etc/api/gkehub/v1beta/gkehub-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -179,6 +179,104 @@ "resources": { "features": { "methods": { + "create": { + "description": "Adds a new Feature.", + "flatPath": "v1beta/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": "v1beta/{+parent}/features", + "request": { + "$ref": "Feature" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Removes a Feature.", + "flatPath": "v1beta/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": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Feature.", + "flatPath": "v1beta/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" + } + }, + "path": "v1beta/{+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": "v1beta/projects/{projectsId}/locations/{locationsId}/features/{featuresId}:getIamPolicy", @@ -189,7 +287,7 @@ ], "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).", + "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" @@ -210,6 +308,91 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "list": { + "description": "Lists Features in a given project and location.", + "flatPath": "v1beta/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" + } + }, + "path": "v1beta/{+parent}/features", + "response": { + "$ref": "ListFeaturesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing Feature.", + "flatPath": "v1beta/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": "v1beta/{+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": "v1beta/projects/{projectsId}/locations/{locationsId}/features/{featuresId}:setIamPolicy", @@ -268,197 +451,6 @@ } } }, - "global": { - "resources": { - "features": { - "methods": { - "create": { - "description": "Adds a new Feature.", - "flatPath": "v1beta/projects/{projectsId}/locations/global/features", - "httpMethod": "POST", - "id": "gkehub.projects.locations.global.features.create", - "parameterOrder": [ - "parent" - ], - "parameters": { - "featureId": { - "description": "The ID of the feature to create.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "The parent (project and location) where the Feature will be created. Specified in the format `projects/*/locations/global`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/global$", - "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": "v1beta/{+parent}/features", - "request": { - "$ref": "Feature" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Removes a Feature.", - "flatPath": "v1beta/projects/{projectsId}/locations/global/features/{featuresId}", - "httpMethod": "DELETE", - "id": "gkehub.projects.locations.global.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": "The Feature resource name in the format `projects/*/locations/global/features/*`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/global/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": "v1beta/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Gets details of a single Feature.", - "flatPath": "v1beta/projects/{projectsId}/locations/global/features/{featuresId}", - "httpMethod": "GET", - "id": "gkehub.projects.locations.global.features.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The Feature resource name in the format `projects/*/locations/global/features/*`", - "location": "path", - "pattern": "^projects/[^/]+/locations/global/features/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta/{+name}", - "response": { - "$ref": "Feature" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists Features in a given project and location.", - "flatPath": "v1beta/projects/{projectsId}/locations/global/features", - "httpMethod": "GET", - "id": "gkehub.projects.locations.global.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": "The parent (project and location) where the Features will be listed. Specified in the format `projects/*/locations/global`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/global$", - "required": true, - "type": "string" - } - }, - "path": "v1beta/{+parent}/features", - "response": { - "$ref": "ListFeaturesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "patch": { - "description": "Updates an existing Feature.", - "flatPath": "v1beta/projects/{projectsId}/locations/global/features/{featuresId}", - "httpMethod": "PATCH", - "id": "gkehub.projects.locations.global.features.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The Feature resource name in the format `projects/*/locations/global/features/*`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/global/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" - }, - "updateMask": { - "description": "Mask of fields to update.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1beta/{+name}", - "request": { - "$ref": "Feature" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - } - } - }, "memberships": { "methods": { "getIamPolicy": { @@ -471,7 +463,7 @@ ], "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).", + "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" @@ -678,9 +670,41 @@ } } }, - "revision": "20210322", + "revision": "20220211", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { + "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 See go/onyx-application-metrics-logs-user-guide", + "type": "boolean" + } + }, + "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" + }, "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", @@ -730,22 +754,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -761,6 +785,10 @@ "description": "CommonFeatureSpec contains Hub-wide configuration information", "id": "CommonFeatureSpec", "properties": { + "appdevexperience": { + "$ref": "AppDevExperienceFeatureSpec", + "description": "Appdevexperience specific spec." + }, "multiclusteringress": { "$ref": "MultiClusterIngressFeatureSpec", "description": "Multicluster Ingress-specific spec." @@ -772,6 +800,10 @@ "description": "CommonFeatureState contains Hub-wide Feature status information.", "id": "CommonFeatureState", "properties": { + "appdevexperience": { + "$ref": "AppDevExperienceFeatureState", + "description": "Appdevexperience specific state." + }, "state": { "$ref": "FeatureState", "description": "Output only. The \"running state\" of the Feature in this Hub.", @@ -833,10 +865,18 @@ "description": "Configuration for Config Sync", "id": "ConfigManagementConfigSync", "properties": { + "enabled": { + "description": "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 git field.", + "type": "boolean" + }, "git": { "$ref": "ConfigManagementGitConfig", "description": "Git repo configuration for the cluster." }, + "preventDrift": { + "description": "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": "Specifies whether the Config Sync Repo is in \u201chierarchical\u201d or \u201cunstructured\u201d mode.", "type": "string" @@ -848,6 +888,22 @@ "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" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined", + "Deployment is not installed", + "Deployment is installed", + "Deployment was attempted to be installed, but has errors" + ], + "type": "string" + }, "gitSync": { "description": "Deployment state of the git-sync pod", "enum": [ @@ -970,6 +1026,10 @@ "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" @@ -1076,7 +1136,7 @@ "type": "string" }, "secretType": { - "description": "Type of secret configured for access to the Git repo.", + "description": "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": { @@ -1218,7 +1278,7 @@ "type": "object" }, "ConfigManagementMembershipSpec": { - "description": "Configuration for a single cluster. Intended to parallel the ConfigManagement CR.", + "description": "**Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR.", "id": "ConfigManagementMembershipSpec", "properties": { "binauthz": { @@ -1245,7 +1305,7 @@ "type": "object" }, "ConfigManagementMembershipState": { - "description": "State for Anthos Config Management", + "description": "**Anthos Config Management**: State for a single cluster.", "id": "ConfigManagementMembershipState", "properties": { "binauthzState": { @@ -1436,7 +1496,7 @@ "type": "string" }, "lastSync": { - "description": "Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String This field is being deprecated. Use last_sync_time instead. (b/154053616)", + "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": { @@ -1511,19 +1571,19 @@ "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 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.", + "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.", + "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/global/features/*`.", + "description": "Output only. The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`.", "readOnly": true, "type": "string" }, @@ -1636,6 +1696,133 @@ }, "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": { + "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" + } + }, + "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" + } + }, + "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": "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" + }, + "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" + }, "ListFeaturesResponse": { "description": "Response message for the `GkeHub.ListFeatures` method.", "id": "ListFeaturesResponse", @@ -1728,9 +1915,25 @@ "description": "MembershipFeatureSpec contains configuration information for a single Membership.", "id": "MembershipFeatureSpec", "properties": { + "anthosobservability": { + "$ref": "AnthosObservabilityMembershipSpec", + "description": "Anthos Observability-specific spec" + }, + "cloudbuild": { + "$ref": "MembershipSpec", + "description": "Cloud Build-specific spec" + }, "configmanagement": { "$ref": "ConfigManagementMembershipSpec", "description": "Config Management-specific spec." + }, + "identityservice": { + "$ref": "IdentityServiceMembershipSpec", + "description": "Identity Service-specific spec." + }, + "policycontroller": { + "$ref": "PolicyControllerMembershipSpec", + "description": "Policy Controller spec." } }, "type": "object" @@ -1739,14 +1942,26 @@ "description": "MembershipFeatureState contains Feature status information for a single Membership.", "id": "MembershipFeatureState", "properties": { + "appdevexperience": { + "$ref": "AppDevExperienceFeatureState", + "description": "Appdevexperience specific state." + }, "configmanagement": { "$ref": "ConfigManagementMembershipState", "description": "Config Management-specific state." }, + "identityservice": { + "$ref": "IdentityServiceMembershipState", + "description": "Identity Service-specific state." + }, "metering": { "$ref": "MeteringMembershipState", "description": "Metering-specific spec." }, + "policycontroller": { + "$ref": "PolicyControllerMembershipState", + "description": "Policycontroller-specific state." + }, "state": { "$ref": "FeatureState", "description": "The high-level state of this Feature for a single membership." @@ -1754,8 +1969,33 @@ }, "type": "object" }, + "MembershipSpec": { + "description": "**Cloud Build**: Configurations for each Cloud Build enabled cluster.", + "id": "MembershipSpec", + "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" + }, "MeteringMembershipState": { - "description": "Metering per-Membership Feature State.", + "description": "**Metering**: Per-Membership Feature State.", "id": "MeteringMembershipState", "properties": { "lastMeasurementTime": { @@ -1772,9 +2012,23 @@ "type": "object" }, "MultiClusterIngressFeatureSpec": { - "description": "FeatureSpec contains the input for the MultiClusterIngress feature.", + "description": "**Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature.", "id": "MultiClusterIngressFeatureSpec", "properties": { + "billing": { + "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" @@ -1862,7 +2116,7 @@ "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/).", + "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": { @@ -1873,7 +2127,7 @@ "type": "array" }, "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.", + "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" }, @@ -1892,6 +2146,163 @@ }, "type": "object" }, + "PolicyControllerMembershipSpec": { + "description": "**Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR.", + "id": "PolicyControllerMembershipSpec", + "properties": { + "policyControllerHubConfig": { + "$ref": "PolicyControllerPolicyControllerHubConfig", + "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": { + "clusterName": { + "description": "The user-defined name for the cluster used by ClusterSelectors to group clusters together. This should match Membership's membership_name, unless the user installed PC on the cluster manually prior to enabling the PC hub feature. Unique within a Policy Controller installation.", + "type": "string" + }, + "membershipSpec": { + "$ref": "PolicyControllerMembershipSpec", + "description": "Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state" + }, + "policyControllerHubState": { + "$ref": "PolicyControllerPolicyControllerHubState", + "description": "Policy Controller state observed by the Policy Controller Hub" + }, + "state": { + "description": "The lifecycle state Policy Controller is in.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLING", + "ACTIVE", + "UPDATING", + "DECOMISSIONING", + "CLUSTER_ERROR", + "HUB_ERROR" + ], + "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\u2019s operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", + "The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", + "The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", + "The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as \u2018install\u2019).", + "In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to \u2018take hands off\u2019 to avoid corrupting the PC or other data." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerPolicyControllerHubConfig": { + "description": "Configuration for Policy Controller", + "id": "PolicyControllerPolicyControllerHubConfig", + "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" + }, + "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_DISABLED" + ], + "enumDescriptions": [ + "Spec is unknown.", + "Request to uninstall Policy Controller.", + "Request to install and enable Policy Controller.", + "Request to disable Policy Controller. If Policy Controller is not installed, it will be installed but disabled." + ], + "type": "string" + }, + "logDeniesEnabled": { + "description": "Logs all denies and dry run failures.", + "type": "boolean" + }, + "referentialRulesEnabled": { + "description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.", + "type": "boolean" + }, + "templateLibraryConfig": { + "$ref": "PolicyControllerTemplateLibraryConfig", + "description": "Configures the library templates to install along with Policy Controller." + } + }, + "type": "object" + }, + "PolicyControllerPolicyControllerHubState": { + "description": "State of the Policy Controller.", + "id": "PolicyControllerPolicyControllerHubState", + "properties": { + "deploymentStates": { + "additionalProperties": { + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "DEPLOYMENT_STATE_NOT_INSTALLED", + "DEPLOYMENT_STATE_INSTALLED", + "DEPLOYMENT_STATE_ERROR" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined", + "Deployment is not installed", + "Deployment is installed", + "Deployment was attempted to be installed, but has errors" + ], + "type": "string" + }, + "description": "Map from deployment name to deployment state. Example deployments are gatekeeper-controller-manager, gatekeeper-audit deployment, and gatekeeper-mutation.", + "type": "object" + }, + "version": { + "$ref": "PolicyControllerPolicyControllerHubVersion", + "description": "The version of Gatekeeper Policy Controller deployed." + } + }, + "type": "object" + }, + "PolicyControllerPolicyControllerHubVersion": { + "description": "The build version of Gatekeeper that Policy Controller is using.", + "id": "PolicyControllerPolicyControllerHubVersion", + "properties": { + "version": { + "description": "The gatekeeper image tag that is composed of ACM version, git tag, build number.", + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerTemplateLibraryConfig": { + "description": "The config specifying which default library templates to install.", + "id": "PolicyControllerTemplateLibraryConfig", + "properties": { + "included": { + "description": "Whether the standard template library should be installed or not.", + "type": "boolean" + } + }, + "type": "object" + }, "SetIamPolicyRequest": { "description": "Request message for `SetIamPolicy` method.", "id": "SetIamPolicyRequest", @@ -1908,6 +2319,33 @@ }, "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", @@ -1938,7 +2376,7 @@ } }, "servicePath": "", - "title": "GKE Hub", + "title": "GKE Hub API", "version": "v1beta", "version_module": true } \ No newline at end of file diff --git a/etc/api/gkehub/v1beta1/gkehub-api.json b/etc/api/gkehub/v1beta1/gkehub-api.json index 10263432f5..64d2a55995 100644 --- a/etc/api/gkehub/v1beta1/gkehub-api.json +++ b/etc/api/gkehub/v1beta1/gkehub-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -180,7 +180,7 @@ "memberships": { "methods": { "create": { - "description": "Adds a new Membership.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/memberships", "httpMethod": "POST", "id": "gkehub.projects.locations.memberships.create", @@ -199,6 +199,11 @@ "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": "v1beta1/{+parent}/memberships", @@ -213,7 +218,7 @@ ] }, "delete": { - "description": "Removes a Membership.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}", "httpMethod": "DELETE", "id": "gkehub.projects.locations.memberships.delete", @@ -227,6 +232,11 @@ "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": "v1beta1/{+name}", @@ -238,7 +248,7 @@ ] }, "generateConnectManifest": { - "description": "Generates the manifest for deployment of the GKE connect agent.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}:generateConnectManifest", "httpMethod": "GET", "id": "gkehub.projects.locations.memberships.generateConnectManifest", @@ -369,7 +379,7 @@ ], "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).", + "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" @@ -452,6 +462,11 @@ "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. At least one field path must be specified in this mask.", "format": "google-fieldmask", @@ -691,7 +706,7 @@ } } }, - "revision": "20210322", + "revision": "20220211", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AuditConfig": { @@ -769,22 +784,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -811,6 +826,17 @@ }, "type": "object" }, + "EdgeCluster": { + "description": "EdgeCluster contains information specific to Google Edge Clusters.", + "id": "EdgeCluster", + "properties": { + "resourceLink": { + "description": "Immutable. Self-link of the GCP 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); } The JSON representation for `Empty` is empty JSON object `{}`.", "id": "Empty", @@ -873,6 +899,11 @@ "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 GCP 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" @@ -1161,9 +1192,13 @@ "description": "MembershipEndpoint contains information needed to contact a Kubernetes API, endpoint and any additional Kubernetes metadata.", "id": "MembershipEndpoint", "properties": { + "edgeCluster": { + "$ref": "EdgeCluster", + "description": "Optional. Specific information for a Google Edge cluster." + }, "gkeCluster": { "$ref": "GkeCluster", - "description": "Optional. GKE-specific information. Only present if this Membership is a GKE cluster." + "description": "Optional. Specific information for a GKE-on-GCP cluster." }, "kubernetesMetadata": { "$ref": "KubernetesMetadata", @@ -1173,6 +1208,14 @@ "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" @@ -1214,6 +1257,42 @@ }, "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 GCP 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", + "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" + }, + "resourceLink": { + "description": "Immutable. Self-link of the GCP 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", @@ -1294,7 +1373,7 @@ "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/).", + "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": { @@ -1305,7 +1384,7 @@ "type": "array" }, "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.", + "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" }, @@ -1347,6 +1426,10 @@ "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" @@ -1426,7 +1509,7 @@ } }, "servicePath": "", - "title": "GKE Hub", + "title": "GKE Hub API", "version": "v1beta1", "version_module": true } \ No newline at end of file diff --git a/etc/api/gkehub/v2alpha/gkehub-api.json b/etc/api/gkehub/v2alpha/gkehub-api.json new file mode 100644 index 0000000000..36a4bfc21e --- /dev/null +++ b/etc/api/gkehub/v2alpha/gkehub-api.json @@ -0,0 +1,1067 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://gkehub.googleapis.com/", + "batchPath": "batch", + "canonicalName": "GKE Hub", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "gkehub:v2alpha", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://gkehub.mtls.googleapis.com/", + "name": "gkehub", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "gkehub.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v2alpha/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "gkehub.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. If not set, the service selects a default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "featureConfigs": { + "methods": { + "create": { + "description": "Creates FeatureConfig under a given parent.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/featureConfigs", + "httpMethod": "POST", + "id": "gkehub.projects.locations.featureConfigs.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "featureConfigId": { + "description": "The ID of the feature config to create.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of parent where the FeatureConfig will be created. Specified in the format `projects/{project}/locations/global/featureConfigs/{feature_type}/{feature_config}/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+parent}/featureConfigs", + "request": { + "$ref": "FeatureConfig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Removes a FeatureConfig.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/featureConfigs/{featureConfigsId}", + "httpMethod": "DELETE", + "id": "gkehub.projects.locations.featureConfigs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the membershipFeature to be deleted. Specified in the format `projects/*/locations/*/featureConfigs/**`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureConfigs/.*$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "========= FeatureConfig Services ========= Gets details of a featureConfig.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/featureConfigs/{featureConfigsId}", + "httpMethod": "GET", + "id": "gkehub.projects.locations.featureConfigs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The FeatureConfig resource name in the format `projects/*/locations/*/featureConfigs/**`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureConfigs/.*$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "response": { + "$ref": "FeatureConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all FeatureConfigs in a given project and location.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/featureConfigs", + "httpMethod": "GET", + "id": "gkehub.projects.locations.featureConfigs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Lists FeatureConfigs that match the filter expression, following the syntax outlined in https://google.aip.dev/160.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "When requesting a 'page' of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token returned by previous call to `ListFeatures` which specifies the position in the list from where to continue listing the resources.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent where the FeatureConfigs will be listed. In the format: `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+parent}/featureConfigs", + "response": { + "$ref": "ListFeatureConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "memberships": { + "resources": { + "features": { + "methods": { + "create": { + "description": "Creates membershipFeature under a given parent.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features", + "httpMethod": "POST", + "id": "gkehub.projects.locations.memberships.features.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of parent where the MembershipFeature will be created. Specified in the format `projects/*/locations/*/memberships/*/features/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+parent}/features", + "request": { + "$ref": "MembershipFeature" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Removes a membershipFeature.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", + "httpMethod": "DELETE", + "id": "gkehub.projects.locations.memberships.features.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the membershipFeature to be deleted. Specified in the format `projects/*/locations/*/memberships/*/features/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "========= MembershipFeature Services ========= Gets details of a membershipFeature.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", + "httpMethod": "GET", + "id": "gkehub.projects.locations.memberships.features.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The MembershipFeature resource name in the format `projects/*/locations/*/memberships/*/features/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "response": { + "$ref": "MembershipFeature" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists MembershipFeatures in a given project and location.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features", + "httpMethod": "GET", + "id": "gkehub.projects.locations.memberships.features.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Lists MembershipFeatures that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Examples: - Feature with the name \"helloworld\" in project \"foo-proj\" and membership \"member-bar\": name = \"projects/foo-proj/locations/global/memberships/member-bar/features/helloworld\" - Features that have a label called `foo`: labels.foo:* - Features that have a label called `foo` whose value is `bar`: labels.foo = bar", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "When requesting a 'page' of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token returned by previous call to `ListFeatures` which specifies the position in the list from where to continue listing the resources.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent where the MembershipFeature will be listed. In the format: `projects/*/locations/*/memberships/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+parent}/features", + "response": { + "$ref": "ListMembershipFeaturesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing MembershipFeature.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", + "httpMethod": "PATCH", + "id": "gkehub.projects.locations.memberships.features.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "request": { + "$ref": "MembershipFeature" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "gkehub.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "gkehub.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. 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": "v2alpha/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "gkehub.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20220211", + "rootUrl": "https://gkehub.googleapis.com/", + "schemas": { + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "FeatureConfig": { + "description": "FeatureConfig contains configurations for a Fleet feature. FeatureConfig can be applied to MembershipFeature(s) to setup per-membership FeatureSpec.", + "id": "FeatureConfig", + "properties": { + "createTime": { + "description": "Output only. When the FeatureConfig resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deleteTime": { + "description": "Output only. When the FeatureConfig resource was deleted.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "GCP labels for this FeatureConfig.", + "type": "object" + }, + "name": { + "description": "Output only. Resource name of this FeatureConfig, in the format: `projects/{project}/locations/global/FeatureConfigs/{feature_type}/{feature_config}`", + "readOnly": true, + "type": "string" + }, + "spec": { + "$ref": "FeatureSpec", + "description": "Input only. Immutable. User input of feature spec. Note that this field is immutable. Must create a new FeatureConfig if a new feature spec is needed." + }, + "state": { + "$ref": "FeatureConfigState", + "description": "Lifecycle information of the FeatureConfig." + }, + "uniqueId": { + "description": "Output only. Google-generated UUID for this resource. This is unique across all FeatureConfig 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 FeatureConfig resource was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "FeatureConfigRef": { + "description": "Information of the FeatureConfig applied on the MembershipFeature.", + "id": "FeatureConfigRef", + "properties": { + "config": { + "description": "Input only. Resource name of FeatureConfig, in the format: `projects/{project}/locations/global/featureConfigs/{feature_config}`.", + "type": "string" + }, + "configUpdateTime": { + "description": "Output only. When the FeatureConfig was last applied and copied to FeatureSpec.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "uuid": { + "description": "Output only. An id that uniquely identify a FeatureConfig object.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "FeatureConfigState": { + "description": "FeatureConfigState describes the state of a FeatureConfig resource.", + "id": "FeatureConfigState", + "properties": { + "state": { + "description": "Output only. The current state of the FeatureConfig resource.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "DELETING" + ], + "enumDescriptions": [ + "The code is not set.", + "The FeatureConfig is being created.", + "The FeatureConfig has been created.", + "The FeatureConfig is being deleted." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "FeatureSpec": { + "description": "FeatureSpec contains user input per-feature spec information.", + "id": "FeatureSpec", + "properties": {}, + "type": "object" + }, + "FeatureState": { + "description": "FeatureState contains high-level state information and per-feature state information for this MembershipFeature.", + "id": "FeatureState", + "properties": { + "state": { + "$ref": "State", + "description": "The high-level state of this MembershipFeature." + } + }, + "type": "object" + }, + "GoogleRpcStatus": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "GoogleRpcStatus", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "ListFeatureConfigsResponse": { + "description": "Response message for the `GkeHubFeature.ListFeatureConfigs` method.", + "id": "ListFeatureConfigsResponse", + "properties": { + "featureConfigs": { + "description": "The list of FeatureConfig(s).", + "items": { + "$ref": "FeatureConfig" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to request the next page of resources from the `ListFeatureConfigs` method. The value of an empty string means that there are no more resources to return.", + "type": "string" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListMembershipFeaturesResponse": { + "description": "Response message for the `GkeHubFeature.ListMembershipFeatures` method.", + "id": "ListMembershipFeaturesResponse", + "properties": { + "membershipFeatures": { + "description": "The list of matching MembershipFeatures.", + "items": { + "$ref": "MembershipFeature" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to request the next page of resources from the `ListMembershipFeatures` method. The value of an empty string means that there are no more resources to return.", + "type": "string" + } + }, + "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 Google Cloud Platform location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "MembershipFeature": { + "description": "MembershipFeature represents the settings and status of a Fleet Feature enabled on a single Fleet Membership.", + "id": "MembershipFeature", + "properties": { + "createTime": { + "description": "Output only. When the MembershipFeature resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deleteTime": { + "description": "Output only. When the MembershipFeature resource was deleted.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "featureConfigRef": { + "$ref": "FeatureConfigRef", + "description": "Reference information for a FeatureConfig applied on the MembershipFeature." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "GCP labels for this MembershipFeature.", + "type": "object" + }, + "name": { + "description": "Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)", + "readOnly": true, + "type": "string" + }, + "resourceState": { + "$ref": "ResourceState", + "description": "Lifecycle information of the resource itself." + }, + "spec": { + "$ref": "FeatureSpec", + "description": "Output only. Spec of this membershipFeature.", + "readOnly": true + }, + "state": { + "$ref": "FeatureState", + "description": "Output only. State of the this membershipFeature.", + "readOnly": true + }, + "updateTime": { + "description": "Output only. When the MembershipFeature resource was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "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 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": "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" + }, + "ResourceState": { + "description": "ResourceState describes the state of a MembershipFeature *resource* in the GkeHub API. See `FeatureState` for the \"running state\" of the MembershipFeature.", + "id": "ResourceState", + "properties": { + "state": { + "description": "Output only. The current state of the Feature resource in the Hub API.", + "enum": [ + "STATE_UNSPECIFIED", + "ENABLING", + "ACTIVE", + "DISABLING", + "UPDATING", + "SERVICE_UPDATING" + ], + "enumDescriptions": [ + "State is unknown or not set.", + "The MembershipFeature is being enabled, and the MembershipFeature resource is being created. Once complete, the corresponding MembershipFeature will be enabled in this Hub.", + "The MembershipFeature is enabled in this Hub, and the MembershipFeature resource is fully available.", + "The MembershipFeature is being disabled in this Hub, and the MembershipFeature resource is being deleted.", + "The MembershipFeature resource is being updated.", + "The MembershipFeature resource is being updated by the Hub Service." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "State": { + "description": "High-level state of a MembershipFeature.", + "id": "State", + "properties": { + "code": { + "description": "The high-level, machine-readable status of this MembershipFeature.", + "enum": [ + "CODE_UNSPECIFIED", + "OK", + "WARNING", + "ERROR" + ], + "enumDescriptions": [ + "Unknown or not set.", + "The MembershipFeature is operating normally.", + "The MembershipFeature has encountered an issue, and is operating in a degraded state. The MembershipFeature may need intervention to return to normal operation. See the description and any associated MembershipFeature-specific details for more information.", + "The MembershipFeature is not operating or is in a severely degraded state. The MembershipFeature may need intervention to return to normal operation. See the description and any associated MembershipFeature-specific details for more information." + ], + "type": "string" + }, + "description": { + "description": "A human-readable description of the current status.", + "type": "string" + }, + "updateTime": { + "description": "The time this status and any related Feature-specific details were updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "GKE Hub API", + "version": "v2alpha", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/gmail/v1/gmail-api.json b/etc/api/gmail/v1/gmail-api.json index 85f60ebb10..196397957c 100644 --- a/etc/api/gmail/v1/gmail-api.json +++ b/etc/api/gmail/v1/gmail-api.json @@ -30,7 +30,7 @@ "description": "View your email message metadata such as labels and headers, but not the email body" }, "https://www.googleapis.com/auth/gmail.modify": { - "description": "View and modify but not delete your email" + "description": "Read, compose, and send emails from your Gmail account" }, "https://www.googleapis.com/auth/gmail.readonly": { "description": "View your email messages and settings" @@ -384,7 +384,7 @@ }, "maxResults": { "default": "100", - "description": "Maximum number of drafts to return.", + "description": "Maximum number of drafts to return. This field defaults to 100. The maximum allowed value for this field is 500.", "format": "uint32", "location": "query", "type": "integer" @@ -559,7 +559,7 @@ }, "maxResults": { "default": "100", - "description": "The maximum number of history records to return.", + "description": "Maximum number of history records to return. This field defaults to 100. The maximum allowed value for this field is 500.", "format": "uint32", "location": "query", "type": "integer" @@ -945,7 +945,7 @@ ] }, "import": { - "description": "Imports a message into only this user's mailbox, with standard email delivery scanning and classification similar to receiving via SMTP. Does not send a message. Note: This function doesn't trigger forwarding rules or filters set up by the user.", + "description": "Imports a message into only this user's mailbox, with standard email delivery scanning and classification similar to receiving via SMTP. This method doesn't perform SPF checks, so it might not work for some spam messages, such as those attempting to perform domain spoofing. This method does not send a message. Note: This function doesn't trigger forwarding rules or filters set up by the user.", "flatPath": "gmail/v1/users/{userId}/messages/import", "httpMethod": "POST", "id": "gmail.users.messages.import", @@ -1113,7 +1113,7 @@ }, "maxResults": { "default": "100", - "description": "Maximum number of messages to return.", + "description": "Maximum number of messages to return. This field defaults to 100. The maximum allowed value for this field is 500.", "format": "uint32", "location": "query", "type": "integer" @@ -2541,7 +2541,7 @@ }, "maxResults": { "default": "100", - "description": "Maximum number of threads to return.", + "description": "Maximum number of threads to return. This field defaults to 100. The maximum allowed value for this field is 500.", "format": "uint32", "location": "query", "type": "integer" @@ -2682,7 +2682,7 @@ } } }, - "revision": "20210322", + "revision": "20220228", "rootUrl": "https://gmail.googleapis.com/", "schemas": { "AutoForwarding": { @@ -3064,7 +3064,7 @@ "type": "object" }, "Label": { - "description": "Labels are used to categorize messages and threads within the user's mailbox.", + "description": "Labels are used to categorize messages and threads within the user's mailbox. The maximum number of labels supported for a user's mailbox is 10,000.", "id": "Label", "properties": { "color": { diff --git a/etc/api/gmailpostmastertools/v1/gmailpostmastertools-api.json b/etc/api/gmailpostmastertools/v1/gmailpostmastertools-api.json index 8b06409afc..f072122d5b 100644 --- a/etc/api/gmailpostmastertools/v1/gmailpostmastertools-api.json +++ b/etc/api/gmailpostmastertools/v1/gmailpostmastertools-api.json @@ -265,7 +265,7 @@ } } }, - "revision": "20210330", + "revision": "20220305", "rootUrl": "https://gmailpostmastertools.googleapis.com/", "schemas": { "DeliveryError": { diff --git a/etc/api/gmailpostmastertools/v1beta1/gmailpostmastertools-api.json b/etc/api/gmailpostmastertools/v1beta1/gmailpostmastertools-api.json index e57d405d08..910c121ae9 100644 --- a/etc/api/gmailpostmastertools/v1beta1/gmailpostmastertools-api.json +++ b/etc/api/gmailpostmastertools/v1beta1/gmailpostmastertools-api.json @@ -265,7 +265,7 @@ } } }, - "revision": "20210330", + "revision": "20220305", "rootUrl": "https://gmailpostmastertools.googleapis.com/", "schemas": { "DeliveryError": { diff --git a/etc/api/groupsmigration/v1/groupsmigration-api.json b/etc/api/groupsmigration/v1/groupsmigration-api.json index df87c6592b..2f3653d9b0 100644 --- a/etc/api/groupsmigration/v1/groupsmigration-api.json +++ b/etc/api/groupsmigration/v1/groupsmigration-api.json @@ -146,7 +146,7 @@ } } }, - "revision": "20210318", + "revision": "20220226", "rootUrl": "https://groupsmigration.googleapis.com/", "schemas": { "Groups": { diff --git a/etc/api/groupssettings/v1/groupssettings-api.json b/etc/api/groupssettings/v1/groupssettings-api.json index 0d32a51e89..3ae0e641c6 100644 --- a/etc/api/groupssettings/v1/groupssettings-api.json +++ b/etc/api/groupssettings/v1/groupssettings-api.json @@ -152,7 +152,7 @@ } } }, - "revision": "20210325", + "revision": "20220224", "rootUrl": "https://www.googleapis.com/", "schemas": { "Groups": { @@ -191,6 +191,10 @@ "description": "When a message is rejected, this is text for the rejection notification sent to the message's author. By default, this property is empty and has no value in the API's response body. The maximum notification text size is 10,000 characters. Note: Requires sendMessageDenyNotification property to be true.", "type": "string" }, + "default_sender": { + "description": "Default sender for members who can post messages as the group. Possible values are: - `DEFAULT_SELF`: By default messages will be sent from the user - `GROUP`: By default messages will be sent from the group", + "type": "string" + }, "description": { "description": "Description of the group. This property value may be an empty string if no group description has been entered. If entered, the maximum group description is no more than 300 characters.", "type": "string" diff --git a/etc/api/healthcare/v1/healthcare-api.json b/etc/api/healthcare/v1/healthcare-api.json index 4a38e30638..b55a7d3697 100644 --- a/etc/api/healthcare/v1/healthcare-api.json +++ b/etc/api/healthcare/v1/healthcare-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -300,7 +300,7 @@ ], "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).", + "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" @@ -600,7 +600,7 @@ ], "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).", + "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" @@ -697,7 +697,7 @@ ] }, "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. 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\" ```", + "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": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:queryAccessibleData", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.consentStores.queryAccessibleData", @@ -1712,7 +1712,7 @@ ], "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).", + "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" @@ -2032,7 +2032,7 @@ "studies": { "methods": { "delete": { - "description": "DeleteStudy deletes all instances within the given study. Delete requests are equivalent to the GET requests specified in the Retrieve transaction. The method returns an Operation which will be marked successful when the deletion is complete. Warning: Inserting instances into a study while a delete operation is running for that study could result in the new instances not appearing in search results until the deletion operation finishes. For samples that show how to call DeleteStudy, see [Deleting a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).", + "description": "DeleteStudy deletes all instances within the given study. Delete requests are equivalent to the GET requests specified in the Retrieve transaction. 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 [Deleting a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}", "httpMethod": "DELETE", "id": "healthcare.projects.locations.datasets.dicomStores.studies.delete", @@ -2236,7 +2236,7 @@ "series": { "methods": { "delete": { - "description": "DeleteSeries deletes all instances within the given study and series. Delete requests are equivalent to the GET requests specified in the Retrieve transaction. The method returns an Operation which will be marked successful when the deletion is complete. Warning: Inserting instances into a series while a delete operation is running for that series could result in the new instances not appearing in search results until the deletion operation finishes. For samples that show how to call DeleteSeries, see [Deleting a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).", + "description": "DeleteSeries deletes all instances within the given study and series. Delete requests are equivalent to the GET requests specified in the Retrieve transaction. 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 [Deleting a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}", "httpMethod": "DELETE", "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.delete", @@ -2734,7 +2734,7 @@ ], "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).", + "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" @@ -2999,6 +2999,47 @@ "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": "v1/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": "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": "A profile that this resource should be validated against.", + "location": "query", + "type": "string" + }, + "type": { + "description": "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": "v1/{+parent}/fhir/{+type}/$validate", + "request": { + "$ref": "HttpBody" + }, + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "capabilities": { "description": "Gets the FHIR capability statement ([STU3](http://hl7.org/implement/standards/fhir/STU3/capabilitystatement.html), [R4](http://hl7.org/implement/standards/fhir/R4/capabilitystatement.html)), or the [conformance statement](http://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](http://hl7.org/implement/standards/fhir/STU3/http.html#capabilities), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#capabilities)), or the [conformance interaction](http://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": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/metadata", @@ -3213,7 +3254,7 @@ ] }, "search": { - "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://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](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://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`. 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. If there are additional results, the returned `Bundle` will contain pagination links. 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 changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).", + "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://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](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://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`. 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. 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 changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/_search", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search", @@ -3241,7 +3282,7 @@ ] }, "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](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://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](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://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`. 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. If there are additional results, the returned `Bundle` will contain pagination links. 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 changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).", + "description": "Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://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](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://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`. 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. 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 changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{resourceType}/_search", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search-type", @@ -3392,6 +3433,34 @@ "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": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:export", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.hl7V2Stores.export", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "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": "v1/{+name}:export", + "request": { + "$ref": "ExportMessagesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Gets the specified HL7v2 store.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}", @@ -3427,7 +3496,7 @@ ], "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).", + "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" @@ -3448,6 +3517,34 @@ "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": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:import", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.hl7V2Stores.import", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "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": "v1/{+name}:import", + "request": { + "$ref": "ImportMessagesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "Lists the HL7v2 stores in the given dataset.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores", @@ -3659,13 +3756,15 @@ "RAW_ONLY", "PARSED_ONLY", "FULL", + "SCHEMATIZED_ONLY", "BASIC" ], "enumDescriptions": [ "Not specified, equivalent to FULL.", - "Server responses include all the message fields except parsed_data field.", - "Server responses include all the message fields except data field.", + "Server responses include all the message fields except parsed_data field, and schematized_data fields.", + "Server responses include all the message fields except data field, 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", @@ -3752,13 +3851,15 @@ "RAW_ONLY", "PARSED_ONLY", "FULL", + "SCHEMATIZED_ONLY", "BASIC" ], "enumDescriptions": [ "Not specified, equivalent to FULL.", - "Server responses include all the message fields except parsed_data field.", - "Server responses include all the message fields except data field.", + "Server responses include all the message fields except parsed_data field, and schematized_data fields.", + "Server responses include all the message fields except data field, 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", @@ -3910,13 +4011,49 @@ } } } + }, + "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.", + "flatPath": "v1/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": "v1/{+nlpService}:analyzeEntities", + "request": { + "$ref": "AnalyzeEntitiesRequest" + }, + "response": { + "$ref": "AnalyzeEntitiesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } } } } } } }, - "revision": "20210317", + "revision": "20220223", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { "ActivateConsentRequest": { @@ -3940,6 +4077,62 @@ }, "type": "object" }, + "AnalyzeEntitiesRequest": { + "description": "The request to analyze healthcare entities in a document.", + "id": "AnalyzeEntitiesRequest", + "properties": { + "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": "entity_mentions contains all the annotated medical entities that were mentioned in the provided document.", + "items": { + "$ref": "EntityMention" + }, + "type": "array" + }, + "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" + }, "ArchiveUserDataMappingRequest": { "description": "Archives the specified User data mapping.", "id": "ArchiveUserDataMappingRequest", @@ -3975,7 +4168,7 @@ "id": "AttributeDefinition", "properties": { "allowedValues": { - "description": "Required. Possible values for the attribute. The number of allowed values must not exceed 100. An empty list is invalid. The list can only be expanded after creation.", + "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" }, @@ -4066,22 +4259,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -4211,9 +4404,9 @@ "REJECTED" ], "enumDescriptions": [ - "No state specified.", + "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.", - "When a Consent is updated, the current version is archived and a new one is created with its state set to the updated Consent's previous state.", + "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." @@ -4292,7 +4485,7 @@ ], "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`.", + "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." @@ -4425,7 +4618,7 @@ "description": "Deidentify configuration." }, "destinationDataset": { - "description": "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 project and location as the source dataset. De-identifying data across multiple projects or locations is not supported.", + "description": "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" } }, @@ -4437,10 +4630,10 @@ "properties": { "config": { "$ref": "DeidentifyConfig", - "description": "De-identify configuration." + "description": "Deidentify configuration." }, "destinationStore": { - "description": "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 project. De-identifying data across multiple projects is not supported. * The destination DICOM store must not exist. * The caller must have the necessary permissions to create the destination DICOM store.", + "description": "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": { @@ -4459,7 +4652,7 @@ "description": "Deidentify configuration." }, "destinationStore": { - "description": "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 project. De-identifying data across multiple projects 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.", + "description": "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" }, "resourceFilter": { @@ -4551,6 +4744,91 @@ "properties": {}, "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": { + "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.it", + "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" + }, "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", @@ -4641,13 +4919,40 @@ "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" + }, + "gcsDestination": { + "$ref": "GcsDestination", + "description": "Export to a Cloud Storage destination." + }, + "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" + }, "ExportResourcesRequest": { "description": "Request to export resources.", "id": "ExportResourcesRequest", "properties": { "bigqueryDestination": { "$ref": "GoogleCloudHealthcareV1FhirBigQueryDestination", - "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." + "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": "GoogleCloudHealthcareV1FhirGcsDestination", @@ -4685,12 +4990,32 @@ }, "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 are removed in the output.", + "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`.", "items": { "$ref": "FieldMetadata" }, @@ -4714,6 +5039,10 @@ "description": "Represents a FHIR store.", "id": "FhirStore", "properties": { + "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`.", + "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" @@ -4748,6 +5077,10 @@ }, "type": "array" }, + "validationConfig": { + "$ref": "ValidationConfig", + "description": "Configuration for how to validate incoming FHIR resources against configured profiles." + }, "version": { "description": "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": [ @@ -4817,7 +5150,7 @@ "type": "string" }, "paths": { - "description": "List of paths to FHIR fields to be redacted. Each path is a period-separated list where each component is either a field name or FHIR type name, for example: Patient, HumanName. For \"choice\" types (those defined in the FHIR spec with the form: field[x]) we use two separate components. For example, \"deceasedAge.unit\" is matched by \"Deceased.Age.unit\". Supported types are: AdministrativeGenderCode, Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml. Base64Binary is also supported, but may only be kept as-is or have all the content removed.", + "description": "List of paths to FHIR fields to be redacted. Each path is a period-separated list where each component is either a field name or FHIR type name, for example: Patient, HumanName. For \"choice\" types (those defined in the FHIR spec with the form: field[x]) we 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.", "items": { "type": "string" }, @@ -4826,6 +5159,60 @@ }, "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.", + "Server responses include all the message fields except parsed_data field, and schematized_data fields.", + "Server responses include all the message fields except data field, 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" + }, "GoogleCloudHealthcareV1ConsentGcsDestination": { "description": "The Cloud Storage location for export.", "id": "GoogleCloudHealthcareV1ConsentGcsDestination", @@ -4872,12 +5259,28 @@ "id": "GoogleCloudHealthcareV1DicomBigQueryDestination", "properties": { "force": { - "description": "If the destination table already exists and this flag is `TRUE`, the table is overwritten by the contents of the DICOM store. If the flag is not set and the destination table already exists, the export call returns an error.", + "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 a table before writing the instances.", + "Append data to the existing table." + ], + "type": "string" } }, "type": "object" @@ -4925,7 +5328,7 @@ "description": "The configuration for the exported BigQuery schema." }, "writeDisposition": { - "description": "Determines whether existing tables in the destination dataset are overwritten or appended to. If a write_disposition is specified, the `force` parameter is ignored.", + "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", @@ -5151,6 +5554,23 @@ "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" + }, "ImportResourcesRequest": { "description": "Request to import resources.", "id": "ImportResourcesRequest", @@ -5247,6 +5667,17 @@ }, "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" + }, "ListAttributeDefinitionsResponse": { "id": "ListAttributeDefinitionsResponse", "properties": { @@ -5674,6 +6105,20 @@ "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" + ], + "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." + ], + "type": "string" } }, "type": "object" @@ -5694,7 +6139,7 @@ "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/).", + "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": { @@ -5705,7 +6150,7 @@ "type": "array" }, "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.", + "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" }, @@ -5771,6 +6216,20 @@ }, "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" + }, "RedactConfig": { "description": "Define how to redact sensitive values. Default behaviour is erase. For example, \"My name is Jane.\" becomes \"My name is .\"", "id": "RedactConfig", @@ -5932,6 +6391,22 @@ "$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" @@ -6081,7 +6556,7 @@ "properties": { "bigqueryDestination": { "$ref": "GoogleCloudHealthcareV1FhirBigQueryDestination", - "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. For example, \"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. BigQuery imposes a 1 MB limit on streaming insert row size, therefore any resource mutation that generates more than 1 MB of BigQuery data is not streamed. 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. Results are appended to the corresponding BigQuery tables. 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 are logged to Cloud Logging. For more information, see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging))." + "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. For example, \"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. BigQuery imposes a 1 MB limit on streaming insert row size, therefore any resource mutation that generates more than 1 MB of BigQuery data is not streamed. 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. 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 are logged to Cloud Logging. For more information, 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.", @@ -6148,6 +6623,22 @@ }, "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" + }, "Type": { "description": "A type definition for some HL7v2 type (incl. Segments and Datatypes).", "id": "Type", @@ -6219,6 +6710,36 @@ }, "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. 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. Set this to true to disable checking incoming resources for conformance against structure definitions in this FHIR store.", + "type": "boolean" + }, + "disableReferenceTypeValidation": { + "description": "Whether to disable reference type validation for incoming resources. 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. 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 implementation guide 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", diff --git a/etc/api/healthcare/v1beta1/healthcare-api.json b/etc/api/healthcare/v1beta1/healthcare-api.json index 5c97fd4de4..4b76264e7b 100644 --- a/etc/api/healthcare/v1beta1/healthcare-api.json +++ b/etc/api/healthcare/v1beta1/healthcare-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -300,7 +300,7 @@ ], "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).", + "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" @@ -600,7 +600,7 @@ ], "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).", + "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" @@ -1107,7 +1107,7 @@ ], "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).", + "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" @@ -1204,7 +1204,7 @@ ] }, "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. 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\" ```", + "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", @@ -2219,7 +2219,7 @@ ], "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).", + "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" @@ -2539,7 +2539,7 @@ "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: If you insert instances into a study while a delete operation is running for that study, the instances you insert might not appear in search results until after the deletion operation finishes. For samples that show how to call DeleteStudy, see [Deleting a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).", + "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 [Deleting a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}", "httpMethod": "DELETE", "id": "healthcare.projects.locations.datasets.dicomStores.studies.delete", @@ -2743,7 +2743,7 @@ "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: If you insert instances into a series while a delete operation is running for that series, the instances you insert might not appear in search results until after the deletion operation finishes. For samples that show how to call DeleteSeries, see [Deleting a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).", + "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 [Deleting a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).", "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", @@ -3092,6 +3092,34 @@ }, "fhirStores": { "methods": { + "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": "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-platform" + ] + }, "create": { "description": "Creates a new FHIR store within the parent dataset.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores", @@ -3241,7 +3269,7 @@ ], "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).", + "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" @@ -3986,7 +4014,7 @@ ] }, "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`. 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. If there are additional results, the returned `Bundle` contains pagination links. 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 changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-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`. 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. 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 changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/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", @@ -4014,7 +4042,7 @@ ] }, "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`. 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. If there are additional results, the returned `Bundle` contains pagination links. 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 changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-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`. 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. 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 changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/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", @@ -4228,7 +4256,7 @@ ], "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).", + "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" @@ -4801,7 +4829,7 @@ "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.", + "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", @@ -4837,7 +4865,7 @@ } } }, - "revision": "20210317", + "revision": "20220223", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { "ActivateConsentRequest": { @@ -4868,6 +4896,23 @@ "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" @@ -5013,7 +5058,7 @@ "id": "AttributeDefinition", "properties": { "allowedValues": { - "description": "Required. Possible values for the attribute. The number of allowed values must not exceed 100. An empty list is invalid. The list can only be expanded after creation.", + "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" }, @@ -5118,22 +5163,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -5239,6 +5284,24 @@ }, "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", @@ -5292,9 +5355,9 @@ "REJECTED" ], "enumDescriptions": [ - "No state specified.", + "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.", - "When a Consent is updated, the current version is archived and a new one is created with its state set to the updated Consent's previous state.", + "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." @@ -5373,7 +5436,7 @@ ], "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`.", + "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." @@ -5440,9 +5503,13 @@ "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 wherever crypto_key is not specified.", + "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" @@ -5467,9 +5534,13 @@ "id": "DateShiftConfig", "properties": { "cryptoKey": { - "description": "An AES 128/192/256 bit key. Causes the shift to be computed based on this key and the patient ID. A default key is generated for each Deidentify operation and is used wherever crypto_key is not specified.", + "description": "An AES 128/192/256 bit key. Causes the shift to be computed based on this key and the patient ID. A default key is generated for each de-identification 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" @@ -5510,7 +5581,7 @@ "description": "Deidentify configuration." }, "destinationDataset": { - "description": "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 project and location as the source dataset. De-identifying data across multiple projects or locations is not supported.", + "description": "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" } }, @@ -5522,10 +5593,10 @@ "properties": { "config": { "$ref": "DeidentifyConfig", - "description": "De-identify configuration." + "description": "Deidentify configuration." }, "destinationStore": { - "description": "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 project. De-identifying data across multiple projects is not supported. * The destination DICOM store must not exist. * The caller must have the necessary permissions to create the destination DICOM store.", + "description": "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": { @@ -5544,7 +5615,7 @@ "description": "Deidentify configuration." }, "destinationStore": { - "description": "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 project. De-identifying data across multiple projects 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.", + "description": "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" }, "resourceFilter": { @@ -5915,6 +5986,12 @@ }, "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" + }, "ExportResourcesRequest": { "description": "Request to export resources.", "id": "ExportResourcesRequest", @@ -5929,7 +6006,7 @@ }, "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." + "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", @@ -5981,8 +6058,12 @@ "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 are removed in the output. If a field can be matched by more than one FieldMetadata, the first FieldMetadata.Action is applied.", + "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" }, @@ -6037,6 +6118,10 @@ "$ref": "NotificationConfig", "description": "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\"." }, + "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": { @@ -6117,7 +6202,7 @@ "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, Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml. The sub-type for HumanName, such as HumanName.given or HumanName.family, can be omitted.", + "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" }, @@ -6243,7 +6328,7 @@ "type": "string" }, "writeDisposition": { - "description": "Determines whether existing tables in the destination dataset are overwritten or appended to. If a write_disposition is specified, the `force` parameter is ignored.", + "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", @@ -6409,7 +6494,7 @@ "description": "The configuration for the exported BigQuery schema." }, "writeDisposition": { - "description": "Determines whether existing tables in the destination dataset are overwritten or appended to. If a write_disposition is specified, the `force` parameter is ignored.", + "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", @@ -6810,6 +6895,22 @@ }, "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.", + "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", @@ -7184,6 +7285,10 @@ "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" @@ -7286,7 +7391,7 @@ "type": "string" }, "version": { - "description": "Immutable. Determines the version of the unschematized parser to be used when `schema` is not given. This field is immutable after store creation.", + "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", @@ -7318,7 +7423,7 @@ "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/).", + "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": { @@ -7329,7 +7434,7 @@ "type": "array" }, "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.", + "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" }, @@ -7376,7 +7481,7 @@ "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." + "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": { @@ -7395,6 +7500,20 @@ }, "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" + }, "RedactConfig": { "description": "Define how to redact sensitive values. Default behaviour is erase. For example, \"My name is Jane.\" becomes \"My name is .\"", "id": "RedactConfig", @@ -7490,12 +7609,14 @@ "enum": [ "SCHEMA_TYPE_UNSPECIFIED", "LOSSLESS", - "ANALYTICS" + "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.", - "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 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 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." ], "type": "string" } @@ -7625,6 +7746,35 @@ }, "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", @@ -7748,7 +7898,7 @@ "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 appended to the corresponding BigQuery tables. 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))." + "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))." }, "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.", @@ -7906,10 +8056,22 @@ "description": "Contains the configuration for FHIR profiles and validation.", "id": "ValidationConfig", "properties": { + "disableFhirpathValidation": { + "description": "Whether to disable FHIRPath validation for incoming resources. 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. 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. 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. 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": { diff --git a/etc/api/homegraph/v1/homegraph-api.json b/etc/api/homegraph/v1/homegraph-api.json index 84f47c0553..f8ac70491f 100644 --- a/etc/api/homegraph/v1/homegraph-api.json +++ b/etc/api/homegraph/v1/homegraph-api.json @@ -216,7 +216,7 @@ } } }, - "revision": "20210326", + "revision": "20220225", "rootUrl": "https://homegraph.googleapis.com/", "schemas": { "AgentDeviceId": { @@ -277,13 +277,6 @@ "$ref": "DeviceNames", "description": "Names given to this device by your smart home Action." }, - "nonLocalTraits": { - "description": "See description for \"traits\". For Smart Home Entertainment Devices (SHED) devices, some traits can only be executed on 3P cloud, e.g. \"non_local_traits\": [ { \"trait\": \"action.devices.traits.MediaInitiation\" }, { \"trait\": \"action.devices.traits.Channel\" } ] go/shed-per-trait-routing.", - "items": { - "$ref": "NonLocalTrait" - }, - "type": "array" - }, "notificationSupportedByAgent": { "description": "Indicates whether your smart home Action will report notifications to Google for this device via ReportStateAndNotification. If your smart home Action enables users to control device notifications, you should update this field and call RequestSyncDevices.", "type": "boolean" @@ -375,17 +368,6 @@ "properties": {}, "type": "object" }, - "NonLocalTrait": { - "description": "LINT.IfChange go/shed-per-trait-routing. Making it object to allow for extendible design, where we can add attributes in future.", - "id": "NonLocalTrait", - "properties": { - "trait": { - "description": "Trait name, e.g., \"action.devices.traits.MediaInitiation\". See [device traits](https://developers.google.com/assistant/smarthome/traits).", - "type": "string" - } - }, - "type": "object" - }, "QueryRequest": { "description": "Request type for the [`Query`](#google.home.graph.v1.HomeGraphApiService.Query) call.", "id": "QueryRequest", diff --git a/etc/api/iam/v1/iam-api.json b/etc/api/iam/v1/iam-api.json index f2485b4d87..45b0359786 100644 --- a/etc/api/iam/v1/iam-api.json +++ b/etc/api/iam/v1/iam-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -145,6 +145,109 @@ } } }, + "locations": { + "resources": { + "workforcePools": { + "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/locations/{locationsId}/workforcePools/{workforcePoolsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "iam.locations.workforcePools.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^locations/[^/]+/workforcePools/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "providers": { + "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/locations/{locationsId}/workforcePools/{workforcePoolsId}/providers/{providersId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "iam.locations.workforcePools.providers.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^locations/[^/]+/workforcePools/[^/]+/providers/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "subjects": { + "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/locations/{locationsId}/workforcePools/{workforcePoolsId}/subjects/{subjectsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "iam.locations.workforcePools.subjects.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^locations/[^/]+/workforcePools/[^/]+/subjects/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + }, "organizations": { "resources": { "roles": { @@ -159,7 +262,7 @@ ], "parameters": { "parent": { - "description": "The `parent` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`projects.roles.create()`](/iam/reference/rest/v1/projects.roles/create): `projects/{PROJECT_ID}`. This method creates project-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.create()`](/iam/reference/rest/v1/organizations.roles/create): `organizations/{ORGANIZATION_ID}`. This method creates organization-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", + "description": "The `parent` parameter's value depends on the target resource for the request, namely [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles) or [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`projects.roles.create()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/create): `projects/{PROJECT_ID}`. This method creates project-level [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.create()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/create): `organizations/{ORGANIZATION_ID}`. This method creates organization-level [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -178,7 +281,7 @@ ] }, "delete": { - "description": "Deletes a custom Role. When you delete a custom role, the following changes occur immediately: * You cannot bind a member to the custom role in an IAM Policy. * Existing bindings to the custom role are not changed, but they have no effect. * By default, the response from ListRoles does not include the custom role. You have 7 days to undelete the custom role. After 7 days, the following changes occur: * The custom role is permanently deleted and cannot be recovered. * If an IAM policy contains a binding to the custom role, the binding is permanently removed.", + "description": "Deletes a custom Role. When you delete a custom role, the following changes occur immediately: * You cannot bind a principal to the custom role in an IAM Policy. * Existing bindings to the custom role are not changed, but they have no effect. * By default, the response from ListRoles does not include the custom role. You have 7 days to undelete the custom role. After 7 days, the following changes occur: * The custom role is permanently deleted and cannot be recovered. * If an IAM policy contains a binding to the custom role, the binding is permanently removed.", "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}", "httpMethod": "DELETE", "id": "iam.organizations.roles.delete", @@ -193,7 +296,7 @@ "type": "string" }, "name": { - "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.delete()`](/iam/reference/rest/v1/projects.roles/delete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.delete()`](/iam/reference/rest/v1/organizations.roles/delete): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", + "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles) or [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.delete()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/delete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.delete()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/delete): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", "location": "path", "pattern": "^organizations/[^/]+/roles/[^/]+$", "required": true, @@ -218,7 +321,7 @@ ], "parameters": { "name": { - "description": "The `name` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`roles.get()`](/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`. This method returns results from all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles/{ROLE_NAME}` * [`projects.roles.get()`](/iam/reference/rest/v1/projects.roles/get): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.get()`](/iam/reference/rest/v1/organizations.roles/get): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", + "description": "The `name` parameter's value depends on the target resource for the request, namely [`roles`](https://cloud.google.com/iam/reference/rest/v1/roles), [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles), or [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`roles.get()`](https://cloud.google.com/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`. This method returns results from all [predefined roles](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles/{ROLE_NAME}` * [`projects.roles.get()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/get): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.get()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/get): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", "location": "path", "pattern": "^organizations/[^/]+/roles/[^/]+$", "required": true, @@ -254,7 +357,7 @@ "type": "string" }, "parent": { - "description": "The `parent` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string. This method doesn't require a resource; it simply returns all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles` * [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list): `projects/{PROJECT_ID}`. This method lists all project-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.roles/list): `organizations/{ORGANIZATION_ID}`. This method lists all organization-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", + "description": "The `parent` parameter's value depends on the target resource for the request, namely [`roles`](https://cloud.google.com/iam/reference/rest/v1/roles), [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles), or [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`roles.list()`](https://cloud.google.com/iam/reference/rest/v1/roles/list): An empty string. This method doesn't require a resource; it simply returns all [predefined roles](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles` * [`projects.roles.list()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/list): `projects/{PROJECT_ID}`. This method lists all project-level [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.list()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/list): `organizations/{ORGANIZATION_ID}`. This method lists all organization-level [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -297,7 +400,7 @@ ], "parameters": { "name": { - "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.patch()`](/iam/reference/rest/v1/projects.roles/patch): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.patch()`](/iam/reference/rest/v1/organizations.roles/patch): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", + "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles) or [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.patch()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/patch): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.patch()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/patch): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", "location": "path", "pattern": "^organizations/[^/]+/roles/[^/]+$", "required": true, @@ -331,7 +434,7 @@ ], "parameters": { "name": { - "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.undelete()`](/iam/reference/rest/v1/projects.roles/undelete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.undelete()`](/iam/reference/rest/v1/organizations.roles/undelete): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", + "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles) or [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.undelete()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/undelete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes only [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.undelete()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/undelete): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes only [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", "location": "path", "pattern": "^organizations/[^/]+/roles/[^/]+$", "required": true, @@ -356,7 +459,7 @@ "permissions": { "methods": { "queryTestablePermissions": { - "description": "Lists every permission that you can test on a resource. A permission is testable if you can check whether a member has that permission on the resource.", + "description": "Lists every permission that you can test on a resource. A permission is testable if you can check whether a principal has that permission on the resource.", "flatPath": "v1/permissions:queryTestablePermissions", "httpMethod": "POST", "id": "iam.permissions.queryTestablePermissions", @@ -522,7 +625,7 @@ "type": "string" }, "updateMask": { - "description": "Required. The list of fields update.", + "description": "Required. The list of fields to update.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -788,6 +891,39 @@ } }, "resources": { + "keys": { + "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/projects/{projectsId}/locations/{locationsId}/workloadIdentityPools/{workloadIdentityPoolsId}/providers/{providersId}/keys/{keysId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "iam.projects.locations.workloadIdentityPools.providers.keys.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workloadIdentityPools/[^/]+/providers/[^/]+/keys/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, "operations": { "methods": { "get": { @@ -835,7 +971,7 @@ ], "parameters": { "parent": { - "description": "The `parent` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`projects.roles.create()`](/iam/reference/rest/v1/projects.roles/create): `projects/{PROJECT_ID}`. This method creates project-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.create()`](/iam/reference/rest/v1/organizations.roles/create): `organizations/{ORGANIZATION_ID}`. This method creates organization-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", + "description": "The `parent` parameter's value depends on the target resource for the request, namely [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles) or [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`projects.roles.create()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/create): `projects/{PROJECT_ID}`. This method creates project-level [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.create()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/create): `organizations/{ORGANIZATION_ID}`. This method creates organization-level [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -854,7 +990,7 @@ ] }, "delete": { - "description": "Deletes a custom Role. When you delete a custom role, the following changes occur immediately: * You cannot bind a member to the custom role in an IAM Policy. * Existing bindings to the custom role are not changed, but they have no effect. * By default, the response from ListRoles does not include the custom role. You have 7 days to undelete the custom role. After 7 days, the following changes occur: * The custom role is permanently deleted and cannot be recovered. * If an IAM policy contains a binding to the custom role, the binding is permanently removed.", + "description": "Deletes a custom Role. When you delete a custom role, the following changes occur immediately: * You cannot bind a principal to the custom role in an IAM Policy. * Existing bindings to the custom role are not changed, but they have no effect. * By default, the response from ListRoles does not include the custom role. You have 7 days to undelete the custom role. After 7 days, the following changes occur: * The custom role is permanently deleted and cannot be recovered. * If an IAM policy contains a binding to the custom role, the binding is permanently removed.", "flatPath": "v1/projects/{projectsId}/roles/{rolesId}", "httpMethod": "DELETE", "id": "iam.projects.roles.delete", @@ -869,7 +1005,7 @@ "type": "string" }, "name": { - "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.delete()`](/iam/reference/rest/v1/projects.roles/delete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.delete()`](/iam/reference/rest/v1/organizations.roles/delete): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", + "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles) or [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.delete()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/delete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.delete()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/delete): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", "location": "path", "pattern": "^projects/[^/]+/roles/[^/]+$", "required": true, @@ -894,7 +1030,7 @@ ], "parameters": { "name": { - "description": "The `name` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`roles.get()`](/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`. This method returns results from all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles/{ROLE_NAME}` * [`projects.roles.get()`](/iam/reference/rest/v1/projects.roles/get): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.get()`](/iam/reference/rest/v1/organizations.roles/get): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", + "description": "The `name` parameter's value depends on the target resource for the request, namely [`roles`](https://cloud.google.com/iam/reference/rest/v1/roles), [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles), or [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`roles.get()`](https://cloud.google.com/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`. This method returns results from all [predefined roles](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles/{ROLE_NAME}` * [`projects.roles.get()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/get): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.get()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/get): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", "location": "path", "pattern": "^projects/[^/]+/roles/[^/]+$", "required": true, @@ -930,7 +1066,7 @@ "type": "string" }, "parent": { - "description": "The `parent` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string. This method doesn't require a resource; it simply returns all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles` * [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list): `projects/{PROJECT_ID}`. This method lists all project-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.roles/list): `organizations/{ORGANIZATION_ID}`. This method lists all organization-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", + "description": "The `parent` parameter's value depends on the target resource for the request, namely [`roles`](https://cloud.google.com/iam/reference/rest/v1/roles), [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles), or [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`roles.list()`](https://cloud.google.com/iam/reference/rest/v1/roles/list): An empty string. This method doesn't require a resource; it simply returns all [predefined roles](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles` * [`projects.roles.list()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/list): `projects/{PROJECT_ID}`. This method lists all project-level [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.list()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/list): `organizations/{ORGANIZATION_ID}`. This method lists all organization-level [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -973,7 +1109,7 @@ ], "parameters": { "name": { - "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.patch()`](/iam/reference/rest/v1/projects.roles/patch): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.patch()`](/iam/reference/rest/v1/organizations.roles/patch): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", + "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles) or [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.patch()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/patch): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.patch()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/patch): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", "location": "path", "pattern": "^projects/[^/]+/roles/[^/]+$", "required": true, @@ -1007,7 +1143,7 @@ ], "parameters": { "name": { - "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.undelete()`](/iam/reference/rest/v1/projects.roles/undelete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.undelete()`](/iam/reference/rest/v1/organizations.roles/undelete): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", + "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles) or [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.undelete()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/undelete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes only [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.undelete()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/undelete): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes only [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", "location": "path", "pattern": "^projects/[^/]+/roles/[^/]+$", "required": true, @@ -1164,7 +1300,7 @@ ] }, "getIamPolicy": { - "description": "Gets the IAM policy that is attached to a ServiceAccount. This IAM policy specifies which members have access to the service account. This method does not tell you whether the service account has been granted any roles on other resources. To check whether a service account has role grants on a resource, use the `getIamPolicy` method for that resource. For example, to view the role grants for a project, call the Resource Manager API's [`projects.getIamPolicy`](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy) method.", + "description": "Gets the IAM policy that is attached to a ServiceAccount. This IAM policy specifies which principals have access to the service account. This method does not tell you whether the service account has been granted any roles on other resources. To check whether a service account has role grants on a resource, use the `getIamPolicy` method for that resource. For example, to view the role grants for a project, call the Resource Manager API's [`projects.getIamPolicy`](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy) method.", "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:getIamPolicy", "httpMethod": "POST", "id": "iam.projects.serviceAccounts.getIamPolicy", @@ -1173,7 +1309,7 @@ ], "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).", + "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" @@ -1259,7 +1395,7 @@ ] }, "setIamPolicy": { - "description": "Sets the IAM policy that is attached to a ServiceAccount. Use this method to grant or revoke access to the service account. For example, you could grant a member the ability to impersonate the service account. This method does not enable the service account to access other resources. To grant roles to a service account on a resource, follow these steps: 1. Call the resource's `getIamPolicy` method to get its current IAM policy. 2. Edit the policy so that it binds the service account to an IAM role for the resource. 3. Call the resource's `setIamPolicy` method to update its IAM policy. For detailed instructions, see [Granting roles to a service account for specific resources](https://cloud.google.com/iam/help/service-accounts/granting-access-to-service-accounts).", + "description": "Sets the IAM policy that is attached to a ServiceAccount. Use this method to grant or revoke access to the service account. For example, you could grant a principal the ability to impersonate the service account. This method does not enable the service account to access other resources. To grant roles to a service account on a resource, follow these steps: 1. Call the resource's `getIamPolicy` method to get its current IAM policy. 2. Edit the policy so that it binds the service account to an IAM role for the resource. 3. Call the resource's `setIamPolicy` method to update its IAM policy. For detailed instructions, see [Manage access to project, folders, and organizations](https://cloud.google.com/iam/help/service-accounts/granting-access-to-service-accounts) or [Manage access to other resources](https://cloud.google.com/iam/help/access/manage-other-resources).", "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:setIamPolicy", "httpMethod": "POST", "id": "iam.projects.serviceAccounts.setIamPolicy", @@ -1399,7 +1535,7 @@ ] }, "update": { - "description": "**Note:** We are in the process of deprecating this method. Use PatchServiceAccount instead. Updates a ServiceAccount. You can update only the `display_name` and `description` fields.", + "description": "**Note:** We are in the process of deprecating this method. Use PatchServiceAccount instead. Updates a ServiceAccount. You can update only the `display_name` field.", "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}", "httpMethod": "PUT", "id": "iam.projects.serviceAccounts.update", @@ -1483,6 +1619,62 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "disable": { + "description": "Disable a ServiceAccountKey. A disabled service account key can be enabled through EnableServiceAccountKey.", + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys/{keysId}:disable", + "httpMethod": "POST", + "id": "iam.projects.serviceAccounts.keys.disable", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the service account key in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.", + "location": "path", + "pattern": "^projects/[^/]+/serviceAccounts/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:disable", + "request": { + "$ref": "DisableServiceAccountKeyRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "enable": { + "description": "Enable a ServiceAccountKey.", + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys/{keysId}:enable", + "httpMethod": "POST", + "id": "iam.projects.serviceAccounts.keys.enable", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the service account key in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.", + "location": "path", + "pattern": "^projects/[^/]+/serviceAccounts/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:enable", + "request": { + "$ref": "EnableServiceAccountKeyRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Gets a ServiceAccountKey.", "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys/{keysId}", @@ -1500,14 +1692,14 @@ "type": "string" }, "publicKeyType": { - "description": "The output format of the public key requested. X509_PEM is the default output format.", + "description": "Optional. The output format of the public key. The default is `TYPE_NONE`, which means that the public key is not returned.", "enum": [ "TYPE_NONE", "TYPE_X509_PEM_FILE", "TYPE_RAW_PUBLIC_KEY" ], "enumDescriptions": [ - "Unspecified. Returns nothing here.", + "Do not return the public key.", "X509 PEM format.", "Raw public key." ], @@ -1610,7 +1802,7 @@ ], "parameters": { "name": { - "description": "The `name` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`roles.get()`](/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`. This method returns results from all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles/{ROLE_NAME}` * [`projects.roles.get()`](/iam/reference/rest/v1/projects.roles/get): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.get()`](/iam/reference/rest/v1/organizations.roles/get): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", + "description": "The `name` parameter's value depends on the target resource for the request, namely [`roles`](https://cloud.google.com/iam/reference/rest/v1/roles), [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles), or [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`roles.get()`](https://cloud.google.com/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`. This method returns results from all [predefined roles](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles/{ROLE_NAME}` * [`projects.roles.get()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/get): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.get()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/get): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", "location": "path", "pattern": "^roles/[^/]+$", "required": true, @@ -1644,7 +1836,7 @@ "type": "string" }, "parent": { - "description": "The `parent` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string. This method doesn't require a resource; it simply returns all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles` * [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list): `projects/{PROJECT_ID}`. This method lists all project-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.roles/list): `organizations/{ORGANIZATION_ID}`. This method lists all organization-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", + "description": "The `parent` parameter's value depends on the target resource for the request, namely [`roles`](https://cloud.google.com/iam/reference/rest/v1/roles), [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles), or [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`roles.list()`](https://cloud.google.com/iam/reference/rest/v1/roles/list): An empty string. This method doesn't require a resource; it simply returns all [predefined roles](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles` * [`projects.roles.list()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/list): `projects/{PROJECT_ID}`. This method lists all project-level [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.list()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/list): `organizations/{ORGANIZATION_ID}`. This method lists all organization-level [custom roles](https://cloud.google.com/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.", "location": "query", "type": "string" }, @@ -1696,7 +1888,7 @@ } } }, - "revision": "20210325", + "revision": "20220224", "rootUrl": "https://iam.googleapis.com/", "schemas": { "AdminAuditData": { @@ -1792,22 +1984,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -1911,6 +2103,12 @@ }, "type": "object" }, + "DisableServiceAccountKeyRequest": { + "description": "The service account key disable request.", + "id": "DisableServiceAccountKeyRequest", + "properties": {}, + "type": "object" + }, "DisableServiceAccountRequest": { "description": "The service account disable request.", "id": "DisableServiceAccountRequest", @@ -1923,6 +2121,12 @@ "properties": {}, "type": "object" }, + "EnableServiceAccountKeyRequest": { + "description": "The service account key enable request.", + "id": "EnableServiceAccountKeyRequest", + "properties": {}, + "type": "object" + }, "EnableServiceAccountRequest": { "description": "The service account enable request.", "id": "EnableServiceAccountRequest", @@ -2135,7 +2339,7 @@ "type": "array" }, "issuerUri": { - "description": "Required. The OIDC issuer URL.", + "description": "Required. The OIDC issuer URL. Must be an HTTPS endpoint.", "type": "string" } }, @@ -2206,7 +2410,7 @@ "NOT_SUPPORTED" ], "enumDescriptions": [ - "Permission is fully supported for custom role use.", + "Default state. Permission is fully supported for custom role use.", "Permission is being tested to check custom role compatibility.", "Permission is not supported for custom role use." ], @@ -2272,7 +2476,7 @@ "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/).", + "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": { @@ -2283,7 +2487,7 @@ "type": "array" }, "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.", + "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" }, @@ -2471,7 +2675,7 @@ "The user has indicated this role is currently in a Beta phase.", "The user has indicated this role is generally available.", "The user has indicated this role is being deprecated.", - "This role is disabled and will not contribute permissions to any members it is granted to in policies.", + "This role is disabled and will not contribute permissions to any principals it is granted to in policies.", "The user has indicated this role is currently in an EAP phase." ], "type": "string" @@ -2536,6 +2740,10 @@ "description": "Represents a service account key. A service account has two sets of key-pairs: user-managed, and system-managed. User-managed key-pairs can be created and deleted by users. Users are responsible for rotating these keys periodically to ensure security of their service accounts. Users retain the private key of these key-pairs, and Google retains ONLY the public key. System-managed keys are automatically rotated by Google, and are used for signing for a maximum of two weeks. The rotation process is probabilistic, and usage of the new key will gradually ramp up and down over the key's lifetime. If you cache the public key set for a service account, we recommend that you update the cache every 15 minutes. User-managed keys can be added and removed at any time, so it is important to update the cache frequently. For Google-managed keys, Google will publish a key at least 6 hours before it is first used for signing and will keep publishing it for at least 6 hours after it was last used for signing. Public keys for all service accounts are also published at the OAuth2 Service Account API.", "id": "ServiceAccountKey", "properties": { + "disabled": { + "description": "The key status.", + "type": "boolean" + }, "keyAlgorithm": { "description": "Specifies the algorithm (and possibly key size) for the key.", "enum": [ @@ -2668,7 +2876,7 @@ "id": "SignJwtRequest", "properties": { "payload": { - "description": "Required. Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The JWT payload to sign. Must be a serialized JSON object that contains a JWT Claims Set. For example: `{\"sub\": \"user@example.com\", \"iat\": 313435}` If the JWT Claims Set contains an expiration time (`exp`) claim, it must be an integer timestamp that is not in the past and no more than 1 hour in the future. If the JWT Claims Set does not contain an expiration time (`exp`) claim, this claim is added automatically, with a timestamp that is 1 hour in the future.", + "description": "Required. Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The JWT payload to sign. Must be a serialized JSON object that contains a JWT Claims Set. For example: `{\"sub\": \"user@example.com\", \"iat\": 313435}` If the JWT Claims Set contains an expiration time (`exp`) claim, it must be an integer timestamp that is not in the past and no more than 12 hours in the future. If the JWT Claims Set does not contain an expiration time (`exp`) claim, this claim is added automatically, with a timestamp that is 1 hour in the future.", "type": "string" } }, @@ -2847,7 +3055,7 @@ "additionalProperties": { "type": "string" }, - "description": "Maps attributes from authentication credentials issued by an external identity provider to Google Cloud attributes, such as `subject` and `segment`. Each key must be a string specifying the Google Cloud IAM attribute to map to. The following keys are supported: * `google.subject`: The principal IAM is authenticating. You can reference this value in IAM bindings. This is also the subject that appears in Cloud Logging logs. Cannot exceed 127 characters. * `google.groups`: Groups the external identity belongs to. You can grant groups access to resources using an IAM `principalSet` binding; access applies to all members of the group. You can also provide custom attributes by specifying `attribute.{custom_attribute}`, where `{custom_attribute}` is the name of the custom attribute to be mapped. You can define a maximum of 50 custom attributes. The maximum length of a mapped attribute key is 100 characters, and the key may only contain the characters [a-z0-9_]. You can reference these attributes in IAM policies to define fine-grained access for a workload to Google Cloud resources. For example: * `google.subject`: `principal://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/subject/{value}` * `google.groups`: `principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/group/{value}` * `attribute.{custom_attribute}`: `principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}` Each value must be a [Common Expression Language] (https://opensource.google/projects/cel) function that maps an identity provider credential to the normalized attribute specified by the corresponding map key. You can use the `assertion` keyword in the expression to access a JSON representation of the authentication credential issued by the provider. The maximum length of an attribute mapping expression is 2048 characters. When evaluated, the total size of all mapped attributes must not exceed 8KB. For AWS providers, if no attribute mapping is defined, the following default mapping applies: ``` { \"google.subject\":\"assertion.arn\", \"attribute.aws_role\": \"assertion.arn.contains('assumed-role')\" \" ? assertion.arn.extract('{account_arn}assumed-role/')\" \" + 'assumed-role/'\" \" + assertion.arn.extract('assumed-role/{role_name}/')\" \" : assertion.arn\", } ``` If any custom attribute mappings are defined, they must include a mapping to the `google.subject` attribute. For OIDC providers, you must supply a custom mapping, which must include the `google.subject` attribute. For example, the following maps the `sub` claim of the incoming credential to the `subject` attribute on a Google token: ``` {\"google.subject\": \"assertion.sub\"} ```", + "description": "Maps attributes from authentication credentials issued by an external identity provider to Google Cloud attributes, such as `subject` and `segment`. Each key must be a string specifying the Google Cloud IAM attribute to map to. The following keys are supported: * `google.subject`: The principal IAM is authenticating. You can reference this value in IAM bindings. This is also the subject that appears in Cloud Logging logs. Cannot exceed 127 bytes. * `google.groups`: Groups the external identity belongs to. You can grant groups access to resources using an IAM `principalSet` binding; access applies to all members of the group. You can also provide custom attributes by specifying `attribute.{custom_attribute}`, where `{custom_attribute}` is the name of the custom attribute to be mapped. You can define a maximum of 50 custom attributes. The maximum length of a mapped attribute key is 100 characters, and the key may only contain the characters [a-z0-9_]. You can reference these attributes in IAM policies to define fine-grained access for a workload to Google Cloud resources. For example: * `google.subject`: `principal://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/subject/{value}` * `google.groups`: `principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/group/{value}` * `attribute.{custom_attribute}`: `principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}` Each value must be a [Common Expression Language] (https://opensource.google/projects/cel) function that maps an identity provider credential to the normalized attribute specified by the corresponding map key. You can use the `assertion` keyword in the expression to access a JSON representation of the authentication credential issued by the provider. The maximum length of an attribute mapping expression is 2048 characters. When evaluated, the total size of all mapped attributes must not exceed 8KB. For AWS providers, if no attribute mapping is defined, the following default mapping applies: ``` { \"google.subject\":\"assertion.arn\", \"attribute.aws_role\": \"assertion.arn.contains('assumed-role')\" \" ? assertion.arn.extract('{account_arn}assumed-role/')\" \" + 'assumed-role/'\" \" + assertion.arn.extract('assumed-role/{role_name}/')\" \" : assertion.arn\", } ``` If any custom attribute mappings are defined, they must include a mapping to the `google.subject` attribute. For OIDC providers, you must supply a custom mapping, which must include the `google.subject` attribute. For example, the following maps the `sub` claim of the incoming credential to the `subject` attribute on a Google token: ``` {\"google.subject\": \"assertion.sub\"} ```", "type": "object" }, "aws": { diff --git a/etc/api/iamcredentials/v1/iamcredentials-api.json b/etc/api/iamcredentials/v1/iamcredentials-api.json index 0a82f4fa5e..ccacaa6b40 100644 --- a/etc/api/iamcredentials/v1/iamcredentials-api.json +++ b/etc/api/iamcredentials/v1/iamcredentials-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -226,14 +226,14 @@ } } }, - "revision": "20210326", + "revision": "20220225", "rootUrl": "https://iamcredentials.googleapis.com/", "schemas": { "GenerateAccessTokenRequest": { "id": "GenerateAccessTokenRequest", "properties": { "delegates": { - "description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", + "description": "The sequence of service accounts in a delegation chain. This field is required for [delegated requests](https://cloud.google.com/iam/help/credentials/delegated-request). For [direct requests](https://cloud.google.com/iam/help/credentials/direct-request), which are more common, do not specify this field. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", "items": { "type": "string" }, diff --git a/etc/api/iap/v1/iap-api.json b/etc/api/iap/v1/iap-api.json index e45a1a4c08..98de9bd71e 100644 --- a/etc/api/iap/v1/iap-api.json +++ b/etc/api/iap/v1/iap-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -110,7 +110,7 @@ "brands": { "methods": { "create": { - "description": "Constructs a new OAuth brand for the project if one does not exist. The created brand is \"internal only\", meaning that OAuth clients created under it only accept requests from users who belong to the same G Suite organization as the project. The brand is created in an un-reviewed status. NOTE: The \"internal only\" status can be manually changed in the Google Cloud console. Requires that a brand does not already exist for the project, and that the specified support email is owned by the caller.", + "description": "Constructs a new OAuth brand for the project if one does not exist. The created brand is \"internal only\", meaning that OAuth clients created under it only accept requests from users who belong to the same Google Workspace organization as the project. The brand is created in an un-reviewed status. NOTE: The \"internal only\" status can be manually changed in the Google Cloud Console. Requires that a brand does not already exist for the project, and that the specified support email is owned by the caller.", "flatPath": "v1/projects/{projectsId}/brands", "httpMethod": "POST", "id": "iap.projects.brands.create", @@ -487,7 +487,7 @@ } } }, - "revision": "20210326", + "revision": "20220225", "rootUrl": "https://iap.googleapis.com/", "schemas": { "AccessDeniedPageSettings": { @@ -497,6 +497,10 @@ "accessDeniedPageUri": { "description": "The URI to be redirected to when access is denied.", "type": "string" + }, + "generateTroubleshootingUri": { + "description": "Whether to generate a troubleshooting URL on access denied events to this application.", + "type": "boolean" } }, "type": "object" @@ -520,6 +524,10 @@ "policyDelegationSettings": { "$ref": "PolicyDelegationSettings", "description": "Settings to configure Policy delegation for apps hosted in tenant projects. INTERNAL_ONLY." + }, + "reauthSettings": { + "$ref": "ReauthSettings", + "description": "Settings to configure reauthentication policies in IAP." } }, "type": "object" @@ -544,22 +552,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -675,7 +683,7 @@ "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).", + "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" } @@ -766,11 +774,11 @@ "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/).", + "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` 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.", + "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" }, @@ -813,9 +821,11 @@ "type": "object" }, "PolicyName": { + "description": "An internal name for an IAM policy, based on the resource to which the policy applies. Not to be confused with a resource's external full resource name. For more information on this distinction, see go/iam-full-resource-names.", "id": "PolicyName", "properties": { "id": { + "description": "Identifies an instance of the type. ID format varies by type. The ID format is defined in the IAM .service file that defines the type, either in path_mapping or in a comment.", "type": "string" }, "region": { @@ -823,7 +833,49 @@ "type": "string" }, "type": { - "description": "Valid values for type might be 'gce', 'gcs', 'project', 'account' etc.", + "description": "Resource type. Types are defined in IAM's .service files. Valid values for type might be 'gce', 'gcs', 'project', 'account' etc.", + "type": "string" + } + }, + "type": "object" + }, + "ReauthSettings": { + "description": "Configuration for IAP reauthentication policies.", + "id": "ReauthSettings", + "properties": { + "maxAge": { + "description": "Reauth session lifetime, how long before a user has to reauthenticate again.", + "format": "google-duration", + "type": "string" + }, + "method": { + "description": "Reauth method required by the policy.", + "enum": [ + "METHOD_UNSPECIFIED", + "LOGIN", + "PASSWORD", + "SECURE_KEY" + ], + "enumDescriptions": [ + "Reauthentication disabled.", + "Mimicks the behavior as if the user had logged out and tried to log in again. Users with 2SV (step verification) enabled will see their 2SV challenges if they did not opt to have their second factor responses saved. Apps Core (GSuites) admins can configure settings to disable 2SV cookies and require 2-step verification for all Apps Core users in their domains.", + "User must type their password.", + "User must use their secure key 2nd factor device." + ], + "type": "string" + }, + "policyType": { + "description": "How IAP determines the effective policy in cases of hierarchial policies. Policies are merged from higher in the hierarchy to lower in the hierarchy.", + "enum": [ + "POLICY_TYPE_UNSPECIFIED", + "MINIMUM", + "DEFAULT" + ], + "enumDescriptions": [ + "Default value. This value is unused/invalid.", + "This policy acts as a minimum to other policies, lower in the hierarchy. Effective policy may only be the same or stricter.", + "This policy acts as a default if no other reauth policy is set." + ], "type": "string" } }, diff --git a/etc/api/iap/v1beta1/iap-api.json b/etc/api/iap/v1beta1/iap-api.json index 793935f66b..45f4db82a7 100644 --- a/etc/api/iap/v1beta1/iap-api.json +++ b/etc/api/iap/v1beta1/iap-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -194,26 +194,26 @@ } } }, - "revision": "20210326", + "revision": "20220225", "rootUrl": "https://iap.googleapis.com/", "schemas": { "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -258,7 +258,7 @@ "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).", + "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" } @@ -266,11 +266,11 @@ "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/).", + "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` 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.", + "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" }, diff --git a/etc/api/ideahub/v1alpha/ideahub-api.json b/etc/api/ideahub/v1alpha/ideahub-api.json new file mode 100644 index 0000000000..90cf06482c --- /dev/null +++ b/etc/api/ideahub/v1alpha/ideahub-api.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": "20220305", + "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/etc/api/ideahub/v1beta/ideahub-api.json b/etc/api/ideahub/v1beta/ideahub-api.json new file mode 100644 index 0000000000..e66387c70c --- /dev/null +++ b/etc/api/ideahub/v1beta/ideahub-api.json @@ -0,0 +1,475 @@ +{ + "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:v1beta", + "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": { + "platforms": { + "resources": { + "properties": { + "resources": { + "ideaActivities": { + "methods": { + "create": { + "description": "Creates an idea activity entry.", + "flatPath": "v1beta/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": "v1beta/{+parent}/ideaActivities", + "request": { + "$ref": "GoogleSearchIdeahubV1betaIdeaActivity" + }, + "response": { + "$ref": "GoogleSearchIdeahubV1betaIdeaActivity" + } + } + } + }, + "ideaStates": { + "methods": { + "patch": { + "description": "Update an idea state resource.", + "flatPath": "v1beta/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": "v1beta/{+name}", + "request": { + "$ref": "GoogleSearchIdeahubV1betaIdeaState" + }, + "response": { + "$ref": "GoogleSearchIdeahubV1betaIdeaState" + } + } + } + }, + "ideas": { + "methods": { + "list": { + "description": "List ideas for a given Creator and filter and sort options.", + "flatPath": "v1beta/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": "Required. 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": "v1beta/{+parent}/ideas", + "response": { + "$ref": "GoogleSearchIdeahubV1betaListIdeasResponse" + } + } + } + }, + "locales": { + "methods": { + "list": { + "description": "Returns which locales ideas are available in for a given Creator.", + "flatPath": "v1beta/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": "v1beta/{+parent}/locales", + "response": { + "$ref": "GoogleSearchIdeahubV1betaListAvailableLocalesResponse" + } + } + } + }, + "topicStates": { + "methods": { + "patch": { + "description": "Update a topic state resource.", + "flatPath": "v1beta/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": "v1beta/{+name}", + "request": { + "$ref": "GoogleSearchIdeahubV1betaTopicState" + }, + "response": { + "$ref": "GoogleSearchIdeahubV1betaTopicState" + } + } + } + } + } + } + } + } + }, + "revision": "20220305", + "rootUrl": "https://ideahub.googleapis.com/", + "schemas": { + "GoogleSearchIdeahubV1betaAvailableLocale": { + "description": "Represents locales that are available for a web property.", + "id": "GoogleSearchIdeahubV1betaAvailableLocale", + "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" + }, + "GoogleSearchIdeahubV1betaIdea": { + "description": "A single Idea that we want to show the end user.", + "id": "GoogleSearchIdeahubV1betaIdea", + "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": "GoogleSearchIdeahubV1betaTopic" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleSearchIdeahubV1betaIdeaActivity": { + "description": "An idea activity entry.", + "id": "GoogleSearchIdeahubV1betaIdeaActivity", + "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" + }, + "GoogleSearchIdeahubV1betaIdeaState": { + "description": "Represents idea state specific to a web property.", + "id": "GoogleSearchIdeahubV1betaIdeaState", + "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" + }, + "GoogleSearchIdeahubV1betaListAvailableLocalesResponse": { + "description": "Response for whether ideas are available for a given web property on a platform, for the currently logged-in user.", + "id": "GoogleSearchIdeahubV1betaListAvailableLocalesResponse", + "properties": { + "availableLocales": { + "description": "Locales for which ideas are available for the given Creator.", + "items": { + "$ref": "GoogleSearchIdeahubV1betaAvailableLocale" + }, + "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" + }, + "GoogleSearchIdeahubV1betaListIdeasResponse": { + "id": "GoogleSearchIdeahubV1betaListIdeasResponse", + "properties": { + "ideas": { + "description": "Results for the ListIdeasRequest.", + "items": { + "$ref": "GoogleSearchIdeahubV1betaIdea" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Used to fetch the next page in a subsequent request.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleSearchIdeahubV1betaTopic": { + "description": "Represents a Topic umbrella for a list of questions that a Creator may want to respond to.", + "id": "GoogleSearchIdeahubV1betaTopic", + "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" + }, + "GoogleSearchIdeahubV1betaTopicState": { + "description": "Represents topic state specific to a web property.", + "id": "GoogleSearchIdeahubV1betaTopicState", + "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": "v1beta", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/ids/v1/ids-api.json b/etc/api/ids/v1/ids-api.json new file mode 100644 index 0000000000..9ead51e488 --- /dev/null +++ b/etc/api/ids/v1/ids-api.json @@ -0,0 +1,1016 @@ +{ + "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://ids.googleapis.com/", + "batchPath": "batch", + "canonicalName": "IDS", + "description": "Cloud IDS (Cloud Intrusion Detection System) detects malware, spyware, command-and-control attacks, and other network-based threats. Its security efficacy is industry leading, built with Palo Alto Networks technologies. When you use this product, your organization name and consumption levels will be shared with Palo Alto Networks.", + "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": "ids:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://ids.mtls.googleapis.com/", + "name": "ids", + "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": "ids.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": "ids.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": { + "endpoints": { + "methods": { + "create": { + "description": "Creates a new Endpoint in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints", + "httpMethod": "POST", + "id": "ids.projects.locations.endpoints.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "endpointId": { + "description": "Required. The endpoint identifier. This will be part of the endpoint's resource name. This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens, and cannot end with a hyphen. Values that do not match this pattern will trigger an INVALID_ARGUMENT error.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The endpoint's parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, 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}/endpoints", + "request": { + "$ref": "Endpoint" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single Endpoint.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}", + "httpMethod": "DELETE", + "id": "ids.projects.locations.endpoints.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the endpoint to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, 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 Endpoint.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}", + "httpMethod": "GET", + "id": "ids.projects.locations.endpoints.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the endpoint to retrieve. Format: projects/{project}/locations/{location}/endpoints/{endpoint}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Endpoint" + }, + "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}/endpoints/{endpointsId}:getIamPolicy", + "httpMethod": "GET", + "id": "ids.projects.locations.endpoints.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Endpoints in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints", + "httpMethod": "GET", + "id": "ids.projects.locations.endpoints.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter expression, following the syntax outlined in https://google.aip.dev/160.", + "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. The maximum number of endpoints to return. The service may return fewer than this value.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListEndpoints` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEndpoints` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns this collection of endpoints.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/endpoints", + "response": { + "$ref": "ListEndpointsResponse" + }, + "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}/endpoints/{endpointsId}:setIamPolicy", + "httpMethod": "POST", + "id": "ids.projects.locations.endpoints.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/[^/]+/endpoints/[^/]+$", + "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}/endpoints/{endpointsId}:testIamPermissions", + "httpMethod": "POST", + "id": "ids.projects.locations.endpoints.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/[^/]+/endpoints/[^/]+$", + "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": "ids.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": "ids.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": "ids.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`. 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": "v1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "ids.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": "20220221", + "rootUrl": "https://ids.googleapis.com/", + "schemas": { + "AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the principals requesting access for a 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 the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "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" + }, + "Endpoint": { + "description": "Endpoint describes a single IDS endpoint. It defines a forwarding rule to which packets can be sent for IDS inspection.", + "id": "Endpoint", + "properties": { + "createTime": { + "description": "Output only. The create time timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "User-provided description of the endpoint", + "type": "string" + }, + "endpointForwardingRule": { + "description": "Output only. The fully qualified URL of the endpoint's ILB Forwarding Rule.", + "readOnly": true, + "type": "string" + }, + "endpointIp": { + "description": "Output only. The IP address of the IDS Endpoint's ILB.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The labels of the endpoint.", + "type": "object" + }, + "name": { + "description": "Output only. The name of the endpoint.", + "readOnly": true, + "type": "string" + }, + "network": { + "description": "Required. The fully qualified URL of the network to which the IDS Endpoint is attached.", + "type": "string" + }, + "severity": { + "description": "Required. Lowest threat severity that this endpoint will alert on.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "INFORMATIONAL", + "LOW", + "MEDIUM", + "HIGH", + "CRITICAL" + ], + "enumDescriptions": [ + "Not set.", + "Informational alerts.", + "Low severity alerts.", + "Medium severity alerts.", + "High severity alerts.", + "Critical severity alerts." + ], + "type": "string" + }, + "state": { + "description": "Output only. Current state of the endpoint.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "DELETING" + ], + "enumDescriptions": [ + "Not set.", + "Being created.", + "Active and ready for traffic.", + "Being deleted." + ], + "readOnly": true, + "type": "string" + }, + "trafficLogs": { + "description": "Whether the endpoint should report traffic logs in addition to threat logs.", + "type": "boolean" + }, + "updateTime": { + "description": "Output only. The update time timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", + "type": "string" + } + }, + "type": "object" + }, + "ListEndpointsResponse": { + "id": "ListEndpointsResponse", + "properties": { + "endpoints": { + "description": "The list of endpoints response.", + "items": { + "$ref": "Endpoint" + }, + "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" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform 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 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" + }, + "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" + }, + "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" + }, + "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." + }, + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Cloud IDS API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/indexing/v3/indexing-api.json b/etc/api/indexing/v3/indexing-api.json index b84c92c237..0e506cd9b8 100644 --- a/etc/api/indexing/v3/indexing-api.json +++ b/etc/api/indexing/v3/indexing-api.json @@ -149,7 +149,7 @@ } } }, - "revision": "20210323", + "revision": "20220126", "rootUrl": "https://indexing.googleapis.com/", "schemas": { "PublishUrlNotificationResponse": { diff --git a/etc/api/jobs/v3/jobs-api.json b/etc/api/jobs/v3/jobs-api.json index c4ceea2edc..09797fdedf 100644 --- a/etc/api/jobs/v3/jobs-api.json +++ b/etc/api/jobs/v3/jobs-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." }, "https://www.googleapis.com/auth/jobs": { "description": "Manage job postings" @@ -508,7 +508,7 @@ ], "parameters": { "filter": { - "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 = \"projects/api-test-project/companies/123\" * companyName = \"projects/api-test-project/companies/123\" AND requisitionId = \"req-1\"", + "description": "Required. The filter string specifies the jobs to be enumerated. Supported operator: =, AND The fields eligible for filtering are: * `companyName` * `requisitionId` * `status` Available values: OPEN, EXPIRED, ALL. Defaults to OPEN if no value is specified. At least one of `companyName` and `requisitionId` must present or an INVALID_ARGUMENT error is thrown. Sample Query: * companyName = \"projects/api-test-project/companies/123\" * companyName = \"projects/api-test-project/companies/123\" AND requisitionId = \"req-1\" * companyName = \"projects/api-test-project/companies/123\" AND status = \"EXPIRED\" * requisitionId = \"req-1\" * requisitionId = \"req-1\" AND status = \"EXPIRED\"", "location": "query", "type": "string" }, @@ -651,7 +651,7 @@ } } }, - "revision": "20210309", + "revision": "20220211", "rootUrl": "https://jobs.googleapis.com/", "schemas": { "ApplicationInfo": { @@ -1489,7 +1489,7 @@ "id": "Job", "properties": { "addresses": { - "description": "Optional but 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', etc.) as multiple jobs with the same company_name, 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.", + "description": "Optional but 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', etc.) as multiple jobs with the same company_name, language_code and requisition_id are not allowed. If the original requisition_id must be preserved, a custom field should be used for storage. It is also suggested to group the locations that close to each other in the same job for better search experience. Jobs with multiple addresses must have their addresses with the same LocationType to allow location filtering to work properly. (For example, a Job with addresses \"1600 Amphitheatre Parkway, Mountain View, CA, USA\" and \"London, UK\" may not have location filters applied correctly at search time since the first is a LocationType.STREET_ADDRESS and the second is a LocationType.LOCALITY.) If a job needs to have multiple addresses, it is suggested to split it into multiple jobs with same LocationTypes. The maximum number of allowed characters is 500.", "items": { "type": "string" }, @@ -1919,7 +1919,7 @@ "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 > $15\", only jobs meeting these criteria are searched. If a filter isn't defined, all open jobs are searched." }, "customAttributeFilter": { - "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 SQL syntax. Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where the left of the operator is a custom field key and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\\") characters. Supported functions are `LOWER([field_name])` to perform a case insensitive match and `EMPTY([field_name])` to filter on the existence of a key. Boolean expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for example, \"((A AND B AND C) OR NOT D) AND E\"), a maximum of 100 comparisons or functions are allowed in the expression. The expression must be < 6000 bytes in length. Sample Query: `(LOWER(driving_license)=\"class \\\"a\\\"\" OR EMPTY(driving_license)) AND driving_years > 10`", + "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 SQL syntax. Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where the left of the operator is a custom field key and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\\") characters. Supported functions are `LOWER([field_name])` to perform a case insensitive match and `EMPTY([field_name])` to filter on the existence of a key. Boolean expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for example, \"((A AND B AND C) OR NOT D) AND E\"), a maximum of 100 comparisons or functions are allowed in the expression. The expression must be < 10000 bytes in length. Sample Query: `(LOWER(driving_license)=\"class \\\"a\\\"\" OR EMPTY(driving_license)) AND driving_years > 10`", "type": "string" }, "disableSpellCheck": { @@ -2062,7 +2062,7 @@ "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 must conform to the WGS84 standard. Values must be within normalized ranges.", + "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": { diff --git a/etc/api/jobs/v3p1beta1/jobs-api.json b/etc/api/jobs/v3p1beta1/jobs-api.json index ee1ef79208..6ee0030e6c 100644 --- a/etc/api/jobs/v3p1beta1/jobs-api.json +++ b/etc/api/jobs/v3p1beta1/jobs-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." }, "https://www.googleapis.com/auth/jobs": { "description": "Manage job postings" @@ -508,7 +508,7 @@ ], "parameters": { "filter": { - "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 = \"projects/api-test-project/companies/123\" * companyName = \"projects/api-test-project/companies/123\" AND requisitionId = \"req-1\"", + "description": "Required. The filter string specifies the jobs to be enumerated. Supported operator: =, AND The fields eligible for filtering are: * `companyName` * `requisitionId` * `status` Available values: OPEN, EXPIRED, ALL. Defaults to OPEN if no value is specified. At least one of `companyName` and `requisitionId` must present or an INVALID_ARGUMENT error is thrown. Sample Query: * companyName = \"projects/api-test-project/companies/123\" * companyName = \"projects/api-test-project/companies/123\" AND requisitionId = \"req-1\" * companyName = \"projects/api-test-project/companies/123\" AND status = \"EXPIRED\" * requisitionId = \"req-1\" * requisitionId = \"req-1\" AND status = \"EXPIRED\"", "location": "query", "type": "string" }, @@ -681,7 +681,7 @@ } } }, - "revision": "20210309", + "revision": "20220211", "rootUrl": "https://jobs.googleapis.com/", "schemas": { "ApplicationInfo": { @@ -1355,7 +1355,7 @@ "type": "string" }, "rankingExpression": { - "description": "Required. Controls over how job documents get ranked on top of existing relevance score (determined by API algorithm). A combination of the ranking expression and relevance score is used to determine job's final ranking position. The syntax for this expression is a subset of Google SQL syntax. Supported operators are: +, -, *, /, where the left and right side of the operator is either a numeric Job.custom_attributes key, integer/double value or an expression that can be evaluated to a number. Parenthesis are supported to adjust calculation precedence. The expression must be < 100 characters in length. The expression is considered invalid for a job if the expression references custom attributes that are not populated on the job or if the expression results in a divide by zero. If an expression is invalid for a job, that job is demoted to the end of the results. Sample ranking expression (year + 25) * 0.25 - (freshness / 0.5)", + "description": "Required. Controls over how job documents get ranked on top of existing relevance score (determined by API algorithm). A combination of the ranking expression and relevance score is used to determine job's final ranking position. The syntax for this expression is a subset of Google SQL syntax. Supported operators are: +, -, *, /, where the left and right side of the operator is either a numeric Job.custom_attributes key, integer/double value or an expression that can be evaluated to a number. Parenthesis are supported to adjust calculation precedence. The expression must be < 200 characters in length. The expression is considered invalid for a job if the expression references custom attributes that are not populated on the job or if the expression results in a divide by zero. If an expression is invalid for a job, that job is demoted to the end of the results. Sample ranking expression (year + 25) * 0.25 - (freshness / 0.5)", "type": "string" } }, @@ -1471,7 +1471,7 @@ "id": "HistogramQuery", "properties": { "histogramQuery": { - "description": "An expression specifies a histogram request against matching resources (for example, jobs) for searches. Expression syntax is a aggregation function call with histogram facets and other options. Available aggregation function calls are: * `count(string_histogram_facet)`: Count the number of matching entity, for each distinct attribute value. * `count(numeric_histogram_facet, list of buckets)`: Count the number of matching entity within each bucket. Data types: * Histogram facet: facet names with format a-zA-Z+. * String: string like \"any string with backslash escape for quote(\\\").\" * Number: whole number and floating point number like 10, -1 and -0.01. * List: list of elements with comma(,) separator surrounded by square brackets. For example, [1, 2, 3] and [\"one\", \"two\", \"three\"]. Built-in constants: * MIN (minimum number similar to java Double.MIN_VALUE) * MAX (maximum number similar to java Double.MAX_VALUE) Built-in functions: * bucket(start, end[, label]): bucket built-in function creates a bucket with range of start, end). Note that the end is exclusive. For example, bucket(1, MAX, \"positive number\") or bucket(1, 10). Job histogram facets: * company_id: histogram by [Job.distributor_company_id. * company_display_name: histogram by Job.company_display_name. * employment_type: histogram by Job.employment_types. For example, \"FULL_TIME\", \"PART_TIME\". * company_size: histogram by CompanySize, for example, \"SMALL\", \"MEDIUM\", \"BIG\". * publish_time_in_month: histogram by the Job.publish_time in months. Must specify list of numeric buckets in spec. * publish_time_in_year: histogram by the Job.publish_time in years. Must specify list of numeric buckets in spec. * degree_type: histogram by the Job.degree_type. For example, \"Bachelors\", \"Masters\". * job_level: histogram by the Job.job_level. For example, \"Entry Level\". * country: histogram by the country code of jobs. For example, \"US\", \"FR\". * admin1: histogram by the admin1 code of jobs, which is a global placeholder referring to the state, province, or the particular term a country uses to define the geographic structure below the country level. For example, \"CA\", \"IL\". * city: histogram by a combination of the \"city name, admin1 code\". For example, \"Mountain View, CA\", \"New York, NY\". * admin1_country: histogram by a combination of the \"admin1 code, country\". For example, \"CA, US\", \"IL, US\". * city_coordinate: histogram by the city center's GPS coordinates (latitude and longitude). For example, 37.4038522,-122.0987765. Since the coordinates of a city center can change, customers may need to refresh them periodically. * locale: histogram by the Job.language_code. For example, \"en-US\", \"fr-FR\". * language: histogram by the language subtag of the Job.language_code. For example, \"en\", \"fr\". * category: histogram by the JobCategory. For example, \"COMPUTER_AND_IT\", \"HEALTHCARE\". * base_compensation_unit: histogram by the CompensationUnit of base salary. For example, \"WEEKLY\", \"MONTHLY\". * base_compensation: histogram by the base salary. Must specify list of numeric buckets to group results by. * annualized_base_compensation: histogram by the base annualized salary. Must specify list of numeric buckets to group results by. * annualized_total_compensation: histogram by the total annualized salary. Must specify list of numeric buckets to group results by. * string_custom_attribute: histogram by string Job.custom_attributes. Values can be accessed via square bracket notations like string_custom_attribute[\"key1\"]. * numeric_custom_attribute: histogram by numeric Job.custom_attributes. Values can be accessed via square bracket notations like numeric_custom_attribute[\"key1\"]. Must specify list of numeric buckets to group results by. Example expressions: * count(admin1) * count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000), bucket(100000, MAX)]) * count(string_custom_attribute[\"some-string-custom-attribute\"]) * count(numeric_custom_attribute[\"some-numeric-custom-attribute\"], [bucket(MIN, 0, \"negative\"), bucket(0, MAX, \"non-negative\"])", + "description": "An expression specifies a histogram request against matching resources (for example, jobs) for searches. Expression syntax is a aggregation function call with histogram facets and other options. Available aggregation function calls are: * `count(string_histogram_facet)`: Count the number of matching entity, for each distinct attribute value. * `count(numeric_histogram_facet, list of buckets)`: Count the number of matching entity within each bucket. Data types: * Histogram facet: facet names with format a-zA-Z+. * String: string like \"any string with backslash escape for quote(\\\").\" * Number: whole number and floating point number like 10, -1 and -0.01. * List: list of elements with comma(,) separator surrounded by square brackets. For example, [1, 2, 3] and [\"one\", \"two\", \"three\"]. Built-in constants: * MIN (minimum number similar to java Double.MIN_VALUE) * MAX (maximum number similar to java Double.MAX_VALUE) Built-in functions: * bucket(start, end[, label]): bucket built-in function creates a bucket with range of start, end). Note that the end is exclusive. For example, bucket(1, MAX, \"positive number\") or bucket(1, 10). Job histogram facets: * company_id: histogram by [Job.distributor_company_id. * company_display_name: histogram by Job.company_display_name. * employment_type: histogram by Job.employment_types. For example, \"FULL_TIME\", \"PART_TIME\". * company_size: histogram by CompanySize, for example, \"SMALL\", \"MEDIUM\", \"BIG\". * publish_time_in_day: histogram by the Job.publish_time in days. Must specify list of numeric buckets in spec. * publish_time_in_month: histogram by the Job.publish_time in months. Must specify list of numeric buckets in spec. * publish_time_in_year: histogram by the Job.publish_time in years. Must specify list of numeric buckets in spec. * degree_type: histogram by the Job.degree_type. For example, \"Bachelors\", \"Masters\". * job_level: histogram by the Job.job_level. For example, \"Entry Level\". * country: histogram by the country code of jobs. For example, \"US\", \"FR\". * admin1: histogram by the admin1 code of jobs, which is a global placeholder referring to the state, province, or the particular term a country uses to define the geographic structure below the country level. For example, \"CA\", \"IL\". * city: histogram by a combination of the \"city name, admin1 code\". For example, \"Mountain View, CA\", \"New York, NY\". * admin1_country: histogram by a combination of the \"admin1 code, country\". For example, \"CA, US\", \"IL, US\". * city_coordinate: histogram by the city center's GPS coordinates (latitude and longitude). For example, 37.4038522,-122.0987765. Since the coordinates of a city center can change, customers may need to refresh them periodically. * locale: histogram by the Job.language_code. For example, \"en-US\", \"fr-FR\". * language: histogram by the language subtag of the Job.language_code. For example, \"en\", \"fr\". * category: histogram by the JobCategory. For example, \"COMPUTER_AND_IT\", \"HEALTHCARE\". * base_compensation_unit: histogram by the CompensationUnit of base salary. For example, \"WEEKLY\", \"MONTHLY\". * base_compensation: histogram by the base salary. Must specify list of numeric buckets to group results by. * annualized_base_compensation: histogram by the base annualized salary. Must specify list of numeric buckets to group results by. * annualized_total_compensation: histogram by the total annualized salary. Must specify list of numeric buckets to group results by. * string_custom_attribute: histogram by string Job.custom_attributes. Values can be accessed via square bracket notations like string_custom_attribute[\"key1\"]. * numeric_custom_attribute: histogram by numeric Job.custom_attributes. Values can be accessed via square bracket notations like numeric_custom_attribute[\"key1\"]. Must specify list of numeric buckets to group results by. Example expressions: * count(admin1) * count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000), bucket(100000, MAX)]) * count(string_custom_attribute[\"some-string-custom-attribute\"]) * count(numeric_custom_attribute[\"some-numeric-custom-attribute\"], [bucket(MIN, 0, \"negative\"), bucket(0, MAX, \"non-negative\")])", "type": "string" } }, @@ -1586,7 +1586,7 @@ "id": "Job", "properties": { "addresses": { - "description": "Optional but 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', etc.) as multiple jobs with the same company_name, 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.", + "description": "Optional but 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', etc.) as multiple jobs with the same company_name, language_code and requisition_id are not allowed. If the original requisition_id must be preserved, a custom field should be used for storage. It is also suggested to group the locations that close to each other in the same job for better search experience. Jobs with multiple addresses must have their addresses with the same LocationType to allow location filtering to work properly. (For example, a Job with addresses \"1600 Amphitheatre Parkway, Mountain View, CA, USA\" and \"London, UK\" may not have location filters applied correctly at search time since the first is a LocationType.STREET_ADDRESS and the second is a LocationType.LOCALITY.) If a job needs to have multiple addresses, it is suggested to split it into multiple jobs with same LocationTypes. The maximum number of allowed characters is 500.", "items": { "type": "string" }, @@ -2016,7 +2016,7 @@ "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 > $15\", only jobs meeting these criteria are searched. If a filter isn't defined, all open jobs are searched." }, "customAttributeFilter": { - "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 SQL syntax. Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where the left of the operator is a custom field key and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\\") characters. Supported functions are `LOWER([field_name])` to perform a case insensitive match and `EMPTY([field_name])` to filter on the existence of a key. Boolean expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for example, \"((A AND B AND C) OR NOT D) AND E\"), a maximum of 100 comparisons or functions are allowed in the expression. The expression must be < 6000 bytes in length. Sample Query: `(LOWER(driving_license)=\"class \\\"a\\\"\" OR EMPTY(driving_license)) AND driving_years > 10`", + "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 SQL syntax. Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where the left of the operator is a custom field key and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\\") characters. Supported functions are `LOWER([field_name])` to perform a case insensitive match and `EMPTY([field_name])` to filter on the existence of a key. Boolean expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for example, \"((A AND B AND C) OR NOT D) AND E\"), a maximum of 100 comparisons or functions are allowed in the expression. The expression must be < 10000 bytes in length. Sample Query: `(LOWER(driving_license)=\"class \\\"a\\\"\" OR EMPTY(driving_license)) AND driving_years > 10`", "type": "string" }, "disableSpellCheck": { @@ -2166,7 +2166,7 @@ "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 must conform to the WGS84 standard. Values must be within normalized ranges.", + "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": { diff --git a/etc/api/jobs/v4/jobs-api.json b/etc/api/jobs/v4/jobs-api.json index 76ce6824ab..8cf087a0d0 100644 --- a/etc/api/jobs/v4/jobs-api.json +++ b/etc/api/jobs/v4/jobs-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." }, "https://www.googleapis.com/auth/jobs": { "description": "Manage job postings" @@ -752,7 +752,7 @@ ], "parameters": { "filter": { - "description": "Required. The filter string specifies the jobs to be enumerated. Supported operator: =, AND The fields eligible for filtering are: * `companyName` (Required) * `requisitionId` * `status` Available values: OPEN, EXPIRED, ALL. Defaults to OPEN if no value is specified. Sample Query: * companyName = \"projects/foo/tenants/bar/companies/baz\" * companyName = \"projects/foo/tenants/bar/companies/baz\" AND requisitionId = \"req-1\" * companyName = \"projects/foo/tenants/bar/companies/baz\" AND status = \"EXPIRED\"", + "description": "Required. The filter string specifies the jobs to be enumerated. Supported operator: =, AND The fields eligible for filtering are: * `companyName` * `requisitionId` * `status` Available values: OPEN, EXPIRED, ALL. Defaults to OPEN if no value is specified. At least one of `companyName` and `requisitionId` must present or an INVALID_ARGUMENT error is thrown. Sample Query: * companyName = \"projects/foo/tenants/bar/companies/baz\" * companyName = \"projects/foo/tenants/bar/companies/baz\" AND requisitionId = \"req-1\" * companyName = \"projects/foo/tenants/bar/companies/baz\" AND status = \"EXPIRED\" * requisitionId = \"req-1\" * requisitionId = \"req-1\" AND status = \"EXPIRED\"", "location": "query", "type": "string" }, @@ -903,7 +903,7 @@ } } }, - "revision": "20210309", + "revision": "20220211", "rootUrl": "https://jobs.googleapis.com/", "schemas": { "ApplicationInfo": { @@ -1124,12 +1124,18 @@ "enum": [ "COMMUTE_METHOD_UNSPECIFIED", "DRIVING", - "TRANSIT" + "TRANSIT", + "WALKING", + "CYCLING", + "TRANSIT_ACCESSIBLE" ], "enumDescriptions": [ "Commute method isn't specified.", "Commute time is calculated based on driving time.", - "Commute time is calculated based on public transit including bus, metro, subway, and so on." + "Commute time is calculated based on public transit including bus, metro, subway, and so on.", + "Commute time is calculated based on walking time.", + "Commute time is calculated based on biking time.", + "Commute time is calculated based on public transit that is wheelchair accessible." ], "type": "string" }, @@ -1553,7 +1559,7 @@ "type": "string" }, "rankingExpression": { - "description": "Required. Controls over how job documents get ranked on top of existing relevance score (determined by API algorithm). A combination of the ranking expression and relevance score is used to determine job's final ranking position. The syntax for this expression is a subset of Google SQL syntax. Supported operators are: +, -, *, /, where the left and right side of the operator is either a numeric Job.custom_attributes key, integer/double value or an expression that can be evaluated to a number. Parenthesis are supported to adjust calculation precedence. The expression must be < 100 characters in length. The expression is considered invalid for a job if the expression references custom attributes that are not populated on the job or if the expression results in a divide by zero. If an expression is invalid for a job, that job is demoted to the end of the results. Sample ranking expression (year + 25) * 0.25 - (freshness / 0.5)", + "description": "Required. Controls over how job documents get ranked on top of existing relevance score (determined by API algorithm). A combination of the ranking expression and relevance score is used to determine job's final ranking position. The syntax for this expression is a subset of Google SQL syntax. Supported operators are: +, -, *, /, where the left and right side of the operator is either a numeric Job.custom_attributes key, integer/double value or an expression that can be evaluated to a number. Parenthesis are supported to adjust calculation precedence. The expression must be < 200 characters in length. The expression is considered invalid for a job if the expression references custom attributes that are not populated on the job or if the expression results in a divide by zero. If an expression is invalid for a job, that job is demoted to the end of the results. Sample ranking expression (year + 25) * 0.25 - (freshness / 0.5)", "type": "string" } }, @@ -1633,7 +1639,7 @@ "id": "Job", "properties": { "addresses": { - "description": "Strongly recommended for the best service experience. Location(s) where the employer is looking to hire for this job posting. Specifying the full street address(es) of the hiring location enables better API results, especially job searches by commute time. At most 50 locations are allowed for best search performance. If a job has more locations, it is suggested to split it into multiple jobs with unique requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the same company, language_code and requisition_id are not allowed. If the original requisition_id must be preserved, a custom field should be used for storage. It is also suggested to group the locations that close to each other in the same job for better search experience. The maximum number of allowed characters is 500.", + "description": "Strongly recommended for the best service experience. Location(s) where the employer is looking to hire for this job posting. Specifying the full street address(es) of the hiring location enables better API results, especially job searches by commute time. At most 50 locations are allowed for best search performance. If a job has more locations, it is suggested to split it into multiple jobs with unique requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the same company, language_code and requisition_id are not allowed. If the original requisition_id must be preserved, a custom field should be used for storage. It is also suggested to group the locations that close to each other in the same job for better search experience. Jobs with multiple addresses must have their addresses with the same LocationType to allow location filtering to work properly. (For example, a Job with addresses \"1600 Amphitheatre Parkway, Mountain View, CA, USA\" and \"London, UK\" may not have location filters applied correctly at search time since the first is a LocationType.STREET_ADDRESS and the second is a LocationType.LOCALITY.) If a job needs to have multiple addresses, it is suggested to split it into multiple jobs with same LocationTypes. The maximum number of allowed characters is 500.", "items": { "type": "string" }, @@ -1660,7 +1666,7 @@ "additionalProperties": { "$ref": "CustomAttribute" }, - "description": "A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB.", + "description": "A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB.", "type": "object" }, "degreeTypes": { @@ -2065,7 +2071,7 @@ "description": "This search filter is applied only to Job.compensation_info. For example, if the filter is specified as \"Hourly job with per-hour compensation > $15\", only jobs meeting these criteria are searched. If a filter isn't defined, all open jobs are searched." }, "customAttributeFilter": { - "description": "This filter specifies a structured syntax to match against the Job.custom_attributes marked as `filterable`. The syntax for this expression is a subset of SQL syntax. Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where the left of the operator is a custom field key and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\\") characters. Supported functions are `LOWER([field_name])` to perform a case insensitive match and `EMPTY([field_name])` to filter on the existence of a key. Boolean expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for example, \"((A AND B AND C) OR NOT D) AND E\"), a maximum of 100 comparisons or functions are allowed in the expression. The expression must be < 6000 bytes in length. Sample Query: `(LOWER(driving_license)=\"class \\\"a\\\"\" OR EMPTY(driving_license)) AND driving_years > 10`", + "description": "This filter specifies a structured syntax to match against the Job.custom_attributes marked as `filterable`. The syntax for this expression is a subset of SQL syntax. Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where the left of the operator is a custom field key and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\\") characters. Supported functions are `LOWER([field_name])` to perform a case insensitive match and `EMPTY([field_name])` to filter on the existence of a key. Boolean expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for example, \"((A AND B AND C) OR NOT D) AND E\"), a maximum of 100 comparisons or functions are allowed in the expression. The expression must be < 10000 bytes in length. Sample Query: `(LOWER(driving_license)=\"class \\\"a\\\"\" OR EMPTY(driving_license)) AND driving_years > 10`", "type": "string" }, "disableSpellCheck": { @@ -2230,7 +2236,7 @@ "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 must conform to the WGS84 standard. Values must be within normalized ranges.", + "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": { @@ -2726,7 +2732,7 @@ "description": "Controls over how job documents get ranked on top of existing relevance score (determined by API algorithm)." }, "disableKeywordMatch": { - "description": "Controls whether to disable exact keyword match on Job.title, Job.description, Job.company_display_name, Job.addresses, Job.qualifications. When disable keyword match is turned off, a keyword match returns jobs that do not match given category filters when there are matching keywords. For example, for the query \"program manager,\" a result is returned even if the job posting has the title \"software developer,\" which doesn't fall into \"program manager\" ontology, but does have \"program manager\" appearing in its description. For queries like \"cloud\" that don't contain title or location specific ontology, jobs with \"cloud\" keyword matches are returned regardless of this flag's value. Use Company.keyword_searchable_job_custom_attributes if company-specific globally matched custom field/attribute string values are needed. Enabling keyword match improves recall of subsequent search requests. Defaults to false.", + "description": "This field is deprecated. Please use SearchJobsRequest.keyword_match_mode going forward. To migrate, disable_keyword_match set to false maps to KeywordMatchMode.KEYWORD_MATCH_ALL, and disable_keyword_match set to true maps to KeywordMatchMode.KEYWORD_MATCH_DISABLED. If SearchJobsRequest.keyword_match_mode is set, this field is ignored. Controls whether to disable exact keyword match on Job.title, Job.description, Job.company_display_name, Job.addresses, Job.qualifications. When disable keyword match is turned off, a keyword match returns jobs that do not match given category filters when there are matching keywords. For example, for the query \"program manager,\" a result is returned even if the job posting has the title \"software developer,\" which doesn't fall into \"program manager\" ontology, but does have \"program manager\" appearing in its description. For queries like \"cloud\" that don't contain title or location specific ontology, jobs with \"cloud\" keyword matches are returned regardless of this flag's value. Use Company.keyword_searchable_job_custom_attributes if company-specific globally matched custom field/attribute string values are needed. Enabling keyword match improves recall of subsequent search requests. Defaults to false.", "type": "boolean" }, "diversificationLevel": { @@ -2734,12 +2740,18 @@ "enum": [ "DIVERSIFICATION_LEVEL_UNSPECIFIED", "DISABLED", - "SIMPLE" + "SIMPLE", + "ONE_PER_COMPANY", + "TWO_PER_COMPANY", + "DIVERSIFY_BY_LOOSER_SIMILARITY" ], "enumDescriptions": [ "The diversification level isn't specified.", "Disables diversification. Jobs that would normally be pushed to the last page would not have their positions altered. This may result in highly similar jobs appearing in sequence in the search results.", - "Default diversifying behavior. The result list is ordered so that highly similar results are pushed to the end of the last page of search results. If you are using pageToken to page through the result set, latency might be lower but we can't guarantee that all results are returned. If you are using page offset, latency might be higher but all results are returned." + "Default diversifying behavior. The result list is ordered so that highly similar results are pushed to the end of the last page of search results.", + "Only one job from the same company will be shown at once, other jobs under same company are pushed to the end of the last page of search result.", + "Similar to ONE_PER_COMPANY, but it allows at most two jobs in the same company to be shown at once, the other jobs under same company are pushed to the end of the last page of search result.", + "The result list is ordered such that somewhat similar results are pushed to the end of the last page of the search results. This option is recommended if SIMPLE diversification does not diversify enough." ], "type": "string" }, @@ -2748,7 +2760,7 @@ "type": "boolean" }, "histogramQueries": { - "description": "An expression specifies a histogram request against matching jobs. Expression syntax is an aggregation function call with histogram facets and other options. Available aggregation function calls are: * `count(string_histogram_facet)`: Count the number of matching entities, for each distinct attribute value. * `count(numeric_histogram_facet, list of buckets)`: Count the number of matching entities within each bucket. Data types: * Histogram facet: facet names with format a-zA-Z+. * String: string like \"any string with backslash escape for quote(\\\").\" * Number: whole number and floating point number like 10, -1 and -0.01. * List: list of elements with comma(,) separator surrounded by square brackets, for example, [1, 2, 3] and [\"one\", \"two\", \"three\"]. Built-in constants: * MIN (minimum number similar to java Double.MIN_VALUE) * MAX (maximum number similar to java Double.MAX_VALUE) Built-in functions: * bucket(start, end[, label]): bucket built-in function creates a bucket with range of start, end). Note that the end is exclusive, for example, bucket(1, MAX, \"positive number\") or bucket(1, 10). Job histogram facets: * company_display_name: histogram by [Job.company_display_name. * employment_type: histogram by Job.employment_types, for example, \"FULL_TIME\", \"PART_TIME\". * company_size: histogram by CompanySize, for example, \"SMALL\", \"MEDIUM\", \"BIG\". * publish_time_in_month: histogram by the Job.posting_publish_time in months. Must specify list of numeric buckets in spec. * publish_time_in_year: histogram by the Job.posting_publish_time in years. Must specify list of numeric buckets in spec. * degree_types: histogram by the Job.degree_types, for example, \"Bachelors\", \"Masters\". * job_level: histogram by the Job.job_level, for example, \"Entry Level\". * country: histogram by the country code of jobs, for example, \"US\", \"FR\". * admin1: histogram by the admin1 code of jobs, which is a global placeholder referring to the state, province, or the particular term a country uses to define the geographic structure below the country level, for example, \"CA\", \"IL\". * city: histogram by a combination of the \"city name, admin1 code\". For example, \"Mountain View, CA\", \"New York, NY\". * admin1_country: histogram by a combination of the \"admin1 code, country\", for example, \"CA, US\", \"IL, US\". * city_coordinate: histogram by the city center's GPS coordinates (latitude and longitude), for example, 37.4038522,-122.0987765. Since the coordinates of a city center can change, customers may need to refresh them periodically. * locale: histogram by the Job.language_code, for example, \"en-US\", \"fr-FR\". * language: histogram by the language subtag of the Job.language_code, for example, \"en\", \"fr\". * category: histogram by the JobCategory, for example, \"COMPUTER_AND_IT\", \"HEALTHCARE\". * base_compensation_unit: histogram by the CompensationInfo.CompensationUnit of base salary, for example, \"WEEKLY\", \"MONTHLY\". * base_compensation: histogram by the base salary. Must specify list of numeric buckets to group results by. * annualized_base_compensation: histogram by the base annualized salary. Must specify list of numeric buckets to group results by. * annualized_total_compensation: histogram by the total annualized salary. Must specify list of numeric buckets to group results by. * string_custom_attribute: histogram by string Job.custom_attributes. Values can be accessed via square bracket notations like string_custom_attribute[\"key1\"]. * numeric_custom_attribute: histogram by numeric Job.custom_attributes. Values can be accessed via square bracket notations like numeric_custom_attribute[\"key1\"]. Must specify list of numeric buckets to group results by. Example expressions: * `count(admin1)` * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000), bucket(100000, MAX)])` * `count(string_custom_attribute[\"some-string-custom-attribute\"])` * `count(numeric_custom_attribute[\"some-numeric-custom-attribute\"], [bucket(MIN, 0, \"negative\"), bucket(0, MAX, \"non-negative\"])`", + "description": "An expression specifies a histogram request against matching jobs. Expression syntax is an aggregation function call with histogram facets and other options. Available aggregation function calls are: * `count(string_histogram_facet)`: Count the number of matching entities, for each distinct attribute value. * `count(numeric_histogram_facet, list of buckets)`: Count the number of matching entities within each bucket. Data types: * Histogram facet: facet names with format `a-zA-Z+`. * String: string like \"any string with backslash escape for quote(\\\").\" * Number: whole number and floating point number like 10, -1 and -0.01. * List: list of elements with comma(,) separator surrounded by square brackets, for example, [1, 2, 3] and [\"one\", \"two\", \"three\"]. Built-in constants: * MIN (minimum number similar to java Double.MIN_VALUE) * MAX (maximum number similar to java Double.MAX_VALUE) Built-in functions: * bucket(start, end[, label]): bucket built-in function creates a bucket with range of start, end). Note that the end is exclusive, for example, bucket(1, MAX, \"positive number\") or bucket(1, 10). Job histogram facets: * company_display_name: histogram by [Job.company_display_name. * employment_type: histogram by Job.employment_types, for example, \"FULL_TIME\", \"PART_TIME\". * company_size: histogram by CompanySize, for example, \"SMALL\", \"MEDIUM\", \"BIG\". * publish_time_in_day: histogram by the Job.posting_publish_time in days. Must specify list of numeric buckets in spec. * publish_time_in_month: histogram by the Job.posting_publish_time in months. Must specify list of numeric buckets in spec. * publish_time_in_year: histogram by the Job.posting_publish_time in years. Must specify list of numeric buckets in spec. * degree_types: histogram by the Job.degree_types, for example, \"Bachelors\", \"Masters\". * job_level: histogram by the Job.job_level, for example, \"Entry Level\". * country: histogram by the country code of jobs, for example, \"US\", \"FR\". * admin1: histogram by the admin1 code of jobs, which is a global placeholder referring to the state, province, or the particular term a country uses to define the geographic structure below the country level, for example, \"CA\", \"IL\". * city: histogram by a combination of the \"city name, admin1 code\". For example, \"Mountain View, CA\", \"New York, NY\". * admin1_country: histogram by a combination of the \"admin1 code, country\", for example, \"CA, US\", \"IL, US\". * city_coordinate: histogram by the city center's GPS coordinates (latitude and longitude), for example, 37.4038522,-122.0987765. Since the coordinates of a city center can change, customers may need to refresh them periodically. * locale: histogram by the Job.language_code, for example, \"en-US\", \"fr-FR\". * language: histogram by the language subtag of the Job.language_code, for example, \"en\", \"fr\". * category: histogram by the JobCategory, for example, \"COMPUTER_AND_IT\", \"HEALTHCARE\". * base_compensation_unit: histogram by the CompensationInfo.CompensationUnit of base salary, for example, \"WEEKLY\", \"MONTHLY\". * base_compensation: histogram by the base salary. Must specify list of numeric buckets to group results by. * annualized_base_compensation: histogram by the base annualized salary. Must specify list of numeric buckets to group results by. * annualized_total_compensation: histogram by the total annualized salary. Must specify list of numeric buckets to group results by. * string_custom_attribute: histogram by string Job.custom_attributes. Values can be accessed via square bracket notations like string_custom_attribute[\"key1\"]. * numeric_custom_attribute: histogram by numeric Job.custom_attributes. Values can be accessed via square bracket notations like numeric_custom_attribute[\"key1\"]. Must specify list of numeric buckets to group results by. Example expressions: * `count(admin1)` * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000), bucket(100000, MAX)])` * `count(string_custom_attribute[\"some-string-custom-attribute\"])` * `count(numeric_custom_attribute[\"some-numeric-custom-attribute\"], [bucket(MIN, 0, \"negative\"), bucket(0, MAX, \"non-negative\")])`", "items": { "$ref": "HistogramQuery" }, @@ -2776,6 +2788,22 @@ ], "type": "string" }, + "keywordMatchMode": { + "description": "Controls what keyword match options to use. If both keyword_match_mode and disable_keyword_match are set, keyword_match_mode will take precedence. Defaults to KeywordMatchMode.KEYWORD_MATCH_ALL if no value is specified.", + "enum": [ + "KEYWORD_MATCH_MODE_UNSPECIFIED", + "KEYWORD_MATCH_DISABLED", + "KEYWORD_MATCH_ALL", + "KEYWORD_MATCH_TITLE_ONLY" + ], + "enumDescriptions": [ + "The keyword match option isn't specified. Defaults to KeywordMatchMode.KEYWORD_MATCH_ALL behavior.", + "Disables keyword matching.", + "Enable keyword matching over Job.title, Job.description, Job.company_display_name, Job.addresses, Job.qualifications, and keyword searchable Job.custom_attributes fields.", + "Only enable keyword matching over Job.title." + ], + "type": "string" + }, "maxPageSize": { "description": "A limit on the number of jobs returned in the search results. Increasing this value above the default value of 10 can increase search response time. The value can be between 1 and 100.", "format": "int32", diff --git a/etc/api/keep/v1/keep-api.json b/etc/api/keep/v1/keep-api.json new file mode 100644 index 0000000000..cd25c67cab --- /dev/null +++ b/etc/api/keep/v1/keep-api.json @@ -0,0 +1,623 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/keep": { + "description": "See, edit, create and permanently delete all your Google Keep data" + }, + "https://www.googleapis.com/auth/keep.readonly": { + "description": "View all your Google Keep data" + } + } + } + }, + "basePath": "", + "baseUrl": "https://keep.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Keep", + "description": "This API is an enterprise-only API used to create and manage the Keep notes within your domain, including resolving issues identified by CASB software.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/keep/api", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "keep:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://keep.mtls.googleapis.com/", + "name": "keep", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "media": { + "methods": { + "download": { + "description": "Gets an attachment. To download attachment media via REST requires the alt=media query parameter. Returns a 400 bad request error if attachment media is not available in the requested MIME type.", + "flatPath": "v1/notes/{notesId}/attachments/{attachmentsId}", + "httpMethod": "GET", + "id": "keep.media.download", + "parameterOrder": [ + "name" + ], + "parameters": { + "mimeType": { + "description": "The IANA MIME type format requested. The requested MIME type must be one specified in the attachment.mime_type. Required when downloading attachment media and ignored otherwise.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the attachment.", + "location": "path", + "pattern": "^notes/[^/]+/attachments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Attachment" + }, + "scopes": [ + "https://www.googleapis.com/auth/keep", + "https://www.googleapis.com/auth/keep.readonly" + ], + "supportsMediaDownload": true, + "useMediaDownloadService": true + } + } + }, + "notes": { + "methods": { + "create": { + "description": "Creates a new note.", + "flatPath": "v1/notes", + "httpMethod": "POST", + "id": "keep.notes.create", + "parameterOrder": [], + "parameters": {}, + "path": "v1/notes", + "request": { + "$ref": "Note" + }, + "response": { + "$ref": "Note" + }, + "scopes": [ + "https://www.googleapis.com/auth/keep" + ] + }, + "delete": { + "description": "Deletes a note. Caller must have the `OWNER` role on the note to delete. Deleting a note removes the resource immediately and cannot be undone. Any collaborators will lose access to the note.", + "flatPath": "v1/notes/{notesId}", + "httpMethod": "DELETE", + "id": "keep.notes.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the note to delete.", + "location": "path", + "pattern": "^notes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/keep" + ] + }, + "get": { + "description": "Gets a note.", + "flatPath": "v1/notes/{notesId}", + "httpMethod": "GET", + "id": "keep.notes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^notes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Note" + }, + "scopes": [ + "https://www.googleapis.com/auth/keep", + "https://www.googleapis.com/auth/keep.readonly" + ] + }, + "list": { + "description": "Lists notes. Every list call returns a page of results with `page_size` as the upper bound of returned items. A `page_size` of zero allows the server to choose the upper bound. The ListNotesResponse contains at most `page_size` entries. If there are more things left to list, it provides a `next_page_token` value. (Page tokens are opaque values.) To get the next page of results, copy the result's `next_page_token` into the next request's `page_token`. Repeat until the `next_page_token` returned with a page of results is empty. ListNotes return consistent results in the face of concurrent changes, or signals that it cannot with an ABORTED error.", + "flatPath": "v1/notes", + "httpMethod": "GET", + "id": "keep.notes.list", + "parameterOrder": [], + "parameters": { + "filter": { + "description": "Filter for list results. If no filter is supplied, the `trashed` filter is applied by default. Valid fields to filter by are: `create_time`, `update_time`, `trash_time`, and `trashed`. Filter syntax follows the [Google AIP filtering spec](https://aip.dev/160).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The previous page's `next_page_token` field.", + "location": "query", + "type": "string" + } + }, + "path": "v1/notes", + "response": { + "$ref": "ListNotesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/keep", + "https://www.googleapis.com/auth/keep.readonly" + ] + } + }, + "resources": { + "permissions": { + "methods": { + "batchCreate": { + "description": "Creates one or more permissions on the note. Only permissions with the `WRITER` role may be created. If adding any permission fails, then the entire request fails and no changes are made.", + "flatPath": "v1/notes/{notesId}/permissions:batchCreate", + "httpMethod": "POST", + "id": "keep.notes.permissions.batchCreate", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The parent resource shared by all Permissions being created. Format: `notes/{note}` If this is set, the parent field in the CreatePermission messages must either be empty or match this field.", + "location": "path", + "pattern": "^notes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/permissions:batchCreate", + "request": { + "$ref": "BatchCreatePermissionsRequest" + }, + "response": { + "$ref": "BatchCreatePermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/keep" + ] + }, + "batchDelete": { + "description": "Deletes one or more permissions on the note. The specified entities will immediately lose access. A permission with the `OWNER` role can't be removed. If removing a permission fails, then the entire request fails and no changes are made. Returns a 400 bad request error if a specified permission does not exist on the note.", + "flatPath": "v1/notes/{notesId}/permissions:batchDelete", + "httpMethod": "POST", + "id": "keep.notes.permissions.batchDelete", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The parent resource shared by all permissions being deleted. Format: `notes/{note}` If this is set, the parent of all of the permissions specified in the DeletePermissionRequest messages must match this field.", + "location": "path", + "pattern": "^notes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/permissions:batchDelete", + "request": { + "$ref": "BatchDeletePermissionsRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/keep" + ] + } + } + } + } + } + }, + "revision": "20220301", + "rootUrl": "https://keep.googleapis.com/", + "schemas": { + "Attachment": { + "description": "An attachment to a note.", + "id": "Attachment", + "properties": { + "mimeType": { + "description": "The MIME types (IANA media types) in which the attachment is available.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "The resource name;", + "type": "string" + } + }, + "type": "object" + }, + "BatchCreatePermissionsRequest": { + "description": "The request to add one or more permissions on the note. Currently, only the `WRITER` role may be specified. If adding a permission fails, then the entire request fails and no changes are made.", + "id": "BatchCreatePermissionsRequest", + "properties": { + "requests": { + "description": "The request message specifying the resources to create.", + "items": { + "$ref": "CreatePermissionRequest" + }, + "type": "array" + } + }, + "type": "object" + }, + "BatchCreatePermissionsResponse": { + "description": "The response for creating permissions on a note.", + "id": "BatchCreatePermissionsResponse", + "properties": { + "permissions": { + "description": "Permissions created.", + "items": { + "$ref": "Permission" + }, + "type": "array" + } + }, + "type": "object" + }, + "BatchDeletePermissionsRequest": { + "description": "The request to remove one or more permissions from a note. A permission with the `OWNER` role can't be removed. If removing a permission fails, then the entire request fails and no changes are made. Returns a 400 bad request error if a specified permission does not exist on the note.", + "id": "BatchDeletePermissionsRequest", + "properties": { + "names": { + "description": "Required. The names of the permissions to delete. Format: `notes/{note}/permissions/{permission}`", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CreatePermissionRequest": { + "description": "The request to add a single permission on the note.", + "id": "CreatePermissionRequest", + "properties": { + "parent": { + "description": "Required. The parent note where this permission will be created. Format: `notes/{note}`", + "type": "string" + }, + "permission": { + "$ref": "Permission", + "description": "Required. The permission to create. One of Permission.email, User.email or Group.email must be supplied." + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Family": { + "description": "Describes a single Google Family.", + "id": "Family", + "properties": {}, + "type": "object" + }, + "Group": { + "description": "Describes a single Group.", + "id": "Group", + "properties": { + "email": { + "description": "The group email.", + "type": "string" + } + }, + "type": "object" + }, + "ListContent": { + "description": "The list of items for a single list note.", + "id": "ListContent", + "properties": { + "listItems": { + "description": "The items in the list. The number of items must be less than 1,000.", + "items": { + "$ref": "ListItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListItem": { + "description": "A single list item in a note's list.", + "id": "ListItem", + "properties": { + "checked": { + "description": "Whether this item has been checked off or not.", + "type": "boolean" + }, + "childListItems": { + "description": "If set, list of list items nested under this list item. Only one level of nesting is allowed.", + "items": { + "$ref": "ListItem" + }, + "type": "array" + }, + "text": { + "$ref": "TextContent", + "description": "The text of this item. Length must be less than 1,000 characters." + } + }, + "type": "object" + }, + "ListNotesResponse": { + "description": "The response when listing a page of notes.", + "id": "ListNotesResponse", + "properties": { + "nextPageToken": { + "description": "Next page's `page_token` field.", + "type": "string" + }, + "notes": { + "description": "A page of notes.", + "items": { + "$ref": "Note" + }, + "type": "array" + } + }, + "type": "object" + }, + "Note": { + "description": "A single note.", + "id": "Note", + "properties": { + "attachments": { + "description": "Output only. The attachments attached to this note.", + "items": { + "$ref": "Attachment" + }, + "readOnly": true, + "type": "array" + }, + "body": { + "$ref": "Section", + "description": "The body of the note." + }, + "createTime": { + "description": "Output only. When this note was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of this note. See general note on identifiers in KeepService.", + "readOnly": true, + "type": "string" + }, + "permissions": { + "description": "Output only. The list of permissions set on the note. Contains at least one entry for the note owner.", + "items": { + "$ref": "Permission" + }, + "readOnly": true, + "type": "array" + }, + "title": { + "description": "The title of the note. Length must be less than 1,000 characters.", + "type": "string" + }, + "trashTime": { + "description": "Output only. When this note was trashed. If `trashed`, the note is eventually deleted. If the note is not trashed, this field is not set (and the trashed field is `false`).", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "trashed": { + "description": "Output only. `true` if this note has been trashed. If trashed, the note is eventually deleted.", + "readOnly": true, + "type": "boolean" + }, + "updateTime": { + "description": "Output only. When this note was last modified.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Permission": { + "description": "A single permission on the note. Associates a `member` with a `role`.", + "id": "Permission", + "properties": { + "deleted": { + "description": "Output only. Whether this member has been deleted. If the member is recovered, this value is set to false and the recovered member retains the role on the note.", + "readOnly": true, + "type": "boolean" + }, + "email": { + "description": "The email associated with the member. If set on create, the `email` field in the `User` or `Group` message must either be empty or match this field. On read, may be unset if the member does not have an associated email.", + "type": "string" + }, + "family": { + "$ref": "Family", + "description": "Output only. The Google Family to which this role applies.", + "readOnly": true + }, + "group": { + "$ref": "Group", + "description": "Output only. The group to which this role applies.", + "readOnly": true + }, + "name": { + "description": "Output only. The resource name.", + "readOnly": true, + "type": "string" + }, + "role": { + "description": "The role granted by this permission. The role determines the entity\u2019s ability to read, write, and share notes.", + "enum": [ + "ROLE_UNSPECIFIED", + "OWNER", + "WRITER" + ], + "enumDescriptions": [ + "An undefined role.", + "A role granting full access. This role cannot be added or removed. Defined by the creator of the note.", + "A role granting the ability to contribute content and modify note permissions." + ], + "type": "string" + }, + "user": { + "$ref": "User", + "description": "Output only. The user to whom this role applies.", + "readOnly": true + } + }, + "type": "object" + }, + "Section": { + "description": "The content of the note.", + "id": "Section", + "properties": { + "list": { + "$ref": "ListContent", + "description": "Used if this section's content is a list." + }, + "text": { + "$ref": "TextContent", + "description": "Used if this section's content is a block of text. The length of the text content must be less than 20,000 characters." + } + }, + "type": "object" + }, + "TextContent": { + "description": "The block of text for a single text section or list item.", + "id": "TextContent", + "properties": { + "text": { + "description": "The text of the note. The limits on this vary with the specific field using this type.", + "type": "string" + } + }, + "type": "object" + }, + "User": { + "description": "Describes a single user.", + "id": "User", + "properties": { + "email": { + "description": "The user's email.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Google Keep API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/kgsearch/v1/kgsearch-api.json b/etc/api/kgsearch/v1/kgsearch-api.json index b82a735a42..1972f93fc5 100644 --- a/etc/api/kgsearch/v1/kgsearch-api.json +++ b/etc/api/kgsearch/v1/kgsearch-api.json @@ -151,7 +151,7 @@ } } }, - "revision": "20210224", + "revision": "20220227", "rootUrl": "https://kgsearch.googleapis.com/", "schemas": { "SearchResponse": { diff --git a/etc/api/language/v1/language-api.json b/etc/api/language/v1/language-api.json index c72f616a3c..725d8c91b4 100644 --- a/etc/api/language/v1/language-api.json +++ b/etc/api/language/v1/language-api.json @@ -6,7 +6,7 @@ "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 Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -227,7 +227,7 @@ } } }, - "revision": "20210326", + "revision": "20220218", "rootUrl": "https://language.googleapis.com/", "schemas": { "AnalyzeEntitiesRequest": { diff --git a/etc/api/language/v1beta1/language-api.json b/etc/api/language/v1beta1/language-api.json index 3d0e2e5cb8..420fdd92f5 100644 --- a/etc/api/language/v1beta1/language-api.json +++ b/etc/api/language/v1beta1/language-api.json @@ -6,7 +6,7 @@ "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 Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -189,7 +189,7 @@ } } }, - "revision": "20210326", + "revision": "20220218", "rootUrl": "https://language.googleapis.com/", "schemas": { "AnalyzeEntitiesRequest": { diff --git a/etc/api/language/v1beta2/language-api.json b/etc/api/language/v1beta2/language-api.json index be367bc5a8..d992723fd1 100644 --- a/etc/api/language/v1beta2/language-api.json +++ b/etc/api/language/v1beta2/language-api.json @@ -6,7 +6,7 @@ "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 Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -227,7 +227,7 @@ } } }, - "revision": "20210326", + "revision": "20220218", "rootUrl": "https://language.googleapis.com/", "schemas": { "AnalyzeEntitiesRequest": { diff --git a/etc/api/libraryagent/v1/libraryagent-api.json b/etc/api/libraryagent/v1/libraryagent-api.json index 508f7dac10..616c38416f 100644 --- a/etc/api/libraryagent/v1/libraryagent-api.json +++ b/etc/api/libraryagent/v1/libraryagent-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -279,7 +279,7 @@ } } }, - "revision": "20210330", + "revision": "20220305", "rootUrl": "https://libraryagent.googleapis.com/", "schemas": { "GoogleExampleLibraryagentV1Book": { diff --git a/etc/api/licensing/v1/licensing-api.json b/etc/api/licensing/v1/licensing-api.json index c397dddb0e..753de0ad7e 100644 --- a/etc/api/licensing/v1/licensing-api.json +++ b/etc/api/licensing/v1/licensing-api.json @@ -400,7 +400,7 @@ } } }, - "revision": "20210329", + "revision": "20220305", "rootUrl": "https://licensing.googleapis.com/", "schemas": { "Empty": { diff --git a/etc/api/lifesciences/v2beta/lifesciences-api.json b/etc/api/lifesciences/v2beta/lifesciences-api.json index 0b8a483c9e..a289389ba9 100644 --- a/etc/api/lifesciences/v2beta/lifesciences-api.json +++ b/etc/api/lifesciences/v2beta/lifesciences-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -312,7 +312,7 @@ } } }, - "revision": "20210319", + "revision": "20220211", "rootUrl": "https://lifesciences.googleapis.com/", "schemas": { "Accelerator": { @@ -370,6 +370,10 @@ "description": "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.", "type": "boolean" }, + "encryptedEnvironment": { + "$ref": "Secret", + "description": "The encrypted environment to pass into the container. This environment is merged with values specified in the google.cloud.lifesciences.v2beta.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" @@ -649,7 +653,7 @@ "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 (e.g., 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. E.g., 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 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", @@ -891,6 +895,10 @@ }, "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" @@ -1127,6 +1135,10 @@ "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." diff --git a/etc/api/localservices/v1/localservices-api.json b/etc/api/localservices/v1/localservices-api.json index e87a23c597..e7d1e133c7 100644 --- a/etc/api/localservices/v1/localservices-api.json +++ b/etc/api/localservices/v1/localservices-api.json @@ -250,7 +250,7 @@ } } }, - "revision": "20210330", + "revision": "20220305", "rootUrl": "https://localservices.googleapis.com/", "schemas": { "GoogleAdsHomeservicesLocalservicesV1AccountReport": { @@ -353,6 +353,34 @@ }, "type": "object" }, + "GoogleAdsHomeservicesLocalservicesV1BookingLead": { + "description": "Container for booking lead specific information.", + "id": "GoogleAdsHomeservicesLocalservicesV1BookingLead", + "properties": { + "bookingAppointmentTimestamp": { + "description": "Timestamp of when service is provided by advertiser.", + "format": "google-datetime", + "type": "string" + }, + "consumerEmail": { + "description": "Consumer email associated with the booking lead.", + "type": "string" + }, + "consumerPhoneNumber": { + "description": "Consumer phone number associated with the booking lead.", + "type": "string" + }, + "customerName": { + "description": "Name of the customer who created the lead.", + "type": "string" + }, + "jobType": { + "description": "The job type of the specified lead.", + "type": "string" + } + }, + "type": "object" + }, "GoogleAdsHomeservicesLocalservicesV1DetailedLeadReport": { "description": "A Detailed Lead Report of a lead identified by their lead id and contains consumer, account, monetization, and lead data.", "id": "GoogleAdsHomeservicesLocalservicesV1DetailedLeadReport", @@ -366,6 +394,10 @@ "$ref": "GoogleAdsHomeservicesLocalservicesV1AggregatorInfo", "description": "Aggregator specific information related to the lead." }, + "bookingLead": { + "$ref": "GoogleAdsHomeservicesLocalservicesV1BookingLead", + "description": "More information associated to only booking leads." + }, "businessName": { "description": "Business name associated to the account.", "type": "string" @@ -420,12 +452,14 @@ "enum": [ "LEAD_TYPE_UNSPECIFIED", "MESSAGE", - "PHONE_CALL" + "PHONE_CALL", + "BOOKING" ], "enumDescriptions": [ "Not specified.", "Message lead.", - "Phone call lead." + "Phone call lead.", + "Booking lead." ], "type": "string" }, diff --git a/etc/api/logging/v2/logging-api.json b/etc/api/logging/v2/logging-api.json index b3e0429faa..a3c31ee1cc 100644 --- a/etc/api/logging/v2/logging-api.json +++ b/etc/api/logging/v2/logging-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" }, "https://www.googleapis.com/auth/logging.admin": { "description": "Administrate log data for your projects" @@ -24,7 +24,7 @@ "baseUrl": "https://logging.googleapis.com/", "batchPath": "batch", "canonicalName": "Logging", - "description": "Writes log entries and manages your Cloud Logging configuration. The table entries below are presented in alphabetical order, not in order of common use. For explanations of the concepts found in the table entries, read the documentation at https://cloud.google.com/logging/docs.", + "description": "Writes log entries and manages your Cloud Logging configuration.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/logging/docs/", "fullyEncodeReservedExpansion": true, @@ -118,11 +118,69 @@ "protocol": "rest", "resources": { "billingAccounts": { + "methods": { + "getCmekSettings": { + "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "flatPath": "v2/billingAccounts/{billingAccountsId}/cmekSettings", + "httpMethod": "GET", + "id": "logging.billingAccounts.getCmekSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource for which to retrieve CMEK settings. \"projects/[PROJECT_ID]/cmekSettings\" \"organizations/[ORGANIZATION_ID]/cmekSettings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings\" \"folders/[FOLDER_ID]/cmekSettings\" For example:\"organizations/12345/cmekSettings\"Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.", + "location": "path", + "pattern": "^billingAccounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}/cmekSettings", + "response": { + "$ref": "CmekSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + }, + "getSettings": { + "description": "Gets the Log Router settings for the given resource.Note: Settings for the Log Router can be get for Google Cloud projects, folders, organizations and billing accounts. Currently it can only be configured for organizations. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "flatPath": "v2/billingAccounts/{billingAccountsId}/settings", + "httpMethod": "GET", + "id": "logging.billingAccounts.getSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource for which to retrieve settings. \"projects/[PROJECT_ID]/settings\" \"organizations/[ORGANIZATION_ID]/settings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/settings\" \"folders/[FOLDER_ID]/settings\" For example:\"organizations/12345/settings\"Note: Settings for the Log Router can be get for Google Cloud projects, folders, organizations and billing accounts. Currently it can only be configured for organizations. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.", + "location": "path", + "pattern": "^billingAccounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}/settings", + "response": { + "$ref": "Settings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + } + }, "resources": { "buckets": { "methods": { "get": { - "description": "Gets a bucket.", + "description": "Gets a log bucket.", "flatPath": "v2/billingAccounts/{billingAccountsId}/buckets/{bucketsId}", "httpMethod": "GET", "id": "logging.billingAccounts.buckets.get", @@ -131,7 +189,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\".", + "description": "Required. The resource name of the bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^billingAccounts/[^/]+/buckets/[^/]+$", "required": true, @@ -154,7 +212,7 @@ "views": { "methods": { "get": { - "description": "Gets a view.", + "description": "Gets a view on a log bucket..", "flatPath": "v2/billingAccounts/{billingAccountsId}/buckets/{bucketsId}/views/{viewsId}", "httpMethod": "GET", "id": "logging.billingAccounts.buckets.views.get", @@ -163,7 +221,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the policy: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id\".", + "description": "Required. The resource name of the policy: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", "location": "path", "pattern": "^billingAccounts/[^/]+/buckets/[^/]+/views/[^/]+$", "required": true, @@ -188,7 +246,7 @@ "exclusions": { "methods": { "create": { - "description": "Creates a new exclusion in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", + "description": "Creates a new exclusion in the _Default sink in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", "flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions", "httpMethod": "POST", "id": "logging.billingAccounts.exclusions.create", @@ -197,7 +255,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource in which to create the exclusion: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" Examples: \"projects/my-logging-project\", \"organizations/123456789\".", + "description": "Required. The parent resource in which to create the exclusion: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" For examples:\"projects/my-logging-project\" \"organizations/123456789\"", "location": "path", "pattern": "^billingAccounts/[^/]+$", "required": true, @@ -217,7 +275,7 @@ ] }, "delete": { - "description": "Deletes an exclusion.", + "description": "Deletes an exclusion in the _Default sink.", "flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions/{exclusionsId}", "httpMethod": "DELETE", "id": "logging.billingAccounts.exclusions.delete", @@ -226,7 +284,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of an existing exclusion to delete: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" Example: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "description": "Required. The resource name of an existing exclusion to delete: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", "location": "path", "pattern": "^billingAccounts/[^/]+/exclusions/[^/]+$", "required": true, @@ -243,7 +301,7 @@ ] }, "get": { - "description": "Gets the description of an exclusion.", + "description": "Gets the description of an exclusion in the _Default sink.", "flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions/{exclusionsId}", "httpMethod": "GET", "id": "logging.billingAccounts.exclusions.get", @@ -252,7 +310,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of an existing exclusion: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" Example: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "description": "Required. The resource name of an existing exclusion: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", "location": "path", "pattern": "^billingAccounts/[^/]+/exclusions/[^/]+$", "required": true, @@ -271,7 +329,7 @@ ] }, "list": { - "description": "Lists all the exclusions in a parent resource.", + "description": "Lists all the exclusions on the _Default sink in a parent resource.", "flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions", "httpMethod": "GET", "id": "logging.billingAccounts.exclusions.list", @@ -310,7 +368,7 @@ ] }, "patch": { - "description": "Changes one or more properties of an existing exclusion.", + "description": "Changes one or more properties of an existing exclusion in the _Default sink.", "flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions/{exclusionsId}", "httpMethod": "PATCH", "id": "logging.billingAccounts.exclusions.patch", @@ -319,7 +377,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the exclusion to update: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" Example: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "description": "Required. The resource name of the exclusion to update: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", "location": "path", "pattern": "^billingAccounts/[^/]+/exclusions/[^/]+$", "required": true, @@ -398,7 +456,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -425,7 +483,7 @@ "buckets": { "methods": { "create": { - "description": "Creates a bucket that can be used to store log entries. Once a bucket has been created, the region cannot be changed.", + "description": "Creates a log bucket that can be used to store log entries. After a bucket has been created, the bucket's location cannot be changed.", "flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets", "httpMethod": "POST", "id": "logging.billingAccounts.locations.buckets.create", @@ -439,7 +497,7 @@ "type": "string" }, "parent": { - "description": "Required. The resource in which to create the bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" Example: \"projects/my-logging-project/locations/global\"", + "description": "Required. The resource in which to create the log bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" For example:\"projects/my-project/locations/global\"", "location": "path", "pattern": "^billingAccounts/[^/]+/locations/[^/]+$", "required": true, @@ -459,7 +517,7 @@ ] }, "delete": { - "description": "Deletes a bucket. Moves the bucket to the DELETE_REQUESTED state. After 7 days, the bucket will be purged and all logs in the bucket will be permanently deleted.", + "description": "Deletes a log bucket.Changes the bucket's lifecycle_state to the DELETE_REQUESTED state. After 7 days, the bucket will be purged and all log entries in the bucket will be permanently deleted.", "flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}", "httpMethod": "DELETE", "id": "logging.billingAccounts.locations.buckets.delete", @@ -468,7 +526,7 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the bucket to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\".", + "description": "Required. The full resource name of the bucket to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^billingAccounts/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, @@ -485,7 +543,7 @@ ] }, "list": { - "description": "Lists buckets.", + "description": "Lists log buckets.", "flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets", "httpMethod": "GET", "id": "logging.billingAccounts.locations.buckets.list", @@ -524,7 +582,7 @@ ] }, "patch": { - "description": "Updates a bucket. This method replaces the following fields in the existing bucket with values from the new bucket: retention_periodIf the retention period is decreased and the bucket is locked, FAILED_PRECONDITION will be returned.If the bucket has a LifecycleState of DELETE_REQUESTED, FAILED_PRECONDITION will be returned.A buckets region may not be modified after it is created.", + "description": "Updates a log bucket. This method replaces the following fields in the existing bucket with values from the new bucket: retention_periodIf the retention period is decreased and the bucket is locked, FAILED_PRECONDITION will be returned.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed.", "flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}", "httpMethod": "PATCH", "id": "logging.billingAccounts.locations.buckets.patch", @@ -533,14 +591,14 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the bucket to update. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\". Also requires permission \"resourcemanager.projects.updateLiens\" to set the locked property", + "description": "Required. The full resource name of the bucket to update. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^billingAccounts/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Required. Field mask that specifies the fields in bucket that need an update. A bucket field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=retention_days.", + "description": "Required. Field mask that specifies the fields in bucket that need an update. A bucket field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see: https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=retention_days", "format": "google-fieldmask", "location": "query", "type": "string" @@ -559,7 +617,7 @@ ] }, "undelete": { - "description": "Undeletes a bucket. A bucket that has been deleted may be undeleted within the grace period of 7 days.", + "description": "Undeletes a log bucket. A bucket that has been deleted can be undeleted within the grace period of 7 days.", "flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}:undelete", "httpMethod": "POST", "id": "logging.billingAccounts.locations.buckets.undelete", @@ -568,7 +626,7 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the bucket to undelete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\".", + "description": "Required. The full resource name of the bucket to undelete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^billingAccounts/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, @@ -592,7 +650,7 @@ "views": { "methods": { "create": { - "description": "Creates a view over logs in a bucket. A bucket may contain a maximum of 50 views.", + "description": "Creates a view over log entries in a log bucket. A bucket may contain a maximum of 30 views.", "flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}/views", "httpMethod": "POST", "id": "logging.billingAccounts.locations.buckets.views.create", @@ -601,7 +659,7 @@ ], "parameters": { "parent": { - "description": "Required. The bucket in which to create the view \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-logging-project/locations/my-location/buckets/my-bucket\"", + "description": "Required. The bucket in which to create the view `\"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\"` For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^billingAccounts/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, @@ -626,7 +684,7 @@ ] }, "delete": { - "description": "Deletes a view from a bucket.", + "description": "Deletes a view on a log bucket. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can delete the view. If this occurs, please try again in a few minutes.", "flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", "httpMethod": "DELETE", "id": "logging.billingAccounts.locations.buckets.views.delete", @@ -635,7 +693,7 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the view to delete: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id\".", + "description": "Required. The full resource name of the view to delete: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", "location": "path", "pattern": "^billingAccounts/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", "required": true, @@ -652,7 +710,7 @@ ] }, "list": { - "description": "Lists views on a bucket.", + "description": "Lists views on a log bucket.", "flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}/views", "httpMethod": "GET", "id": "logging.billingAccounts.locations.buckets.views.list", @@ -661,7 +719,7 @@ ], "parameters": { "pageSize": { - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + "description": "Optional. The maximum number of results to return from this request.Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", "format": "int32", "location": "query", "type": "integer" @@ -691,7 +749,7 @@ ] }, "patch": { - "description": "Updates a view. This method replaces the following fields in the existing view with values from the new view: filter.", + "description": "Updates a view on a log bucket. This method replaces the following fields in the existing view with values from the new view: filter. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can update the view. If this occurs, please try again in a few minutes.", "flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", "httpMethod": "PATCH", "id": "logging.billingAccounts.locations.buckets.views.patch", @@ -700,14 +758,14 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the view to update \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id\".", + "description": "Required. The full resource name of the view to update \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", "location": "path", "pattern": "^billingAccounts/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Optional. Field mask that specifies the fields in view that need an update. A field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter.", + "description": "Optional. Field mask that specifies the fields in view that need an update. A field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", "format": "google-fieldmask", "location": "query", "type": "string" @@ -728,6 +786,83 @@ } } } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", + "flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "logging.billingAccounts.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^billingAccounts/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ] + }, + "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": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "logging.billingAccounts.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^billingAccounts/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + } + } } } }, @@ -743,7 +878,7 @@ ], "parameters": { "logName": { - "description": "Required. The resource name of the log to delete: \"projects/[PROJECT_ID]/logs/[LOG_ID]\" \"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\" \"folders/[FOLDER_ID]/logs/[LOG_ID]\" [LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", + "description": "Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/123/logs/cloudaudit.googleapis.com%2Factivity\".For more information about log names, see LogEntry.", "location": "path", "pattern": "^billingAccounts/[^/]+/logs/[^/]+$", "required": true, @@ -780,14 +915,14 @@ "type": "string" }, "parent": { - "description": "Required. The resource name that owns the logs: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" ", + "description": "Required. The resource name that owns the logs: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]", "location": "path", "pattern": "^billingAccounts/[^/]+$", "required": true, "type": "string" }, "resourceNames": { - "description": "Optional. The resource name that owns the logs: projects/PROJECT_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID organization/ORGANIZATION_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID billingAccounts/BILLING_ACCOUNT_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID folders/FOLDER_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_IDTo support legacy queries, it could also be: \"projects/PROJECT_ID\" \"organizations/ORGANIZATION_ID\" \"billingAccounts/BILLING_ACCOUNT_ID\" \"folders/FOLDER_ID\"", + "description": "Optional. The resource name that owns the logs: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]To support legacy queries, it could also be: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]", "location": "query", "repeated": true, "type": "string" @@ -806,6 +941,38 @@ } } }, + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v2/billingAccounts/{billingAccountsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "logging.billingAccounts.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^billingAccounts/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + } + } + }, "sinks": { "methods": { "create": { @@ -818,14 +985,14 @@ ], "parameters": { "parent": { - "description": "Required. The resource in which to create the sink: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" Examples: \"projects/my-logging-project\", \"organizations/123456789\".", + "description": "Required. The resource in which to create the sink: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" For examples:\"projects/my-project\" \"organizations/123456789\"", "location": "path", "pattern": "^billingAccounts/[^/]+$", "required": true, "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.", + "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.", "location": "query", "type": "boolean" } @@ -852,7 +1019,7 @@ ], "parameters": { "sinkName": { - "description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" Example: \"projects/my-project-id/sinks/my-sink-id\".", + "description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", "location": "path", "pattern": "^billingAccounts/[^/]+/sinks/[^/]+$", "required": true, @@ -878,7 +1045,7 @@ ], "parameters": { "sinkName": { - "description": "Required. The resource name of the sink: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" Example: \"projects/my-project-id/sinks/my-sink-id\".", + "description": "Required. The resource name of the sink: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", "location": "path", "pattern": "^billingAccounts/[^/]+/sinks/[^/]+$", "required": true, @@ -945,7 +1112,7 @@ ], "parameters": { "sinkName": { - "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" Example: \"projects/my-project-id/sinks/my-sink-id\".", + "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", "location": "path", "pattern": "^billingAccounts/[^/]+/sinks/[^/]+$", "required": true, @@ -957,7 +1124,7 @@ "type": "boolean" }, "updateMask": { - "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter.", + "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", "format": "google-fieldmask", "location": "query", "type": "string" @@ -985,7 +1152,7 @@ ], "parameters": { "sinkName": { - "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" Example: \"projects/my-project-id/sinks/my-sink-id\".", + "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", "location": "path", "pattern": "^billingAccounts/[^/]+/sinks/[^/]+$", "required": true, @@ -997,7 +1164,7 @@ "type": "boolean" }, "updateMask": { - "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter.", + "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1021,6 +1188,25 @@ }, "entries": { "methods": { + "copy": { + "description": "Copies a set of log entries from a log bucket to a Cloud Storage bucket.", + "flatPath": "v2/entries:copy", + "httpMethod": "POST", + "id": "logging.entries.copy", + "parameterOrder": [], + "parameters": {}, + "path": "v2/entries:copy", + "request": { + "$ref": "CopyLogEntriesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ] + }, "list": { "description": "Lists log entries. Use this method to retrieve log entries that originated from a project/folder/organization/billing account. For ways to export log entries, see Exporting Logs (https://cloud.google.com/logging/docs/export).", "flatPath": "v2/entries:list", @@ -1088,7 +1274,7 @@ "exclusions": { "methods": { "create": { - "description": "Creates a new exclusion in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", + "description": "Creates a new exclusion in the _Default sink in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", "flatPath": "v2/{v2Id}/{v2Id1}/exclusions", "httpMethod": "POST", "id": "logging.exclusions.create", @@ -1097,7 +1283,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource in which to create the exclusion: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" Examples: \"projects/my-logging-project\", \"organizations/123456789\".", + "description": "Required. The parent resource in which to create the exclusion: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" For examples:\"projects/my-logging-project\" \"organizations/123456789\"", "location": "path", "pattern": "^[^/]+/[^/]+$", "required": true, @@ -1117,7 +1303,7 @@ ] }, "delete": { - "description": "Deletes an exclusion.", + "description": "Deletes an exclusion in the _Default sink.", "flatPath": "v2/{v2Id}/{v2Id1}/exclusions/{exclusionsId}", "httpMethod": "DELETE", "id": "logging.exclusions.delete", @@ -1126,7 +1312,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of an existing exclusion to delete: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" Example: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "description": "Required. The resource name of an existing exclusion to delete: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", "location": "path", "pattern": "^[^/]+/[^/]+/exclusions/[^/]+$", "required": true, @@ -1143,7 +1329,7 @@ ] }, "get": { - "description": "Gets the description of an exclusion.", + "description": "Gets the description of an exclusion in the _Default sink.", "flatPath": "v2/{v2Id}/{v2Id1}/exclusions/{exclusionsId}", "httpMethod": "GET", "id": "logging.exclusions.get", @@ -1152,7 +1338,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of an existing exclusion: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" Example: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "description": "Required. The resource name of an existing exclusion: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", "location": "path", "pattern": "^[^/]+/[^/]+/exclusions/[^/]+$", "required": true, @@ -1171,7 +1357,7 @@ ] }, "list": { - "description": "Lists all the exclusions in a parent resource.", + "description": "Lists all the exclusions on the _Default sink in a parent resource.", "flatPath": "v2/{v2Id}/{v2Id1}/exclusions", "httpMethod": "GET", "id": "logging.exclusions.list", @@ -1210,7 +1396,7 @@ ] }, "patch": { - "description": "Changes one or more properties of an existing exclusion.", + "description": "Changes one or more properties of an existing exclusion in the _Default sink.", "flatPath": "v2/{v2Id}/{v2Id1}/exclusions/{exclusionsId}", "httpMethod": "PATCH", "id": "logging.exclusions.patch", @@ -1219,7 +1405,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the exclusion to update: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" Example: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "description": "Required. The resource name of the exclusion to update: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", "location": "path", "pattern": "^[^/]+/[^/]+/exclusions/[^/]+$", "required": true, @@ -1247,11 +1433,104 @@ } }, "folders": { + "methods": { + "getCmekSettings": { + "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "flatPath": "v2/folders/{foldersId}/cmekSettings", + "httpMethod": "GET", + "id": "logging.folders.getCmekSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource for which to retrieve CMEK settings. \"projects/[PROJECT_ID]/cmekSettings\" \"organizations/[ORGANIZATION_ID]/cmekSettings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings\" \"folders/[FOLDER_ID]/cmekSettings\" For example:\"organizations/12345/cmekSettings\"Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.", + "location": "path", + "pattern": "^folders/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}/cmekSettings", + "response": { + "$ref": "CmekSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + }, + "getSettings": { + "description": "Gets the Log Router settings for the given resource.Note: Settings for the Log Router can be get for Google Cloud projects, folders, organizations and billing accounts. Currently it can only be configured for organizations. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "flatPath": "v2/folders/{foldersId}/settings", + "httpMethod": "GET", + "id": "logging.folders.getSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource for which to retrieve settings. \"projects/[PROJECT_ID]/settings\" \"organizations/[ORGANIZATION_ID]/settings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/settings\" \"folders/[FOLDER_ID]/settings\" For example:\"organizations/12345/settings\"Note: Settings for the Log Router can be get for Google Cloud projects, folders, organizations and billing accounts. Currently it can only be configured for organizations. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.", + "location": "path", + "pattern": "^folders/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}/settings", + "response": { + "$ref": "Settings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + }, + "updateSettings": { + "description": "Updates the Log Router settings for the given resource.Note: Settings for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateSettings will fail if 1) kms_key_name is invalid, or 2) the associated service account does not have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key, or 3) access to the key is disabled. 4) location_id is not supported by Logging. 5) location_id violate OrgPolicy.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "flatPath": "v2/folders/{foldersId}/settings", + "httpMethod": "PATCH", + "id": "logging.folders.updateSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name for the settings to update. \"organizations/[ORGANIZATION_ID]/settings\" For example:\"organizations/12345/settings\"Note: Settings for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.", + "location": "path", + "pattern": "^folders/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask identifying which fields from settings should be updated. A field will be overwritten if and only if it is in the update mask. Output only fields cannot be updated.See FieldMask for more information.For example: \"updateMask=kmsKeyName\"", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}/settings", + "request": { + "$ref": "Settings" + }, + "response": { + "$ref": "Settings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ] + } + }, "resources": { "exclusions": { "methods": { "create": { - "description": "Creates a new exclusion in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", + "description": "Creates a new exclusion in the _Default sink in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", "flatPath": "v2/folders/{foldersId}/exclusions", "httpMethod": "POST", "id": "logging.folders.exclusions.create", @@ -1260,7 +1539,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource in which to create the exclusion: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" Examples: \"projects/my-logging-project\", \"organizations/123456789\".", + "description": "Required. The parent resource in which to create the exclusion: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" For examples:\"projects/my-logging-project\" \"organizations/123456789\"", "location": "path", "pattern": "^folders/[^/]+$", "required": true, @@ -1280,7 +1559,7 @@ ] }, "delete": { - "description": "Deletes an exclusion.", + "description": "Deletes an exclusion in the _Default sink.", "flatPath": "v2/folders/{foldersId}/exclusions/{exclusionsId}", "httpMethod": "DELETE", "id": "logging.folders.exclusions.delete", @@ -1289,7 +1568,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of an existing exclusion to delete: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" Example: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "description": "Required. The resource name of an existing exclusion to delete: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", "location": "path", "pattern": "^folders/[^/]+/exclusions/[^/]+$", "required": true, @@ -1306,7 +1585,7 @@ ] }, "get": { - "description": "Gets the description of an exclusion.", + "description": "Gets the description of an exclusion in the _Default sink.", "flatPath": "v2/folders/{foldersId}/exclusions/{exclusionsId}", "httpMethod": "GET", "id": "logging.folders.exclusions.get", @@ -1315,7 +1594,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of an existing exclusion: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" Example: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "description": "Required. The resource name of an existing exclusion: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", "location": "path", "pattern": "^folders/[^/]+/exclusions/[^/]+$", "required": true, @@ -1334,7 +1613,7 @@ ] }, "list": { - "description": "Lists all the exclusions in a parent resource.", + "description": "Lists all the exclusions on the _Default sink in a parent resource.", "flatPath": "v2/folders/{foldersId}/exclusions", "httpMethod": "GET", "id": "logging.folders.exclusions.list", @@ -1373,7 +1652,7 @@ ] }, "patch": { - "description": "Changes one or more properties of an existing exclusion.", + "description": "Changes one or more properties of an existing exclusion in the _Default sink.", "flatPath": "v2/folders/{foldersId}/exclusions/{exclusionsId}", "httpMethod": "PATCH", "id": "logging.folders.exclusions.patch", @@ -1382,7 +1661,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the exclusion to update: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" Example: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "description": "Required. The resource name of the exclusion to update: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", "location": "path", "pattern": "^folders/[^/]+/exclusions/[^/]+$", "required": true, @@ -1461,7 +1740,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -1488,7 +1767,7 @@ "buckets": { "methods": { "create": { - "description": "Creates a bucket that can be used to store log entries. Once a bucket has been created, the region cannot be changed.", + "description": "Creates a log bucket that can be used to store log entries. After a bucket has been created, the bucket's location cannot be changed.", "flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets", "httpMethod": "POST", "id": "logging.folders.locations.buckets.create", @@ -1502,7 +1781,7 @@ "type": "string" }, "parent": { - "description": "Required. The resource in which to create the bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" Example: \"projects/my-logging-project/locations/global\"", + "description": "Required. The resource in which to create the log bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" For example:\"projects/my-project/locations/global\"", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+$", "required": true, @@ -1522,7 +1801,7 @@ ] }, "delete": { - "description": "Deletes a bucket. Moves the bucket to the DELETE_REQUESTED state. After 7 days, the bucket will be purged and all logs in the bucket will be permanently deleted.", + "description": "Deletes a log bucket.Changes the bucket's lifecycle_state to the DELETE_REQUESTED state. After 7 days, the bucket will be purged and all log entries in the bucket will be permanently deleted.", "flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}", "httpMethod": "DELETE", "id": "logging.folders.locations.buckets.delete", @@ -1531,7 +1810,7 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the bucket to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\".", + "description": "Required. The full resource name of the bucket to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, @@ -1548,7 +1827,7 @@ ] }, "get": { - "description": "Gets a bucket.", + "description": "Gets a log bucket.", "flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}", "httpMethod": "GET", "id": "logging.folders.locations.buckets.get", @@ -1557,7 +1836,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\".", + "description": "Required. The resource name of the bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, @@ -1576,7 +1855,7 @@ ] }, "list": { - "description": "Lists buckets.", + "description": "Lists log buckets.", "flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets", "httpMethod": "GET", "id": "logging.folders.locations.buckets.list", @@ -1615,7 +1894,7 @@ ] }, "patch": { - "description": "Updates a bucket. This method replaces the following fields in the existing bucket with values from the new bucket: retention_periodIf the retention period is decreased and the bucket is locked, FAILED_PRECONDITION will be returned.If the bucket has a LifecycleState of DELETE_REQUESTED, FAILED_PRECONDITION will be returned.A buckets region may not be modified after it is created.", + "description": "Updates a log bucket. This method replaces the following fields in the existing bucket with values from the new bucket: retention_periodIf the retention period is decreased and the bucket is locked, FAILED_PRECONDITION will be returned.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed.", "flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}", "httpMethod": "PATCH", "id": "logging.folders.locations.buckets.patch", @@ -1624,14 +1903,14 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the bucket to update. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\". Also requires permission \"resourcemanager.projects.updateLiens\" to set the locked property", + "description": "Required. The full resource name of the bucket to update. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Required. Field mask that specifies the fields in bucket that need an update. A bucket field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=retention_days.", + "description": "Required. Field mask that specifies the fields in bucket that need an update. A bucket field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see: https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=retention_days", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1650,7 +1929,7 @@ ] }, "undelete": { - "description": "Undeletes a bucket. A bucket that has been deleted may be undeleted within the grace period of 7 days.", + "description": "Undeletes a log bucket. A bucket that has been deleted can be undeleted within the grace period of 7 days.", "flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}:undelete", "httpMethod": "POST", "id": "logging.folders.locations.buckets.undelete", @@ -1659,7 +1938,7 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the bucket to undelete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\".", + "description": "Required. The full resource name of the bucket to undelete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, @@ -1683,7 +1962,7 @@ "views": { "methods": { "create": { - "description": "Creates a view over logs in a bucket. A bucket may contain a maximum of 50 views.", + "description": "Creates a view over log entries in a log bucket. A bucket may contain a maximum of 30 views.", "flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}/views", "httpMethod": "POST", "id": "logging.folders.locations.buckets.views.create", @@ -1692,7 +1971,7 @@ ], "parameters": { "parent": { - "description": "Required. The bucket in which to create the view \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-logging-project/locations/my-location/buckets/my-bucket\"", + "description": "Required. The bucket in which to create the view `\"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\"` For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, @@ -1717,7 +1996,7 @@ ] }, "delete": { - "description": "Deletes a view from a bucket.", + "description": "Deletes a view on a log bucket. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can delete the view. If this occurs, please try again in a few minutes.", "flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", "httpMethod": "DELETE", "id": "logging.folders.locations.buckets.views.delete", @@ -1726,7 +2005,7 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the view to delete: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id\".", + "description": "Required. The full resource name of the view to delete: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", "required": true, @@ -1743,7 +2022,7 @@ ] }, "get": { - "description": "Gets a view.", + "description": "Gets a view on a log bucket..", "flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", "httpMethod": "GET", "id": "logging.folders.locations.buckets.views.get", @@ -1752,7 +2031,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the policy: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id\".", + "description": "Required. The resource name of the policy: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", "required": true, @@ -1771,7 +2050,7 @@ ] }, "list": { - "description": "Lists views on a bucket.", + "description": "Lists views on a log bucket.", "flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}/views", "httpMethod": "GET", "id": "logging.folders.locations.buckets.views.list", @@ -1780,7 +2059,7 @@ ], "parameters": { "pageSize": { - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + "description": "Optional. The maximum number of results to return from this request.Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", "format": "int32", "location": "query", "type": "integer" @@ -1810,7 +2089,7 @@ ] }, "patch": { - "description": "Updates a view. This method replaces the following fields in the existing view with values from the new view: filter.", + "description": "Updates a view on a log bucket. This method replaces the following fields in the existing view with values from the new view: filter. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can update the view. If this occurs, please try again in a few minutes.", "flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", "httpMethod": "PATCH", "id": "logging.folders.locations.buckets.views.patch", @@ -1819,14 +2098,14 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the view to update \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id\".", + "description": "Required. The full resource name of the view to update \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Optional. Field mask that specifies the fields in view that need an update. A field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter.", + "description": "Optional. Field mask that specifies the fields in view that need an update. A field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1847,6 +2126,111 @@ } } } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", + "flatPath": "v2/folders/{foldersId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "logging.folders.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^folders/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v2/folders/{foldersId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "logging.folders.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^folders/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.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": "v2/folders/{foldersId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "logging.folders.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^folders/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + } + } } } }, @@ -1862,7 +2246,7 @@ ], "parameters": { "logName": { - "description": "Required. The resource name of the log to delete: \"projects/[PROJECT_ID]/logs/[LOG_ID]\" \"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\" \"folders/[FOLDER_ID]/logs/[LOG_ID]\" [LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", + "description": "Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/123/logs/cloudaudit.googleapis.com%2Factivity\".For more information about log names, see LogEntry.", "location": "path", "pattern": "^folders/[^/]+/logs/[^/]+$", "required": true, @@ -1899,14 +2283,14 @@ "type": "string" }, "parent": { - "description": "Required. The resource name that owns the logs: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" ", + "description": "Required. The resource name that owns the logs: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]", "location": "path", "pattern": "^folders/[^/]+$", "required": true, "type": "string" }, "resourceNames": { - "description": "Optional. The resource name that owns the logs: projects/PROJECT_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID organization/ORGANIZATION_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID billingAccounts/BILLING_ACCOUNT_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID folders/FOLDER_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_IDTo support legacy queries, it could also be: \"projects/PROJECT_ID\" \"organizations/ORGANIZATION_ID\" \"billingAccounts/BILLING_ACCOUNT_ID\" \"folders/FOLDER_ID\"", + "description": "Optional. The resource name that owns the logs: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]To support legacy queries, it could also be: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]", "location": "query", "repeated": true, "type": "string" @@ -1937,14 +2321,14 @@ ], "parameters": { "parent": { - "description": "Required. The resource in which to create the sink: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" Examples: \"projects/my-logging-project\", \"organizations/123456789\".", + "description": "Required. The resource in which to create the sink: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" For examples:\"projects/my-project\" \"organizations/123456789\"", "location": "path", "pattern": "^folders/[^/]+$", "required": true, "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.", + "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.", "location": "query", "type": "boolean" } @@ -1971,7 +2355,7 @@ ], "parameters": { "sinkName": { - "description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" Example: \"projects/my-project-id/sinks/my-sink-id\".", + "description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", "location": "path", "pattern": "^folders/[^/]+/sinks/[^/]+$", "required": true, @@ -1997,7 +2381,7 @@ ], "parameters": { "sinkName": { - "description": "Required. The resource name of the sink: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" Example: \"projects/my-project-id/sinks/my-sink-id\".", + "description": "Required. The resource name of the sink: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", "location": "path", "pattern": "^folders/[^/]+/sinks/[^/]+$", "required": true, @@ -2064,7 +2448,7 @@ ], "parameters": { "sinkName": { - "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" Example: \"projects/my-project-id/sinks/my-sink-id\".", + "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", "location": "path", "pattern": "^folders/[^/]+/sinks/[^/]+$", "required": true, @@ -2076,7 +2460,7 @@ "type": "boolean" }, "updateMask": { - "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter.", + "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", "format": "google-fieldmask", "location": "query", "type": "string" @@ -2104,7 +2488,7 @@ ], "parameters": { "sinkName": { - "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" Example: \"projects/my-project-id/sinks/my-sink-id\".", + "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", "location": "path", "pattern": "^folders/[^/]+/sinks/[^/]+$", "required": true, @@ -2116,7 +2500,7 @@ "type": "boolean" }, "updateMask": { - "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter.", + "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", "format": "google-fieldmask", "location": "query", "type": "string" @@ -2190,7 +2574,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -2217,7 +2601,7 @@ "buckets": { "methods": { "create": { - "description": "Creates a bucket that can be used to store log entries. Once a bucket has been created, the region cannot be changed.", + "description": "Creates a log bucket that can be used to store log entries. After a bucket has been created, the bucket's location cannot be changed.", "flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets", "httpMethod": "POST", "id": "logging.locations.buckets.create", @@ -2231,7 +2615,7 @@ "type": "string" }, "parent": { - "description": "Required. The resource in which to create the bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" Example: \"projects/my-logging-project/locations/global\"", + "description": "Required. The resource in which to create the log bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" For example:\"projects/my-project/locations/global\"", "location": "path", "pattern": "^[^/]+/[^/]+/locations/[^/]+$", "required": true, @@ -2251,7 +2635,7 @@ ] }, "delete": { - "description": "Deletes a bucket. Moves the bucket to the DELETE_REQUESTED state. After 7 days, the bucket will be purged and all logs in the bucket will be permanently deleted.", + "description": "Deletes a log bucket.Changes the bucket's lifecycle_state to the DELETE_REQUESTED state. After 7 days, the bucket will be purged and all log entries in the bucket will be permanently deleted.", "flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}", "httpMethod": "DELETE", "id": "logging.locations.buckets.delete", @@ -2260,7 +2644,7 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the bucket to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\".", + "description": "Required. The full resource name of the bucket to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, @@ -2277,7 +2661,7 @@ ] }, "get": { - "description": "Gets a bucket.", + "description": "Gets a log bucket.", "flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}", "httpMethod": "GET", "id": "logging.locations.buckets.get", @@ -2286,7 +2670,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\".", + "description": "Required. The resource name of the bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, @@ -2305,7 +2689,7 @@ ] }, "list": { - "description": "Lists buckets.", + "description": "Lists log buckets.", "flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets", "httpMethod": "GET", "id": "logging.locations.buckets.list", @@ -2344,7 +2728,7 @@ ] }, "patch": { - "description": "Updates a bucket. This method replaces the following fields in the existing bucket with values from the new bucket: retention_periodIf the retention period is decreased and the bucket is locked, FAILED_PRECONDITION will be returned.If the bucket has a LifecycleState of DELETE_REQUESTED, FAILED_PRECONDITION will be returned.A buckets region may not be modified after it is created.", + "description": "Updates a log bucket. This method replaces the following fields in the existing bucket with values from the new bucket: retention_periodIf the retention period is decreased and the bucket is locked, FAILED_PRECONDITION will be returned.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed.", "flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}", "httpMethod": "PATCH", "id": "logging.locations.buckets.patch", @@ -2353,14 +2737,14 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the bucket to update. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\". Also requires permission \"resourcemanager.projects.updateLiens\" to set the locked property", + "description": "Required. The full resource name of the bucket to update. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Required. Field mask that specifies the fields in bucket that need an update. A bucket field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=retention_days.", + "description": "Required. Field mask that specifies the fields in bucket that need an update. A bucket field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see: https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=retention_days", "format": "google-fieldmask", "location": "query", "type": "string" @@ -2379,7 +2763,7 @@ ] }, "undelete": { - "description": "Undeletes a bucket. A bucket that has been deleted may be undeleted within the grace period of 7 days.", + "description": "Undeletes a log bucket. A bucket that has been deleted can be undeleted within the grace period of 7 days.", "flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}:undelete", "httpMethod": "POST", "id": "logging.locations.buckets.undelete", @@ -2388,7 +2772,7 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the bucket to undelete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\".", + "description": "Required. The full resource name of the bucket to undelete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, @@ -2412,7 +2796,7 @@ "views": { "methods": { "create": { - "description": "Creates a view over logs in a bucket. A bucket may contain a maximum of 50 views.", + "description": "Creates a view over log entries in a log bucket. A bucket may contain a maximum of 30 views.", "flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}/views", "httpMethod": "POST", "id": "logging.locations.buckets.views.create", @@ -2421,7 +2805,7 @@ ], "parameters": { "parent": { - "description": "Required. The bucket in which to create the view \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-logging-project/locations/my-location/buckets/my-bucket\"", + "description": "Required. The bucket in which to create the view `\"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\"` For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, @@ -2446,7 +2830,7 @@ ] }, "delete": { - "description": "Deletes a view from a bucket.", + "description": "Deletes a view on a log bucket. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can delete the view. If this occurs, please try again in a few minutes.", "flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", "httpMethod": "DELETE", "id": "logging.locations.buckets.views.delete", @@ -2455,7 +2839,7 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the view to delete: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id\".", + "description": "Required. The full resource name of the view to delete: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", "location": "path", "pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", "required": true, @@ -2472,7 +2856,7 @@ ] }, "get": { - "description": "Gets a view.", + "description": "Gets a view on a log bucket..", "flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", "httpMethod": "GET", "id": "logging.locations.buckets.views.get", @@ -2481,7 +2865,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the policy: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id\".", + "description": "Required. The resource name of the policy: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", "location": "path", "pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", "required": true, @@ -2500,7 +2884,7 @@ ] }, "list": { - "description": "Lists views on a bucket.", + "description": "Lists views on a log bucket.", "flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}/views", "httpMethod": "GET", "id": "logging.locations.buckets.views.list", @@ -2509,7 +2893,7 @@ ], "parameters": { "pageSize": { - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + "description": "Optional. The maximum number of results to return from this request.Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", "format": "int32", "location": "query", "type": "integer" @@ -2539,7 +2923,7 @@ ] }, "patch": { - "description": "Updates a view. This method replaces the following fields in the existing view with values from the new view: filter.", + "description": "Updates a view on a log bucket. This method replaces the following fields in the existing view with values from the new view: filter. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can update the view. If this occurs, please try again in a few minutes.", "flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", "httpMethod": "PATCH", "id": "logging.locations.buckets.views.patch", @@ -2548,14 +2932,14 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the view to update \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id\".", + "description": "Required. The full resource name of the view to update \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", "location": "path", "pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Optional. Field mask that specifies the fields in view that need an update. A field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter.", + "description": "Optional. Field mask that specifies the fields in view that need an update. A field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", "format": "google-fieldmask", "location": "query", "type": "string" @@ -2576,6 +2960,111 @@ } } } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", + "flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "logging.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^[^/]+/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "logging.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^[^/]+/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.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": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "logging.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^[^/]+/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + } + } } } }, @@ -2591,7 +3080,7 @@ ], "parameters": { "logName": { - "description": "Required. The resource name of the log to delete: \"projects/[PROJECT_ID]/logs/[LOG_ID]\" \"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\" \"folders/[FOLDER_ID]/logs/[LOG_ID]\" [LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", + "description": "Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/123/logs/cloudaudit.googleapis.com%2Factivity\".For more information about log names, see LogEntry.", "location": "path", "pattern": "^[^/]+/[^/]+/logs/[^/]+$", "required": true, @@ -2628,14 +3117,14 @@ "type": "string" }, "parent": { - "description": "Required. The resource name that owns the logs: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" ", + "description": "Required. The resource name that owns the logs: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]", "location": "path", "pattern": "^[^/]+/[^/]+$", "required": true, "type": "string" }, "resourceNames": { - "description": "Optional. The resource name that owns the logs: projects/PROJECT_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID organization/ORGANIZATION_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID billingAccounts/BILLING_ACCOUNT_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID folders/FOLDER_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_IDTo support legacy queries, it could also be: \"projects/PROJECT_ID\" \"organizations/ORGANIZATION_ID\" \"billingAccounts/BILLING_ACCOUNT_ID\" \"folders/FOLDER_ID\"", + "description": "Optional. The resource name that owns the logs: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]To support legacy queries, it could also be: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]", "location": "query", "repeated": true, "type": "string" @@ -2691,7 +3180,7 @@ "organizations": { "methods": { "getCmekSettings": { - "description": "Gets the Logs Router CMEK settings for the given resource.Note: CMEK for the Logs Router can currently only be configured for GCP organizations. Once configured, it applies to all projects and folders in the GCP organization.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/organizations/{organizationsId}/cmekSettings", "httpMethod": "GET", "id": "logging.organizations.getCmekSettings", @@ -2700,7 +3189,7 @@ ], "parameters": { "name": { - "description": "Required. The resource for which to retrieve CMEK settings. \"projects/[PROJECT_ID]/cmekSettings\" \"organizations/[ORGANIZATION_ID]/cmekSettings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings\" \"folders/[FOLDER_ID]/cmekSettings\" Example: \"organizations/12345/cmekSettings\".Note: CMEK for the Logs Router can currently only be configured for GCP organizations. Once configured, it applies to all projects and folders in the GCP organization.", + "description": "Required. The resource for which to retrieve CMEK settings. \"projects/[PROJECT_ID]/cmekSettings\" \"organizations/[ORGANIZATION_ID]/cmekSettings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings\" \"folders/[FOLDER_ID]/cmekSettings\" For example:\"organizations/12345/cmekSettings\"Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -2718,8 +3207,36 @@ "https://www.googleapis.com/auth/logging.read" ] }, + "getSettings": { + "description": "Gets the Log Router settings for the given resource.Note: Settings for the Log Router can be get for Google Cloud projects, folders, organizations and billing accounts. Currently it can only be configured for organizations. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "flatPath": "v2/organizations/{organizationsId}/settings", + "httpMethod": "GET", + "id": "logging.organizations.getSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource for which to retrieve settings. \"projects/[PROJECT_ID]/settings\" \"organizations/[ORGANIZATION_ID]/settings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/settings\" \"folders/[FOLDER_ID]/settings\" For example:\"organizations/12345/settings\"Note: Settings for the Log Router can be get for Google Cloud projects, folders, organizations and billing accounts. Currently it can only be configured for organizations. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}/settings", + "response": { + "$ref": "Settings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + }, "updateCmekSettings": { - "description": "Updates the Logs Router CMEK settings for the given resource.Note: CMEK for the Logs Router can currently only be configured for GCP organizations. Once configured, it applies to all projects and folders in the GCP organization.UpdateCmekSettings will fail if 1) kms_key_name is invalid, or 2) the associated service account does not have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key, or 3) access to the key is disabled.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings will fail if 1) kms_key_name is invalid, or 2) the associated service account does not have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key, or 3) access to the key is disabled.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/organizations/{organizationsId}/cmekSettings", "httpMethod": "PATCH", "id": "logging.organizations.updateCmekSettings", @@ -2728,14 +3245,14 @@ ], "parameters": { "name": { - "description": "Required. The resource name for the CMEK settings to update. \"projects/[PROJECT_ID]/cmekSettings\" \"organizations/[ORGANIZATION_ID]/cmekSettings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings\" \"folders/[FOLDER_ID]/cmekSettings\" Example: \"organizations/12345/cmekSettings\".Note: CMEK for the Logs Router can currently only be configured for GCP organizations. Once configured, it applies to all projects and folders in the GCP organization.", + "description": "Required. The resource name for the CMEK settings to update. \"projects/[PROJECT_ID]/cmekSettings\" \"organizations/[ORGANIZATION_ID]/cmekSettings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings\" \"folders/[FOLDER_ID]/cmekSettings\" For example:\"organizations/12345/cmekSettings\"Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Optional. Field mask identifying which fields from cmek_settings should be updated. A field will be overwritten if and only if it is in the update mask. Output only fields cannot be updated.See FieldMask for more information.Example: \"updateMask=kmsKeyName\"", + "description": "Optional. Field mask identifying which fields from cmek_settings should be updated. A field will be overwritten if and only if it is in the update mask. Output only fields cannot be updated.See FieldMask for more information.For example: \"updateMask=kmsKeyName\"", "format": "google-fieldmask", "location": "query", "type": "string" @@ -2752,13 +3269,48 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/logging.admin" ] + }, + "updateSettings": { + "description": "Updates the Log Router settings for the given resource.Note: Settings for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateSettings will fail if 1) kms_key_name is invalid, or 2) the associated service account does not have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key, or 3) access to the key is disabled. 4) location_id is not supported by Logging. 5) location_id violate OrgPolicy.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "flatPath": "v2/organizations/{organizationsId}/settings", + "httpMethod": "PATCH", + "id": "logging.organizations.updateSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name for the settings to update. \"organizations/[ORGANIZATION_ID]/settings\" For example:\"organizations/12345/settings\"Note: Settings for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask identifying which fields from settings should be updated. A field will be overwritten if and only if it is in the update mask. Output only fields cannot be updated.See FieldMask for more information.For example: \"updateMask=kmsKeyName\"", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}/settings", + "request": { + "$ref": "Settings" + }, + "response": { + "$ref": "Settings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ] } }, "resources": { "exclusions": { "methods": { "create": { - "description": "Creates a new exclusion in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", + "description": "Creates a new exclusion in the _Default sink in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", "flatPath": "v2/organizations/{organizationsId}/exclusions", "httpMethod": "POST", "id": "logging.organizations.exclusions.create", @@ -2767,7 +3319,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource in which to create the exclusion: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" Examples: \"projects/my-logging-project\", \"organizations/123456789\".", + "description": "Required. The parent resource in which to create the exclusion: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" For examples:\"projects/my-logging-project\" \"organizations/123456789\"", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -2787,7 +3339,7 @@ ] }, "delete": { - "description": "Deletes an exclusion.", + "description": "Deletes an exclusion in the _Default sink.", "flatPath": "v2/organizations/{organizationsId}/exclusions/{exclusionsId}", "httpMethod": "DELETE", "id": "logging.organizations.exclusions.delete", @@ -2796,7 +3348,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of an existing exclusion to delete: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" Example: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "description": "Required. The resource name of an existing exclusion to delete: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", "location": "path", "pattern": "^organizations/[^/]+/exclusions/[^/]+$", "required": true, @@ -2813,7 +3365,7 @@ ] }, "get": { - "description": "Gets the description of an exclusion.", + "description": "Gets the description of an exclusion in the _Default sink.", "flatPath": "v2/organizations/{organizationsId}/exclusions/{exclusionsId}", "httpMethod": "GET", "id": "logging.organizations.exclusions.get", @@ -2822,7 +3374,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of an existing exclusion: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" Example: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "description": "Required. The resource name of an existing exclusion: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", "location": "path", "pattern": "^organizations/[^/]+/exclusions/[^/]+$", "required": true, @@ -2841,7 +3393,7 @@ ] }, "list": { - "description": "Lists all the exclusions in a parent resource.", + "description": "Lists all the exclusions on the _Default sink in a parent resource.", "flatPath": "v2/organizations/{organizationsId}/exclusions", "httpMethod": "GET", "id": "logging.organizations.exclusions.list", @@ -2880,7 +3432,7 @@ ] }, "patch": { - "description": "Changes one or more properties of an existing exclusion.", + "description": "Changes one or more properties of an existing exclusion in the _Default sink.", "flatPath": "v2/organizations/{organizationsId}/exclusions/{exclusionsId}", "httpMethod": "PATCH", "id": "logging.organizations.exclusions.patch", @@ -2889,7 +3441,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the exclusion to update: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" Example: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "description": "Required. The resource name of the exclusion to update: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", "location": "path", "pattern": "^organizations/[^/]+/exclusions/[^/]+$", "required": true, @@ -2968,7 +3520,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -2995,7 +3547,7 @@ "buckets": { "methods": { "create": { - "description": "Creates a bucket that can be used to store log entries. Once a bucket has been created, the region cannot be changed.", + "description": "Creates a log bucket that can be used to store log entries. After a bucket has been created, the bucket's location cannot be changed.", "flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets", "httpMethod": "POST", "id": "logging.organizations.locations.buckets.create", @@ -3009,7 +3561,7 @@ "type": "string" }, "parent": { - "description": "Required. The resource in which to create the bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" Example: \"projects/my-logging-project/locations/global\"", + "description": "Required. The resource in which to create the log bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" For example:\"projects/my-project/locations/global\"", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+$", "required": true, @@ -3029,7 +3581,7 @@ ] }, "delete": { - "description": "Deletes a bucket. Moves the bucket to the DELETE_REQUESTED state. After 7 days, the bucket will be purged and all logs in the bucket will be permanently deleted.", + "description": "Deletes a log bucket.Changes the bucket's lifecycle_state to the DELETE_REQUESTED state. After 7 days, the bucket will be purged and all log entries in the bucket will be permanently deleted.", "flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}", "httpMethod": "DELETE", "id": "logging.organizations.locations.buckets.delete", @@ -3038,7 +3590,7 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the bucket to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\".", + "description": "Required. The full resource name of the bucket to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, @@ -3055,7 +3607,7 @@ ] }, "get": { - "description": "Gets a bucket.", + "description": "Gets a log bucket.", "flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}", "httpMethod": "GET", "id": "logging.organizations.locations.buckets.get", @@ -3064,7 +3616,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\".", + "description": "Required. The resource name of the bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, @@ -3083,7 +3635,7 @@ ] }, "list": { - "description": "Lists buckets.", + "description": "Lists log buckets.", "flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets", "httpMethod": "GET", "id": "logging.organizations.locations.buckets.list", @@ -3122,7 +3674,7 @@ ] }, "patch": { - "description": "Updates a bucket. This method replaces the following fields in the existing bucket with values from the new bucket: retention_periodIf the retention period is decreased and the bucket is locked, FAILED_PRECONDITION will be returned.If the bucket has a LifecycleState of DELETE_REQUESTED, FAILED_PRECONDITION will be returned.A buckets region may not be modified after it is created.", + "description": "Updates a log bucket. This method replaces the following fields in the existing bucket with values from the new bucket: retention_periodIf the retention period is decreased and the bucket is locked, FAILED_PRECONDITION will be returned.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed.", "flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}", "httpMethod": "PATCH", "id": "logging.organizations.locations.buckets.patch", @@ -3131,14 +3683,14 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the bucket to update. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\". Also requires permission \"resourcemanager.projects.updateLiens\" to set the locked property", + "description": "Required. The full resource name of the bucket to update. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Required. Field mask that specifies the fields in bucket that need an update. A bucket field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=retention_days.", + "description": "Required. Field mask that specifies the fields in bucket that need an update. A bucket field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see: https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=retention_days", "format": "google-fieldmask", "location": "query", "type": "string" @@ -3157,7 +3709,7 @@ ] }, "undelete": { - "description": "Undeletes a bucket. A bucket that has been deleted may be undeleted within the grace period of 7 days.", + "description": "Undeletes a log bucket. A bucket that has been deleted can be undeleted within the grace period of 7 days.", "flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}:undelete", "httpMethod": "POST", "id": "logging.organizations.locations.buckets.undelete", @@ -3166,7 +3718,7 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the bucket to undelete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\".", + "description": "Required. The full resource name of the bucket to undelete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, @@ -3190,7 +3742,7 @@ "views": { "methods": { "create": { - "description": "Creates a view over logs in a bucket. A bucket may contain a maximum of 50 views.", + "description": "Creates a view over log entries in a log bucket. A bucket may contain a maximum of 30 views.", "flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}/views", "httpMethod": "POST", "id": "logging.organizations.locations.buckets.views.create", @@ -3199,7 +3751,7 @@ ], "parameters": { "parent": { - "description": "Required. The bucket in which to create the view \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-logging-project/locations/my-location/buckets/my-bucket\"", + "description": "Required. The bucket in which to create the view `\"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\"` For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, @@ -3224,7 +3776,7 @@ ] }, "delete": { - "description": "Deletes a view from a bucket.", + "description": "Deletes a view on a log bucket. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can delete the view. If this occurs, please try again in a few minutes.", "flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", "httpMethod": "DELETE", "id": "logging.organizations.locations.buckets.views.delete", @@ -3233,7 +3785,7 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the view to delete: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id\".", + "description": "Required. The full resource name of the view to delete: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", "required": true, @@ -3250,7 +3802,7 @@ ] }, "get": { - "description": "Gets a view.", + "description": "Gets a view on a log bucket..", "flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", "httpMethod": "GET", "id": "logging.organizations.locations.buckets.views.get", @@ -3259,7 +3811,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the policy: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id\".", + "description": "Required. The resource name of the policy: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", "required": true, @@ -3278,7 +3830,7 @@ ] }, "list": { - "description": "Lists views on a bucket.", + "description": "Lists views on a log bucket.", "flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}/views", "httpMethod": "GET", "id": "logging.organizations.locations.buckets.views.list", @@ -3287,7 +3839,7 @@ ], "parameters": { "pageSize": { - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + "description": "Optional. The maximum number of results to return from this request.Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", "format": "int32", "location": "query", "type": "integer" @@ -3317,7 +3869,7 @@ ] }, "patch": { - "description": "Updates a view. This method replaces the following fields in the existing view with values from the new view: filter.", + "description": "Updates a view on a log bucket. This method replaces the following fields in the existing view with values from the new view: filter. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can update the view. If this occurs, please try again in a few minutes.", "flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", "httpMethod": "PATCH", "id": "logging.organizations.locations.buckets.views.patch", @@ -3326,14 +3878,14 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the view to update \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id\".", + "description": "Required. The full resource name of the view to update \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Optional. Field mask that specifies the fields in view that need an update. A field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter.", + "description": "Optional. Field mask that specifies the fields in view that need an update. A field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", "format": "google-fieldmask", "location": "query", "type": "string" @@ -3354,6 +3906,111 @@ } } } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", + "flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "logging.organizations.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "logging.organizations.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.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": "v2/organizations/{organizationsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "logging.organizations.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + } + } } } }, @@ -3369,7 +4026,7 @@ ], "parameters": { "logName": { - "description": "Required. The resource name of the log to delete: \"projects/[PROJECT_ID]/logs/[LOG_ID]\" \"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\" \"folders/[FOLDER_ID]/logs/[LOG_ID]\" [LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", + "description": "Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/123/logs/cloudaudit.googleapis.com%2Factivity\".For more information about log names, see LogEntry.", "location": "path", "pattern": "^organizations/[^/]+/logs/[^/]+$", "required": true, @@ -3406,14 +4063,14 @@ "type": "string" }, "parent": { - "description": "Required. The resource name that owns the logs: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" ", + "description": "Required. The resource name that owns the logs: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, "type": "string" }, "resourceNames": { - "description": "Optional. The resource name that owns the logs: projects/PROJECT_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID organization/ORGANIZATION_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID billingAccounts/BILLING_ACCOUNT_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID folders/FOLDER_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_IDTo support legacy queries, it could also be: \"projects/PROJECT_ID\" \"organizations/ORGANIZATION_ID\" \"billingAccounts/BILLING_ACCOUNT_ID\" \"folders/FOLDER_ID\"", + "description": "Optional. The resource name that owns the logs: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]To support legacy queries, it could also be: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]", "location": "query", "repeated": true, "type": "string" @@ -3444,14 +4101,14 @@ ], "parameters": { "parent": { - "description": "Required. The resource in which to create the sink: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" Examples: \"projects/my-logging-project\", \"organizations/123456789\".", + "description": "Required. The resource in which to create the sink: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" For examples:\"projects/my-project\" \"organizations/123456789\"", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.", + "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.", "location": "query", "type": "boolean" } @@ -3478,7 +4135,7 @@ ], "parameters": { "sinkName": { - "description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" Example: \"projects/my-project-id/sinks/my-sink-id\".", + "description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", "location": "path", "pattern": "^organizations/[^/]+/sinks/[^/]+$", "required": true, @@ -3504,7 +4161,7 @@ ], "parameters": { "sinkName": { - "description": "Required. The resource name of the sink: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" Example: \"projects/my-project-id/sinks/my-sink-id\".", + "description": "Required. The resource name of the sink: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", "location": "path", "pattern": "^organizations/[^/]+/sinks/[^/]+$", "required": true, @@ -3571,7 +4228,7 @@ ], "parameters": { "sinkName": { - "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" Example: \"projects/my-project-id/sinks/my-sink-id\".", + "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", "location": "path", "pattern": "^organizations/[^/]+/sinks/[^/]+$", "required": true, @@ -3583,7 +4240,7 @@ "type": "boolean" }, "updateMask": { - "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter.", + "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", "format": "google-fieldmask", "location": "query", "type": "string" @@ -3611,7 +4268,7 @@ ], "parameters": { "sinkName": { - "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" Example: \"projects/my-project-id/sinks/my-sink-id\".", + "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", "location": "path", "pattern": "^organizations/[^/]+/sinks/[^/]+$", "required": true, @@ -3623,7 +4280,7 @@ "type": "boolean" }, "updateMask": { - "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter.", + "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", "format": "google-fieldmask", "location": "query", "type": "string" @@ -3646,11 +4303,69 @@ } }, "projects": { + "methods": { + "getCmekSettings": { + "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "flatPath": "v2/projects/{projectsId}/cmekSettings", + "httpMethod": "GET", + "id": "logging.projects.getCmekSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource for which to retrieve CMEK settings. \"projects/[PROJECT_ID]/cmekSettings\" \"organizations/[ORGANIZATION_ID]/cmekSettings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings\" \"folders/[FOLDER_ID]/cmekSettings\" For example:\"organizations/12345/cmekSettings\"Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}/cmekSettings", + "response": { + "$ref": "CmekSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + }, + "getSettings": { + "description": "Gets the Log Router settings for the given resource.Note: Settings for the Log Router can be get for Google Cloud projects, folders, organizations and billing accounts. Currently it can only be configured for organizations. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "flatPath": "v2/projects/{projectsId}/settings", + "httpMethod": "GET", + "id": "logging.projects.getSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource for which to retrieve settings. \"projects/[PROJECT_ID]/settings\" \"organizations/[ORGANIZATION_ID]/settings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/settings\" \"folders/[FOLDER_ID]/settings\" For example:\"organizations/12345/settings\"Note: Settings for the Log Router can be get for Google Cloud projects, folders, organizations and billing accounts. Currently it can only be configured for organizations. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}/settings", + "response": { + "$ref": "Settings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + } + }, "resources": { "exclusions": { "methods": { "create": { - "description": "Creates a new exclusion in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", + "description": "Creates a new exclusion in the _Default sink in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", "flatPath": "v2/projects/{projectsId}/exclusions", "httpMethod": "POST", "id": "logging.projects.exclusions.create", @@ -3659,7 +4374,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource in which to create the exclusion: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" Examples: \"projects/my-logging-project\", \"organizations/123456789\".", + "description": "Required. The parent resource in which to create the exclusion: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" For examples:\"projects/my-logging-project\" \"organizations/123456789\"", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -3679,7 +4394,7 @@ ] }, "delete": { - "description": "Deletes an exclusion.", + "description": "Deletes an exclusion in the _Default sink.", "flatPath": "v2/projects/{projectsId}/exclusions/{exclusionsId}", "httpMethod": "DELETE", "id": "logging.projects.exclusions.delete", @@ -3688,7 +4403,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of an existing exclusion to delete: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" Example: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "description": "Required. The resource name of an existing exclusion to delete: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", "location": "path", "pattern": "^projects/[^/]+/exclusions/[^/]+$", "required": true, @@ -3705,7 +4420,7 @@ ] }, "get": { - "description": "Gets the description of an exclusion.", + "description": "Gets the description of an exclusion in the _Default sink.", "flatPath": "v2/projects/{projectsId}/exclusions/{exclusionsId}", "httpMethod": "GET", "id": "logging.projects.exclusions.get", @@ -3714,7 +4429,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of an existing exclusion: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" Example: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "description": "Required. The resource name of an existing exclusion: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", "location": "path", "pattern": "^projects/[^/]+/exclusions/[^/]+$", "required": true, @@ -3733,7 +4448,7 @@ ] }, "list": { - "description": "Lists all the exclusions in a parent resource.", + "description": "Lists all the exclusions on the _Default sink in a parent resource.", "flatPath": "v2/projects/{projectsId}/exclusions", "httpMethod": "GET", "id": "logging.projects.exclusions.list", @@ -3772,7 +4487,7 @@ ] }, "patch": { - "description": "Changes one or more properties of an existing exclusion.", + "description": "Changes one or more properties of an existing exclusion in the _Default sink.", "flatPath": "v2/projects/{projectsId}/exclusions/{exclusionsId}", "httpMethod": "PATCH", "id": "logging.projects.exclusions.patch", @@ -3781,7 +4496,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the exclusion to update: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" Example: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "description": "Required. The resource name of the exclusion to update: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", "location": "path", "pattern": "^projects/[^/]+/exclusions/[^/]+$", "required": true, @@ -3860,7 +4575,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -3887,7 +4602,7 @@ "buckets": { "methods": { "create": { - "description": "Creates a bucket that can be used to store log entries. Once a bucket has been created, the region cannot be changed.", + "description": "Creates a log bucket that can be used to store log entries. After a bucket has been created, the bucket's location cannot be changed.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets", "httpMethod": "POST", "id": "logging.projects.locations.buckets.create", @@ -3901,7 +4616,7 @@ "type": "string" }, "parent": { - "description": "Required. The resource in which to create the bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" Example: \"projects/my-logging-project/locations/global\"", + "description": "Required. The resource in which to create the log bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" For example:\"projects/my-project/locations/global\"", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -3921,7 +4636,7 @@ ] }, "delete": { - "description": "Deletes a bucket. Moves the bucket to the DELETE_REQUESTED state. After 7 days, the bucket will be purged and all logs in the bucket will be permanently deleted.", + "description": "Deletes a log bucket.Changes the bucket's lifecycle_state to the DELETE_REQUESTED state. After 7 days, the bucket will be purged and all log entries in the bucket will be permanently deleted.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}", "httpMethod": "DELETE", "id": "logging.projects.locations.buckets.delete", @@ -3930,7 +4645,7 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the bucket to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\".", + "description": "Required. The full resource name of the bucket to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, @@ -3947,7 +4662,7 @@ ] }, "get": { - "description": "Gets a bucket.", + "description": "Gets a log bucket.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}", "httpMethod": "GET", "id": "logging.projects.locations.buckets.get", @@ -3956,7 +4671,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\".", + "description": "Required. The resource name of the bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, @@ -3975,7 +4690,7 @@ ] }, "list": { - "description": "Lists buckets.", + "description": "Lists log buckets.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets", "httpMethod": "GET", "id": "logging.projects.locations.buckets.list", @@ -4014,7 +4729,7 @@ ] }, "patch": { - "description": "Updates a bucket. This method replaces the following fields in the existing bucket with values from the new bucket: retention_periodIf the retention period is decreased and the bucket is locked, FAILED_PRECONDITION will be returned.If the bucket has a LifecycleState of DELETE_REQUESTED, FAILED_PRECONDITION will be returned.A buckets region may not be modified after it is created.", + "description": "Updates a log bucket. This method replaces the following fields in the existing bucket with values from the new bucket: retention_periodIf the retention period is decreased and the bucket is locked, FAILED_PRECONDITION will be returned.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}", "httpMethod": "PATCH", "id": "logging.projects.locations.buckets.patch", @@ -4023,14 +4738,14 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the bucket to update. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\". Also requires permission \"resourcemanager.projects.updateLiens\" to set the locked property", + "description": "Required. The full resource name of the bucket to update. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Required. Field mask that specifies the fields in bucket that need an update. A bucket field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=retention_days.", + "description": "Required. Field mask that specifies the fields in bucket that need an update. A bucket field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see: https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=retention_days", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4049,7 +4764,7 @@ ] }, "undelete": { - "description": "Undeletes a bucket. A bucket that has been deleted may be undeleted within the grace period of 7 days.", + "description": "Undeletes a log bucket. A bucket that has been deleted can be undeleted within the grace period of 7 days.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}:undelete", "httpMethod": "POST", "id": "logging.projects.locations.buckets.undelete", @@ -4058,7 +4773,7 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the bucket to undelete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\".", + "description": "Required. The full resource name of the bucket to undelete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, @@ -4082,7 +4797,7 @@ "views": { "methods": { "create": { - "description": "Creates a view over logs in a bucket. A bucket may contain a maximum of 50 views.", + "description": "Creates a view over log entries in a log bucket. A bucket may contain a maximum of 30 views.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}/views", "httpMethod": "POST", "id": "logging.projects.locations.buckets.views.create", @@ -4091,7 +4806,7 @@ ], "parameters": { "parent": { - "description": "Required. The bucket in which to create the view \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" Example: \"projects/my-logging-project/locations/my-location/buckets/my-bucket\"", + "description": "Required. The bucket in which to create the view `\"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\"` For example:\"projects/my-project/locations/global/buckets/my-bucket\"", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+$", "required": true, @@ -4116,7 +4831,7 @@ ] }, "delete": { - "description": "Deletes a view from a bucket.", + "description": "Deletes a view on a log bucket. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can delete the view. If this occurs, please try again in a few minutes.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", "httpMethod": "DELETE", "id": "logging.projects.locations.buckets.views.delete", @@ -4125,7 +4840,7 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the view to delete: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id\".", + "description": "Required. The full resource name of the view to delete: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", "required": true, @@ -4142,7 +4857,7 @@ ] }, "get": { - "description": "Gets a view.", + "description": "Gets a view on a log bucket..", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", "httpMethod": "GET", "id": "logging.projects.locations.buckets.views.get", @@ -4151,7 +4866,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the policy: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id\".", + "description": "Required. The resource name of the policy: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", "required": true, @@ -4170,7 +4885,7 @@ ] }, "list": { - "description": "Lists views on a bucket.", + "description": "Lists views on a log bucket.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}/views", "httpMethod": "GET", "id": "logging.projects.locations.buckets.views.list", @@ -4179,7 +4894,7 @@ ], "parameters": { "pageSize": { - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + "description": "Optional. The maximum number of results to return from this request.Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", "format": "int32", "location": "query", "type": "integer" @@ -4209,7 +4924,7 @@ ] }, "patch": { - "description": "Updates a view. This method replaces the following fields in the existing view with values from the new view: filter.", + "description": "Updates a view on a log bucket. This method replaces the following fields in the existing view with values from the new view: filter. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can update the view. If this occurs, please try again in a few minutes.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", "httpMethod": "PATCH", "id": "logging.projects.locations.buckets.views.patch", @@ -4218,14 +4933,14 @@ ], "parameters": { "name": { - "description": "Required. The full resource name of the view to update \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" Example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id\".", + "description": "Required. The full resource name of the view to update \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Optional. Field mask that specifies the fields in view that need an update. A field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter.", + "description": "Optional. Field mask that specifies the fields in view that need an update. A field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4246,6 +4961,111 @@ } } } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "logging.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "logging.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.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": "v2/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "logging.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + } + } } } }, @@ -4261,7 +5081,7 @@ ], "parameters": { "logName": { - "description": "Required. The resource name of the log to delete: \"projects/[PROJECT_ID]/logs/[LOG_ID]\" \"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\" \"folders/[FOLDER_ID]/logs/[LOG_ID]\" [LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", + "description": "Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/123/logs/cloudaudit.googleapis.com%2Factivity\".For more information about log names, see LogEntry.", "location": "path", "pattern": "^projects/[^/]+/logs/[^/]+$", "required": true, @@ -4298,14 +5118,14 @@ "type": "string" }, "parent": { - "description": "Required. The resource name that owns the logs: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" ", + "description": "Required. The resource name that owns the logs: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]", "location": "path", "pattern": "^projects/[^/]+$", "required": true, "type": "string" }, "resourceNames": { - "description": "Optional. The resource name that owns the logs: projects/PROJECT_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID organization/ORGANIZATION_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID billingAccounts/BILLING_ACCOUNT_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID folders/FOLDER_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_IDTo support legacy queries, it could also be: \"projects/PROJECT_ID\" \"organizations/ORGANIZATION_ID\" \"billingAccounts/BILLING_ACCOUNT_ID\" \"folders/FOLDER_ID\"", + "description": "Optional. The resource name that owns the logs: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]To support legacy queries, it could also be: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]", "location": "query", "repeated": true, "type": "string" @@ -4494,14 +5314,14 @@ ], "parameters": { "parent": { - "description": "Required. The resource in which to create the sink: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" Examples: \"projects/my-logging-project\", \"organizations/123456789\".", + "description": "Required. The resource in which to create the sink: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" For examples:\"projects/my-project\" \"organizations/123456789\"", "location": "path", "pattern": "^projects/[^/]+$", "required": true, "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.", + "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.", "location": "query", "type": "boolean" } @@ -4528,7 +5348,7 @@ ], "parameters": { "sinkName": { - "description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" Example: \"projects/my-project-id/sinks/my-sink-id\".", + "description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", "location": "path", "pattern": "^projects/[^/]+/sinks/[^/]+$", "required": true, @@ -4554,7 +5374,7 @@ ], "parameters": { "sinkName": { - "description": "Required. The resource name of the sink: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" Example: \"projects/my-project-id/sinks/my-sink-id\".", + "description": "Required. The resource name of the sink: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", "location": "path", "pattern": "^projects/[^/]+/sinks/[^/]+$", "required": true, @@ -4621,7 +5441,7 @@ ], "parameters": { "sinkName": { - "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" Example: \"projects/my-project-id/sinks/my-sink-id\".", + "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", "location": "path", "pattern": "^projects/[^/]+/sinks/[^/]+$", "required": true, @@ -4633,7 +5453,7 @@ "type": "boolean" }, "updateMask": { - "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter.", + "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4661,7 +5481,7 @@ ], "parameters": { "sinkName": { - "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" Example: \"projects/my-project-id/sinks/my-sink-id\".", + "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", "location": "path", "pattern": "^projects/[^/]+/sinks/[^/]+$", "required": true, @@ -4673,7 +5493,7 @@ "type": "boolean" }, "updateMask": { - "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter.", + "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4707,14 +5527,14 @@ ], "parameters": { "parent": { - "description": "Required. The resource in which to create the sink: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" Examples: \"projects/my-logging-project\", \"organizations/123456789\".", + "description": "Required. The resource in which to create the sink: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" For examples:\"projects/my-project\" \"organizations/123456789\"", "location": "path", "pattern": "^[^/]+/[^/]+$", "required": true, "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.", + "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.", "location": "query", "type": "boolean" } @@ -4741,7 +5561,7 @@ ], "parameters": { "sinkName": { - "description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" Example: \"projects/my-project-id/sinks/my-sink-id\".", + "description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", "location": "path", "pattern": "^[^/]+/[^/]+/sinks/[^/]+$", "required": true, @@ -4767,7 +5587,7 @@ ], "parameters": { "sinkName": { - "description": "Required. The resource name of the sink: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" Example: \"projects/my-project-id/sinks/my-sink-id\".", + "description": "Required. The resource name of the sink: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", "location": "path", "pattern": "^[^/]+/[^/]+/sinks/[^/]+$", "required": true, @@ -4834,7 +5654,7 @@ ], "parameters": { "sinkName": { - "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" Example: \"projects/my-project-id/sinks/my-sink-id\".", + "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", "location": "path", "pattern": "^[^/]+/[^/]+/sinks/[^/]+$", "required": true, @@ -4846,7 +5666,7 @@ "type": "boolean" }, "updateMask": { - "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskExample: updateMask=filter.", + "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4869,7 +5689,7 @@ "v2": { "methods": { "getCmekSettings": { - "description": "Gets the Logs Router CMEK settings for the given resource.Note: CMEK for the Logs Router can currently only be configured for GCP organizations. Once configured, it applies to all projects and folders in the GCP organization.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/{v2Id}/{v2Id1}/cmekSettings", "httpMethod": "GET", "id": "logging.getCmekSettings", @@ -4878,7 +5698,7 @@ ], "parameters": { "name": { - "description": "Required. The resource for which to retrieve CMEK settings. \"projects/[PROJECT_ID]/cmekSettings\" \"organizations/[ORGANIZATION_ID]/cmekSettings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings\" \"folders/[FOLDER_ID]/cmekSettings\" Example: \"organizations/12345/cmekSettings\".Note: CMEK for the Logs Router can currently only be configured for GCP organizations. Once configured, it applies to all projects and folders in the GCP organization.", + "description": "Required. The resource for which to retrieve CMEK settings. \"projects/[PROJECT_ID]/cmekSettings\" \"organizations/[ORGANIZATION_ID]/cmekSettings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings\" \"folders/[FOLDER_ID]/cmekSettings\" For example:\"organizations/12345/cmekSettings\"Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.", "location": "path", "pattern": "^[^/]+/[^/]+$", "required": true, @@ -4896,8 +5716,36 @@ "https://www.googleapis.com/auth/logging.read" ] }, + "getSettings": { + "description": "Gets the Log Router settings for the given resource.Note: Settings for the Log Router can be get for Google Cloud projects, folders, organizations and billing accounts. Currently it can only be configured for organizations. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "flatPath": "v2/{v2Id}/{v2Id1}/settings", + "httpMethod": "GET", + "id": "logging.getSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource for which to retrieve settings. \"projects/[PROJECT_ID]/settings\" \"organizations/[ORGANIZATION_ID]/settings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/settings\" \"folders/[FOLDER_ID]/settings\" For example:\"organizations/12345/settings\"Note: Settings for the Log Router can be get for Google Cloud projects, folders, organizations and billing accounts. Currently it can only be configured for organizations. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.", + "location": "path", + "pattern": "^[^/]+/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}/settings", + "response": { + "$ref": "Settings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + }, "updateCmekSettings": { - "description": "Updates the Logs Router CMEK settings for the given resource.Note: CMEK for the Logs Router can currently only be configured for GCP organizations. Once configured, it applies to all projects and folders in the GCP organization.UpdateCmekSettings will fail if 1) kms_key_name is invalid, or 2) the associated service account does not have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key, or 3) access to the key is disabled.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings will fail if 1) kms_key_name is invalid, or 2) the associated service account does not have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key, or 3) access to the key is disabled.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/{v2Id}/{v2Id1}/cmekSettings", "httpMethod": "PATCH", "id": "logging.updateCmekSettings", @@ -4906,14 +5754,14 @@ ], "parameters": { "name": { - "description": "Required. The resource name for the CMEK settings to update. \"projects/[PROJECT_ID]/cmekSettings\" \"organizations/[ORGANIZATION_ID]/cmekSettings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings\" \"folders/[FOLDER_ID]/cmekSettings\" Example: \"organizations/12345/cmekSettings\".Note: CMEK for the Logs Router can currently only be configured for GCP organizations. Once configured, it applies to all projects and folders in the GCP organization.", + "description": "Required. The resource name for the CMEK settings to update. \"projects/[PROJECT_ID]/cmekSettings\" \"organizations/[ORGANIZATION_ID]/cmekSettings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings\" \"folders/[FOLDER_ID]/cmekSettings\" For example:\"organizations/12345/cmekSettings\"Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.", "location": "path", "pattern": "^[^/]+/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Optional. Field mask identifying which fields from cmek_settings should be updated. A field will be overwritten if and only if it is in the update mask. Output only fields cannot be updated.See FieldMask for more information.Example: \"updateMask=kmsKeyName\"", + "description": "Optional. Field mask identifying which fields from cmek_settings should be updated. A field will be overwritten if and only if it is in the update mask. Output only fields cannot be updated.See FieldMask for more information.For example: \"updateMask=kmsKeyName\"", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4930,11 +5778,46 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/logging.admin" ] + }, + "updateSettings": { + "description": "Updates the Log Router settings for the given resource.Note: Settings for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateSettings will fail if 1) kms_key_name is invalid, or 2) the associated service account does not have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key, or 3) access to the key is disabled. 4) location_id is not supported by Logging. 5) location_id violate OrgPolicy.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "flatPath": "v2/{v2Id}/{v2Id1}/settings", + "httpMethod": "PATCH", + "id": "logging.updateSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name for the settings to update. \"organizations/[ORGANIZATION_ID]/settings\" For example:\"organizations/12345/settings\"Note: Settings for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.", + "location": "path", + "pattern": "^[^/]+/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask identifying which fields from settings should be updated. A field will be overwritten if and only if it is in the update mask. Output only fields cannot be updated.See FieldMask for more information.For example: \"updateMask=kmsKeyName\"", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}/settings", + "request": { + "$ref": "Settings" + }, + "response": { + "$ref": "Settings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ] } } } }, - "revision": "20210325", + "revision": "20220225", "rootUrl": "https://logging.googleapis.com/", "schemas": { "BigQueryOptions": { @@ -4942,11 +5825,11 @@ "id": "BigQueryOptions", "properties": { "usePartitionedTables": { - "description": "Optional. Whether to use BigQuery's partition tables (https://cloud.google.com/bigquery/docs/partitioned-tables). By default, Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and special query syntax (https://cloud.google.com/bigquery/docs/querying-partitioned-tables) has to be used instead. In both cases, tables are sharded based on UTC timezone.", + "description": "Optional. Whether to use BigQuery's partition tables (https://cloud.google.com/bigquery/docs/partitioned-tables). By default, Cloud Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and special query syntax (https://cloud.google.com/bigquery/docs/querying-partitioned-tables) has to be used instead. In both cases, tables are sharded based on UTC timezone.", "type": "boolean" }, "usesTimestampColumnPartitioning": { - "description": "Output only. True if new timestamp column based partitioning is in use, false if legacy ingestion-time partitioning is in use. All new sinks will have this field set true and will use timestamp column based partitioning. If use_partitioned_tables is false, this value has no meaning and will be false. Legacy sinks using partitioned tables will have this field set to false.", + "description": "Output only. True if new timestamp column based partitioning is in use, false if legacy ingestion-time partitioning is in use.All new sinks will have this field set true and will use timestamp column based partitioning. If use_partitioned_tables is false, this value has no meaning and will be false. Legacy sinks using partitioned tables will have this field set to false.", "readOnly": true, "type": "boolean" } @@ -4972,12 +5855,18 @@ }, "type": "object" }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, "CmekSettings": { - "description": "Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Logs Router can currently only be configured for GCP organizations. Once configured, it applies to all projects and folders in the GCP organization.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "id": "CmekSettings", "properties": { "kmsKeyName": { - "description": "The resource name for the configured Cloud KMS key.KMS key name format: \"projects/PROJECT_ID/locations/LOCATION/keyRings/KEYRING/cryptoKeys/KEY\"For example: \"projects/my-project-id/locations/my-region/keyRings/key-ring-name/cryptoKeys/key-name\"To enable CMEK for the Logs Router, set this field to a valid kms_key_name for which the associated service account has the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Logs Router, set this field to an empty string.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "The resource name for the configured Cloud KMS key.KMS key name format: \"projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]\" For example:\"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key\"To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "type": "string" }, "name": { @@ -4986,13 +5875,100 @@ "type": "string" }, "serviceAccountId": { - "description": "Output only. The service account that will be used by the Logs Router to access your Cloud KMS key.Before enabling CMEK for Logs Router, you must first assign the role roles/cloudkms.cryptoKeyEncrypterDecrypter to the service account that the Logs Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Logs Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "readOnly": true, "type": "string" } }, "type": "object" }, + "CopyLogEntriesMetadata": { + "description": "Metadata for CopyLogEntries long running operations.", + "id": "CopyLogEntriesMetadata", + "properties": { + "cancellationRequested": { + "description": "Identifies whether the user has requested cancellation of the operation.", + "type": "boolean" + }, + "endTime": { + "description": "The end time of an operation.", + "format": "google-datetime", + "type": "string" + }, + "progress": { + "description": "Estimated progress of the operation (0 - 100%).", + "format": "int32", + "type": "integer" + }, + "request": { + "$ref": "CopyLogEntriesRequest", + "description": "CopyLogEntries RPC request." + }, + "startTime": { + "description": "The create time of an operation.", + "format": "google-datetime", + "type": "string" + }, + "state": { + "description": "State of an operation.", + "enum": [ + "OPERATION_STATE_UNSPECIFIED", + "OPERATION_STATE_SCHEDULED", + "OPERATION_STATE_WAITING_FOR_PERMISSIONS", + "OPERATION_STATE_RUNNING", + "OPERATION_STATE_SUCCEEDED", + "OPERATION_STATE_FAILED", + "OPERATION_STATE_CANCELLED" + ], + "enumDescriptions": [ + "Should not be used.", + "The operation is scheduled.", + "Waiting for necessary permissions.", + "The operation is running.", + "The operation was completed successfully.", + "The operation failed.", + "The operation was cancelled by the user." + ], + "type": "string" + }, + "writerIdentity": { + "description": "The IAM identity of a service account that must be granted access to the destination.If the service account is not granted permission to the destination within an hour, the operation will be cancelled.For example: \"serviceAccount:foo@bar.com\"", + "type": "string" + } + }, + "type": "object" + }, + "CopyLogEntriesRequest": { + "description": "The parameters to CopyLogEntries.", + "id": "CopyLogEntriesRequest", + "properties": { + "destination": { + "description": "Required. Destination to which to copy log entries.", + "type": "string" + }, + "filter": { + "description": "Optional. A filter specifying which log entries to copy. The filter must be no more than 20k characters. An empty filter matches all log entries.", + "type": "string" + }, + "name": { + "description": "Required. Log bucket from which to copy log entries.For example:\"projects/my-project/locations/global/buckets/my-source-bucket\"", + "type": "string" + } + }, + "type": "object" + }, + "CopyLogEntriesResponse": { + "description": "Response type for CopyLogEntries long running operations.", + "id": "CopyLogEntriesResponse", + "properties": { + "logEntriesCopiedCount": { + "description": "Number of log entries copied.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "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", @@ -5242,7 +6218,7 @@ "type": "array" }, "resourceNames": { - "description": "Required. Names of one or more parent resources from which to retrieve log entries: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" May alternatively be one or more views projects/PROJECT_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID organization/ORGANIZATION_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID billingAccounts/BILLING_ACCOUNT_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID folders/FOLDER_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_IDProjects listed in the project_ids field are added to this list.", + "description": "Required. Names of one or more parent resources from which to retrieve log entries: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]May alternatively be one or more views: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]Projects listed in the project_ids field are added to this list.", "items": { "type": "string" }, @@ -5323,6 +6299,24 @@ }, "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" + }, "ListSinksResponse": { "description": "Result returned from ListSinks.", "id": "ListSinksResponse", @@ -5394,9 +6388,13 @@ "type": "object" }, "LogBucket": { - "description": "Describes a repository of logs.", + "description": "Describes a repository in which log entries are stored.", "id": "LogBucket", "properties": { + "cmekSettings": { + "$ref": "CmekSettings", + "description": "The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed." + }, "createTime": { "description": "Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.", "format": "google-datetime", @@ -5417,20 +6415,27 @@ "enumDescriptions": [ "Unspecified state. This is only used/useful for distinguishing unset values.", "The normal and active state.", - "The bucket has been marked for deletion by the user." + "The resource has been marked for deletion by the user. For some resources (e.g. buckets), this can be reversed by an un-delete operation." ], "readOnly": true, "type": "string" }, "locked": { - "description": "Whether the bucket has been locked. The retention period on a locked bucket may not be changed. Locked buckets may only be deleted if they are empty.", + "description": "Whether the bucket is locked.The retention period on a locked bucket cannot be changed. Locked buckets may only be deleted if they are empty.", "type": "boolean" }, "name": { - "description": "Output only. The resource name of the bucket. For example: \"projects/my-project-id/locations/my-location/buckets/my-bucket-id\" The supported locations are: global, us-central1, us-east1, us-west1, asia-east1, europe-west1.For the location of global it is unspecified where logs are actually stored. Once a bucket has been created, the location can not be changed.", + "description": "Output only. The resource name of the bucket.For example:projects/my-project/locations/global/buckets/my-bucketFor a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support)For the location of global it is unspecified where log entries are actually stored.After a bucket has been created, the location cannot be changed.", "readOnly": true, "type": "string" }, + "restrictedFields": { + "description": "Log entry field paths that are denied access in this bucket.The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation.Restricting a repeated field will restrict all values. Adding a parent will block all child fields. (e.g. foo.bar will block foo.bar.baz)", + "items": { + "type": "string" + }, + "type": "array" + }, "retentionDays": { "description": "Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.", "format": "int32", @@ -5469,16 +6474,16 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. A set of user-defined (key, value) data that provides additional information about the log entry.Cloud Logging truncates label keys that exceed 512 B and label values that exceed 64 KB upon their associated log entry being written. The truncation is indicated by an ellipsis at the end of the character string.", + "description": "Optional. A map of key, value pairs that provides additional information about the log entry. The labels can be user-defined or system-defined.User-defined labels are arbitrary key, value pairs that you can use to classify logs.System-defined labels are defined by GCP services for platform logs. They have two components - a service namespace component and the attribute name. For example: compute.googleapis.com/resource_name.Cloud Logging truncates label keys that exceed 512 B and label values that exceed 64 KB upon their associated log entry being written. The truncation is indicated by an ellipsis at the end of the character string.", "type": "object" }, "logName": { - "description": "Required. The resource name of the log to which this log entry belongs: \"projects/[PROJECT_ID]/logs/[LOG_ID]\" \"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\" \"folders/[FOLDER_ID]/logs/[LOG_ID]\" A project number may be used in place of PROJECT_ID. The project number is translated to its corresponding PROJECT_ID internally and the log_name field will contain PROJECT_ID in queries and exports.[LOG_ID] must be URL-encoded within log_name. Example: \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". [LOG_ID] must be less than 512 characters long and can only include the following characters: upper and lower case alphanumeric characters, forward-slash, underscore, hyphen, and period.For backward compatibility, if log_name begins with a forward-slash, such as /projects/..., then the log entry is ingested as usual but the forward-slash is removed. Listing the log entry will not show the leading slash and filtering for a log name with a leading slash will never return any results.", + "description": "Required. The resource name of the log to which this log entry belongs: \"projects/[PROJECT_ID]/logs/[LOG_ID]\" \"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\" \"folders/[FOLDER_ID]/logs/[LOG_ID]\" A project number may be used in place of PROJECT_ID. The project number is translated to its corresponding PROJECT_ID internally and the log_name field will contain PROJECT_ID in queries and exports.[LOG_ID] must be URL-encoded within log_name. Example: \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\".[LOG_ID] must be less than 512 characters long and can only include the following characters: upper and lower case alphanumeric characters, forward-slash, underscore, hyphen, and period.For backward compatibility, if log_name begins with a forward-slash, such as /projects/..., then the log entry is ingested as usual, but the forward-slash is removed. Listing the log entry will not show the leading slash and filtering for a log name with a leading slash will never return any results.", "type": "string" }, "metadata": { "$ref": "MonitoredResourceMetadata", - "description": "Output only. Deprecated. Additional metadata about the monitored resource.Only k8s_container, k8s_pod, and k8s_node MonitoredResources have this field populated for GKE versions older than 1.12.6. For GKE versions 1.12.6 and above, the metadata field has been deprecated. The Kubernetes pod labels that used to be in metadata.userLabels will now be present in the labels field with a key prefix of k8s-pod/. The system labels that were present in the metadata.systemLabels field will no longer be available in the log entry.", + "description": "Output only. Deprecated. This field is not used by Logging. Any value written to it is cleared.", "readOnly": true }, "operation": { @@ -5537,6 +6542,10 @@ "description": "Optional. The span ID within the trace associated with the log entry.For Trace spans, this is the same format that the Trace API v2 uses: a 16-character hexadecimal encoding of an 8-byte array, such as 000000000000004a.", "type": "string" }, + "split": { + "$ref": "LogSplit", + "description": "Optional. Information indicating this LogEntry is part of a sequence of multiple log entries split from a single LogEntry." + }, "textPayload": { "description": "The log entry payload, represented as a Unicode string (UTF-8).", "type": "string" @@ -5601,7 +6610,7 @@ "type": "object" }, "LogExclusion": { - "description": "Specifies a set of log entries that are not to be stored in Logging. If your GCP resource receives a large volume of logs, you can use exclusions to reduce your chargeable logs. Exclusions are processed after log sinks, so you can export log entries before they are excluded. Note that organization-level and folder-level exclusions don't apply to child resources, and that you can't exclude audit log entries.", + "description": "Specifies a set of log entries that are filtered out by a sink. If your Google Cloud resource receives a large volume of log entries, you can use exclusions to reduce your chargeable logs. Note that exclusions on organization-level and folder-level sinks don't apply to child resources. Note also that you cannot modify the _Required sink or exclude logs from it.", "id": "LogExclusion", "properties": { "createTime": { @@ -5619,7 +6628,7 @@ "type": "boolean" }, "filter": { - "description": "Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-queries) that matches the log entries to be excluded. By using the sample function (https://cloud.google.com/logging/docs/view/advanced-queries#sample), you can exclude less than 100% of the matching log entries. For example, the following query matches 99% of low-severity log entries from Google Cloud Storage buckets:\"resource.type=gcs_bucket severity=ERROR\" The maximum length of the filter is 20000 characters.", "type": "string" @@ -5715,7 +6728,7 @@ "description": "Optional. The metric descriptor associated with the logs-based metric. If unspecified, it uses a default metric descriptor with a DELTA metric kind, INT64 value type, with no labels and a unit of \"1\". Such a metric counts the number of log entries matching the filter expression.The name, type, and description fields in the metric_descriptor are output only, and is constructed using the name and description field in the LogMetric.To create a logs-based metric that records a distribution of log values, a DELTA metric kind with a DISTRIBUTION value type must be used along with a value_extractor expression in the LogMetric.Each label in the metric descriptor must have a matching label name as the key and an extractor expression as the value in the label_extractors map.The metric_kind and value_type fields in the metric_descriptor cannot be updated once initially configured. New labels can be added in the metric_descriptor, but existing labels cannot be modified except for their description." }, "name": { - "description": "Required. The client-assigned metric identifier. Examples: \"error_count\", \"nginx/requests\".Metric identifiers are limited to 100 characters and can include only the following characters: A-Z, a-z, 0-9, and the special characters _-.,+!*',()%/. The forward-slash character (/) denotes a hierarchy of name pieces, and it cannot be the first character of the name.The metric identifier in this field must not be URL-encoded (https://en.wikipedia.org/wiki/Percent-encoding). However, when the metric identifier appears as the [METRIC_ID] part of a metric_name API parameter, then the metric identifier must be URL-encoded. Example: \"projects/my-project/metrics/nginx%2Frequests\".", + "description": "Required. The client-assigned metric identifier. Examples: \"error_count\", \"nginx/requests\".Metric identifiers are limited to 100 characters and can include only the following characters: A-Z, a-z, 0-9, and the special characters _-.,+!*',()%/. The forward-slash character (/) denotes a hierarchy of name pieces, and it cannot be the first character of the name.This field is the [METRIC_ID] part of a metric resource name in the format \"projects/PROJECT_ID/metrics/METRIC_ID\". Example: If the resource name of a metric is \"projects/my-project/metrics/nginx%2Frequests\", this field's value is \"nginx/requests\".", "type": "string" }, "updateTime": { @@ -5744,7 +6757,7 @@ "type": "object" }, "LogSink": { - "description": "Describes a sink used to export log entries to one of the following destinations in any project: a Cloud Storage bucket, a BigQuery dataset, a Cloud Pub/Sub topic or a Cloud Logging Bucket. A logs filter controls which log entries are exported. The sink must be created within a project, organization, billing account, or folder.", + "description": "Describes a sink used to export log entries to one of the following destinations in any project: a Cloud Storage bucket, a BigQuery dataset, a Pub/Sub topic or a Cloud Logging log bucket. A logs filter controls which log entries are exported. The sink must be created within a project, organization, billing account, or folder.", "id": "LogSink", "properties": { "bigqueryOptions": { @@ -5758,7 +6771,7 @@ "type": "string" }, "description": { - "description": "Optional. A description of this sink. The maximum length of the description is 8000 characters.", + "description": "Optional. A description of this sink.The maximum length of the description is 8000 characters.", "type": "string" }, "destination": { @@ -5766,26 +6779,26 @@ "type": "string" }, "disabled": { - "description": "Optional. If set to True, then this sink is disabled and it does not export any log entries.", + "description": "Optional. If set to true, then this sink is disabled and it does not export any log entries.", "type": "boolean" }, "exclusions": { - "description": "Optional. Log entries that match any of the exclusion filters will not be exported. If a log entry is matched by both filter and one of exclusion_filters it will not be exported.", + "description": "Optional. Log entries that match any of these exclusion filters will not be exported.If a log entry is matched by both filter and one of exclusion_filters it will not be exported.", "items": { "$ref": "LogExclusion" }, "type": "array" }, "filter": { - "description": "Optional. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-queries). The only exported log entries are those that are in the resource owning the sink and that match the filter. For example: logName=\"projects/[PROJECT_ID]/logs/[LOG_ID]\" AND severity>=ERROR ", + "description": "Optional. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-queries). The only exported log entries are those that are in the resource owning the sink and that match the filter.For example:logName=\"projects/[PROJECT_ID]/logs/[LOG_ID]\" AND severity>=ERROR", "type": "string" }, "includeChildren": { - "description": "Optional. This field applies only to sinks owned by organizations and folders. If the field is false, the default, only the logs owned by the sink's parent resource are available for export. If the field is true, then logs from all the projects, folders, and billing accounts contained in the sink's parent resource are also available for export. Whether a particular log entry from the children is exported depends on the sink's filter expression. For example, if this field is true, then the filter resource.type=gce_instance would export all Compute Engine VM instance log entries from all projects in the sink's parent. To only export entries from certain child projects, filter on the project part of the log name: logName:(\"projects/test-project1/\" OR \"projects/test-project2/\") AND resource.type=gce_instance ", + "description": "Optional. This field applies only to sinks owned by organizations and folders. If the field is false, the default, only the logs owned by the sink's parent resource are available for export. If the field is true, then log entries from all the projects, folders, and billing accounts contained in the sink's parent resource are also available for export. Whether a particular log entry from the children is exported depends on the sink's filter expression.For example, if this field is true, then the filter resource.type=gce_instance would export all Compute Engine VM instance log entries from all projects in the sink's parent.To only export entries from certain child projects, filter on the project part of the log name:logName:(\"projects/test-project1/\" OR \"projects/test-project2/\") AND resource.type=gce_instance", "type": "boolean" }, "name": { - "description": "Required. The client-assigned sink identifier, unique within the project. Example: \"my-syslog-errors-to-pubsub\". Sink identifiers are limited to 100 characters and can include only the following characters: upper and lower-case alphanumeric characters, underscores, hyphens, and periods. First character has to be alphanumeric.", + "description": "Required. The client-assigned sink identifier, unique within the project.For example: \"my-syslog-errors-to-pubsub\". Sink identifiers are limited to 100 characters and can include only the following characters: upper and lower-case alphanumeric characters, underscores, hyphens, and periods. First character has to be alphanumeric.", "type": "string" }, "outputVersionFormat": { @@ -5809,15 +6822,36 @@ "type": "string" }, "writerIdentity": { - "description": "Output only. An IAM identity\u2014a service account or group\u2014under which Logging writes the exported log entries to the sink's destination. This field is set by sinks.create and sinks.update based on the value of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Granting Access for a Resource (https://cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.", + "description": "Output only. An IAM identity\u2014a service account or group\u2014under which Cloud Logging writes the exported log entries to the sink's destination. This field is set by sinks.create and sinks.update based on the value of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Granting Access for a Resource (https://cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.Sinks that have a destination that is a log bucket in the same project as the sink do not have a writer_identity and no additional permissions are required.", "readOnly": true, "type": "string" } }, "type": "object" }, + "LogSplit": { + "description": "Additional information used to correlate multiple log entries. Used when a single LogEntry would exceed the Google Cloud Logging size limit and is split across multiple log entries.", + "id": "LogSplit", + "properties": { + "index": { + "description": "The index of this LogEntry in the sequence of split log entries. Log entries are given |index| values 0, 1, ..., n-1 for a sequence of n log entries.", + "format": "int32", + "type": "integer" + }, + "totalSplits": { + "description": "The total number of log entries that the original LogEntry was split into.", + "format": "int32", + "type": "integer" + }, + "uid": { + "description": "A globally unique identifier for all log entries in a sequence of split log entries. All log entries with the same |LogSplit.uid| are assumed to be part of the same sequence of split log entries.", + "type": "string" + } + }, + "type": "object" + }, "LogView": { - "description": "Describes a view over logs in a bucket.", + "description": "Describes a view over log entries in a bucket.", "id": "LogView", "properties": { "createTime": { @@ -5831,11 +6865,11 @@ "type": "string" }, "filter": { - "description": "Filter that restricts which log entries in a bucket are visible in this view. Filters are restricted to be a logical AND of ==/!= of any of the following: originating project/folder/organization/billing account. resource type log id Example: SOURCE(\"projects/myproject\") AND resource.type = \"gce_instance\" AND LOG_ID(\"stdout\")", + "description": "Filter that restricts which log entries in a bucket are visible in this view.Filters are restricted to be a logical AND of ==/!= of any of the following: originating project/folder/organization/billing account. resource type log idFor example:SOURCE(\"projects/myproject\") AND resource.type = \"gce_instance\" AND LOG_ID(\"stdout\")", "type": "string" }, "name": { - "description": "The resource name of the view. For example \"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view", + "description": "The resource name of the view.For example:projects/my-project/locations/global/buckets/my-bucket/views/my-view", "type": "string" }, "updateTime": { @@ -5883,10 +6917,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -5980,10 +7014,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -5996,7 +7030,7 @@ "type": "object" }, "MonitoredResource": { - "description": "An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The type field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the labels field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for \"gce_instance\" has labels \"instance_id\" and \"zone\": { \"type\": \"gce_instance\", \"labels\": { \"instance_id\": \"12345678901234\", \"zone\": \"us-central1-a\" }} ", + "description": "An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The type field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the labels field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for \"gce_instance\" has labels \"project_id\", \"instance_id\" and \"zone\": { \"type\": \"gce_instance\", \"labels\": { \"project_id\": \"my-project\", \"instance_id\": \"12345678901234\", \"zone\": \"us-central1-a\" }} ", "id": "MonitoredResource", "properties": { "labels": { @@ -6007,7 +7041,7 @@ "type": "object" }, "type": { - "description": "Required. The monitored resource type. This field must match the type field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is gce_instance.", + "description": "Required. The monitored resource type. This field must match the type field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is gce_instance. Some descriptors include the service name in the type; for example, the type of a Datastream stream is datastream.googleapis.com/Stream.", "type": "string" } }, @@ -6049,10 +7083,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -6061,7 +7095,7 @@ "type": "string" }, "type": { - "description": "Required. The monitored resource type. For example, the type \"cloudsql_database\" represents databases in Google Cloud SQL.", + "description": "Required. The monitored resource type. For example, the type \"cloudsql_database\" represents databases in Google Cloud SQL. For a list of types, see Monitoring 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" } }, @@ -6089,6 +7123,41 @@ }, "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" + }, "RequestLog": { "description": "Complete log information about a single HTTP request to an App Engine application.", "id": "RequestLog", @@ -6243,6 +7312,35 @@ }, "type": "object" }, + "Settings": { + "description": "Describes the settings associated with a project, folder, organization, billing account, or flexible resource.", + "id": "Settings", + "properties": { + "disableDefaultSink": { + "description": "Optional. If set to true, the _Default sink in newly created projects and folders will created in a disabled state. This can be used to automatically disable log ingestion if there is already an aggregated sink configured in the hierarchy. The _Default sink can be re-enabled manually if needed.", + "type": "boolean" + }, + "kmsKeyName": { + "description": "Optional. The resource name for the configured Cloud KMS key.KMS key name format: \"projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]\" For example:\"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key\"To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "type": "string" + }, + "kmsServiceAccountId": { + "description": "Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the role roles/cloudkms.cryptoKeyEncrypterDecrypter to the service account that the Log Router will use to access your Cloud KMS key. Use GetSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the settings.", + "readOnly": true, + "type": "string" + }, + "storageLocation": { + "description": "Optional. The Cloud region that will be used for _Default and _Required log buckets for newly created projects and folders. For example europe-west1. This setting does not affect the location of custom log buckets.", + "type": "string" + } + }, + "type": "object" + }, "SourceLocation": { "description": "Specifies a location in a source code file.", "id": "SourceLocation", @@ -6278,6 +7376,33 @@ }, "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" + }, "SuppressionInfo": { "description": "Information about entries that were omitted from the session.", "id": "SuppressionInfo", @@ -6318,7 +7443,7 @@ "type": "string" }, "resourceNames": { - "description": "Required. Name of a parent resource from which to retrieve log entries: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" May alternatively be one or more views: \"projects/PROJECT_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID\" \"organization/ORGANIZATION_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID\" \"billingAccounts/BILLING_ACCOUNT_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID\" \"folders/FOLDER_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID\"", + "description": "Required. Name of a parent resource from which to retrieve log entries: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]May alternatively be one or more views: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]", "items": { "type": "string" }, @@ -6363,7 +7488,7 @@ "type": "boolean" }, "entries": { - "description": "Required. The log entries to send to Logging. The order of log entries in this list does not matter. Values supplied in this method's log_name, resource, and labels fields are copied into those log entries in this list that do not include values for their corresponding fields. For more information, see the LogEntry type.If the timestamp or insert_id fields are missing in log entries, then this method supplies the current time or a unique identifier, respectively. The supplied values are chosen so that, among the log entries that did not supply their own values, the entries earlier in the list will sort before the entries later in the list. See the entries.list method.Log entries with timestamps that are more than the logs retention period (https://cloud.google.com/logging/quota-policy) in the past or more than 24 hours in the future will not be available when calling entries.list. However, those log entries can still be exported with LogSinks (https://cloud.google.com/logging/docs/api/tasks/exporting-logs).To improve throughput and to avoid exceeding the quota limit (https://cloud.google.com/logging/quota-policy) for calls to entries.write, you should try to include several log entries in this list, rather than calling this method for each individual log entry.", + "description": "Required. The log entries to send to Logging. The order of log entries in this list does not matter. Values supplied in this method's log_name, resource, and labels fields are copied into those log entries in this list that do not include values for their corresponding fields. For more information, see the LogEntry type.If the timestamp or insert_id fields are missing in log entries, then this method supplies the current time or a unique identifier, respectively. The supplied values are chosen so that, among the log entries that did not supply their own values, the entries earlier in the list will sort before the entries later in the list. See the entries.list method.Log entries with timestamps that are more than the logs retention period (https://cloud.google.com/logging/quotas) in the past or more than 24 hours in the future will not be available when calling entries.list. However, those log entries can still be exported with LogSinks (https://cloud.google.com/logging/docs/api/tasks/exporting-logs).To improve throughput and to avoid exceeding the quota limit (https://cloud.google.com/logging/quotas) for calls to entries.write, you should try to include several log entries in this list, rather than calling this method for each individual log entry.", "items": { "$ref": "LogEntry" }, @@ -6377,7 +7502,7 @@ "type": "object" }, "logName": { - "description": "Optional. A default log resource name that is assigned to all log entries in entries that do not specify a value for log_name: \"projects/[PROJECT_ID]/logs/[LOG_ID]\" \"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\" \"folders/[FOLDER_ID]/logs/[LOG_ID]\" [LOG_ID] must be URL-encoded. For example: \"projects/my-project-id/logs/syslog\" \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\" The permission logging.logEntries.create is needed on each project, organization, billing account, or folder that is receiving new log entries, whether the resource is specified in logName or in an individual log entry.", + "description": "Optional. A default log resource name that is assigned to all log entries in entries that do not specify a value for log_name: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example: \"projects/my-project-id/logs/syslog\" \"organizations/123/logs/cloudaudit.googleapis.com%2Factivity\" The permission logging.logEntries.create is needed on each project, organization, billing account, or folder that is receiving new log entries, whether the resource is specified in logName or in an individual log entry.", "type": "string" }, "partialSuccess": { diff --git a/etc/api/managedidentities/v1/managedidentities-api.json b/etc/api/managedidentities/v1/managedidentities-api.json index 3d78455f1c..cc47914aad 100644 --- a/etc/api/managedidentities/v1/managedidentities-api.json +++ b/etc/api/managedidentities/v1/managedidentities-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -219,7 +219,7 @@ ], "parameters": { "domainName": { - "description": "Required. The fully qualified domain name. e.g. mydomain.myorganization.com, with the following restrictions: * Must contain only lowercase letters, numbers, periods and hyphens. * Must start with a letter. * Must contain between 2-64 characters. * Must end with a number or a letter. * Must not start with period. * First segement length (mydomain form example above) shouldn't exceed 15 chars. * The last segment cannot be fully numeric. * Must be unique within the customer project.", + "description": "Required. The fully qualified domain name. e.g. mydomain.myorganization.com, with the following restrictions: * Must contain only lowercase letters, numbers, periods and hyphens. * Must start with a letter. * Must contain between 2-64 characters. * Must end with a number or a letter. * Must not start with period. * First segment length (mydomain for example above) shouldn't exceed 15 chars. * The last segment cannot be fully numeric. * Must be unique within the customer project.", "location": "query", "type": "string" }, @@ -330,7 +330,7 @@ ], "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).", + "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" @@ -351,6 +351,31 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getLdapssettings": { + "description": "Gets the domain ldaps settings.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}/ldapssettings", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.getLdapssettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The domain resource name using the form: `projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/ldapssettings", + "response": { + "$ref": "LDAPSSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "Lists domains in a project.", "flatPath": "v1/projects/{projectsId}/locations/global/domains", @@ -414,7 +439,7 @@ "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 fields from Domain: * `labels` * `locations` * `authorized_networks`", + "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 fields from Domain: * `labels` * `locations` * `authorized_networks` * `audit_logs_enabled`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -487,6 +512,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "restore": { + "description": "RestoreDomain restores domain backup mentioned in the RestoreDomainRequest", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}:restore", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.restore", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name for the domain to which the backup belongs", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:restore", + "request": { + "$ref": "RestoreDomainRequest" + }, + "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/global/domains/{domainsId}:setIamPolicy", @@ -543,6 +596,40 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "updateLdapssettings": { + "description": "Patches a single ldaps settings.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}/ldapssettings", + "httpMethod": "PATCH", + "id": "managedidentities.projects.locations.global.domains.updateLdapssettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the LDAPS settings. Uses the form: `projects/{project}/locations/{location}/domains/{domain}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in this field. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/ldapssettings", + "request": { + "$ref": "LDAPSSettings" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "validateTrust": { "description": "Validates a trust state, that the target domain is reachable, and that the target domain is able to accept incoming trust requests.", "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}:validateTrust", @@ -571,6 +658,337 @@ "https://www.googleapis.com/auth/cloud-platform" ] } + }, + "resources": { + "backups": { + "methods": { + "create": { + "description": "Creates a Backup for a domain.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}/backups", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.backups.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "backupId": { + "description": "Required. Backup Id, unique name to identify the backups with the following restrictions: * Must be lowercase letters, numbers, and hyphens * Must start with a letter. * Must contain between 1-63 characters. * Must end with a number or a letter. * Must be unique within the domain.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The domain resource name using the form: `projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/backups", + "request": { + "$ref": "Backup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes identified Backup.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}/backups/{backupsId}", + "httpMethod": "DELETE", + "id": "managedidentities.projects.locations.global.domains.backups.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backup resource name using the form: `projects/{project_id}/locations/global/domains/{domain_name}/backups/{backup_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Backup.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}/backups/{backupsId}", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.backups.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backup resource name using the form: `projects/{project_id}/locations/global/domains/{domain_name}/backups/{backup_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Backup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}/backups/{backupsId}:getIamPolicy", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Backup in a given project.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}/backups", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.backups.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter specifying constraints of a list operation.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specifies the ordering of results following syntax at https://cloud.google.com/apis/design/design_patterns#sorting_order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return. If not specified, a default value of 1000 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's next_page_token to determine if there are more instances left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The `next_page_token` value returned from a previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The domain resource name using the form: `projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/backups", + "response": { + "$ref": "ListBackupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the labels for specified Backup.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}/backups/{backupsId}", + "httpMethod": "PATCH", + "id": "managedidentities.projects.locations.global.domains.backups.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The unique name of the Backup in the form of `projects/{project_id}/locations/global/domains/{domain_name}/backups/{name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+/backups/[^/]+$", + "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 from Backup: * `labels`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Backup" + }, + "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/global/domains/{domainsId}/backups/{backupsId}:setIamPolicy", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.backups.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/global/domains/[^/]+/backups/[^/]+$", + "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/global/domains/{domainsId}/backups/{backupsId}:testIamPermissions", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.backups.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/global/domains/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "sqlIntegrations": { + "methods": { + "get": { + "description": "Gets details of a single sqlIntegration.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}/sqlIntegrations/{sqlIntegrationsId}", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.sqlIntegrations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. SQLIntegration resource name using the form: `projects/{project_id}/locations/global/domains/{domain}/sqlIntegrations/{name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+/sqlIntegrations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "SqlIntegration" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists SqlIntegrations in a given domain.", + "flatPath": "v1/projects/{projectsId}/locations/global/domains/{domainsId}/sqlIntegrations", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.sqlIntegrations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter specifying constraints of a list operation. For example, `SqlIntegration.name=\"sql\"`.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specifies the ordering of results following syntax at https://cloud.google.com/apis/design/design_patterns#sorting_order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return. If not specified, a default value of 1000 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response'ANIZATIONs next_page_token to determine if there are more instances left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the SqlIntegrations using the form: `projects/{project_id}/locations/global/domains/*`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/sqlIntegrations", + "response": { + "$ref": "ListSqlIntegrationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } } }, "operations": { @@ -695,6 +1113,260 @@ ] } } + }, + "peerings": { + "methods": { + "create": { + "description": "Creates a Peering for Managed AD instance.", + "flatPath": "v1/projects/{projectsId}/locations/global/peerings", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.peerings.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Resource project name and location using the form: `projects/{project_id}/locations/global`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + }, + "peeringId": { + "description": "Required. Peering Id, unique name to identify peering. It should follow the regex format \"^(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)$\"", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/peerings", + "request": { + "$ref": "Peering" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes identified Peering.", + "flatPath": "v1/projects/{projectsId}/locations/global/peerings/{peeringsId}", + "httpMethod": "DELETE", + "id": "managedidentities.projects.locations.global.peerings.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Peering resource name using the form: `projects/{project_id}/locations/global/peerings/{peering_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/peerings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Peering.", + "flatPath": "v1/projects/{projectsId}/locations/global/peerings/{peeringsId}", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.peerings.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Peering resource name using the form: `projects/{project_id}/locations/global/peerings/{peering_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/peerings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Peering" + }, + "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/global/peerings/{peeringsId}:getIamPolicy", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.peerings.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/peerings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Peerings in a given project.", + "flatPath": "v1/projects/{projectsId}/locations/global/peerings", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.peerings.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter specifying constraints of a list operation. For example, `peering.authorized_network=\"projects/myprojectid/global/networks/mynetwork\"`.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specifies the ordering of results following syntax at https://cloud.google.com/apis/design/design_patterns#sorting_order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return. If not specified, a default value of 1000 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's next_page_token to determine if there are more instances left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the peering location using the form: `projects/{project_id}/locations/global`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/peerings", + "response": { + "$ref": "ListPeeringsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the labels for specified Peering.", + "flatPath": "v1/projects/{projectsId}/locations/global/peerings/{peeringsId}", + "httpMethod": "PATCH", + "id": "managedidentities.projects.locations.global.peerings.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Unique name of the peering in this scope including projects and location using the form: `projects/{project_id}/locations/global/peerings/{peering_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/peerings/[^/]+$", + "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 from Peering: * `labels`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Peering" + }, + "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/global/peerings/{peeringsId}:setIamPolicy", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.peerings.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/global/peerings/[^/]+$", + "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/global/peerings/{peeringsId}:testIamPermissions", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.peerings.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/global/peerings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } } @@ -703,7 +1375,7 @@ } } }, - "revision": "20210324", + "revision": "20220216", "rootUrl": "https://managedidentities.googleapis.com/", "schemas": { "AttachTrustRequest": { @@ -717,23 +1389,93 @@ }, "type": "object" }, + "Backup": { + "description": "Represents a Managed Microsoft Identities backup.", + "id": "Backup", + "properties": { + "createTime": { + "description": "Output only. The time the backups was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels to represent user provided metadata.", + "type": "object" + }, + "name": { + "description": "Output only. The unique name of the Backup in the form of `projects/{project_id}/locations/global/domains/{domain_name}/backups/{name}`", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The current state of the backup.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "FAILED", + "DELETING" + ], + "enumDescriptions": [ + "Not set.", + "Backup is being created.", + "Backup has been created and validated.", + "Backup has been created but failed validation.", + "Backup is being deleted." + ], + "readOnly": true, + "type": "string" + }, + "statusMessage": { + "description": "Output only. Additional information about the current status of this backup, if available.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. Indicates whether it\u2019s an on-demand backup or scheduled.", + "enum": [ + "TYPE_UNSPECIFIED", + "ON_DEMAND", + "SCHEDULED" + ], + "enumDescriptions": [ + "Backup was manually created.", + "Backup was manually created.", + "Backup was automatically created." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Last update time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -745,6 +1487,37 @@ "properties": {}, "type": "object" }, + "Certificate": { + "description": "Certificate used to configure LDAPS.", + "id": "Certificate", + "properties": { + "expireTime": { + "description": "The certificate expire time.", + "format": "google-datetime", + "type": "string" + }, + "issuingCertificate": { + "$ref": "Certificate", + "description": "The issuer of this certificate." + }, + "subject": { + "description": "The certificate subject.", + "type": "string" + }, + "subjectAlternativeName": { + "description": "The additional hostnames for the domain.", + "items": { + "type": "string" + }, + "type": "array" + }, + "thumbprint": { + "description": "The certificate thumbprint which uniquely identifies the certificate.", + "type": "string" + } + }, + "type": "object" + }, "DailyCycle": { "description": "Time window specified for daily operations.", "id": "DailyCycle", @@ -762,7 +1535,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "Date", "properties": { "day": { @@ -821,6 +1594,10 @@ "description": "Optional. The name of delegated administrator account used to perform Active Directory operations. If not specified, `setupadmin` will be used.", "type": "string" }, + "auditLogsEnabled": { + "description": "Optional. Configuration for audit logs. True if audit logs are enabled, else false. Default is audit logs disabled.", + "type": "boolean" + }, "authorizedNetworks": { "description": "Optional. The full names of the Google Compute Engine [networks](/compute/docs/networks-and-firewalls#networks) the domain instance is connected to. Networks can be added using UpdateDomain. The domain is only available on networks listed in `authorized_networks`. If CIDR subnets overlap between networks, domain creation will fail.", "items": { @@ -1067,6 +1844,10 @@ "readOnly": true, "type": "string" }, + "instanceType": { + "description": "Optional. The instance_type of this instance of format: projects/{project_id}/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" @@ -1093,9 +1874,16 @@ "description": "Optional. The MaintenanceSettings associated with instance." }, "name": { - "description": "Unique name of the resource. It uses the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}`", + "description": "Unique name of the resource. It uses the form: `projects/{project_id|project_number}/locations/{location_id}/instances/{instance_id}` Note: Either project_id or project_number can be used, but keep it consistent with other APIs (e.g. RescheduleUpdate)", "type": "string" }, + "notificationParameters": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. notification_parameters 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" @@ -1221,13 +2009,6 @@ "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": { - "exclusions": { - "description": "By default node is eligible if instance is eligible. But individual node might be excluded from SLO by adding entry here. For semantic see SloMetadata.exclusions. If both instance and node level exclusions are present for time period, the node level's reason will be reported by Eligibility Exporter.", - "items": { - "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" - }, - "type": "array" - }, "location": { "description": "The location of the node, if different from instance location.", "type": "string" @@ -1235,6 +2016,10 @@ "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" @@ -1283,46 +2068,10 @@ }, "type": "object" }, - "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion": { - "description": "SloExclusion represents an exclusion in SLI calculation applies to all SLOs.", - "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion", - "properties": { - "duration": { - "description": "Exclusion duration. No restrictions on the possible values. When an ongoing operation is taking longer than initially expected, an existing entry in the exclusion list can be updated by extending the duration. This is supported by the subsystem exporting eligibility data as long as such extension is committed at least 10 minutes before the original exclusion expiration - otherwise it is possible that there will be \"gaps\" in the exclusion application in the exported timeseries.", - "format": "google-duration", - "type": "string" - }, - "reason": { - "description": "Human-readable reason for the exclusion. This should be a static string (e.g. \"Disruptive update in progress\") and should not contain dynamically generated data (e.g. instance name). Can be left empty.", - "type": "string" - }, - "sliName": { - "description": "Name of an SLI that this exclusion applies to. Can be left empty, signaling that the instance should be excluded from all SLIs.", - "type": "string" - }, - "startTime": { - "description": "Start time of the exclusion. No alignment (e.g. to a full minute) needed.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata": { "description": "SloMetadata contains resources required for proper SLO classification of the instance.", "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata", "properties": { - "eligibility": { - "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility", - "description": "Optional. Global per-instance SLI eligibility which applies to all defined SLIs. Exactly one of 'eligibility' and 'per_sli_eligibility' fields must be used." - }, - "exclusions": { - "description": "List of SLO exclusion windows. When multiple entries in the list match (matching the exclusion time-window against current time point) the exclusion reason used in the first matching entry will be published. It is not needed to include expired exclusion in this list, as only the currently applicable exclusions are taken into account by the eligibility exporting subsystem (the historical state of exclusions will be reflected in the historically produced timeseries regardless of the current state). This field can be used to mark the instance as temporary ineligible for the purpose of SLO calculation. For permanent instance SLO exclusion, use of custom instance eligibility is recommended. See 'eligibility' field below.", - "items": { - "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" - }, - "type": "array" - }, "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": { @@ -1332,7 +2081,7 @@ }, "perSliEligibility": { "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility", - "description": "Optional. Multiple per-instance SLI eligibilities which apply for individual SLIs. Exactly one of 'eligibility' and 'per_sli_eligibility' fields must be used." + "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.", @@ -1341,6 +2090,79 @@ }, "type": "object" }, + "LDAPSSettings": { + "description": "LDAPSSettings represents the ldaps settings for domain resource. LDAP is the Lightweight Directory Access Protocol, defined in https://tools.ietf.org/html/rfc4511. The settings object configures LDAP over SSL/TLS, whether it is over port 636 or the StartTLS operation. If LDAPSSettings is being changed, it will be placed into the UPDATING state, which indicates that the resource is being reconciled. At this point, Get will reflect an intermediate state.", + "id": "LDAPSSettings", + "properties": { + "certificate": { + "$ref": "Certificate", + "description": "Output only. The certificate used to configure LDAPS. Certificates can be chained with a maximum length of 15.", + "readOnly": true + }, + "certificatePassword": { + "description": "Input only. The password used to encrypt the uploaded PFX certificate.", + "type": "string" + }, + "certificatePfx": { + "description": "Input only. The uploaded PKCS12-formatted certificate to configure LDAPS with. It will enable the domain controllers in this domain to accept LDAPS connections (either LDAP over SSL/TLS or the StartTLS operation). A valid certificate chain must form a valid x.509 certificate chain (or be comprised of a single self-signed certificate. It must be encrypted with either: 1) PBES2 + PBKDF2 + AES256 encryption and SHA256 PRF; or 2) pbeWithSHA1And3-KeyTripleDES-CBC Private key must be included for the leaf / single self-signed certificate. Note: For a fqdn your-example-domain.com, the wildcard fqdn is *.your-example-domain.com. Specifically the leaf certificate must have: - Either a blank subject or a subject with CN matching the wildcard fqdn. - Exactly two SANs - the fqdn and wildcard fqdn. - Encipherment and digital key signature key usages. - Server authentication extended key usage (OID=1.3.6.1.5.5.7.3.1) - Private key must be in one of the following formats: RSA, ECDSA, ED25519. - Private key must have appropriate key length: 2048 for RSA, 256 for ECDSA - Signature algorithm of the leaf certificate cannot be MD2, MD5 or SHA1.", + "format": "byte", + "type": "string" + }, + "name": { + "description": "The resource name of the LDAPS settings. Uses the form: `projects/{project}/locations/{location}/domains/{domain}`.", + "type": "string" + }, + "state": { + "description": "Output only. The current state of this LDAPS settings.", + "enum": [ + "STATE_UNSPECIFIED", + "UPDATING", + "ACTIVE", + "FAILED" + ], + "enumDescriptions": [ + "Not Set", + "The LDAPS setting is being updated.", + "The LDAPS setting is ready.", + "The LDAPS setting is not applied correctly." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Last update time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListBackupsResponse": { + "description": "ListBackupsResponse is the response message for ListBackups method.", + "id": "ListBackupsResponse", + "properties": { + "backups": { + "description": "A list of Cloud AD backups in the domain.", + "items": { + "$ref": "Backup" + }, + "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" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListDomainsResponse": { "description": "Response message for ListDomains", "id": "ListDomainsResponse", @@ -1402,6 +2224,56 @@ }, "type": "object" }, + "ListPeeringsResponse": { + "description": "ListPeeringsResponse is the response message for ListPeerings method.", + "id": "ListPeeringsResponse", + "properties": { + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + }, + "peerings": { + "description": "A list of Managed Identities Service Peerings in the project.", + "items": { + "$ref": "Peering" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListSqlIntegrationsResponse": { + "description": "ListSqlIntegrationsResponse is the response message for ListSqlIntegrations method.", + "id": "ListSqlIntegrationsResponse", + "properties": { + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + }, + "sqlIntegrations": { + "description": "A list of SQLIntegrations of a domain.", + "items": { + "$ref": "SqlIntegration" + }, + "type": "array" + }, + "unreachable": { + "description": "A list of locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Location": { "description": "A resource that represents Google Cloud Platform location.", "id": "Location", @@ -1541,44 +2413,114 @@ "id": "OperationMetadata", "properties": { "apiVersion": { - "description": "[Output only] API version used to start the operation.", + "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`.", + "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.", + "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.", + "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.", + "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.", + "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.", + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Peering": { + "description": "Represents a Managed Service for Microsoft Active Directory Peering.", + "id": "Peering", + "properties": { + "authorizedNetwork": { + "description": "Required. The full names of the Google Compute Engine [networks](/compute/docs/networks-and-firewalls#networks) to which the instance is connected. Caller needs to make sure that CIDR subnets do not overlap between networks, else peering creation will fail.", + "type": "string" + }, + "createTime": { + "description": "Output only. The time the instance was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "domainResource": { + "description": "Required. Full domain resource path for the Managed AD Domain involved in peering. The resource path should be in the form: `projects/{project_id}/locations/global/domains/{domain_name}`", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels to represent user-provided metadata.", + "type": "object" + }, + "name": { + "description": "Output only. Unique name of the peering in this scope including projects and location using the form: `projects/{project_id}/locations/global/peerings/{peering_id}`.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The current state of this Peering.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "CONNECTED", + "DISCONNECTED", + "DELETING" + ], + "enumDescriptions": [ + "Not set.", + "Peering is being created.", + "Peering is connected.", + "Peering is disconnected.", + "Peering is being deleted." + ], + "readOnly": true, + "type": "string" + }, + "statusMessage": { + "description": "Output only. Additional information about the current status of this peering, if available.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Last update time.", + "format": "google-datetime", + "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` 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/).", + "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` 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.", + "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" }, @@ -1632,6 +2574,17 @@ }, "type": "object" }, + "RestoreDomainRequest": { + "description": "RestoreDomainRequest is the request received by RestoreDomain rpc", + "id": "RestoreDomainRequest", + "properties": { + "backupId": { + "description": "Required. ID of the backup to be restored", + "type": "string" + } + }, + "type": "object" + }, "Schedule": { "description": "Configure the schedule.", "id": "Schedule", @@ -1683,6 +2636,50 @@ }, "type": "object" }, + "SqlIntegration": { + "description": "Represents the SQL instance integrated with Managed AD.", + "id": "SqlIntegration", + "properties": { + "createTime": { + "description": "Output only. The time the SQL integration was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The unique name of the SQL integration in the form of `projects/{project_id}/locations/global/domains/{domain_name}/sqlIntegrations/{sql_integration}`", + "type": "string" + }, + "sqlInstance": { + "description": "The full resource name of an integrated SQL instance", + "type": "string" + }, + "state": { + "description": "Output only. The current state of the SQL integration.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "DELETING", + "READY" + ], + "enumDescriptions": [ + "Not Set", + "The SQL integration is being created.", + "The SQL integration is being deleted.", + "The SQL integration is ready." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time the SQL integration was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", @@ -1884,7 +2881,7 @@ "type": "string" }, "denyMaintenancePeriods": { - "description": "Deny Maintenance Period that is applied to resource to indicate when maintenance is forbidden. User can specify zero or more non-overlapping deny periods. For V1, Maximum number of deny_maintenance_periods is expected to be one.", + "description": "Deny Maintenance Period that is applied to resource to indicate when maintenance is forbidden. User can specify zero or more non-overlapping deny periods. Maximum number of deny_maintenance_periods expected is one.", "items": { "$ref": "DenyMaintenancePeriod" }, diff --git a/etc/api/managedidentities/v1alpha1/managedidentities-api.json b/etc/api/managedidentities/v1alpha1/managedidentities-api.json index 0a666bdb00..e8dc12a200 100644 --- a/etc/api/managedidentities/v1alpha1/managedidentities-api.json +++ b/etc/api/managedidentities/v1alpha1/managedidentities-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -330,7 +330,7 @@ ], "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).", + "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" @@ -351,6 +351,31 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getLdapssettings": { + "description": "Gets the domain ldaps settings.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}/ldapssettings", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.getLdapssettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The domain resource name using the form: `projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}/ldapssettings", + "response": { + "$ref": "LDAPSSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "Lists Domains in a given project.", "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains", @@ -487,6 +512,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "restore": { + "description": "RestoreDomain restores domain backup mentioned in the RestoreDomainRequest", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}:restore", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.restore", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. resource name for the domain to which the backup belongs", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}:restore", + "request": { + "$ref": "RestoreDomainRequest" + }, + "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": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}:setIamPolicy", @@ -543,6 +596,40 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "updateLdapssettings": { + "description": "Patches a single ldaps settings.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}/ldapssettings", + "httpMethod": "PATCH", + "id": "managedidentities.projects.locations.global.domains.updateLdapssettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the LDAPS settings. Uses the form: `projects/{project}/locations/{location}/domains/{domain}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in this field. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha1/{+name}/ldapssettings", + "request": { + "$ref": "LDAPSSettings" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "validateTrust": { "description": "Validate the trust state Operation", "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}:validateTrust", @@ -573,6 +660,260 @@ } }, "resources": { + "backups": { + "methods": { + "create": { + "description": "Creates a Backup for a domain.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}/backups", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.backups.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "backupId": { + "description": "Required. Backup Id, unique name to identify the backups with the following restrictions: * Must be lowercase letters, numbers, and hyphens * Must start with a letter. * Must contain between 1-63 characters. * Must end with a number or a letter. * Must be unique within the domain.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The domain resource name using the form: `projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/backups", + "request": { + "$ref": "Backup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes identified Backup.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}/backups/{backupsId}", + "httpMethod": "DELETE", + "id": "managedidentities.projects.locations.global.domains.backups.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backup resource name using the form: `projects/{project_id}/locations/global/domains/{domain_name}/backups/{backup_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Backup.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}/backups/{backupsId}", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.backups.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backup resource name using the form: `projects/{project_id}/locations/global/domains/{domain_name}/backups/{backup_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+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": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}/backups/{backupsId}:getIamPolicy", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Backup in a given project.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}/backups", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.backups.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter specifying constraints of a list operation.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specifies the ordering of results following syntax at https://cloud.google.com/apis/design/design_patterns#sorting_order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return. If not specified, a default value of 1000 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's next_page_token to determine if there are more instances left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The domain resource name using the form: `projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/backups", + "response": { + "$ref": "ListBackupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the labels for specified Backup.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}/backups/{backupsId}", + "httpMethod": "PATCH", + "id": "managedidentities.projects.locations.global.domains.backups.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The unique name of the Backup in the form of projects/{project_id}/locations/global/domains/{domain_name}/backups/{name}", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+/backups/[^/]+$", + "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 from Backup: * `labels`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "request": { + "$ref": "Backup" + }, + "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": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}/backups/{backupsId}:setIamPolicy", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.backups.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/global/domains/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+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": "v1alpha1/projects/{projectsId}/locations/global/domains/{domainsId}/backups/{backupsId}:testIamPermissions", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.backups.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/global/domains/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "sqlIntegrations": { "methods": { "get": { @@ -775,6 +1116,89 @@ }, "peerings": { "methods": { + "create": { + "description": "Creates a Peering for Managed AD instance.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/peerings", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.peerings.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Resource project name and location using the form: `projects/{project_id}/locations/global`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + }, + "peeringId": { + "description": "Required. Peering Id, unique name to identify peering.", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/peerings", + "request": { + "$ref": "Peering" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes identified Peering.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/peerings/{peeringsId}", + "httpMethod": "DELETE", + "id": "managedidentities.projects.locations.global.peerings.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Peering resource name using the form: `projects/{project_id}/locations/global/peerings/{peering_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/peerings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Peering.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/peerings/{peeringsId}", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.peerings.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Peering resource name using the form: `projects/{project_id}/locations/global/peerings/{peering_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/peerings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "Peering" + }, + "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": "v1alpha1/projects/{projectsId}/locations/global/peerings/{peeringsId}:getIamPolicy", @@ -785,7 +1209,7 @@ ], "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).", + "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" @@ -806,6 +1230,86 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "list": { + "description": "Lists Peerings in a given project.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/peerings", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.peerings.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter specifying constraints of a list operation. For example, `peering.authoized_network =\"/projects/myprojectid\"`.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specifies the ordering of results following syntax at https://cloud.google.com/apis/design/design_patterns#sorting_order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return. If not specified, a default value of 1000 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's next_page_token to determine if there are more instances left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the domain location using the form: `projects/{project_id}/locations/global`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/peerings", + "response": { + "$ref": "ListPeeringsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the labels for specified Peering.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/global/peerings/{peeringsId}", + "httpMethod": "PATCH", + "id": "managedidentities.projects.locations.global.peerings.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Unique name of the peering in this scope including projects and location using the form: `projects/{project_id}/locations/global/peerings/{peering_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/peerings/[^/]+$", + "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 from Peering: * `labels`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "request": { + "$ref": "Peering" + }, + "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": "v1alpha1/projects/{projectsId}/locations/global/peerings/{peeringsId}:setIamPolicy", @@ -871,7 +1375,7 @@ } } }, - "revision": "20210324", + "revision": "20220216", "rootUrl": "https://managedidentities.googleapis.com/", "schemas": { "AttachTrustRequest": { @@ -884,23 +1388,93 @@ }, "type": "object" }, + "Backup": { + "description": "Represents a Managed Microsoft Identities backup.", + "id": "Backup", + "properties": { + "createTime": { + "description": "Output only. The time the backups was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels to represent user provided metadata.", + "type": "object" + }, + "name": { + "description": "Output only. The unique name of the Backup in the form of projects/{project_id}/locations/global/domains/{domain_name}/backups/{name}", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The current state of the backup.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "FAILED", + "DELETING" + ], + "enumDescriptions": [ + "Not set.", + "Backup is being created.", + "Backup has been created and validated.", + "Backup has been created but failed validation.", + "Backup is being deleted." + ], + "readOnly": true, + "type": "string" + }, + "statusMessage": { + "description": "Output only. Additional information about the current status of this backup, if available.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. Indicates whether it\u2019s an on-demand backup or scheduled.", + "enum": [ + "TYPE_UNSPECIFIED", + "ON_DEMAND", + "SCHEDULED" + ], + "enumDescriptions": [ + "Backup was manually created.", + "Backup was manually created.", + "Backup was automatically created." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Last update time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -912,6 +1486,37 @@ "properties": {}, "type": "object" }, + "Certificate": { + "description": "Certificate used to configure LDAPS.", + "id": "Certificate", + "properties": { + "expireTime": { + "description": "The certificate expire time.", + "format": "google-datetime", + "type": "string" + }, + "issuingCertificate": { + "$ref": "Certificate", + "description": "The issuer of this certificate." + }, + "subject": { + "description": "The certificate subject.", + "type": "string" + }, + "subjectAlternativeName": { + "description": "The additional hostnames for the domain.", + "items": { + "type": "string" + }, + "type": "array" + }, + "thumbprint": { + "description": "The certificate thumbprint which uniquely identifies the certificate.", + "type": "string" + } + }, + "type": "object" + }, "DailyCycle": { "description": "Time window specified for daily operations.", "id": "DailyCycle", @@ -929,7 +1534,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "Date", "properties": { "day": { @@ -1231,6 +1836,10 @@ "readOnly": true, "type": "string" }, + "instanceType": { + "description": "Optional. The instance_type of this instance of format: projects/{project_id}/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" @@ -1257,9 +1866,16 @@ "description": "Optional. The MaintenanceSettings associated with instance." }, "name": { - "description": "Unique name of the resource. It uses the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}`", + "description": "Unique name of the resource. It uses the form: `projects/{project_id|project_number}/locations/{location_id}/instances/{instance_id}` Note: Either project_id or project_number can be used, but keep it consistent with other APIs (e.g. RescheduleUpdate)", "type": "string" }, + "notificationParameters": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. notification_parameters 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" @@ -1385,13 +2001,6 @@ "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": { - "exclusions": { - "description": "By default node is eligible if instance is eligible. But individual node might be excluded from SLO by adding entry here. For semantic see SloMetadata.exclusions. If both instance and node level exclusions are present for time period, the node level's reason will be reported by Eligibility Exporter.", - "items": { - "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" - }, - "type": "array" - }, "location": { "description": "The location of the node, if different from instance location.", "type": "string" @@ -1399,6 +2008,10 @@ "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" @@ -1447,46 +2060,10 @@ }, "type": "object" }, - "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion": { - "description": "SloExclusion represents an exclusion in SLI calculation applies to all SLOs.", - "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion", - "properties": { - "duration": { - "description": "Exclusion duration. No restrictions on the possible values. When an ongoing operation is taking longer than initially expected, an existing entry in the exclusion list can be updated by extending the duration. This is supported by the subsystem exporting eligibility data as long as such extension is committed at least 10 minutes before the original exclusion expiration - otherwise it is possible that there will be \"gaps\" in the exclusion application in the exported timeseries.", - "format": "google-duration", - "type": "string" - }, - "reason": { - "description": "Human-readable reason for the exclusion. This should be a static string (e.g. \"Disruptive update in progress\") and should not contain dynamically generated data (e.g. instance name). Can be left empty.", - "type": "string" - }, - "sliName": { - "description": "Name of an SLI that this exclusion applies to. Can be left empty, signaling that the instance should be excluded from all SLIs.", - "type": "string" - }, - "startTime": { - "description": "Start time of the exclusion. No alignment (e.g. to a full minute) needed.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata": { "description": "SloMetadata contains resources required for proper SLO classification of the instance.", "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata", "properties": { - "eligibility": { - "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility", - "description": "Optional. Global per-instance SLI eligibility which applies to all defined SLIs. Exactly one of 'eligibility' and 'per_sli_eligibility' fields must be used." - }, - "exclusions": { - "description": "List of SLO exclusion windows. When multiple entries in the list match (matching the exclusion time-window against current time point) the exclusion reason used in the first matching entry will be published. It is not needed to include expired exclusion in this list, as only the currently applicable exclusions are taken into account by the eligibility exporting subsystem (the historical state of exclusions will be reflected in the historically produced timeseries regardless of the current state). This field can be used to mark the instance as temporary ineligible for the purpose of SLO calculation. For permanent instance SLO exclusion, use of custom instance eligibility is recommended. See 'eligibility' field below.", - "items": { - "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" - }, - "type": "array" - }, "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": { @@ -1496,7 +2073,7 @@ }, "perSliEligibility": { "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility", - "description": "Optional. Multiple per-instance SLI eligibilities which apply for individual SLIs. Exactly one of 'eligibility' and 'per_sli_eligibility' fields must be used." + "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.", @@ -1505,6 +2082,79 @@ }, "type": "object" }, + "LDAPSSettings": { + "description": "LDAPSSettings represents the ldaps settings for domain resource. LDAP is the Lightweight Directory Access Protocol, defined in https://tools.ietf.org/html/rfc4511. The settings object configures LDAP over SSL/TLS, whether it is over port 636 or the StartTLS operation. If LDAPSSettings is being changed, it will be placed into the UPDATING state, which indicates that the resource is being reconciled. At this point, Get will reflect an intermediate state.", + "id": "LDAPSSettings", + "properties": { + "certificate": { + "$ref": "Certificate", + "description": "Output only. The certificate used to configure LDAPS. Certificates can be chained with a maximum length of 15.", + "readOnly": true + }, + "certificatePassword": { + "description": "Input only. The password used to encrypt the uploaded pfx certificate.", + "type": "string" + }, + "certificatePfx": { + "description": "Input only. The uploaded PKCS12-formatted certificate to configure LDAPS with. It will enable the domain controllers in this domain to accept LDAPS connections (either LDAP over SSL/TLS or the StartTLS operation). A valid certificate chain must form a valid x.509 certificate chain (or be comprised of a single self-signed certificate. It must be encrypted with either: 1) PBES2 + PBKDF2 + AES256 encryption and SHA256 PRF; or 2) pbeWithSHA1And3-KeyTripleDES-CBC Private key must be included for the leaf / single self-signed certificate. Note: For a fqdn your-example-domain.com, the wildcard fqdn is *.your-example-domain.com. Specifically the leaf certificate must have: - Either a blank subject or a subject with CN matching the wildcard fqdn. - Exactly two SANs - the fqdn and wildcard fqdn. - Encipherment and digital key signature key usages. - Server authentication extended key usage (OID=1.3.6.1.5.5.7.3.1) - Private key must be in one of the following formats: RSA, ECDSA, ED25519. - Private key must have appropriate key length: 2048 for RSA, 256 for ECDSA - Signature algorithm of the leaf certificate cannot be MD2, MD5 or SHA1.", + "format": "byte", + "type": "string" + }, + "name": { + "description": "The resource name of the LDAPS settings. Uses the form: `projects/{project}/locations/{location}/domains/{domain}`.", + "type": "string" + }, + "state": { + "description": "Output only. The current state of this LDAPS settings.", + "enum": [ + "STATE_UNSPECIFIED", + "UPDATING", + "ACTIVE", + "FAILED" + ], + "enumDescriptions": [ + "Not Set", + "The LDAPS setting is being updated.", + "The LDAPS setting is ready.", + "The LDAPS setting is not applied correctly." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Last update time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListBackupsResponse": { + "description": "ListBackupsResponse is the response message for ListBackups method.", + "id": "ListBackupsResponse", + "properties": { + "backups": { + "description": "A list of Cloud AD backups in the domain.", + "items": { + "$ref": "Backup" + }, + "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" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListDomainsResponse": { "id": "ListDomainsResponse", "properties": { @@ -1565,6 +2215,31 @@ }, "type": "object" }, + "ListPeeringsResponse": { + "description": "ListPeeringsResponse is the response message for ListPeerings method.", + "id": "ListPeeringsResponse", + "properties": { + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + }, + "peerings": { + "description": "A list of Managed Identities Service Peerings in the project.", + "items": { + "$ref": "Peering" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListSQLIntegrationsResponse": { "description": "ListSQLIntegrationsResponse is the response message for ListSQLIntegrations method.", "id": "ListSQLIntegrationsResponse", @@ -1729,44 +2404,114 @@ "id": "OperationMetadata", "properties": { "apiVersion": { - "description": "[Output only] API version used to start the operation.", + "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`.", + "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.", + "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.", + "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.", + "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.", + "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.", + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Peering": { + "description": "Represents a Managed Microsoft Identities Peering.", + "id": "Peering", + "properties": { + "authorizedNetwork": { + "description": "Required. The full names of the Google Compute Engine [networks](/compute/docs/networks-and-firewalls#networks) to which the instance is connected. Caller needs to make sure that CIDR subnets do not overlap between networks, else peering creation will fail.", + "type": "string" + }, + "createTime": { + "description": "Output only. The time the instance was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "domainResource": { + "description": "Required. Full domain resource path for the Managed AD Domain involved in peering. The resource path should be in the form: `projects/{project_id}/locations/global/domains/{domain_name}`", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels to represent user provided metadata.", + "type": "object" + }, + "name": { + "description": "Output only. Unique name of the peering in this scope including projects and location using the form: `projects/{project_id}/locations/global/peerings/{peering_id}`.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The current state of this Peering.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "CONNECTED", + "DISCONNECTED", + "DELETING" + ], + "enumDescriptions": [ + "Not set.", + "Peering is being created.", + "Peering is connected.", + "Peering is disconnected.", + "Peering is being deleted." + ], + "readOnly": true, + "type": "string" + }, + "statusMessage": { + "description": "Output only. Additional information about the current status of this peering, if available.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Last update time.", + "format": "google-datetime", + "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` 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/).", + "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` 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.", + "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" }, @@ -1810,12 +2555,23 @@ }, "type": "object" }, + "RestoreDomainRequest": { + "description": "RestoreDomainRequest is the request received by RestoreDomain rpc", + "id": "RestoreDomainRequest", + "properties": { + "backupId": { + "description": "Required. ID of the backup to be restored", + "type": "string" + } + }, + "type": "object" + }, "SQLIntegration": { "description": "Represents the SQL instance integrated with AD.", "id": "SQLIntegration", "properties": { "createTime": { - "description": "Output only. The time the instance was created. Synthetic field is populated automatically by CCFE. go/ccfe-synthetic-field-user-guide", + "description": "Output only. The time the instance was created.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -1846,7 +2602,7 @@ "type": "string" }, "updateTime": { - "description": "Output only. Last update time. Synthetic field is populated automatically by CCFE.", + "description": "Output only. Last update time for this SQL instance.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -2101,7 +2857,7 @@ "type": "string" }, "denyMaintenancePeriods": { - "description": "Deny Maintenance Period that is applied to resource to indicate when maintenance is forbidden. User can specify zero or more non-overlapping deny periods. For V1, Maximum number of deny_maintenance_periods is expected to be one.", + "description": "Deny Maintenance Period that is applied to resource to indicate when maintenance is forbidden. User can specify zero or more non-overlapping deny periods. Maximum number of deny_maintenance_periods expected is one.", "items": { "$ref": "DenyMaintenancePeriod" }, diff --git a/etc/api/managedidentities/v1beta1/managedidentities-api.json b/etc/api/managedidentities/v1beta1/managedidentities-api.json index 6b66904b16..0bc152aa7c 100644 --- a/etc/api/managedidentities/v1beta1/managedidentities-api.json +++ b/etc/api/managedidentities/v1beta1/managedidentities-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -330,7 +330,7 @@ ], "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).", + "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" @@ -351,6 +351,31 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getLdapssettings": { + "description": "Gets the domain ldaps settings.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}/ldapssettings", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.getLdapssettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The domain resource name using the form: `projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}/ldapssettings", + "response": { + "$ref": "LDAPSSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "Lists domains in a project.", "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains", @@ -487,6 +512,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "restore": { + "description": "RestoreBackup restores domain mentioned in the RestoreBackupRequest", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}:restore", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.restore", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. resource name for the domain to which the backup belongs", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:restore", + "request": { + "$ref": "RestoreDomainRequest" + }, + "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": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}:setIamPolicy", @@ -543,6 +596,40 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "updateLdapssettings": { + "description": "Patches a single ldaps settings.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}/ldapssettings", + "httpMethod": "PATCH", + "id": "managedidentities.projects.locations.global.domains.updateLdapssettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the LDAPS settings. Uses the form: `projects/{project}/locations/{location}/domains/{domain}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in this field. 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}/ldapssettings", + "request": { + "$ref": "LDAPSSettings" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "validateTrust": { "description": "Validates a trust state, that the target domain is reachable, and that the target domain is able to accept incoming trust requests.", "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}:validateTrust", @@ -573,6 +660,260 @@ } }, "resources": { + "backups": { + "methods": { + "create": { + "description": "Creates a Backup for a domain.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}/backups", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.backups.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "backupId": { + "description": "Required. Backup Id, unique name to identify the backups with the following restrictions: * Must be lowercase letters, numbers, and hyphens * Must start with a letter. * Must contain between 1-63 characters. * Must end with a number or a letter. * Must be unique within the domain.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The domain resource name using the form: `projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "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 identified Backup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}/backups/{backupsId}", + "httpMethod": "DELETE", + "id": "managedidentities.projects.locations.global.domains.backups.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backup resource name using the form: `projects/{project_id}/locations/global/domains/{domain_name}/backups/{backup_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Backup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}/backups/{backupsId}", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.backups.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backup resource name using the form: `projects/{project_id}/locations/global/domains/{domain_name}/backups/{backup_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+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": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}/backups/{backupsId}:getIamPolicy", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Backup in a given project.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}/backups", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.domains.backups.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter specifying constraints of a list operation.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specifies the ordering of results following syntax at https://cloud.google.com/apis/design/design_patterns#sorting_order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return. If not specified, a default value of 1000 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's next_page_token to determine if there are more instances left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The domain resource name using the form: `projects/{project_id}/locations/global/domains/{domain_name}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/backups", + "response": { + "$ref": "ListBackupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the labels for specified Backup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}/backups/{backupsId}", + "httpMethod": "PATCH", + "id": "managedidentities.projects.locations.global.domains.backups.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The unique name of the Backup in the form of projects/{project_id}/locations/global/domains/{domain_name}/backups/{name}", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/domains/[^/]+/backups/[^/]+$", + "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 from Backup: * `labels`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Backup" + }, + "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": "v1beta1/projects/{projectsId}/locations/global/domains/{domainsId}/backups/{backupsId}:setIamPolicy", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.backups.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/global/domains/[^/]+/backups/[^/]+$", + "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 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/global/domains/{domainsId}/backups/{backupsId}:testIamPermissions", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.domains.backups.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/global/domains/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "sqlIntegrations": { "methods": { "get": { @@ -775,6 +1116,89 @@ }, "peerings": { "methods": { + "create": { + "description": "Creates a Peering for Managed AD instance.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/peerings", + "httpMethod": "POST", + "id": "managedidentities.projects.locations.global.peerings.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Resource project name and location using the form: `projects/{project_id}/locations/global`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + }, + "peeringId": { + "description": "Required. Peering Id, unique name to identify peering.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/peerings", + "request": { + "$ref": "Peering" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes identified Peering.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/peerings/{peeringsId}", + "httpMethod": "DELETE", + "id": "managedidentities.projects.locations.global.peerings.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Peering resource name using the form: `projects/{project_id}/locations/global/peerings/{peering_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/peerings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Peering.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/peerings/{peeringsId}", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.peerings.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Peering resource name using the form: `projects/{project_id}/locations/global/peerings/{peering_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/peerings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Peering" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "getIamPolicy": { "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", "flatPath": "v1beta1/projects/{projectsId}/locations/global/peerings/{peeringsId}:getIamPolicy", @@ -785,7 +1209,7 @@ ], "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).", + "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" @@ -806,6 +1230,86 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "list": { + "description": "Lists Peerings in a given project.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/peerings", + "httpMethod": "GET", + "id": "managedidentities.projects.locations.global.peerings.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter specifying constraints of a list operation. For example, `peering.authoized_network =\"/projects/myprojectid\"`.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specifies the ordering of results following syntax at https://cloud.google.com/apis/design/design_patterns#sorting_order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return. If not specified, a default value of 1000 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's next_page_token to determine if there are more instances left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the domain location using the form: `projects/{project_id}/locations/global`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/peerings", + "response": { + "$ref": "ListPeeringsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the labels for specified Peering.", + "flatPath": "v1beta1/projects/{projectsId}/locations/global/peerings/{peeringsId}", + "httpMethod": "PATCH", + "id": "managedidentities.projects.locations.global.peerings.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Unique name of the peering in this scope including projects and location using the form: `projects/{project_id}/locations/global/peerings/{peering_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/peerings/[^/]+$", + "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 from Peering: * `labels`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Peering" + }, + "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": "v1beta1/projects/{projectsId}/locations/global/peerings/{peeringsId}:setIamPolicy", @@ -871,7 +1375,7 @@ } } }, - "revision": "20210324", + "revision": "20220216", "rootUrl": "https://managedidentities.googleapis.com/", "schemas": { "AttachTrustRequest": { @@ -885,23 +1389,93 @@ }, "type": "object" }, + "Backup": { + "description": "Represents a Managed Microsoft Identities backup.", + "id": "Backup", + "properties": { + "createTime": { + "description": "Output only. The time the backups was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels to represent user provided metadata.", + "type": "object" + }, + "name": { + "description": "Output only. The unique name of the Backup in the form of projects/{project_id}/locations/global/domains/{domain_name}/backups/{name}", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The current state of the backup.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "FAILED", + "DELETING" + ], + "enumDescriptions": [ + "Not set.", + "Backup is being created.", + "Backup has been created and validated.", + "Backup has been created but failed validation.", + "Backup is being deleted." + ], + "readOnly": true, + "type": "string" + }, + "statusMessage": { + "description": "Output only. Additional information about the current status of this backup, if available.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. Indicates whether it\u2019s an on-demand backup or scheduled.", + "enum": [ + "TYPE_UNSPECIFIED", + "ON_DEMAND", + "SCHEDULED" + ], + "enumDescriptions": [ + "Backup was manually created.", + "Backup was manually created.", + "Backup was automatically created." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Last update time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -913,6 +1487,37 @@ "properties": {}, "type": "object" }, + "Certificate": { + "description": "Certificate used to configure LDAPS.", + "id": "Certificate", + "properties": { + "expireTime": { + "description": "The certificate expire time.", + "format": "google-datetime", + "type": "string" + }, + "issuingCertificate": { + "$ref": "Certificate", + "description": "The issuer of this certificate." + }, + "subject": { + "description": "The certificate subject.", + "type": "string" + }, + "subjectAlternativeName": { + "description": "The additional hostnames for the domain.", + "items": { + "type": "string" + }, + "type": "array" + }, + "thumbprint": { + "description": "The certificate thumbprint which uniquely identifies the certificate.", + "type": "string" + } + }, + "type": "object" + }, "DailyCycle": { "description": "Time window specified for daily operations.", "id": "DailyCycle", @@ -930,7 +1535,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "Date", "properties": { "day": { @@ -982,7 +1587,7 @@ "type": "object" }, "Domain": { - "description": "If the domain is being changed, it will be placed into the UPDATING state, which indicates that the resource is being reconciled. At this point, Get will reflect an intermediate state. Represents a managed Microsoft Active Directory domain.", + "description": "Represents a managed Microsoft Active Directory domain. If the domain is being changed, it will be placed into the UPDATING state, which indicates that the resource is being reconciled. At this point, Get will reflect an intermediate state.", "id": "Domain", "properties": { "admin": { @@ -1240,6 +1845,10 @@ "readOnly": true, "type": "string" }, + "instanceType": { + "description": "Optional. The instance_type of this instance of format: projects/{project_id}/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" @@ -1266,9 +1875,16 @@ "description": "Optional. The MaintenanceSettings associated with instance." }, "name": { - "description": "Unique name of the resource. It uses the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}`", + "description": "Unique name of the resource. It uses the form: `projects/{project_id|project_number}/locations/{location_id}/instances/{instance_id}` Note: Either project_id or project_number can be used, but keep it consistent with other APIs (e.g. RescheduleUpdate)", "type": "string" }, + "notificationParameters": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. notification_parameters 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" @@ -1394,13 +2010,6 @@ "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": { - "exclusions": { - "description": "By default node is eligible if instance is eligible. But individual node might be excluded from SLO by adding entry here. For semantic see SloMetadata.exclusions. If both instance and node level exclusions are present for time period, the node level's reason will be reported by Eligibility Exporter.", - "items": { - "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" - }, - "type": "array" - }, "location": { "description": "The location of the node, if different from instance location.", "type": "string" @@ -1408,6 +2017,10 @@ "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" @@ -1456,46 +2069,10 @@ }, "type": "object" }, - "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion": { - "description": "SloExclusion represents an exclusion in SLI calculation applies to all SLOs.", - "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion", - "properties": { - "duration": { - "description": "Exclusion duration. No restrictions on the possible values. When an ongoing operation is taking longer than initially expected, an existing entry in the exclusion list can be updated by extending the duration. This is supported by the subsystem exporting eligibility data as long as such extension is committed at least 10 minutes before the original exclusion expiration - otherwise it is possible that there will be \"gaps\" in the exclusion application in the exported timeseries.", - "format": "google-duration", - "type": "string" - }, - "reason": { - "description": "Human-readable reason for the exclusion. This should be a static string (e.g. \"Disruptive update in progress\") and should not contain dynamically generated data (e.g. instance name). Can be left empty.", - "type": "string" - }, - "sliName": { - "description": "Name of an SLI that this exclusion applies to. Can be left empty, signaling that the instance should be excluded from all SLIs.", - "type": "string" - }, - "startTime": { - "description": "Start time of the exclusion. No alignment (e.g. to a full minute) needed.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata": { "description": "SloMetadata contains resources required for proper SLO classification of the instance.", "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata", "properties": { - "eligibility": { - "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility", - "description": "Optional. Global per-instance SLI eligibility which applies to all defined SLIs. Exactly one of 'eligibility' and 'per_sli_eligibility' fields must be used." - }, - "exclusions": { - "description": "List of SLO exclusion windows. When multiple entries in the list match (matching the exclusion time-window against current time point) the exclusion reason used in the first matching entry will be published. It is not needed to include expired exclusion in this list, as only the currently applicable exclusions are taken into account by the eligibility exporting subsystem (the historical state of exclusions will be reflected in the historically produced timeseries regardless of the current state). This field can be used to mark the instance as temporary ineligible for the purpose of SLO calculation. For permanent instance SLO exclusion, use of custom instance eligibility is recommended. See 'eligibility' field below.", - "items": { - "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" - }, - "type": "array" - }, "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": { @@ -1505,7 +2082,7 @@ }, "perSliEligibility": { "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility", - "description": "Optional. Multiple per-instance SLI eligibilities which apply for individual SLIs. Exactly one of 'eligibility' and 'per_sli_eligibility' fields must be used." + "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.", @@ -1514,6 +2091,79 @@ }, "type": "object" }, + "LDAPSSettings": { + "description": "LDAPSSettings represents the ldaps settings for domain resource. LDAP is the Lightweight Directory Access Protocol, defined in https://tools.ietf.org/html/rfc4511. The settings object configures LDAP over SSL/TLS, whether it is over port 636 or the StartTLS operation. If LDAPSSettings is being changed, it will be placed into the UPDATING state, which indicates that the resource is being reconciled. At this point, Get will reflect an intermediate state.", + "id": "LDAPSSettings", + "properties": { + "certificate": { + "$ref": "Certificate", + "description": "Output only. The certificate used to configure LDAPS. Certificates can be chained with a maximum length of 15.", + "readOnly": true + }, + "certificatePassword": { + "description": "Input only. The password used to encrypt the uploaded pfx certificate.", + "type": "string" + }, + "certificatePfx": { + "description": "Input only. The uploaded PKCS12-formatted certificate to configure LDAPS with. It will enable the domain controllers in this domain to accept LDAPS connections (either LDAP over SSL/TLS or the StartTLS operation). A valid certificate chain must form a valid x.509 certificate chain (or be comprised of a single self-signed certificate. It must be encrypted with either: 1) PBES2 + PBKDF2 + AES256 encryption and SHA256 PRF; or 2) pbeWithSHA1And3-KeyTripleDES-CBC Private key must be included for the leaf / single self-signed certificate. Note: For a fqdn your-example-domain.com, the wildcard fqdn is *.your-example-domain.com. Specifically the leaf certificate must have: - Either a blank subject or a subject with CN matching the wildcard fqdn. - Exactly two SANs - the fqdn and wildcard fqdn. - Encipherment and digital key signature key usages. - Server authentication extended key usage (OID=1.3.6.1.5.5.7.3.1) - Private key must be in one of the following formats: RSA, ECDSA, ED25519. - Private key must have appropriate key length: 2048 for RSA, 256 for ECDSA - Signature algorithm of the leaf certificate cannot be MD2, MD5 or SHA1.", + "format": "byte", + "type": "string" + }, + "name": { + "description": "The resource name of the LDAPS settings. Uses the form: `projects/{project}/locations/{location}/domains/{domain}`.", + "type": "string" + }, + "state": { + "description": "Output only. The current state of this LDAPS settings.", + "enum": [ + "STATE_UNSPECIFIED", + "UPDATING", + "ACTIVE", + "FAILED" + ], + "enumDescriptions": [ + "Not Set", + "The LDAPS setting is being updated.", + "The LDAPS setting is ready.", + "The LDAPS setting is not applied correctly." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Last update time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListBackupsResponse": { + "description": "ListBackupsResponse is the response message for ListBackups method.", + "id": "ListBackupsResponse", + "properties": { + "backups": { + "description": "A list of Cloud AD backups in the domain.", + "items": { + "$ref": "Backup" + }, + "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" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListDomainsResponse": { "description": "Response message for ListDomains", "id": "ListDomainsResponse", @@ -1575,6 +2225,31 @@ }, "type": "object" }, + "ListPeeringsResponse": { + "description": "ListPeeringsResponse is the response message for ListPeerings method.", + "id": "ListPeeringsResponse", + "properties": { + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + }, + "peerings": { + "description": "A list of Managed Identities Service Peerings in the project.", + "items": { + "$ref": "Peering" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListSqlIntegrationsResponse": { "description": "ListSqlIntegrationsResponse is the response message for ListSqlIntegrations method.", "id": "ListSqlIntegrationsResponse", @@ -1739,44 +2414,114 @@ "id": "OperationMetadata", "properties": { "apiVersion": { - "description": "[Output only] API version used to start the operation.", + "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`.", + "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.", + "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.", + "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.", + "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.", + "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.", + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Peering": { + "description": "Represents a Managed Microsoft Identities Peering.", + "id": "Peering", + "properties": { + "authorizedNetwork": { + "description": "Required. The full names of the Google Compute Engine [networks](/compute/docs/networks-and-firewalls#networks) to which the instance is connected. Caller needs to make sure that CIDR subnets do not overlap between networks, else peering creation will fail.", + "type": "string" + }, + "createTime": { + "description": "Output only. The time the instance was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "domainResource": { + "description": "Required. Full domain resource path for the Managed AD Domain involved in peering. The resource path should be in the form: `projects/{project_id}/locations/global/domains/{domain_name}`", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels to represent user provided metadata.", + "type": "object" + }, + "name": { + "description": "Output only. Unique name of the peering in this scope including projects and location using the form: `projects/{project_id}/locations/global/peerings/{peering_id}`.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The current state of this Peering.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "CONNECTED", + "DISCONNECTED", + "DELETING" + ], + "enumDescriptions": [ + "Not set.", + "Peering is being created.", + "Peering is connected.", + "Peering is disconnected.", + "Peering is being deleted." + ], + "readOnly": true, + "type": "string" + }, + "statusMessage": { + "description": "Output only. Additional information about the current status of this peering, if available.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Last update time.", + "format": "google-datetime", + "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` 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/).", + "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` 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.", + "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" }, @@ -1830,6 +2575,17 @@ }, "type": "object" }, + "RestoreDomainRequest": { + "description": "RestoreDomainRequest is the request received by RestoreDomain rpc", + "id": "RestoreDomainRequest", + "properties": { + "backupId": { + "description": "Required. ID of the backup to be restored", + "type": "string" + } + }, + "type": "object" + }, "Schedule": { "description": "Configure the schedule.", "id": "Schedule", @@ -1886,7 +2642,7 @@ "id": "SqlIntegration", "properties": { "createTime": { - "description": "Output only. The time sql integration was created. Synthetic field is populated automatically by CCFE.", + "description": "Output only. The time sql integration was created.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -1917,7 +2673,7 @@ "type": "string" }, "updateTime": { - "description": "Output only. The time sql integration was updated. Synthetic field is populated automatically by CCFE.", + "description": "Output only. The time sql integration was updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -2126,7 +2882,7 @@ "type": "string" }, "denyMaintenancePeriods": { - "description": "Deny Maintenance Period that is applied to resource to indicate when maintenance is forbidden. User can specify zero or more non-overlapping deny periods. For V1, Maximum number of deny_maintenance_periods is expected to be one.", + "description": "Deny Maintenance Period that is applied to resource to indicate when maintenance is forbidden. User can specify zero or more non-overlapping deny periods. Maximum number of deny_maintenance_periods expected is one.", "items": { "$ref": "DenyMaintenancePeriod" }, diff --git a/etc/api/manufacturers/v1/manufacturers-api.json b/etc/api/manufacturers/v1/manufacturers-api.json index 9a8c17da11..ea9f56bee1 100644 --- a/etc/api/manufacturers/v1/manufacturers-api.json +++ b/etc/api/manufacturers/v1/manufacturers-api.json @@ -287,7 +287,7 @@ } } }, - "revision": "20210325", + "revision": "20220303", "rootUrl": "https://manufacturers.googleapis.com/", "schemas": { "Attributes": { @@ -330,7 +330,7 @@ "type": "string" }, "excludedDestination": { - "description": "A list of excluded destinations.", + "description": "A list of excluded destinations such as \"ClientExport\", \"ClientShoppingCatalog\" or \"PartnerShoppingCatalog\". For more information, see https://support.google.com/manufacturers/answer/7443550", "items": { "type": "string" }, @@ -367,7 +367,7 @@ "description": "The image of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#image." }, "includedDestination": { - "description": "A list of included destinations.", + "description": "A list of included destinations such as \"ClientExport\", \"ClientShoppingCatalog\" or \"PartnerShoppingCatalog\". For more information, see https://support.google.com/manufacturers/answer/7443550", "items": { "type": "string" }, @@ -447,14 +447,17 @@ }, "sizeType": { "description": "The size type of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#sizetype.", - "type": "string" + "items": { + "type": "string" + }, + "type": "array" }, "suggestedRetailPrice": { "$ref": "Price", "description": "The suggested retail price (MSRP) of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#price." }, "targetClientId": { - "description": "The target client id. Should only be used in the accounts of the data partners.", + "description": "The target client id. Should only be used in the accounts of the data partners. For more information, see https://support.google.com/manufacturers/answer/10857344", "type": "string" }, "theme": { diff --git a/etc/api/memcache/v1/memcache-api.json b/etc/api/memcache/v1/memcache-api.json index aed1d09ede..a9279d8e92 100644 --- a/etc/api/memcache/v1/memcache-api.json +++ b/etc/api/memcache/v1/memcache-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -528,7 +528,7 @@ } } }, - "revision": "20210324", + "revision": "20220224", "rootUrl": "https://memcache.googleapis.com/", "schemas": { "ApplyParametersRequest": { @@ -572,7 +572,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "Date", "properties": { "day": { @@ -695,6 +695,10 @@ "readOnly": true, "type": "string" }, + "instanceType": { + "description": "Optional. The instance_type of this instance of format: projects/{project_id}/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" @@ -721,9 +725,16 @@ "description": "Optional. The MaintenanceSettings associated with instance." }, "name": { - "description": "Unique name of the resource. It uses the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}`", + "description": "Unique name of the resource. It uses the form: `projects/{project_id|project_number}/locations/{location_id}/instances/{instance_id}` Note: Either project_id or project_number can be used, but keep it consistent with other APIs (e.g. RescheduleUpdate)", "type": "string" }, + "notificationParameters": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. notification_parameters 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" @@ -798,7 +809,7 @@ "id": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule", "properties": { "canReschedule": { - "description": "This field will be deprecated, and will be always set to true since reschedule can happen multiple times now.", + "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": { @@ -849,13 +860,6 @@ "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": { - "exclusions": { - "description": "By default node is eligible if instance is eligible. But individual node might be excluded from SLO by adding entry here. For semantic see SloMetadata.exclusions. If both instance and node level exclusions are present for time period, the node level's reason will be reported by Eligibility Exporter.", - "items": { - "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" - }, - "type": "array" - }, "location": { "description": "The location of the node, if different from instance location.", "type": "string" @@ -863,6 +867,10 @@ "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" @@ -911,46 +919,10 @@ }, "type": "object" }, - "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion": { - "description": "SloExclusion represents an exclusion in SLI calculation applies to all SLOs.", - "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion", - "properties": { - "duration": { - "description": "Exclusion duration. No restrictions on the possible values. When an ongoing operation is taking longer than initially expected, an existing entry in the exclusion list can be updated by extending the duration. This is supported by the subsystem exporting eligibility data as long as such extension is committed at least 10 minutes before the original exclusion expiration - otherwise it is possible that there will be \"gaps\" in the exclusion application in the exported timeseries.", - "format": "google-duration", - "type": "string" - }, - "reason": { - "description": "Human-readable reason for the exclusion. This should be a static string (e.g. \"Disruptive update in progress\") and should not contain dynamically generated data (e.g. instance name). Can be left empty.", - "type": "string" - }, - "sliName": { - "description": "Name of an SLI that this exclusion applies to. Can be left empty, signaling that the instance should be excluded from all SLIs.", - "type": "string" - }, - "startTime": { - "description": "Start time of the exclusion. No alignment (e.g. to a full minute) needed.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata": { "description": "SloMetadata contains resources required for proper SLO classification of the instance.", "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata", "properties": { - "eligibility": { - "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility", - "description": "Optional. Global per-instance SLI eligibility which applies to all defined SLIs. Exactly one of 'eligibility' and 'per_sli_eligibility' fields must be used." - }, - "exclusions": { - "description": "List of SLO exclusion windows. When multiple entries in the list match (matching the exclusion time-window against current time point) the exclusion reason used in the first matching entry will be published. It is not needed to include expired exclusion in this list, as only the currently applicable exclusions are taken into account by the eligibility exporting subsystem (the historical state of exclusions will be reflected in the historically produced timeseries regardless of the current state). This field can be used to mark the instance as temporary ineligible for the purpose of SLO calculation. For permanent instance SLO exclusion, use of custom instance eligibility is recommended. See 'eligibility' field below.", - "items": { - "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" - }, - "type": "array" - }, "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": { @@ -960,7 +932,7 @@ }, "perSliEligibility": { "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility", - "description": "Optional. Multiple per-instance SLI eligibilities which apply for individual SLIs. Exactly one of 'eligibility' and 'per_sli_eligibility' fields must be used." + "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.", @@ -1046,7 +1018,7 @@ }, "parameters": { "$ref": "MemcacheParameters", - "description": "Optional: User defined parameters to apply to the memcached process on each node." + "description": "User defined parameters to apply to the memcached process on each node." }, "state": { "description": "Output only. The state of this Memcached instance.", @@ -1054,6 +1026,7 @@ "STATE_UNSPECIFIED", "CREATING", "READY", + "UPDATING", "DELETING", "PERFORMING_MAINTENANCE" ], @@ -1061,6 +1034,7 @@ "State not set.", "Memcached instance is being created.", "Memcached instance has been created and ready to be used.", + "Memcached instance is updating configuration such as maintenance policy and schedule.", "Memcached instance is being deleted.", "Memcached instance is going through maintenance, e.g. data plane rollout." ], @@ -1281,11 +1255,10 @@ "type": "object" }, "MemcacheParameters": { - "description": "The unique ID associated with this set of parameters. Users can use this id to determine if the parameters associated with the instance differ from the parameters associated with the nodes. A discrepancy between parameter ids can inform users that they may need to take action to apply parameters on nodes.", "id": "MemcacheParameters", "properties": { "id": { - "description": "Output only.", + "description": "Output only. The unique ID associated with this set of parameters. Users can use this id to determine if the parameters associated with the instance differ from the parameters associated with the nodes. A discrepancy between parameter ids can inform users that they may need to take action to apply parameters on nodes.", "readOnly": true, "type": "string" }, @@ -1574,7 +1547,7 @@ "type": "string" }, "denyMaintenancePeriods": { - "description": "Deny Maintenance Period that is applied to resource to indicate when maintenance is forbidden. User can specify zero or more non-overlapping deny periods. For V1, Maximum number of deny_maintenance_periods is expected to be one.", + "description": "Deny Maintenance Period that is applied to resource to indicate when maintenance is forbidden. User can specify zero or more non-overlapping deny periods. Maximum number of deny_maintenance_periods expected is one.", "items": { "$ref": "DenyMaintenancePeriod" }, diff --git a/etc/api/memcache/v1beta2/memcache-api.json b/etc/api/memcache/v1beta2/memcache-api.json index 78103a9f28..da48c51cab 100644 --- a/etc/api/memcache/v1beta2/memcache-api.json +++ b/etc/api/memcache/v1beta2/memcache-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -556,7 +556,7 @@ } } }, - "revision": "20210324", + "revision": "20220224", "rootUrl": "https://memcache.googleapis.com/", "schemas": { "ApplyParametersRequest": { @@ -618,7 +618,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "Date", "properties": { "day": { @@ -741,6 +741,10 @@ "readOnly": true, "type": "string" }, + "instanceType": { + "description": "Optional. The instance_type of this instance of format: projects/{project_id}/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" @@ -767,9 +771,16 @@ "description": "Optional. The MaintenanceSettings associated with instance." }, "name": { - "description": "Unique name of the resource. It uses the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}`", + "description": "Unique name of the resource. It uses the form: `projects/{project_id|project_number}/locations/{location_id}/instances/{instance_id}` Note: Either project_id or project_number can be used, but keep it consistent with other APIs (e.g. RescheduleUpdate)", "type": "string" }, + "notificationParameters": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. notification_parameters 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" @@ -844,7 +855,7 @@ "id": "GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule", "properties": { "canReschedule": { - "description": "This field will be deprecated, and will be always set to true since reschedule can happen multiple times now.", + "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": { @@ -895,13 +906,6 @@ "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": { - "exclusions": { - "description": "By default node is eligible if instance is eligible. But individual node might be excluded from SLO by adding entry here. For semantic see SloMetadata.exclusions. If both instance and node level exclusions are present for time period, the node level's reason will be reported by Eligibility Exporter.", - "items": { - "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" - }, - "type": "array" - }, "location": { "description": "The location of the node, if different from instance location.", "type": "string" @@ -909,6 +913,10 @@ "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" @@ -957,46 +965,10 @@ }, "type": "object" }, - "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion": { - "description": "SloExclusion represents an exclusion in SLI calculation applies to all SLOs.", - "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion", - "properties": { - "duration": { - "description": "Exclusion duration. No restrictions on the possible values. When an ongoing operation is taking longer than initially expected, an existing entry in the exclusion list can be updated by extending the duration. This is supported by the subsystem exporting eligibility data as long as such extension is committed at least 10 minutes before the original exclusion expiration - otherwise it is possible that there will be \"gaps\" in the exclusion application in the exported timeseries.", - "format": "google-duration", - "type": "string" - }, - "reason": { - "description": "Human-readable reason for the exclusion. This should be a static string (e.g. \"Disruptive update in progress\") and should not contain dynamically generated data (e.g. instance name). Can be left empty.", - "type": "string" - }, - "sliName": { - "description": "Name of an SLI that this exclusion applies to. Can be left empty, signaling that the instance should be excluded from all SLIs.", - "type": "string" - }, - "startTime": { - "description": "Start time of the exclusion. No alignment (e.g. to a full minute) needed.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata": { "description": "SloMetadata contains resources required for proper SLO classification of the instance.", "id": "GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata", "properties": { - "eligibility": { - "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility", - "description": "Optional. Global per-instance SLI eligibility which applies to all defined SLIs. Exactly one of 'eligibility' and 'per_sli_eligibility' fields must be used." - }, - "exclusions": { - "description": "List of SLO exclusion windows. When multiple entries in the list match (matching the exclusion time-window against current time point) the exclusion reason used in the first matching entry will be published. It is not needed to include expired exclusion in this list, as only the currently applicable exclusions are taken into account by the eligibility exporting subsystem (the historical state of exclusions will be reflected in the historically produced timeseries regardless of the current state). This field can be used to mark the instance as temporary ineligible for the purpose of SLO calculation. For permanent instance SLO exclusion, use of custom instance eligibility is recommended. See 'eligibility' field below.", - "items": { - "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion" - }, - "type": "array" - }, "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": { @@ -1006,7 +978,7 @@ }, "perSliEligibility": { "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility", - "description": "Optional. Multiple per-instance SLI eligibilities which apply for individual SLIs. Exactly one of 'eligibility' and 'per_sli_eligibility' fields must be used." + "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.", @@ -1092,7 +1064,7 @@ }, "parameters": { "$ref": "MemcacheParameters", - "description": "Optional: User defined parameters to apply to the memcached process on each node." + "description": "User defined parameters to apply to the memcached process on each node." }, "state": { "description": "Output only. The state of this Memcached instance.", @@ -1100,6 +1072,7 @@ "STATE_UNSPECIFIED", "CREATING", "READY", + "UPDATING", "DELETING", "PERFORMING_MAINTENANCE" ], @@ -1107,6 +1080,7 @@ "State not set.", "Memcached instance is being created.", "Memcached instance has been created and ready to be used.", + "Memcached instance is updating configuration such as maintenance policy and schedule.", "Memcached instance is being deleted.", "Memcached instance is going through maintenance, e.g. data plane rollout." ], @@ -1332,11 +1306,10 @@ "type": "object" }, "MemcacheParameters": { - "description": "The unique ID associated with this set of parameters. Users can use this id to determine if the parameters associated with the instance differ from the parameters associated with the nodes. A discrepancy between parameter ids can inform users that they may need to take action to apply parameters on nodes.", "id": "MemcacheParameters", "properties": { "id": { - "description": "Output only.", + "description": "Output only. The unique ID associated with this set of parameters. Users can use this id to determine if the parameters associated with the instance differ from the parameters associated with the nodes. A discrepancy between parameter ids can inform users that they may need to take action to apply parameters on nodes.", "readOnly": true, "type": "string" }, @@ -1630,7 +1603,7 @@ "type": "string" }, "denyMaintenancePeriods": { - "description": "Deny Maintenance Period that is applied to resource to indicate when maintenance is forbidden. User can specify zero or more non-overlapping deny periods. For V1, Maximum number of deny_maintenance_periods is expected to be one.", + "description": "Deny Maintenance Period that is applied to resource to indicate when maintenance is forbidden. User can specify zero or more non-overlapping deny periods. Maximum number of deny_maintenance_periods expected is one.", "items": { "$ref": "DenyMaintenancePeriod" }, diff --git a/etc/api/metastore/v1alpha/metastore-api.json b/etc/api/metastore/v1alpha/metastore-api.json index 3c27e2a15d..1bb29c4c2a 100644 --- a/etc/api/metastore/v1alpha/metastore-api.json +++ b/etc/api/metastore/v1alpha/metastore-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -405,7 +405,7 @@ ], "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).", + "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" @@ -511,6 +511,34 @@ "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", @@ -600,7 +628,7 @@ "backups": { "methods": { "create": { - "description": "Creates a new Backup in a given project and location.", + "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", @@ -692,6 +720,37 @@ "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 the operation documentation 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", @@ -737,6 +796,246 @@ "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 the operation documentation 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 the operation documentation 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 the operation documentation 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 the operation documentation 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 the operation documentation 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 the operation documentation 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 the operation documentation 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 the operation documentation 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" + ] + } + } } } }, @@ -899,7 +1198,7 @@ } } }, - "revision": "20210325", + "revision": "20220222", "rootUrl": "https://metastore.googleapis.com/", "schemas": { "AuditConfig": { @@ -950,6 +1249,29 @@ }, "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" + }, "Backup": { "description": "The details of a backup resource.", "id": "Backup", @@ -974,6 +1296,14 @@ "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.", @@ -986,14 +1316,16 @@ "CREATING", "DELETING", "ACTIVE", - "FAILED" + "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 failed.", + "The backup is being restored." ], "readOnly": true, "type": "string" @@ -1002,22 +1334,38 @@ "type": "object" }, "Binding": { - "description": "Associates members with a role.", + "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 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)." + "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 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.", + "description": "Specifies the principals 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.", + "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" + }, + "Consumer": { + "description": "Contains information of the customer's network configurations.", + "id": "Consumer", + "properties": { + "endpointUri": { + "description": "Output only. The URI of the endpoint used to access the metastore service.", + "readOnly": true, + "type": "string" + }, + "subnetwork": { + "description": "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" } }, @@ -1075,12 +1423,37 @@ }, "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); } The JSON representation for Empty is empty JSON object {}.", "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 form:projects/{project_number}/locations/{location_id}/keyRings/{key_ring_id}/cryptoKeys/{crypto_key_id}.", + "type": "string" + } + }, + "type": "object" + }, "ExportMetadataRequest": { "description": "Request message for DataprocMetastore.ExportMetadata.", "id": "ExportMetadataRequest", @@ -1137,13 +1510,34 @@ "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).", + "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." @@ -1189,6 +1583,17 @@ }, "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" + }, "ListBackupsResponse": { "description": "Response message for DataprocMetastore.ListBackups.", "id": "ListBackupsResponse", @@ -1447,7 +1852,7 @@ "id": "MetadataImport", "properties": { "createTime": { - "description": "Output only. The time when the metadata import was created.", + "description": "Output only. The time when the metadata import was started.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -1460,6 +1865,12 @@ "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" @@ -1499,6 +1910,10 @@ "dataCatalogConfig": { "$ref": "DataCatalogConfig", "description": "The integration config for the Data Catalog service." + }, + "dataplexConfig": { + "$ref": "DataplexConfig", + "description": "The integration config for the Dataplex service." } }, "type": "object" @@ -1526,6 +1941,20 @@ }, "type": "object" }, + "NetworkConfig": { + "description": "Network configuration for the Dataproc Metastore service.", + "id": "NetworkConfig", + "properties": { + "consumers": { + "description": "Immutable. The consumer-side network configuration for the Dataproc Metastore instance.", + "items": { + "$ref": "Consumer" + }, + "type": "array" + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -1606,7 +2035,7 @@ "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/).", + "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": { @@ -1617,7 +2046,7 @@ "type": "array" }, "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.", + "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" }, @@ -1636,6 +2065,23 @@ }, "type": "object" }, + "RemoveIamPolicyRequest": { + "description": "Request message for DataprocMetastore.RemoveIamPolicy.", + "id": "RemoveIamPolicyRequest", + "properties": {}, + "type": "object" + }, + "RemoveIamPolicyResponse": { + "description": "Response message for DataprocMetastore.RemoveIamPolicy.", + "id": "RemoveIamPolicyResponse", + "properties": { + "success": { + "description": "whether related policies are removed", + "type": "boolean" + } + }, + "type": "object" + }, "Restore": { "description": "The details of a metadata restore operation.", "id": "Restore", @@ -1754,6 +2200,24 @@ "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" + }, + "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, @@ -1772,7 +2236,7 @@ }, "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." + "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", @@ -1791,6 +2255,10 @@ "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": "Immutable. 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", diff --git a/etc/api/metastore/v1beta/metastore-api.json b/etc/api/metastore/v1beta/metastore-api.json index d82006cd04..4ed1bac830 100644 --- a/etc/api/metastore/v1beta/metastore-api.json +++ b/etc/api/metastore/v1beta/metastore-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -405,7 +405,7 @@ ], "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).", + "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" @@ -511,6 +511,34 @@ "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", @@ -600,7 +628,7 @@ "backups": { "methods": { "create": { - "description": "Creates a new Backup in a given project and location.", + "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", @@ -692,6 +720,37 @@ "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 the operation documentation 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", @@ -737,6 +796,246 @@ "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 the operation documentation 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 the operation documentation 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 the operation documentation 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 the operation documentation 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 the operation documentation 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 the operation documentation 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 the operation documentation 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 the operation documentation 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" + ] + } + } } } }, @@ -899,7 +1198,7 @@ } } }, - "revision": "20210325", + "revision": "20220222", "rootUrl": "https://metastore.googleapis.com/", "schemas": { "AuditConfig": { @@ -950,6 +1249,29 @@ }, "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" + }, "Backup": { "description": "The details of a backup resource.", "id": "Backup", @@ -974,6 +1296,14 @@ "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.", @@ -986,14 +1316,16 @@ "CREATING", "DELETING", "ACTIVE", - "FAILED" + "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 failed.", + "The backup is being restored." ], "readOnly": true, "type": "string" @@ -1002,22 +1334,38 @@ "type": "object" }, "Binding": { - "description": "Associates members with a role.", + "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 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)." + "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 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.", + "description": "Specifies the principals 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.", + "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" + }, + "Consumer": { + "description": "Contains information of the customer's network configurations.", + "id": "Consumer", + "properties": { + "endpointUri": { + "description": "Output only. The URI of the endpoint used to access the metastore service.", + "readOnly": true, + "type": "string" + }, + "subnetwork": { + "description": "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" } }, @@ -1075,12 +1423,37 @@ }, "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); } The JSON representation for Empty is empty JSON object {}.", "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 form:projects/{project_number}/locations/{location_id}/keyRings/{key_ring_id}/cryptoKeys/{crypto_key_id}.", + "type": "string" + } + }, + "type": "object" + }, "ExportMetadataRequest": { "description": "Request message for DataprocMetastore.ExportMetadata.", "id": "ExportMetadataRequest", @@ -1137,13 +1510,34 @@ "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).", + "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." @@ -1189,6 +1583,17 @@ }, "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" + }, "ListBackupsResponse": { "description": "Response message for DataprocMetastore.ListBackups.", "id": "ListBackupsResponse", @@ -1447,7 +1852,7 @@ "id": "MetadataImport", "properties": { "createTime": { - "description": "Output only. The time when the metadata import was created.", + "description": "Output only. The time when the metadata import was started.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -1460,6 +1865,12 @@ "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" @@ -1499,6 +1910,10 @@ "dataCatalogConfig": { "$ref": "DataCatalogConfig", "description": "The integration config for the Data Catalog service." + }, + "dataplexConfig": { + "$ref": "DataplexConfig", + "description": "The integration config for the Dataplex service." } }, "type": "object" @@ -1526,6 +1941,20 @@ }, "type": "object" }, + "NetworkConfig": { + "description": "Network configuration for the Dataproc Metastore service.", + "id": "NetworkConfig", + "properties": { + "consumers": { + "description": "Immutable. The consumer-side network configuration for the Dataproc Metastore instance.", + "items": { + "$ref": "Consumer" + }, + "type": "array" + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -1606,7 +2035,7 @@ "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/).", + "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": { @@ -1617,7 +2046,7 @@ "type": "array" }, "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.", + "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" }, @@ -1636,6 +2065,23 @@ }, "type": "object" }, + "RemoveIamPolicyRequest": { + "description": "Request message for DataprocMetastore.RemoveIamPolicy.", + "id": "RemoveIamPolicyRequest", + "properties": {}, + "type": "object" + }, + "RemoveIamPolicyResponse": { + "description": "Response message for DataprocMetastore.RemoveIamPolicy.", + "id": "RemoveIamPolicyResponse", + "properties": { + "success": { + "description": "whether related policies are removed", + "type": "boolean" + } + }, + "type": "object" + }, "Restore": { "description": "The details of a metadata restore operation.", "id": "Restore", @@ -1754,6 +2200,24 @@ "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" + }, + "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, @@ -1772,7 +2236,7 @@ }, "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." + "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", @@ -1791,6 +2255,10 @@ "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": "Immutable. 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", diff --git a/etc/api/ml/v1/ml-api.json b/etc/api/ml/v1/ml-api.json index aaaedc5aaf..3473be2f18 100644 --- a/etc/api/ml/v1/ml-api.json +++ b/etc/api/ml/v1/ml-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" } } } @@ -287,7 +287,7 @@ ], "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).", + "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" @@ -1045,7 +1045,7 @@ ], "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).", + "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" @@ -1486,7 +1486,7 @@ } } }, - "revision": "20210317", + "revision": "20220212", "rootUrl": "https://ml.googleapis.com/", "schemas": { "GoogleApi__HttpBody": { @@ -1820,7 +1820,9 @@ "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "TPU_V2", - "TPU_V3" + "TPU_V3", + "TPU_V2_POD", + "TPU_V3_POD" ], "enumDescriptions": [ "Unspecified accelerator type. Default to no GPU.", @@ -1831,7 +1833,9 @@ "Nvidia T4 GPU.", "Nvidia A100 GPU.", "TPU v2.", - "TPU v3." + "TPU v3.", + "TPU v2 POD.", + "TPU v3 POD." ], "type": "string" } @@ -1930,7 +1934,9 @@ "NVIDIA_TESLA_T4", "NVIDIA_TESLA_A100", "TPU_V2", - "TPU_V3" + "TPU_V3", + "TPU_V2_POD", + "TPU_V3_POD" ], "enumDescriptions": [ "Unspecified accelerator type. Default to no GPU.", @@ -1941,7 +1947,9 @@ "Nvidia T4 GPU.", "Nvidia A100 GPU.", "TPU v2.", - "TPU v3." + "TPU v3.", + "TPU v2 POD.", + "TPU v3 POD." ], "type": "string" }, @@ -2250,6 +2258,13 @@ "trialId": { "description": "The trial id for these results.", "type": "string" + }, + "webAccessUris": { + "additionalProperties": { + "type": "string" + }, + "description": "URIs for accessing [interactive shells](https://cloud.google.com/ai-platform/training/docs/monitor-debug-interactive-shell) (one URI for each training node). Only available if this trial is part of a hyperparameter tuning job and the job's training_input.enable_web_access is `true`. The keys are names of each node in the training job; for example, `master-replica-0` for the master node, `worker-replica-0` for the first worker, and `ps-replica-0` for the first parameter server. The values are the URIs for each node's interactive shell.", + "type": "object" } }, "type": "object" @@ -2362,6 +2377,12 @@ "description": "Required. The user-specified id of the job.", "type": "string" }, + "jobPosition": { + "description": "Output only. It's only effect when the job is in QUEUED state. If it's positive, it indicates the job's position in the job scheduler. It's 0 when the job is already scheduled.", + "format": "int64", + "readOnly": true, + "type": "string" + }, "labels": { "additionalProperties": { "type": "string" @@ -3019,6 +3040,11 @@ "description": "Optional. The maximum job wait time, expressed in seconds. The field can contain up to nine fractional digits, terminated by `s`. If not specified, there is no limit to the wait time. The minimum for this field is `1800s` (30 minutes). If the training job has not entered the `RUNNING` state after this duration, AI Platform Training cancels it. After the job begins running, it can no longer be cancelled due to the maximum wait time. Therefore the duration limited by this field does not overlap with the duration limited by Scheduling.max_running_time. For example, if the job temporarily stops running and retries due to a [VM restart](/ai-platform/training/docs/overview#restarts), this cannot lead to a maximum wait time cancellation. However, independently of this constraint, AI Platform Training might stop a job if there are too many retries due to exhausted resources in a region. The following example describes how you might use this field: To cancel your job if it doesn't start running within 1 hour, set this field to `3600s` (1 hour * 60 minutes / hour * 60 seconds / minute). If the job is still in the `QUEUED` or `PREPARING` state after an hour of waiting, AI Platform Training cancels the job. If you submit your training job using the `gcloud` tool, you can [specify this field in a `config.yaml` file](/ai-platform/training/docs/training-jobs#formatting_your_configuration_parameters). For example: ```yaml trainingInput: scheduling: maxWaitTime: 3600s ```", "format": "google-duration", "type": "string" + }, + "priority": { + "description": "Optional. Job scheduling will be based on this priority, which in the range [0, 1000]. The bigger the number, the higher the priority. Default to 0 if not set. If there are multiple jobs requesting same type of accelerators, the high priority job will be scheduled prior to ones with low priority.", + "format": "int32", + "type": "integer" } }, "type": "object" @@ -3211,6 +3237,10 @@ }, "type": "array" }, + "enableWebAccess": { + "description": "Optional. Whether you want AI Platform Training to enable [interactive shell access](https://cloud.google.com/ai-platform/training/docs/monitor-debug-interactive-shell) to training containers. If set to `true`, you can access interactive shells at the URIs given by TrainingOutput.web_access_uris or HyperparameterOutput.web_access_uris (within TrainingOutput.trials).", + "type": "boolean" + }, "encryptionConfig": { "$ref": "GoogleCloudMlV1__EncryptionConfig", "description": "Optional. Options for using customer-managed encryption keys (CMEK) to protect resources created by a training job, instead of using Google's default encryption. If this is set, then all resources created by the training job will be encrypted with the customer-managed encryption key that you specify. [Learn how and when to use CMEK with AI Platform Training](/ai-platform/training/docs/cmek)." @@ -3368,6 +3398,14 @@ "$ref": "GoogleCloudMlV1__HyperparameterOutput" }, "type": "array" + }, + "webAccessUris": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. URIs for accessing [interactive shells](https://cloud.google.com/ai-platform/training/docs/monitor-debug-interactive-shell) (one URI for each training node). Only available if training_input.enable_web_access is `true`. The keys are names of each node in the training job; for example, `master-replica-0` for the master node, `worker-replica-0` for the first worker, and `ps-replica-0` for the first parameter server. The values are the URIs for each node's interactive shell.", + "readOnly": true, + "type": "object" } }, "type": "object" @@ -3659,29 +3697,29 @@ "type": "object" }, "GoogleIamV1__Binding": { - "description": "Associates `members` with a `role`.", + "description": "Associates `members`, or principals, with a `role`.", "id": "GoogleIamV1__Binding", "properties": { "condition": { "$ref": "GoogleType__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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "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" }, "GoogleIamV1__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/).", + "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": "GoogleIamV1__Policy", "properties": { "auditConfigs": { @@ -3692,7 +3730,7 @@ "type": "array" }, "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.", + "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": "GoogleIamV1__Binding" }, diff --git a/etc/api/monitoring/v1/monitoring-api.json b/etc/api/monitoring/v1/monitoring-api.json index 6a7de3a048..111452764a 100644 --- a/etc/api/monitoring/v1/monitoring-api.json +++ b/etc/api/monitoring/v1/monitoring-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." }, "https://www.googleapis.com/auth/monitoring": { "description": "View and write monitoring data for all of your Google and third-party Cloud and API projects" @@ -21,7 +21,7 @@ "baseUrl": "https://monitoring.googleapis.com/", "batchPath": "batch", "canonicalName": "Monitoring", - "description": "Manages your Cloud Monitoring data and configurations. Most projects must be associated with a Workspace, with a few exceptions as noted on the individual method pages. The table entries below are presented in alphabetical order, not in order of common use. For explanations of the concepts found in the table entries, read the Cloud Monitoring documentation.", + "description": "Manages your Cloud Monitoring data and configurations.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/monitoring/api/", "fullyEncodeReservedExpansion": true, @@ -114,12 +114,168 @@ }, "protocol": "rest", "resources": { + "locations": { + "resources": { + "global": { + "resources": { + "metricsScopes": { + "methods": { + "get": { + "description": "Returns a specific Metrics Scope, including the list of projects monitored by the specified Metrics Scope.", + "flatPath": "v1/locations/global/metricsScopes/{metricsScopesId}", + "httpMethod": "GET", + "id": "monitoring.locations.global.metricsScopes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the Metrics Scope. Example: locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}", + "location": "path", + "pattern": "^locations/global/metricsScopes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "MetricsScope" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/monitoring.read" + ] + }, + "listMetricsScopesByMonitoredProject": { + "description": "Returns a list of every Metrics Scope that a specific MonitoredProject has been added to. The metrics scope representing the specified monitored project will always be the first entry in the response.", + "flatPath": "v1/locations/global/metricsScopes:listMetricsScopesByMonitoredProject", + "httpMethod": "GET", + "id": "monitoring.locations.global.metricsScopes.listMetricsScopesByMonitoredProject", + "parameterOrder": [], + "parameters": { + "monitoredResourceContainer": { + "description": "Required. The resource name of the Monitored Project being requested. Example: projects/{MONITORED_PROJECT_ID_OR_NUMBER}", + "location": "query", + "type": "string" + } + }, + "path": "v1/locations/global/metricsScopes:listMetricsScopesByMonitoredProject", + "response": { + "$ref": "ListMetricsScopesByMonitoredProjectResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/monitoring.read" + ] + } + }, + "resources": { + "projects": { + "methods": { + "create": { + "description": "Adds a MonitoredProject with the given project ID to the specified Metrics Scope.", + "flatPath": "v1/locations/global/metricsScopes/{metricsScopesId}/projects", + "httpMethod": "POST", + "id": "monitoring.locations.global.metricsScopes.projects.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the existing Metrics Scope that will monitor this project. Example: locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}", + "location": "path", + "pattern": "^locations/global/metricsScopes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/projects", + "request": { + "$ref": "MonitoredProject" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/monitoring.write" + ] + }, + "delete": { + "description": "Deletes a MonitoredProject from the specified Metrics Scope.", + "flatPath": "v1/locations/global/metricsScopes/{metricsScopesId}/projects/{projectsId}", + "httpMethod": "DELETE", + "id": "monitoring.locations.global.metricsScopes.projects.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the MonitoredProject. Example: locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}/projects/{MONITORED_PROJECT_ID_OR_NUMBER}Authorization requires the following Google IAM (https://cloud.google.com/iam) permissions on both the Metrics Scope and on the MonitoredProject: monitoring.metricsScopes.link", + "location": "path", + "pattern": "^locations/global/metricsScopes/[^/]+/projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/monitoring.write" + ] + } + } + } + } + } + } + } + } + }, + "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": "monitoring.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^operations/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/monitoring.read" + ] + } + } + }, "projects": { "resources": { "dashboards": { "methods": { "create": { - "description": "Creates a new custom dashboard. For examples on how you can use this API to create dashboards, see Managing dashboards by API. This method requires the monitoring.dashboards.create permission on the specified project. For more information about permissions, see Cloud Identity and Access Management.", + "description": "Creates a new custom dashboard. For examples on how you can use this API to create dashboards, see Managing dashboards by API (https://cloud.google.com/monitoring/dashboards/api-dashboard). This method requires the monitoring.dashboards.create permission on the specified project. For more information about permissions, see Cloud Identity and Access Management (https://cloud.google.com/iam).", "flatPath": "v1/projects/{projectsId}/dashboards", "httpMethod": "POST", "id": "monitoring.projects.dashboards.create", @@ -133,6 +289,11 @@ "pattern": "^projects/[^/]+$", "required": true, "type": "string" + }, + "validateOnly": { + "description": "If set, validate the request and preview the review, but do not actually save it.", + "location": "query", + "type": "boolean" } }, "path": "v1/{+parent}/dashboards", @@ -255,6 +416,11 @@ "pattern": "^projects/[^/]+/dashboards/[^/]+$", "required": true, "type": "string" + }, + "validateOnly": { + "description": "If set, validate the request and preview the review, but do not actually save it.", + "location": "query", + "type": "boolean" } }, "path": "v1/{+name}", @@ -271,11 +437,249 @@ ] } } + }, + "location": { + "resources": { + "prometheus": { + "resources": { + "api": { + "resources": { + "v1": { + "methods": { + "query": { + "description": "Evaluate a PromQL query at a single point in time.", + "flatPath": "v1/projects/{projectsId}/location/{location}/prometheus/api/v1/query", + "httpMethod": "POST", + "id": "monitoring.projects.location.prometheus.api.v1.query", + "parameterOrder": [ + "name", + "location" + ], + "parameters": { + "location": { + "description": "Location of the resource information. Has to be \"global\" now.", + "location": "path", + "required": true, + "type": "string" + }, + "name": { + "description": "The project on which to execute the request. Data associcated with the project's workspace stored under the The format is: projects/PROJECT_ID_OR_NUMBER. Open source API but used as a request path prefix to distinguish different virtual Prometheus instances of Google Prometheus Engine.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/location/{location}/prometheus/api/v1/query", + "request": { + "$ref": "QueryInstantRequest" + }, + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/monitoring.read" + ] + }, + "query_range": { + "description": "Evaluate a PromQL query with start, end time range.", + "flatPath": "v1/projects/{projectsId}/location/{location}/prometheus/api/v1/query_range", + "httpMethod": "POST", + "id": "monitoring.projects.location.prometheus.api.v1.query_range", + "parameterOrder": [ + "name", + "location" + ], + "parameters": { + "location": { + "description": "Location of the resource information. Has to be \"global\" now.", + "location": "path", + "required": true, + "type": "string" + }, + "name": { + "description": "The project on which to execute the request. Data associcated with the project's workspace stored under the The format is: projects/PROJECT_ID_OR_NUMBER. Open source API but used as a request path prefix to distinguish different virtual Prometheus instances of Google Prometheus Engine.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/location/{location}/prometheus/api/v1/query_range", + "request": { + "$ref": "QueryRangeRequest" + }, + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/monitoring.read" + ] + }, + "series": { + "description": "Lists metadata for metrics.", + "flatPath": "v1/projects/{projectsId}/location/{location}/prometheus/api/v1/series", + "httpMethod": "POST", + "id": "monitoring.projects.location.prometheus.api.v1.series", + "parameterOrder": [ + "name", + "location" + ], + "parameters": { + "location": { + "description": "Location of the resource information. Has to be \"global\" for now.", + "location": "path", + "required": true, + "type": "string" + }, + "name": { + "description": "Required. The workspace on which to execute the request. It is not part of the open source API but used as a request path prefix to distinguish different virtual Prometheus instances of Google Prometheus Engine. The format is: projects/PROJECT_ID_OR_NUMBER.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/location/{location}/prometheus/api/v1/series", + "request": { + "$ref": "QuerySeriesRequest" + }, + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/monitoring.read" + ] + } + }, + "resources": { + "label": { + "methods": { + "values": { + "description": "Lists possible values for a given label name.", + "flatPath": "v1/projects/{projectsId}/location/{location}/prometheus/api/v1/label/{label}/values", + "httpMethod": "GET", + "id": "monitoring.projects.location.prometheus.api.v1.label.values", + "parameterOrder": [ + "name", + "location", + "label" + ], + "parameters": { + "end": { + "description": "The end time to evaluate the query for. Either floating point UNIX seconds or RFC3339 formatted timestamp.", + "location": "query", + "type": "string" + }, + "label": { + "description": "The label name for which values are queried.", + "location": "path", + "required": true, + "type": "string" + }, + "location": { + "description": "Location of the resource information. Has to be \"global\" now.", + "location": "path", + "required": true, + "type": "string" + }, + "match": { + "description": "A list of matchers encoded in the Prometheus label matcher format to constrain the values to series that satisfy them.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The workspace on which to execute the request. It is not part of the open source API but used as a request path prefix to distinguish different virtual Prometheus instances of Google Prometheus Engine. The format is: projects/PROJECT_ID_OR_NUMBER.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "start": { + "description": "The start time to evaluate the query for. Either floating point UNIX seconds or RFC3339 formatted timestamp.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/location/{location}/prometheus/api/v1/label/{label}/values", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/monitoring.read" + ] + } + } + }, + "metadata": { + "methods": { + "list": { + "description": "Lists metadata for metrics.", + "flatPath": "v1/projects/{projectsId}/location/{location}/prometheus/api/v1/metadata", + "httpMethod": "GET", + "id": "monitoring.projects.location.prometheus.api.v1.metadata.list", + "parameterOrder": [ + "name", + "location" + ], + "parameters": { + "limit": { + "description": "Maximum number of metrics to return.", + "format": "int64", + "location": "query", + "type": "string" + }, + "location": { + "description": "Location of the resource information. Has to be \"global\" for now.", + "location": "path", + "required": true, + "type": "string" + }, + "metric": { + "description": "The metric name for which to query metadata. If unset, all metric metadata is returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The workspace on which to execute the request. It is not part of the open source API but used as a request path prefix to distinguish different virtual Prometheus instances of Google Prometheus Engine. The format is: projects/PROJECT_ID_OR_NUMBER.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/location/{location}/prometheus/api/v1/metadata", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/monitoring.read" + ] + } + } + } + } + } + } + } + } + } + } } } } }, - "revision": "20210322", + "revision": "20220218", "rootUrl": "https://monitoring.googleapis.com/", "schemas": { "Aggregation": { @@ -379,6 +783,17 @@ }, "type": "object" }, + "AlertChart": { + "description": "A chart that displays alert policy data.", + "id": "AlertChart", + "properties": { + "name": { + "description": "Required. The resource name of the alert policy. The format is: projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID] ", + "type": "string" + } + }, + "type": "object" + }, "Axis": { "description": "A chart axis.", "id": "Axis", @@ -427,6 +842,17 @@ }, "type": "object" }, + "CollapsibleGroup": { + "description": "A widget that groups the other widgets. All widgets that are within the area spanned by the grouping widget are considered member widgets.", + "id": "CollapsibleGroup", + "properties": { + "collapsed": { + "description": "The collapsed state of the widget on first page load.", + "type": "boolean" + } + }, + "type": "object" + }, "Column": { "description": "Defines the layout properties and content for a column.", "id": "Column", @@ -480,6 +906,13 @@ "$ref": "GridLayout", "description": "Content is arranged with a basic layout that re-flows a simple list of informational elements like widgets or tiles." }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels applied to the dashboard", + "type": "object" + }, "mosaicLayout": { "$ref": "MosaicLayout", "description": "The content is arranged as a grid of tiles, with each content widget occupying one or more grid blocks." @@ -526,6 +959,20 @@ ], "type": "string" }, + "targetAxis": { + "description": "Optional. The target axis to use for plotting the metric.", + "enum": [ + "TARGET_AXIS_UNSPECIFIED", + "Y1", + "Y2" + ], + "enumDescriptions": [ + "The target axis was not specified. Defaults to Y1.", + "The y_axis (the right axis of chart).", + "The y2_axis (the left axis of chart)." + ], + "type": "string" + }, "timeSeriesQuery": { "$ref": "TimeSeriesQuery", "description": "Required. Fields for querying time series data from the Stackdriver metrics API." @@ -695,6 +1142,33 @@ }, "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" + }, "ListDashboardsResponse": { "description": "The ListDashboards request.", "id": "ListDashboardsResponse", @@ -713,6 +1187,86 @@ }, "type": "object" }, + "ListMetricsScopesByMonitoredProjectResponse": { + "description": "Response for the ListMetricsScopesByMonitoredProject method.", + "id": "ListMetricsScopesByMonitoredProjectResponse", + "properties": { + "metricsScopes": { + "description": "A set of all metrics scopes that the specified monitored project has been added to.", + "items": { + "$ref": "MetricsScope" + }, + "type": "array" + } + }, + "type": "object" + }, + "LogsPanel": { + "description": "A widget that displays a stream of log.", + "id": "LogsPanel", + "properties": { + "filter": { + "description": "A filter that chooses which log entries to return. See Advanced Logs Queries (https://cloud.google.com/logging/docs/view/advanced-queries). Only log entries that match the filter are returned. An empty filter matches all log entries.", + "type": "string" + }, + "resourceNames": { + "description": "The names of logging resources to collect logs for. Currently only projects are supported. If empty, the widget will default to the host project.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MetricsScope": { + "description": "Represents a Metrics Scope (https://cloud.google.com/monitoring/settings#concept-scope) in Cloud Monitoring, which specifies one or more Google projects and zero or more AWS accounts to monitor together.", + "id": "MetricsScope", + "properties": { + "createTime": { + "description": "Output only. The time when this Metrics Scope was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "monitoredProjects": { + "description": "Output only. The list of projects monitored by this Metrics Scope.", + "items": { + "$ref": "MonitoredProject" + }, + "readOnly": true, + "type": "array" + }, + "name": { + "description": "Immutable. The resource name of the Monitoring Metrics Scope. On input, the resource name can be specified with the scoping project ID or number. On output, the resource name is specified with the scoping project number. Example: locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}", + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when this Metrics Scope record was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MonitoredProject": { + "description": "A project being monitored (https://cloud.google.com/monitoring/settings/multiple-projects#create-multi) by a Metrics Scope.", + "id": "MonitoredProject", + "properties": { + "createTime": { + "description": "Output only. The time when this MonitoredProject was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Immutable. The resource name of the MonitoredProject. On input, the resource name includes the scoping project ID and monitored project ID. On output, it contains the equivalent project numbers. Example: locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}/projects/{MONITORED_PROJECT_ID_OR_NUMBER}", + "type": "string" + } + }, + "type": "object" + }, "MosaicLayout": { "description": "A mosaic layout divides the available space into a grid of blocks, and overlays the grid with tiles. Unlike GridLayout, tiles may span multiple grid blocks and can be placed at arbitrary locations in the grid.", "id": "MosaicLayout", @@ -732,6 +1286,76 @@ }, "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": "Contains metadata for longrunning operation for the edit Metrics Scope endpoints.", + "id": "OperationMetadata", + "properties": { + "createTime": { + "description": "The time when the batch request was received.", + "format": "google-datetime", + "type": "string" + }, + "state": { + "description": "Current state of the batch operation.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATED", + "RUNNING", + "DONE", + "CANCELLED" + ], + "enumDescriptions": [ + "Invalid.", + "Request has been received.", + "Request is actively being processed.", + "The batch processing is done.", + "The batch processing was cancelled." + ], + "type": "string" + }, + "updateTime": { + "description": "The time when the operation result was last updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "Option": { "description": "A protocol buffer option, which can be attached to a message, field, enumeration, etc.", "id": "Option", @@ -797,6 +1421,67 @@ }, "type": "object" }, + "QueryInstantRequest": { + "description": "QueryInstantRequest holds all parameters of the Prometheus upstream instant query API plus GCM specific parameters.", + "id": "QueryInstantRequest", + "properties": { + "query": { + "description": "A PromQL query string. Query lanauge documentation: https://prometheus.io/docs/prometheus/latest/querying/basics/.", + "type": "string" + }, + "time": { + "description": "The single point in time to evaluate the query for. Either floating point UNIX seconds or RFC3339 formatted timestamp.", + "type": "string" + }, + "timeout": { + "description": "An upper bound timeout for the query. Either a Prometheus duration string (https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations) or floating point seconds. This non-standard encoding must be used for compatibility with the open source API. Clients may still implement timeouts at the connection level while ignoring this field.", + "type": "string" + } + }, + "type": "object" + }, + "QueryRangeRequest": { + "description": "QueryRangeRequest holds all parameters of the Prometheus upstream range query API plus GCM specific parameters.", + "id": "QueryRangeRequest", + "properties": { + "end": { + "description": "The end time to evaluate the query for. Either floating point UNIX seconds or RFC3339 formatted timestamp.", + "type": "string" + }, + "query": { + "description": "A PromQL query string. Query lanauge documentation: https://prometheus.io/docs/prometheus/latest/querying/basics/.", + "type": "string" + }, + "start": { + "description": "The start time to evaluate the query for. Either floating point UNIX seconds or RFC3339 formatted timestamp.", + "type": "string" + }, + "step": { + "description": "The resolution of query result. Either a Prometheus duration string (https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations) or floating point seconds. This non-standard encoding must be used for compatibility with the open source API. Clients may still implement timeouts at the connection level while ignoring this field.", + "type": "string" + }, + "timeout": { + "description": "An upper bound timeout for the query. Either a Prometheus duration string (https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations) or floating point seconds. This non-standard encoding must be used for compatibility with the open source API. Clients may still implement timeouts at the connection level while ignoring this field.", + "type": "string" + } + }, + "type": "object" + }, + "QuerySeriesRequest": { + "description": "QuerySeries holds all parameters of the Prometheus upstream API for querying series.", + "id": "QuerySeriesRequest", + "properties": { + "end": { + "description": "The end time to evaluate the query for. Either floating point UNIX seconds or RFC3339 formatted timestamp.", + "type": "string" + }, + "start": { + "description": "The start time to evaluate the query for. Either floating point UNIX seconds or RFC3339 formatted timestamp.", + "type": "string" + } + }, + "type": "object" + }, "RatioPart": { "description": "Describes a query to build the numerator or denominator of a TimeSeriesFilterRatio.", "id": "RatioPart", @@ -883,7 +1568,7 @@ "type": "object" }, "SpanContext": { - "description": "The context of a span, attached to Exemplars 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] ", + "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": { @@ -943,6 +1628,71 @@ }, "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" + }, + "TableDataSet": { + "description": "Groups a time series query definition with table options.", + "id": "TableDataSet", + "properties": { + "minAlignmentPeriod": { + "description": "Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the min_alignment_period should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.", + "format": "google-duration", + "type": "string" + }, + "tableDisplayOptions": { + "$ref": "TableDisplayOptions", + "description": "Optional. Table display options for configuring how the table is rendered." + }, + "tableTemplate": { + "description": "Optional. A template string for naming TimeSeries in the resulting data set. This should be a string with interpolations of the form ${label_name}, which will resolve to the label's value i.e. \"${resource.labels.project_id}.\"", + "type": "string" + }, + "timeSeriesQuery": { + "$ref": "TimeSeriesQuery", + "description": "Required. Fields for querying time series data from the Stackdriver metrics API." + } + }, + "type": "object" + }, + "TableDisplayOptions": { + "description": "Table display options that can be reused.", + "id": "TableDisplayOptions", + "properties": { + "shownColumns": { + "description": "Optional. Columns to display in the table. Leave empty to display all available columns. Note: This field is for future features and is not currently used.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Text": { "description": "A widget that displays textual content.", "id": "Text", @@ -1004,6 +1754,20 @@ "description": "A label for the threshold.", "type": "string" }, + "targetAxis": { + "description": "The target axis to use for plotting the threshold. Target axis is not allowed in a Scorecard.", + "enum": [ + "TARGET_AXIS_UNSPECIFIED", + "Y1", + "Y2" + ], + "enumDescriptions": [ + "The target axis was not specified. Defaults to Y1.", + "The y_axis (the right axis of chart).", + "The y2_axis (the left axis of chart)." + ], + "type": "string" + }, "value": { "description": "The value of the threshold. The value should be defined in the native scale of the metric.", "format": "double", @@ -1120,6 +1884,20 @@ }, "type": "object" }, + "TimeSeriesTable": { + "description": "A table that displays time series data.", + "id": "TimeSeriesTable", + "properties": { + "dataSets": { + "description": "Required. The data displayed in this table.", + "items": { + "$ref": "TableDataSet" + }, + "type": "array" + } + }, + "type": "object" + }, "Type": { "description": "A protocol buffer message type.", "id": "Type", @@ -1172,10 +1950,22 @@ "description": "Widget contains a single dashboard component and configuration of how to present the component in the dashboard.", "id": "Widget", "properties": { + "alertChart": { + "$ref": "AlertChart", + "description": "A chart of alert policy data." + }, "blank": { "$ref": "Empty", "description": "A blank space." }, + "collapsibleGroup": { + "$ref": "CollapsibleGroup", + "description": "A widget that groups the other widgets. All widgets that are within the area spanned by the grouping widget are considered member widgets." + }, + "logsPanel": { + "$ref": "LogsPanel", + "description": "A widget that shows a stream of logs." + }, "scorecard": { "$ref": "Scorecard", "description": "A scorecard summarizing time series data." @@ -1184,6 +1974,10 @@ "$ref": "Text", "description": "A raw string or markdown displaying textual content." }, + "timeSeriesTable": { + "$ref": "TimeSeriesTable", + "description": "A widget that displays time series data in a tabular format." + }, "title": { "description": "Optional. The title of the widget.", "type": "string" @@ -1226,6 +2020,10 @@ "$ref": "Axis", "description": "The properties applied to the X axis." }, + "y2Axis": { + "$ref": "Axis", + "description": "The properties applied to the Y2 axis." + }, "yAxis": { "$ref": "Axis", "description": "The properties applied to the Y axis." diff --git a/etc/api/monitoring/v3/monitoring-api.json b/etc/api/monitoring/v3/monitoring-api.json index bb87238c78..47a4eb9f14 100644 --- a/etc/api/monitoring/v3/monitoring-api.json +++ b/etc/api/monitoring/v3/monitoring-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." }, "https://www.googleapis.com/auth/monitoring": { "description": "View and write monitoring data for all of your Google and third-party Cloud and API projects" @@ -21,7 +21,7 @@ "baseUrl": "https://monitoring.googleapis.com/", "batchPath": "batch", "canonicalName": "Monitoring", - "description": "Manages your Cloud Monitoring data and configurations. Most projects must be associated with a Workspace, with a few exceptions as noted on the individual method pages. The table entries below are presented in alphabetical order, not in order of common use. For explanations of the concepts found in the table entries, read the Cloud Monitoring documentation.", + "description": "Manages your Cloud Monitoring data and configurations.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/monitoring/api/", "fullyEncodeReservedExpansion": true, @@ -119,7 +119,7 @@ "timeSeries": { "methods": { "list": { - "description": "Lists time series that match a filter. This method does not require a Workspace.", + "description": "Lists time series that match a filter.", "flatPath": "v3/folders/{foldersId}/timeSeries", "httpMethod": "GET", "id": "monitoring.folders.timeSeries.list", @@ -241,7 +241,7 @@ "type": "string" }, "name": { - "description": "Required. The project, organization or folder on which to execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] organizations/[ORGANIZATION_ID] folders/[FOLDER_ID] ", + "description": "Required. The project (https://cloud.google.com/monitoring/api/v3#project_name), organization or folder on which to execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] organizations/[ORGANIZATION_ID] folders/[FOLDER_ID] ", "location": "path", "pattern": "^folders/[^/]+$", "required": true, @@ -392,7 +392,7 @@ "timeSeries": { "methods": { "list": { - "description": "Lists time series that match a filter. This method does not require a Workspace.", + "description": "Lists time series that match a filter.", "flatPath": "v3/organizations/{organizationsId}/timeSeries", "httpMethod": "GET", "id": "monitoring.organizations.timeSeries.list", @@ -514,7 +514,7 @@ "type": "string" }, "name": { - "description": "Required. The project, organization or folder on which to execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] organizations/[ORGANIZATION_ID] folders/[FOLDER_ID] ", + "description": "Required. The project (https://cloud.google.com/monitoring/api/v3#project_name), organization or folder on which to execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] organizations/[ORGANIZATION_ID] folders/[FOLDER_ID] ", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -674,7 +674,7 @@ ], "parameters": { "name": { - "description": "Required. The project in which to create the alerting policy. The format is: projects/[PROJECT_ID_OR_NUMBER] Note that this field names the parent container in which the alerting policy will be written, not the name of the created policy. |name| must be a host project of a workspace, otherwise INVALID_ARGUMENT error will return. The alerting policy that is returned will have a name that contains a normalized representation of this name as a prefix but adds a suffix of the form /alertPolicies/[ALERT_POLICY_ID], identifying the policy in the container.", + "description": "Required. The project (https://cloud.google.com/monitoring/api/v3#project_name) in which to create the alerting policy. The format is: projects/[PROJECT_ID_OR_NUMBER] Note that this field names the parent container in which the alerting policy will be written, not the name of the created policy. |name| must be a host project of a workspace, otherwise INVALID_ARGUMENT error will return. The alerting policy that is returned will have a name that contains a normalized representation of this name as a prefix but adds a suffix of the form /alertPolicies/[ALERT_POLICY_ID], identifying the policy in the container.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -761,7 +761,7 @@ "type": "string" }, "name": { - "description": "Required. The project whose alert policies are to be listed. The format is: projects/[PROJECT_ID_OR_NUMBER] Note that this field names the parent container in which the alerting policies to be listed are stored. To retrieve a single alerting policy by name, use the GetAlertPolicy operation, instead.", + "description": "Required. The project (https://cloud.google.com/monitoring/api/v3#project_name) whose alert policies are to be listed. The format is: projects/[PROJECT_ID_OR_NUMBER] Note that this field names the parent container in which the alerting policies to be listed are stored. To retrieve a single alerting policy by name, use the GetAlertPolicy operation, instead.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -843,7 +843,7 @@ ], "parameters": { "name": { - "description": "The project in which to create the time series. The format is: projects/[PROJECT_ID_OR_NUMBER] ", + "description": "The project (https://cloud.google.com/monitoring/api/v3#project_name) in which to create the time series. The format is: projects/[PROJECT_ID_OR_NUMBER] ", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -877,7 +877,7 @@ ], "parameters": { "name": { - "description": "Required. The project in which to create the group. The format is: projects/[PROJECT_ID_OR_NUMBER] ", + "description": "Required. The project (https://cloud.google.com/monitoring/api/v3#project_name) in which to create the group. The format is: projects/[PROJECT_ID_OR_NUMBER] ", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -984,7 +984,7 @@ "type": "string" }, "name": { - "description": "Required. The project whose groups are to be listed. The format is: projects/[PROJECT_ID_OR_NUMBER] ", + "description": "Required. The project (https://cloud.google.com/monitoring/api/v3#project_name) whose groups are to be listed. The format is: projects/[PROJECT_ID_OR_NUMBER] ", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1112,7 +1112,7 @@ "metricDescriptors": { "methods": { "create": { - "description": "Creates a new metric descriptor. User-created metric descriptors define custom metrics (https://cloud.google.com/monitoring/custom-metrics).", + "description": "Creates a new metric descriptor. The creation is executed asynchronously and callers may check the returned operation to track its progress. User-created metric descriptors define custom metrics (https://cloud.google.com/monitoring/custom-metrics).", "flatPath": "v3/projects/{projectsId}/metricDescriptors", "httpMethod": "POST", "id": "monitoring.projects.metricDescriptors.create", @@ -1121,7 +1121,7 @@ ], "parameters": { "name": { - "description": "Required. The project on which to execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] ", + "description": "Required. The project (https://cloud.google.com/monitoring/api/v3#project_name) on which to execute the request. The format is: 4 projects/PROJECT_ID_OR_NUMBER", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1168,7 +1168,7 @@ ] }, "get": { - "description": "Gets a single metric descriptor. This method does not require a Workspace.", + "description": "Gets a single metric descriptor.", "flatPath": "v3/projects/{projectsId}/metricDescriptors/{metricDescriptorsId}", "httpMethod": "GET", "id": "monitoring.projects.metricDescriptors.get", @@ -1196,7 +1196,7 @@ ] }, "list": { - "description": "Lists metric descriptors that match a filter. This method does not require a Workspace.", + "description": "Lists metric descriptors that match a filter.", "flatPath": "v3/projects/{projectsId}/metricDescriptors", "httpMethod": "GET", "id": "monitoring.projects.metricDescriptors.list", @@ -1210,7 +1210,7 @@ "type": "string" }, "name": { - "description": "Required. The project on which to execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] ", + "description": "Required. The project (https://cloud.google.com/monitoring/api/v3#project_name) on which to execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] ", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1244,7 +1244,7 @@ "monitoredResourceDescriptors": { "methods": { "get": { - "description": "Gets a single monitored resource descriptor. This method does not require a Workspace.", + "description": "Gets a single monitored resource descriptor.", "flatPath": "v3/projects/{projectsId}/monitoredResourceDescriptors/{monitoredResourceDescriptorsId}", "httpMethod": "GET", "id": "monitoring.projects.monitoredResourceDescriptors.get", @@ -1272,7 +1272,7 @@ ] }, "list": { - "description": "Lists monitored resource descriptors that match a filter. This method does not require a Workspace.", + "description": "Lists monitored resource descriptors that match a filter.", "flatPath": "v3/projects/{projectsId}/monitoredResourceDescriptors", "httpMethod": "GET", "id": "monitoring.projects.monitoredResourceDescriptors.list", @@ -1286,7 +1286,7 @@ "type": "string" }, "name": { - "description": "Required. The project on which to execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] ", + "description": "Required. The project (https://cloud.google.com/monitoring/api/v3#project_name) on which to execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] ", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1356,7 +1356,7 @@ ], "parameters": { "name": { - "description": "Required. The REST resource name of the parent from which to retrieve the notification channel descriptors. The expected syntax is: projects/[PROJECT_ID_OR_NUMBER] Note that this names the parent container in which to look for the descriptors; to retrieve a single descriptor by name, use the GetNotificationChannelDescriptor operation, instead.", + "description": "Required. The REST resource name of the parent from which to retrieve the notification channel descriptors. The expected syntax is: projects/[PROJECT_ID_OR_NUMBER] Note that this names (https://cloud.google.com/monitoring/api/v3#project_name) the parent container in which to look for the descriptors; to retrieve a single descriptor by name, use the GetNotificationChannelDescriptor operation, instead.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1398,7 +1398,7 @@ ], "parameters": { "name": { - "description": "Required. The project on which to execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] This names the container into which the channel will be written, this does not name the newly created channel. The resulting channel's name will have a normalized version of this field as a prefix, but will add /notificationChannels/[CHANNEL_ID] to identify the channel.", + "description": "Required. The project (https://cloud.google.com/monitoring/api/v3#project_name) on which to execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] This names the container into which the channel will be written, this does not name the newly created channel. The resulting channel's name will have a normalized version of this field as a prefix, but will add /notificationChannels/[CHANNEL_ID] to identify the channel.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1519,7 +1519,7 @@ "type": "string" }, "name": { - "description": "Required. The project on which to execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] This names the container in which to look for the notification channels; it does not name a specific channel. To query a specific channel by REST resource name, use the GetNotificationChannel operation.", + "description": "Required. The project (https://cloud.google.com/monitoring/api/v3#project_name) on which to execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] This names the container in which to look for the notification channels; it does not name a specific channel. To query a specific channel by REST resource name, use the GetNotificationChannel operation.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1659,7 +1659,7 @@ ], "parameters": { "name": { - "description": "Required. The project on which to execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] ", + "description": "Required. The project (https://cloud.google.com/monitoring/api/v3#project_name) on which to execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] ", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1679,8 +1679,38 @@ "https://www.googleapis.com/auth/monitoring.write" ] }, + "createService": { + "description": "Creates or adds data to one or more service time series. A service time series is a time series for a metric from a Google Cloud service. The response is empty if all time series in the request were written. If any time series could not be written, a corresponding failure message is included in the error response. This endpoint rejects writes to user-defined metrics. This method is only for use by Google Cloud services. Use projects.timeSeries.create instead.", + "flatPath": "v3/projects/{projectsId}/timeSeries:createService", + "httpMethod": "POST", + "id": "monitoring.projects.timeSeries.createService", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The project (https://cloud.google.com/monitoring/api/v3#project_name) on which to execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] ", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/{+name}/timeSeries:createService", + "request": { + "$ref": "CreateTimeSeriesRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/monitoring.write" + ] + }, "list": { - "description": "Lists time series that match a filter. This method does not require a Workspace.", + "description": "Lists time series that match a filter.", "flatPath": "v3/projects/{projectsId}/timeSeries", "httpMethod": "GET", "id": "monitoring.projects.timeSeries.list", @@ -1802,7 +1832,7 @@ "type": "string" }, "name": { - "description": "Required. The project, organization or folder on which to execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] organizations/[ORGANIZATION_ID] folders/[FOLDER_ID] ", + "description": "Required. The project (https://cloud.google.com/monitoring/api/v3#project_name), organization or folder on which to execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] organizations/[ORGANIZATION_ID] folders/[FOLDER_ID] ", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1945,7 +1975,7 @@ ] }, "query": { - "description": "Queries time series using Monitoring Query Language. This method does not require a Workspace.", + "description": "Queries time series using Monitoring Query Language.", "flatPath": "v3/projects/{projectsId}/timeSeries:query", "httpMethod": "POST", "id": "monitoring.projects.timeSeries.query", @@ -1954,7 +1984,7 @@ ], "parameters": { "name": { - "description": "Required. The project on which to execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] ", + "description": "Required. The project (https://cloud.google.com/monitoring/api/v3#project_name) on which to execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] ", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1988,7 +2018,7 @@ ], "parameters": { "parent": { - "description": "Required. The project in which to create the Uptime check. The format is: projects/[PROJECT_ID_OR_NUMBER] ", + "description": "Required. The project (https://cloud.google.com/monitoring/api/v3#project_name) in which to create the Uptime check. The format is: projects/[PROJECT_ID_OR_NUMBER] ", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -2081,7 +2111,7 @@ "type": "string" }, "parent": { - "description": "Required. The project whose Uptime check configurations are listed. The format is: projects/[PROJECT_ID_OR_NUMBER] ", + "description": "Required. The project (https://cloud.google.com/monitoring/api/v3#project_name) whose Uptime check configurations are listed. The format is: projects/[PROJECT_ID_OR_NUMBER] ", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -2149,7 +2179,7 @@ ], "parameters": { "parent": { - "description": "Required. Resource name of the parent workspace. The format is: projects/[PROJECT_ID_OR_NUMBER] ", + "description": "Required. Resource name (https://cloud.google.com/monitoring/api/v3#project_name) of the parent workspace. The format is: projects/[PROJECT_ID_OR_NUMBER] ", "location": "path", "pattern": "^[^/]+/[^/]+$", "required": true, @@ -2252,7 +2282,7 @@ "type": "string" }, "parent": { - "description": "Required. Resource name of the parent containing the listed services, either a project or a Monitoring Workspace. The formats are: projects/[PROJECT_ID_OR_NUMBER] workspaces/[HOST_PROJECT_ID_OR_NUMBER] ", + "description": "Required. Resource name of the parent containing the listed services, either a project (https://cloud.google.com/monitoring/api/v3#project_name) or a Monitoring Workspace. The formats are: projects/[PROJECT_ID_OR_NUMBER] workspaces/[HOST_PROJECT_ID_OR_NUMBER] ", "location": "path", "pattern": "^[^/]+/[^/]+$", "required": true, @@ -2541,7 +2571,7 @@ } } }, - "revision": "20210322", + "revision": "20220218", "rootUrl": "https://monitoring.googleapis.com/", "schemas": { "Aggregation": { @@ -2649,6 +2679,10 @@ "description": "A description of the conditions under which some aspect of your system is considered to be \"unhealthy\" and the ways to notify people or services about this state. For an overview of alert policies, see Introduction to Alerting (https://cloud.google.com/monitoring/alerts/).", "id": "AlertPolicy", "properties": { + "alertStrategy": { + "$ref": "AlertStrategy", + "description": "Control over how this alert policy's notification channels are notified." + }, "combiner": { "description": "How to combine the results of multiple conditions to determine if an incident should be opened. If condition_time_series_query_language is present, this must be COMBINE_UNSPECIFIED.", "enum": [ @@ -2717,6 +2751,22 @@ }, "type": "object" }, + "AlertStrategy": { + "description": "Control over how the notification channels in notification_channels are notified when this alert fires.", + "id": "AlertStrategy", + "properties": { + "autoClose": { + "description": "If an alert policy that was active has no data for this long, any open incidents will close", + "format": "google-duration", + "type": "string" + }, + "notificationRateLimit": { + "$ref": "NotificationRateLimit", + "description": "Required for alert policies with a LogMatch condition.This limit is not implemented for alert policies that are not log-based." + } + }, + "type": "object" + }, "AppEngine": { "description": "App Engine service. Learn more at https://cloud.google.com/appengine.", "id": "AppEngine", @@ -2965,6 +3015,10 @@ "$ref": "MetricAbsence", "description": "A condition that checks that a time series continues to receive new data points." }, + "conditionMatchedLog": { + "$ref": "LogMatch", + "description": "A condition that checks for log messages matching given constraints. If set, no other conditions can be present." + }, "conditionMonitoringQueryLanguage": { "$ref": "MonitoringQueryLanguageCondition", "description": "A condition that uses the Monitoring Query Language to define alerts." @@ -2989,7 +3043,7 @@ "id": "ContentMatcher", "properties": { "content": { - "description": "String or regex content to match. Maximum 1024 bytes. An empty content string indicates no content matching is to be performed.", + "description": "String, regex or JSON content to match. Maximum 1024 bytes. An empty content string indicates no content matching is to be performed.", "type": "string" }, "matcher": { @@ -3005,8 +3059,8 @@ "No content matcher type specified (maintained for backward compatibility, but deprecated for future use). Treated as CONTAINS_STRING.", "Selects substring matching. The match succeeds if the output contains the content string. This is the default value for checks without a matcher option, or where the value of matcher is CONTENT_MATCHER_OPTION_UNSPECIFIED.", "Selects negation of substring matching. The match succeeds if the output does NOT contain the content string.", - "Selects regular-expression matching. The match succeeds of the output matches the regular expression specified in the content string.", - "Selects negation of regular-expression matching. The match succeeds if the output does NOT match the regular expression specified in the content string." + "Selects regular-expression matching. The match succeeds if the output matches the regular expression specified in the content string. Regex matching is only supported for HTTP/HTTPS checks.", + "Selects negation of regular-expression matching. The match succeeds if the output does NOT match the regular expression specified in the content string. Regex matching is only supported for HTTP/HTTPS checks." ], "type": "string" } @@ -3143,7 +3197,7 @@ "type": "object" }, "DistributionCut": { - "description": "A DistributionCut defines a TimeSeries and thresholds used for measuring good service and total service. The TimeSeries must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. The computed good_service will be the count of values x in the Distribution such that range.min <= x < range.max.", + "description": "A DistributionCut defines a TimeSeries and thresholds used for measuring good service and total service. The TimeSeries must have ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. The computed good_service will be the estimated count of values in the Distribution that fall within the specified min and max.", "id": "DistributionCut", "properties": { "distributionFilter": { @@ -3162,7 +3216,7 @@ "id": "Documentation", "properties": { "content": { - "description": "The text of the documentation, interpreted according to mime_type. The content may not exceed 8,192 Unicode characters and may not exceed more than 10,240 bytes when encoded in UTF-8 format, whichever is smaller.", + "description": "The text of the documentation, interpreted according to mime_type. The content may not exceed 8,192 Unicode characters and may not exceed more than 10,240 bytes when encoded in UTF-8 format, whichever is smaller. This text can be templatized by using variables (https://cloud.google.com/monitoring/alerts/doc-variables).", "type": "string" }, "mimeType": { @@ -3408,7 +3462,7 @@ "type": "object" }, "GoogleMonitoringV3Range": { - "description": "Range of numerical values, inclusive of min and exclusive of max. If the open range \"< range.max\" is desired, set range.min = -infinity. If the open range \">= range.min\" is desired, set range.max = infinity.", + "description": "Range of numerical values within min and max.", "id": "GoogleMonitoringV3Range", "properties": { "max": { @@ -3460,7 +3514,7 @@ "description": "The authentication information. Optional when creating an HTTP check; defaults to empty." }, "body": { - "description": "The request body associated with the HTTP POST request. If content_type is URL_ENCODED, the body passed in must be URL-encoded. Users can provide a Content-Length header via the headers field or the API will do so. If the request_method is GET and body is not empty, the API will return an error. The maximum byte size is 1 megabyte. Note: As with all bytes fields, JSON representations are base64 encoded. e.g.: \"foo=bar\" in URL-encoded form is \"foo%3Dbar\" and in base64 encoding is \"Zm9vJTI1M0RiYXI=\".", + "description": "The request body associated with the HTTP POST request. If content_type is URL_ENCODED, the body passed in must be URL-encoded. Users can provide a Content-Length header via the headers field or the API will do so. If the request_method is GET and body is not empty, the API will return an error. The maximum byte size is 1 megabyte.Note: If client libraries aren't used (which performs the conversion automatically) base64 encode your body data since the field is of bytes type.", "format": "byte", "type": "string" }, @@ -3911,6 +3965,24 @@ }, "type": "object" }, + "LogMatch": { + "description": "A condition type that checks whether a log message in the scoping project (https://cloud.google.com/monitoring/api/v3#project_name) satisfies the given filter. Logs from other projects in the metrics scope are not evaluated.", + "id": "LogMatch", + "properties": { + "filter": { + "description": "Required. A logs-based filter. See Advanced Logs Queries (https://cloud.google.com/logging/docs/view/advanced-queries) for how this filter should be constructed.", + "type": "string" + }, + "labelExtractors": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. A map from a label key to an extractor expression, which is used to extract the value for this label key. Each entry in this map is a specification for how data should be extracted from log entries that match filter. Each combination of extracted values is treated as a separate rule for the purposes of triggering notifications. Label keys and corresponding values can be used in notifications generated by this condition.Please see the documentation on logs-based metric valueExtractors (https://cloud.google.com/logging/docs/reference/v2/rest/v2/projects.metrics#LogMetric.FIELDS.value_extractor) for syntax and examples.", + "type": "object" + } + }, + "type": "object" + }, "MeshIstio": { "description": "Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8 will have their services ingested as this type.", "id": "MeshIstio", @@ -3953,7 +4025,7 @@ "id": "MetricAbsence", "properties": { "aggregations": { - "description": "Specifies the alignment of data points in individual time series as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resrouces). Multiple aggregations are applied in the order specified.This field is similar to the one in the ListTimeSeries request (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list). It is advisable to use the ListTimeSeries method when debugging this field.", + "description": "Specifies the alignment of data points in individual time series as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources). Multiple aggregations are applied in the order specified.This field is similar to the one in the ListTimeSeries request (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list). It is advisable to use the ListTimeSeries method when debugging this field.", "items": { "$ref": "Aggregation" }, @@ -4011,10 +4083,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -4108,10 +4180,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -4124,7 +4196,7 @@ "type": "object" }, "MetricRange": { - "description": "A MetricRange is used when each window is good when the value x of a single TimeSeries satisfies range.min <= x < range.max. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE.", + "description": "A MetricRange is used when each window is good when the value x of a single TimeSeries satisfies range.min <= x <= range.max. The provided TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE.", "id": "MetricRange", "properties": { "range": { @@ -4143,7 +4215,7 @@ "id": "MetricThreshold", "properties": { "aggregations": { - "description": "Specifies the alignment of data points in individual time series as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resrouces). Multiple aggregations are applied in the order specified.This field is similar to the one in the ListTimeSeries request (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list). It is advisable to use the ListTimeSeries method when debugging this field.", + "description": "Specifies the alignment of data points in individual time series as well as how to combine the retrieved time series together (such as when aggregating multiple streams on each resource to a single stream for each resource or when aggregating streams across all members of a group of resources). Multiple aggregations are applied in the order specified.This field is similar to the one in the ListTimeSeries request (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list). It is advisable to use the ListTimeSeries method when debugging this field.", "items": { "$ref": "Aggregation" }, @@ -4187,6 +4259,22 @@ "format": "google-duration", "type": "string" }, + "evaluationMissingData": { + "description": "A condition control that determines how metric-threshold conditions are evaluated when data stops arriving.", + "enum": [ + "EVALUATION_MISSING_DATA_UNSPECIFIED", + "EVALUATION_MISSING_DATA_INACTIVE", + "EVALUATION_MISSING_DATA_ACTIVE", + "EVALUATION_MISSING_DATA_NO_OP" + ], + "enumDescriptions": [ + "An unspecified evaluation missing data option. Equivalent to EVALUATION_MISSING_DATA_NO_OP.", + "If there is no data to evaluate the condition, then evaluate the condition as false.", + "If there is no data to evaluate the condition, then evaluate the condition as true. The default for conditions with a duration value.", + "Do not evaluate the condition to any value if there is no data." + ], + "type": "string" + }, "filter": { "description": "Required. A filter (https://cloud.google.com/monitoring/api/v3/filters) that identifies which time series should be compared with the threshold.The filter is similar to the one that is specified in the ListTimeSeries request (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) (that call is useful to verify the time series that will be retrieved / processed). The filter must specify the metric type and the resource type. Optionally, it can specify resource labels and metric labels. This field must not exceed 2048 Unicode characters in length.", "type": "string" @@ -4204,7 +4292,7 @@ "type": "object" }, "MonitoredResource": { - "description": "An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The type field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the labels field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for \"gce_instance\" has labels \"instance_id\" and \"zone\": { \"type\": \"gce_instance\", \"labels\": { \"instance_id\": \"12345678901234\", \"zone\": \"us-central1-a\" }} ", + "description": "An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The type field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the labels field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for \"gce_instance\" has labels \"project_id\", \"instance_id\" and \"zone\": { \"type\": \"gce_instance\", \"labels\": { \"project_id\": \"my-project\", \"instance_id\": \"12345678901234\", \"zone\": \"us-central1-a\" }} ", "id": "MonitoredResource", "properties": { "labels": { @@ -4215,7 +4303,7 @@ "type": "object" }, "type": { - "description": "Required. The monitored resource type. This field must match the type field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is gce_instance. For a list of types, see Monitoring resource types and Logging resource types.", + "description": "Required. The monitored resource type. This field must match the type field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is gce_instance. For a list of types, see Monitoring 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" } }, @@ -4257,10 +4345,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -4269,7 +4357,7 @@ "type": "string" }, "type": { - "description": "Required. The monitored resource type. For example, the type \"cloudsql_database\" represents databases in Google Cloud SQL.", + "description": "Required. The monitored resource type. For example, the type \"cloudsql_database\" represents databases in Google Cloud SQL. For a list of types, see Monitoring 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" } }, @@ -4306,6 +4394,22 @@ "format": "google-duration", "type": "string" }, + "evaluationMissingData": { + "description": "A condition control that determines how metric-threshold conditions are evaluated when data stops arriving.", + "enum": [ + "EVALUATION_MISSING_DATA_UNSPECIFIED", + "EVALUATION_MISSING_DATA_INACTIVE", + "EVALUATION_MISSING_DATA_ACTIVE", + "EVALUATION_MISSING_DATA_NO_OP" + ], + "enumDescriptions": [ + "An unspecified evaluation missing data option. Equivalent to EVALUATION_MISSING_DATA_NO_OP.", + "If there is no data to evaluate the condition, then evaluate the condition as false.", + "If there is no data to evaluate the condition, then evaluate the condition as true. The default for conditions with a duration value.", + "Do not evaluate the condition to any value if there is no data." + ], + "type": "string" + }, "query": { "description": "Monitoring Query Language (https://cloud.google.com/monitoring/mql) query that outputs a boolean stream.", "type": "string" @@ -4435,10 +4539,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -4446,6 +4550,23 @@ "description": "The full REST resource name for this descriptor. The format is: projects/[PROJECT_ID_OR_NUMBER]/notificationChannelDescriptors/[TYPE] In the above, [TYPE] is the value of the type field.", "type": "string" }, + "supportedTiers": { + "description": "The tiers that support this notification channel; the project service tier must be one of the supported_tiers.", + "items": { + "enum": [ + "SERVICE_TIER_UNSPECIFIED", + "SERVICE_TIER_BASIC", + "SERVICE_TIER_PREMIUM" + ], + "enumDescriptions": [ + "An invalid sentinel value, used to indicate that a tier has not been provided explicitly.", + "The Stackdriver Basic tier, a free tier of service that provides basic features, a moderate allotment of logs, and access to built-in metrics. A number of features are not available in this tier. For more details, see the service tiers documentation (https://cloud.google.com/monitoring/workspaces/tiers).", + "The Stackdriver Premium tier, a higher, more expensive tier of service that provides access to all Stackdriver features, lets you use Stackdriver with AWS accounts, and has a larger allotments for logs and metrics. For more details, see the service tiers documentation (https://cloud.google.com/monitoring/workspaces/tiers)." + ], + "type": "string" + }, + "type": "array" + }, "type": { "description": "The type of notification channel, such as \"email\" and \"sms\". To view the full list of channels, see Channel descriptors (https://cloud.google.com/monitoring/alerts/using-channels-api#ncd). Notification channel types are globally unique.", "type": "string" @@ -4453,6 +4574,53 @@ }, "type": "object" }, + "NotificationRateLimit": { + "description": "Control over the rate of notifications sent to this alert policy's notification channels.", + "id": "NotificationRateLimit", + "properties": { + "period": { + "description": "Not more than one notification per period.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Contains metadata for longrunning operation for the edit Metrics Scope endpoints.", + "id": "OperationMetadata", + "properties": { + "createTime": { + "description": "The time when the batch request was received.", + "format": "google-datetime", + "type": "string" + }, + "state": { + "description": "Current state of the batch operation.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATED", + "RUNNING", + "DONE", + "CANCELLED" + ], + "enumDescriptions": [ + "Invalid.", + "Request has been received.", + "Request is actively being processed.", + "The batch processing is done.", + "The batch processing was cancelled." + ], + "type": "string" + }, + "updateTime": { + "description": "The time when the operation result was last updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "Option": { "description": "A protocol buffer option, which can be attached to a message, field, enumeration, etc.", "id": "Option", @@ -4676,6 +4844,13 @@ "telemetry": { "$ref": "Telemetry", "description": "Configuration for how to query telemetry on a Service." + }, + "userLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels which have been used to annotate the service. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value.", + "type": "object" } }, "type": "object" @@ -4748,6 +4923,13 @@ "serviceLevelIndicator": { "$ref": "ServiceLevelIndicator", "description": "The definition of good service, used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality." + }, + "userLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels which have been used to annotate the service-level objective. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value.", + "type": "object" } }, "type": "object" @@ -4764,7 +4946,7 @@ "type": "object" }, "SpanContext": { - "description": "The context of a span, attached to Exemplars 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] ", + "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": { @@ -4825,7 +5007,7 @@ "type": "object" }, "TimeInterval": { - "description": "A closed time interval. It extends from the start time to the end time, and includes both: [startTime, endTime]. Valid time intervals depend on the MetricKind of the metric value. The end time must not be earlier than the start time. When writing data points, the start time must not be more than 25 hours in the past and the end time must not be more than five minutes in the future. For GAUGE metrics, the startTime value is technically optional; if no value is specified, the start time defaults to the value of the end time, and the interval represents a single point in time. If both start and end times are specified, they must be identical. Such an interval is valid only for GAUGE metrics, which are point-in-time measurements. The end time of a new interval must be at least a millisecond after the end time of the previous interval. For DELTA metrics, the start time and end time must specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For DELTA metrics, the start time of the next interval must be at least a millisecond after the end time of the previous interval. For CUMULATIVE metrics, the start time and end time must specify a a non-zero interval, with subsequent points specifying the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points. The new start time must be at least a millisecond after the end time of the previous interval. The start time of a new interval must be at least a millisecond after the end time of the previous interval because intervals are closed. If the start time of a new interval is the same as the end time of the previous interval, then data written at the new start time could overwrite data written at the previous end time.", + "description": "Describes a time interval: Reads: A half-open time interval. It includes the end time but excludes the start time: (startTime, endTime]. The start time must be specified, must be earlier than the end time, and should be no older than the data retention period for the metric. Writes: A closed time interval. It extends from the start time to the end time, and includes both: [startTime, endTime]. Valid time intervals depend on the MetricKind (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors#MetricKind) of the metric value. The end time must not be earlier than the start time, and the end time must not be more than 25 hours in the past or more than five minutes in the future. For GAUGE metrics, the startTime value is technically optional; if no value is specified, the start time defaults to the value of the end time, and the interval represents a single point in time. If both start and end times are specified, they must be identical. Such an interval is valid only for GAUGE metrics, which are point-in-time measurements. The end time of a new interval must be at least a millisecond after the end time of the previous interval. For DELTA metrics, the start time and end time must specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For DELTA metrics, the start time of the next interval must be at least a millisecond after the end time of the previous interval. For CUMULATIVE metrics, the start time and end time must specify a non-zero interval, with subsequent points specifying the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points. The new start time must be at least a millisecond after the end time of the previous interval. The start time of a new interval must be at least a millisecond after the end time of the previous interval because intervals are closed. If the start time of a new interval is the same as the end time of the previous interval, then data written at the new start time could overwrite data written at the previous end time.", "id": "TimeInterval", "properties": { "endTime": { @@ -4878,7 +5060,7 @@ }, "resource": { "$ref": "MonitoredResource", - "description": "The associated monitored resource. Custom metrics can use only certain monitored resource types in their time series data." + "description": "The associated monitored resource. Custom metrics can use only certain monitored resource types in their time series data. For more information, see Monitored resources for custom metrics (https://cloud.google.com/monitoring/custom-metrics/creating-metrics#custom-metric-resources)." }, "unit": { "description": "The units in which the metric value is reported. It is only applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The unit defines the representation of the stored metric values.", @@ -5068,6 +5250,20 @@ "description": "This message configures which resources and services to monitor for availability.", "id": "UptimeCheckConfig", "properties": { + "checkerType": { + "description": "The type of checkers to use to execute the Uptime check.", + "enum": [ + "CHECKER_TYPE_UNSPECIFIED", + "STATIC_IP_CHECKERS", + "VPC_CHECKERS" + ], + "enumDescriptions": [ + "The default checker type. Currently converted to STATIC_IP_CHECKERS on creation, the default conversion behavior may change in the future.", + "STATIC_IP_CHECKERS are used for uptime checks that perform egress across the public internet. STATIC_IP_CHECKERS use the static IP addresses returned by ListUptimeCheckIps.", + "VPC_CHECKERS are used for uptime checks that perform egress using Service Directory and private network access. When using VPC_CHECKERS, the monitored resource type must be servicedirectory_service." + ], + "type": "string" + }, "contentMatchers": { "description": "The content that is expected to appear in the data returned by the target server against which the check is run. Currently, only the first entry in the content_matchers list is supported, and additional entries will be ignored. This field is optional and should only be specified if a content match is required as part of the/ Uptime check.", "items": { @@ -5096,7 +5292,7 @@ }, "monitoredResource": { "$ref": "MonitoredResource", - "description": "The monitored resource (https://cloud.google.com/monitoring/api/resources) associated with the configuration. The following monitored resource types are valid for this field: uptime_url, gce_instance, gae_app, aws_ec2_instance, aws_elb_load_balancer" + "description": "The monitored resource (https://cloud.google.com/monitoring/api/resources) associated with the configuration. The following monitored resource types are valid for this field: uptime_url, gce_instance, gae_app, aws_ec2_instance, aws_elb_load_balancer k8s_service servicedirectory_service" }, "name": { "description": "A unique resource name for this Uptime check configuration. The format is: projects/[PROJECT_ID_OR_NUMBER]/uptimeCheckConfigs/[UPTIME_CHECK_ID] [PROJECT_ID_OR_NUMBER] is the Workspace host project associated with the Uptime check.This field should be omitted when creating the Uptime check configuration; on create, the resource name is assigned by the server and included in the response.", diff --git a/etc/api/mybusinessaccountmanagement/v1/mybusinessaccountmanagement-api.json b/etc/api/mybusinessaccountmanagement/v1/mybusinessaccountmanagement-api.json index a0733ce1c9..369080e666 100644 --- a/etc/api/mybusinessaccountmanagement/v1/mybusinessaccountmanagement-api.json +++ b/etc/api/mybusinessaccountmanagement/v1/mybusinessaccountmanagement-api.json @@ -396,22 +396,24 @@ }, "locations": { "methods": { - "transferLocation": { + "transfer": { "description": "Moves a location from an account that the user owns to another account that the same user administers. The user must be an owner of the account the location is currently associated with and must also be at least a manager of the destination account.", - "flatPath": "v1/locations/{locationsId}:transferLocation", + "flatPath": "v1/locations/{locationsId}:transfer", "httpMethod": "POST", - "id": "mybusinessaccountmanagement.locations.transferLocation", + "id": "mybusinessaccountmanagement.locations.transfer", "parameterOrder": [ - "locationsId" + "name" ], "parameters": { - "locationsId": { + "name": { + "description": "Required. The name of the location to transfer. `locations/{location_id}`.", "location": "path", + "pattern": "^locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v1/locations/{locationsId}:transferLocation", + "path": "v1/{+name}:transfer", "request": { "$ref": "TransferLocationRequest" }, @@ -528,7 +530,7 @@ } } }, - "revision": "20210330", + "revision": "20220305", "rootUrl": "https://mybusinessaccountmanagement.googleapis.com/", "schemas": { "AcceptInvitationRequest": { @@ -876,7 +878,7 @@ "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 http://cldr.unicode.org/ and http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: \"CH\" for Switzerland.", + "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": { @@ -917,10 +919,6 @@ "destinationAccount": { "description": "Required. Name of the account resource to transfer the location to (for example, \"accounts/{account}\").", "type": "string" - }, - "name": { - "description": "Required. The name of the location to transfer. `locations/{location_id}`.", - "type": "string" } }, "type": "object" diff --git a/etc/api/mybusinessbusinesscalls/v1/mybusinessbusinesscalls-api.json b/etc/api/mybusinessbusinesscalls/v1/mybusinessbusinesscalls-api.json new file mode 100644 index 0000000000..5733d3fc6c --- /dev/null +++ b/etc/api/mybusinessbusinesscalls/v1/mybusinessbusinesscalls-api.json @@ -0,0 +1,398 @@ +{ + "basePath": "", + "baseUrl": "https://mybusinessbusinesscalls.googleapis.com/", + "batchPath": "batch", + "canonicalName": "My Business Business Calls", + "description": "The My Business Business Calls API manages business calls information of a location on Google.", + "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": "mybusinessbusinesscalls:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://mybusinessbusinesscalls.mtls.googleapis.com/", + "name": "mybusinessbusinesscalls", + "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": { + "getBusinesscallssettings": { + "description": "Returns the Business calls settings resource for the given location.", + "flatPath": "v1/locations/{locationsId}/businesscallssettings", + "httpMethod": "GET", + "id": "mybusinessbusinesscalls.locations.getBusinesscallssettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The BusinessCallsSettings to get. The `name` field is used to identify the business call settings to get. Format: locations/{location_id}/businesscallssettings.", + "location": "path", + "pattern": "^locations/[^/]+/businesscallssettings$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "BusinessCallsSettings" + } + }, + "updateBusinesscallssettings": { + "description": "Updates the Business call settings for the specified location.", + "flatPath": "v1/locations/{locationsId}/businesscallssettings", + "httpMethod": "PATCH", + "id": "mybusinessbusinesscalls.locations.updateBusinesscallssettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the calls settings. Format: locations/{location}/businesscallssettings", + "location": "path", + "pattern": "^locations/[^/]+/businesscallssettings$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "BusinessCallsSettings" + }, + "response": { + "$ref": "BusinessCallsSettings" + } + } + }, + "resources": { + "businesscallsinsights": { + "methods": { + "list": { + "description": "Returns insights for Business calls for a location.", + "flatPath": "v1/locations/{locationsId}/businesscallsinsights", + "httpMethod": "GET", + "id": "mybusinessbusinesscalls.locations.businesscallsinsights.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter constraining the calls insights to return. The response includes only entries that match the filter. If the MetricType is not provided, AGGREGATE_COUNT is returned. If no end_date is provided, the last date for which data is available is used. If no start_date is provided, we will default to the first date for which data is available, which is currently 6 months. If start_date is before the date when data is available, data is returned starting from the date when it is available. At this time we support following filters. 1. start_date=\"DATE\" where date is in YYYY-MM-DD format. 2. end_date=\"DATE\" where date is in YYYY-MM-DD format. 3. metric_type=XYZ where XYZ is a valid MetricType. 4. Conjunctions(AND) of all of the above. e.g., \"start_date=2021-08-01 AND end_date=2021-08-10 AND metric_type=AGGREGATE_COUNT\" The AGGREGATE_COUNT metric_type ignores the DD part of the date.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of BusinessCallsInsights to return. If unspecified, at most 20 will be returned. Some of the metric_types(e.g, AGGREGATE_COUNT) returns a single page. For these metrics, the page_size is ignored.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListBusinessCallsInsights` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBusinessCallsInsights` must match the call that provided the page token. Some of the metric_types (e.g, AGGREGATE_COUNT) returns a single page. For these metrics, the pake_token is ignored.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent location to fetch calls insights for. Format: locations/{location_id}", + "location": "path", + "pattern": "^locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/businesscallsinsights", + "response": { + "$ref": "ListBusinessCallsInsightsResponse" + } + } + } + } + } + } + }, + "revision": "20220305", + "rootUrl": "https://mybusinessbusinesscalls.googleapis.com/", + "schemas": { + "AggregateMetrics": { + "description": "Metrics aggregated over the input time range.", + "id": "AggregateMetrics", + "properties": { + "answeredCallsCount": { + "description": "Total count of answered calls.", + "format": "int32", + "type": "integer" + }, + "endDate": { + "$ref": "Date", + "description": "End date for this metric." + }, + "hourlyMetrics": { + "description": "A list of metrics by hour of day.", + "items": { + "$ref": "HourlyMetrics" + }, + "type": "array" + }, + "missedCallsCount": { + "description": "Total count of missed calls.", + "format": "int32", + "type": "integer" + }, + "startDate": { + "$ref": "Date", + "description": "Date for this metric. If metric is monthly, only year and month are used." + }, + "weekdayMetrics": { + "description": "A list of metrics by day of week.", + "items": { + "$ref": "WeekDayMetrics" + }, + "type": "array" + } + }, + "type": "object" + }, + "BusinessCallsInsights": { + "description": "Insights for calls made to a location.", + "id": "BusinessCallsInsights", + "properties": { + "aggregateMetrics": { + "$ref": "AggregateMetrics", + "description": "Metric for the time range based on start_date and end_date." + }, + "metricType": { + "description": "The metric for which the value applies.", + "enum": [ + "METRIC_TYPE_UNSPECIFIED", + "AGGREGATE_COUNT" + ], + "enumDescriptions": [ + "Type of metric is unspecified.", + "The metrics provided are counts aggregated over the input time_range." + ], + "type": "string" + }, + "name": { + "description": "Required. The resource name of the calls insights. Format: locations/{location}/businesscallsinsights", + "type": "string" + } + }, + "type": "object" + }, + "BusinessCallsSettings": { + "description": "Business calls settings for a location.", + "id": "BusinessCallsSettings", + "properties": { + "callsState": { + "description": "Required. The state of this location's enrollment in Business calls.", + "enum": [ + "CALLS_STATE_UNSPECIFIED", + "ENABLED", + "DISABLED" + ], + "enumDescriptions": [ + "Unspecified.", + "Business calls is enabled for the location.", + "Business calls is disabled for the location." + ], + "type": "string" + }, + "consentTime": { + "description": "Input only. Time when the end user provided consent to the API user to enable business calls.", + "format": "google-datetime", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the calls settings. Format: locations/{location}/businesscallssettings", + "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" + }, + "HourlyMetrics": { + "description": "Metrics for an hour.", + "id": "HourlyMetrics", + "properties": { + "hour": { + "description": "Hour of the day. Allowed values are 0-23.", + "format": "int32", + "type": "integer" + }, + "missedCallsCount": { + "description": "Total count of missed calls for this hour.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ListBusinessCallsInsightsResponse": { + "description": "Response message for ListBusinessCallsInsights.", + "id": "ListBusinessCallsInsightsResponse", + "properties": { + "businessCallsInsights": { + "description": "A collection of business calls insights for the location.", + "items": { + "$ref": "BusinessCallsInsights" + }, + "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. Some of the metric_types (e.g, AGGREGATE_COUNT) returns a single page. For these metrics, the next_page_token will be empty.", + "type": "string" + } + }, + "type": "object" + }, + "WeekDayMetrics": { + "description": "Metrics for a week day.", + "id": "WeekDayMetrics", + "properties": { + "day": { + "description": "Day of the week. Allowed values are Sunday - Saturday.", + "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" + }, + "missedCallsCount": { + "description": "Total count of missed calls for this hour.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "My Business Business Calls API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/mybusinessbusinessinformation/v1/mybusinessbusinessinformation-api.json b/etc/api/mybusinessbusinessinformation/v1/mybusinessbusinessinformation-api.json new file mode 100644 index 0000000000..1943427cf1 --- /dev/null +++ b/etc/api/mybusinessbusinessinformation/v1/mybusinessbusinessinformation-api.json @@ -0,0 +1,1867 @@ +{ + "basePath": "", + "baseUrl": "https://mybusinessbusinessinformation.googleapis.com/", + "batchPath": "batch", + "canonicalName": "My Business Business Information", + "description": "The My Business Business Information API provides an interface for managing business information on Google.", + "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": "mybusinessbusinessinformation:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://mybusinessbusinessinformation.mtls.googleapis.com/", + "name": "mybusinessbusinessinformation", + "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": { + "locations": { + "methods": { + "create": { + "description": "Creates a new Location that will be owned by the logged in user.", + "flatPath": "v1/accounts/{accountsId}/locations", + "httpMethod": "POST", + "id": "mybusinessbusinessinformation.accounts.locations.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the account in which to create this location.", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A unique request ID for the server to detect duplicated requests. We recommend using UUIDs. Max length is 50 characters.", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If true, the request is validated without actually creating the location.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+parent}/locations", + "request": { + "$ref": "Location" + }, + "response": { + "$ref": "Location" + } + }, + "list": { + "description": "Lists the locations for the specified account.", + "flatPath": "v1/accounts/{accountsId}/locations", + "httpMethod": "GET", + "id": "mybusinessbusinessinformation.accounts.locations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter constraining the locations to return. The response includes only entries that match the filter. If `filter` is empty, then constraints are applied and all locations (paginated) are retrieved for the requested account. For more information about valid fields and example usage, see [Work with Location Data Guide](https://developers.google.com/my-business/content/location-data#filter_results_when_you_list_locations).", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Sorting order for the request. Multiple fields should be comma-separated, following SQL syntax. The default sorting order is ascending. To specify descending order, a suffix \" desc\" should be added. Valid fields to order_by are title and store_code. For example: \"title, store_code desc\" or \"title\" or \"store_code desc\"", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. How many locations to fetch per page. Default value is 10 if not set. Minimum is 1, and maximum page size is 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. If specified, it fetches the next `page` of locations. The page token is returned by previous calls to `ListLocations` when there were more locations than could fit in the requested page size.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the account to fetch locations from. If the parent Account is of AccountType PERSONAL, only Locations that are directly owned by the Account are returned, otherwise it will return all accessible locations from the Account, either directly or indirectly.", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + }, + "readMask": { + "description": "Required. Read mask to specify what fields will be returned in the response.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/locations", + "response": { + "$ref": "ListLocationsResponse" + } + } + } + } + } + }, + "attributes": { + "methods": { + "list": { + "description": "Returns the list of attributes that would be available for a location with the given primary category and country.", + "flatPath": "v1/attributes", + "httpMethod": "GET", + "id": "mybusinessbusinessinformation.attributes.list", + "parameterOrder": [], + "parameters": { + "categoryName": { + "description": "The primary category stable ID to find available attributes. Must be of the format categories/{category_id}.", + "location": "query", + "type": "string" + }, + "languageCode": { + "description": "The BCP 47 code of language to get attribute display names in. If this language is not available, they will be provided in English.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "How many attributes to include per page. Default is 200, minimum is 1.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "If specified, the next page of attribute metadata is retrieved.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Resource name of the location to look up available attributes. If this field is set, category_name, region_code, language_code and show_all are not required and must not be set.", + "location": "query", + "type": "string" + }, + "regionCode": { + "description": "The ISO 3166-1 alpha-2 country code to find available attributes.", + "location": "query", + "type": "string" + }, + "showAll": { + "description": "Metadata for all available attributes are returned when this field is set to true, disregarding parent and category_name fields. language_code and region_code are required when show_all is set to true.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/attributes", + "response": { + "$ref": "ListAttributeMetadataResponse" + } + } + } + }, + "categories": { + "methods": { + "batchGet": { + "description": "Returns a list of business categories for the provided language and GConcept ids.", + "flatPath": "v1/categories:batchGet", + "httpMethod": "GET", + "id": "mybusinessbusinessinformation.categories.batchGet", + "parameterOrder": [], + "parameters": { + "languageCode": { + "description": "Required. The BCP 47 code of language that the category names should be returned in.", + "location": "query", + "type": "string" + }, + "names": { + "description": "Required. At least one name must be set. The GConcept ids the localized category names should be returned for. To return details for more than one category, repeat this parameter in the request.", + "location": "query", + "repeated": true, + "type": "string" + }, + "regionCode": { + "description": "Optional. The ISO 3166-1 alpha-2 country code used to infer non-standard language.", + "location": "query", + "type": "string" + }, + "view": { + "description": "Required. Specifies which parts to the Category resource should be returned in the response.", + "enum": [ + "CATEGORY_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "Not specified, equivalent to CATEGORY_METADATA_ONLY.", + "The server response will only include Category fields display_name, category_id and language_code. It omits any service type metadata related fields.", + "Returns all the fields in the response." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/categories:batchGet", + "response": { + "$ref": "BatchGetCategoriesResponse" + } + }, + "list": { + "description": "Returns a list of business categories. Search will match the category name but not the category ID. Search only matches the front of a category name (that is, 'food' may return 'Food Court' but not 'Fast Food Restaurant').", + "flatPath": "v1/categories", + "httpMethod": "GET", + "id": "mybusinessbusinessinformation.categories.list", + "parameterOrder": [], + "parameters": { + "filter": { + "description": "Optional. Filter string from user. The only field that supported is `displayName`. Eg: `filter=displayName=foo`.", + "location": "query", + "type": "string" + }, + "languageCode": { + "description": "Required. The BCP 47 code of language.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. How many categories to fetch per page. Default is 100, minimum is 1, and maximum page size is 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. If specified, the next page of categories will be fetched.", + "location": "query", + "type": "string" + }, + "regionCode": { + "description": "Required. The ISO 3166-1 alpha-2 country code.", + "location": "query", + "type": "string" + }, + "view": { + "description": "Required. Specifies which parts to the Category resource should be returned in the response.", + "enum": [ + "CATEGORY_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "Not specified, equivalent to CATEGORY_METADATA_ONLY.", + "The server response will only include Category fields display_name, category_id and language_code. It omits any service type metadata related fields.", + "Returns all the fields in the response." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/categories", + "response": { + "$ref": "ListCategoriesResponse" + } + } + } + }, + "chains": { + "methods": { + "get": { + "description": "Gets the specified chain. Returns `NOT_FOUND` if the chain does not exist.", + "flatPath": "v1/chains/{chainsId}", + "httpMethod": "GET", + "id": "mybusinessbusinessinformation.chains.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The chain's resource name, in the format `chains/{chain_place_id}`.", + "location": "path", + "pattern": "^chains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Chain" + } + }, + "search": { + "description": "Searches the chain based on chain name.", + "flatPath": "v1/chains:search", + "httpMethod": "GET", + "id": "mybusinessbusinessinformation.chains.search", + "parameterOrder": [], + "parameters": { + "chainName": { + "description": "Required. Search for a chain by its name. Exact/partial/fuzzy/related queries are supported. Examples: \"walmart\", \"wal-mart\", \"walmmmart\", \"\u6c83\u5c14\u739b\"", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of matched chains to return from this query. The default is 10. The maximum possible value is 500.", + "format": "int32", + "location": "query", + "type": "integer" + } + }, + "path": "v1/chains:search", + "response": { + "$ref": "SearchChainsResponse" + } + } + } + }, + "googleLocations": { + "methods": { + "search": { + "description": "Search all of the possible locations that are a match to the specified request.", + "flatPath": "v1/googleLocations:search", + "httpMethod": "POST", + "id": "mybusinessbusinessinformation.googleLocations.search", + "parameterOrder": [], + "parameters": {}, + "path": "v1/googleLocations:search", + "request": { + "$ref": "SearchGoogleLocationsRequest" + }, + "response": { + "$ref": "SearchGoogleLocationsResponse" + } + } + } + }, + "locations": { + "methods": { + "associate": { + "description": "Associates a location to a place ID. Any previous association is overwritten. This operation is only valid if the location is unverified. The association must be valid, that is, it appears in the list of `SearchGoogleLocations`.", + "flatPath": "v1/locations/{locationsId}:associate", + "httpMethod": "POST", + "id": "mybusinessbusinessinformation.locations.associate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the location to associate.", + "location": "path", + "pattern": "^locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:associate", + "request": { + "$ref": "AssociateLocationRequest" + }, + "response": { + "$ref": "Empty" + } + }, + "clearLocationAssociation": { + "description": "Clears an association between a location and its place ID. This operation is only valid if the location is unverified.", + "flatPath": "v1/locations/{locationsId}:clearLocationAssociation", + "httpMethod": "POST", + "id": "mybusinessbusinessinformation.locations.clearLocationAssociation", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the location to disassociate.", + "location": "path", + "pattern": "^locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:clearLocationAssociation", + "request": { + "$ref": "ClearLocationAssociationRequest" + }, + "response": { + "$ref": "Empty" + } + }, + "delete": { + "description": "Deletes a location. If this location cannot be deleted using the API and it is marked so in the `google.mybusiness.businessinformation.v1.LocationState`, use the [Google Business Profile](https://business.google.com/manage/) website.", + "flatPath": "v1/locations/{locationsId}", + "httpMethod": "DELETE", + "id": "mybusinessbusinessinformation.locations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the location to delete.", + "location": "path", + "pattern": "^locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + } + }, + "get": { + "description": "Returns the specified location.", + "flatPath": "v1/locations/{locationsId}", + "httpMethod": "GET", + "id": "mybusinessbusinessinformation.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the location to fetch.", + "location": "path", + "pattern": "^locations/[^/]+$", + "required": true, + "type": "string" + }, + "readMask": { + "description": "Required. Read mask to specify what fields will be returned in the response.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Location" + } + }, + "getAttributes": { + "description": "Looks up all the attributes set for a given location.", + "flatPath": "v1/locations/{locationsId}/attributes", + "httpMethod": "GET", + "id": "mybusinessbusinessinformation.locations.getAttributes", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Google identifier for this location in the form of `locations/{location_id}/attributes`.", + "location": "path", + "pattern": "^locations/[^/]+/attributes$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Attributes" + } + }, + "getGoogleUpdated": { + "description": "Gets the Google-updated version of the specified location.", + "flatPath": "v1/locations/{locationsId}:getGoogleUpdated", + "httpMethod": "GET", + "id": "mybusinessbusinessinformation.locations.getGoogleUpdated", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the location to fetch.", + "location": "path", + "pattern": "^locations/[^/]+$", + "required": true, + "type": "string" + }, + "readMask": { + "description": "Required. Read mask to specify what fields will be returned in the response.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}:getGoogleUpdated", + "response": { + "$ref": "GoogleUpdatedLocation" + } + }, + "patch": { + "description": "Updates the specified location.", + "flatPath": "v1/locations/{locationsId}", + "httpMethod": "PATCH", + "id": "mybusinessbusinessinformation.locations.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Google identifier for this location in the form: `locations/{location_id}`.", + "location": "path", + "pattern": "^locations/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The specific fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If true, the request is validated without actually updating the location. When this field is set, we will only return validation errors if there were any. The response will be empty if no errors were found.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Location" + }, + "response": { + "$ref": "Location" + } + }, + "updateAttributes": { + "description": "Update attributes for a given location.", + "flatPath": "v1/locations/{locationsId}/attributes", + "httpMethod": "PATCH", + "id": "mybusinessbusinessinformation.locations.updateAttributes", + "parameterOrder": [ + "name" + ], + "parameters": { + "attributeMask": { + "description": "Required. Attribute name of attributes that you'd like to update. Represented by `attributes/{attribute}`. Updates: All attributes provided in the attributes field that you would like to update must be set in the `attribute_mask`. Attributes set in the above list but not in the `attribute_mask` will be ignored. Deletes: If you'd like to delete certain attributes, they must be specified in the `attribute_mask` with no matching entry in the attributes list. If you'd like to delete all attributes set on a location, you should look up all the applicable attributes for the location and then add them to the `attribute_mask` with an empty attributes field.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Google identifier for this location in the form of `locations/{location_id}/attributes`.", + "location": "path", + "pattern": "^locations/[^/]+/attributes$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Attributes" + }, + "response": { + "$ref": "Attributes" + } + } + }, + "resources": { + "attributes": { + "methods": { + "getGoogleUpdated": { + "description": "Gets the Google-updated version of the specified location.", + "flatPath": "v1/locations/{locationsId}/attributes:getGoogleUpdated", + "httpMethod": "GET", + "id": "mybusinessbusinessinformation.locations.attributes.getGoogleUpdated", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Google identifier for this location in the form of `locations/{location_id}/attributes`.", + "location": "path", + "pattern": "^locations/[^/]+/attributes$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:getGoogleUpdated", + "response": { + "$ref": "Attributes" + } + } + } + } + } + } + }, + "revision": "20220305", + "rootUrl": "https://mybusinessbusinessinformation.googleapis.com/", + "schemas": { + "AdWordsLocationExtensions": { + "description": "Additional information that is surfaced in AdWords.", + "id": "AdWordsLocationExtensions", + "properties": { + "adPhone": { + "description": "Required. An alternate phone number to display on AdWords location extensions instead of the location's primary phone number.", + "type": "string" + } + }, + "type": "object" + }, + "AssociateLocationRequest": { + "description": "Request message for Locations.AssociateLocationRequest.", + "id": "AssociateLocationRequest", + "properties": { + "placeId": { + "description": "The association to establish. If not set, it indicates no match.", + "type": "string" + } + }, + "type": "object" + }, + "Attribute": { + "description": "A location attribute. Attributes provide additional information about a location. The attributes that can be set on a location may vary based on the properties of that location (for example, category). Available attributes are determined by Google and may be added and removed without API changes.", + "id": "Attribute", + "properties": { + "name": { + "description": "Required. The resource name for this attribute.", + "type": "string" + }, + "repeatedEnumValue": { + "$ref": "RepeatedEnumAttributeValue", + "description": "When the attribute value type is REPEATED_ENUM, this contains the attribute value, and the other values fields must be empty." + }, + "uriValues": { + "description": "When the attribute value type is URL, this field contains the value(s) for this attribute, and the other values fields must be empty.", + "items": { + "$ref": "UriAttributeValue" + }, + "type": "array" + }, + "valueType": { + "description": "Output only. The type of value that this attribute contains. This should be used to determine how to interpret the value.", + "enum": [ + "ATTRIBUTE_VALUE_TYPE_UNSPECIFIED", + "BOOL", + "ENUM", + "URL", + "REPEATED_ENUM" + ], + "enumDescriptions": [ + "Not specified.", + "The values for this attribute are boolean values.", + "The attribute has a predetermined list of available values that can be used. Metadata for this attribute will list these values.", + "The values for this attribute are URLs.", + "The attribute value is an enum with multiple possible values that can be explicitly set or unset." + ], + "readOnly": true, + "type": "string" + }, + "values": { + "description": "The values for this attribute. The type of the values supplied must match that expected for that attribute. This is a repeated field where multiple attribute values may be provided. Attribute types only support one value.", + "items": { + "type": "any" + }, + "type": "array" + } + }, + "type": "object" + }, + "AttributeMetadata": { + "description": "Metadata for an attribute. Contains display information for the attribute, including a localized name and a heading for grouping related attributes together.", + "id": "AttributeMetadata", + "properties": { + "deprecated": { + "description": "If true, the attribute is deprecated and should no longer be used. If deprecated, updating this attribute will not result in an error, but updates will not be saved. At some point after being deprecated, the attribute will be removed entirely and it will become an error.", + "type": "boolean" + }, + "displayName": { + "description": "The localized display name for the attribute, if available; otherwise, the English display name.", + "type": "string" + }, + "groupDisplayName": { + "description": "The localized display name of the group that contains this attribute, if available; otherwise, the English group name. Related attributes are collected into a group and should be displayed together under the heading given here.", + "type": "string" + }, + "parent": { + "description": "The unique identifier for the attribute.", + "type": "string" + }, + "repeatable": { + "description": "If true, the attribute supports multiple values. If false, only a single value should be provided.", + "type": "boolean" + }, + "valueMetadata": { + "description": "For some types of attributes (for example, enums), a list of supported values and corresponding display names for those values is provided.", + "items": { + "$ref": "AttributeValueMetadata" + }, + "type": "array" + }, + "valueType": { + "description": "The value type for the attribute. Values set and retrieved should be expected to be of this type.", + "enum": [ + "ATTRIBUTE_VALUE_TYPE_UNSPECIFIED", + "BOOL", + "ENUM", + "URL", + "REPEATED_ENUM" + ], + "enumDescriptions": [ + "Not specified.", + "The values for this attribute are boolean values.", + "The attribute has a predetermined list of available values that can be used. Metadata for this attribute will list these values.", + "The values for this attribute are URLs.", + "The attribute value is an enum with multiple possible values that can be explicitly set or unset." + ], + "type": "string" + } + }, + "type": "object" + }, + "AttributeValueMetadata": { + "description": "Metadata for supported attribute values.", + "id": "AttributeValueMetadata", + "properties": { + "displayName": { + "description": "The display name for this value, localized where available; otherwise, in English. The value display name is intended to be used in context with the attribute display name. For example, for a \"WiFi\" enum attribute, this could contain \"Paid\" to represent paid Wi-Fi.", + "type": "string" + }, + "value": { + "description": "The attribute value.", + "type": "any" + } + }, + "type": "object" + }, + "Attributes": { + "description": "A container for all the attributes for a given location.", + "id": "Attributes", + "properties": { + "attributes": { + "description": "A collection of attributes that need to be updated.", + "items": { + "$ref": "Attribute" + }, + "type": "array" + }, + "name": { + "description": "Required. Google identifier for this location in the form of `locations/{location_id}/attributes`.", + "type": "string" + } + }, + "type": "object" + }, + "BatchGetCategoriesResponse": { + "description": "Response message for BusinessCategories.BatchGetBusinessCategories.", + "id": "BatchGetCategoriesResponse", + "properties": { + "categories": { + "description": "Categories that match the GConcept ids provided in the request. They will not come in the same order as category ids in the request.", + "items": { + "$ref": "Category" + }, + "type": "array" + } + }, + "type": "object" + }, + "BusinessHours": { + "description": "Represents the time periods that this location is open for business. Holds a collection of TimePeriod instances.", + "id": "BusinessHours", + "properties": { + "periods": { + "description": "Required. A collection of times that this location is open for business. Each period represents a range of hours when the location is open during the week.", + "items": { + "$ref": "TimePeriod" + }, + "type": "array" + } + }, + "type": "object" + }, + "Categories": { + "description": "A collection of categories that describes the business. During updates, both fields must be set. Clients are prohibited from individually updating the primary or additional categories using the update mask.", + "id": "Categories", + "properties": { + "additionalCategories": { + "description": "Optional. Additional categories to describe your business. Categories help your customers find accurate, specific results for services they're interested in. To keep your business information accurate and live, make sure that you use as few categories as possible to describe your overall core business. Choose categories that are as specific as possible, but representative of your main business.", + "items": { + "$ref": "Category" + }, + "type": "array" + }, + "primaryCategory": { + "$ref": "Category", + "description": "Required. Category that best describes the core business this location engages in." + } + }, + "type": "object" + }, + "Category": { + "description": "A category describing what this business is (not what it does). For a list of valid category IDs, and the mappings to their human-readable names, see `categories.list`.", + "id": "Category", + "properties": { + "displayName": { + "description": "Output only. The human-readable name of the category. This is set when reading the location. When modifying the location, `category_id` must be set.", + "readOnly": true, + "type": "string" + }, + "moreHoursTypes": { + "description": "Output only. More hours types that are available for this business category.", + "items": { + "$ref": "MoreHoursType" + }, + "readOnly": true, + "type": "array" + }, + "name": { + "description": "Required. A stable ID (provided by Google) for this category. The value must be specified when modifying the category (when creating or updating a location).", + "type": "string" + }, + "serviceTypes": { + "description": "Output only. A list of all the service types that are available for this business category.", + "items": { + "$ref": "ServiceType" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "Chain": { + "description": "A chain is a brand that your business's locations can be affiliated with.", + "id": "Chain", + "properties": { + "chainNames": { + "description": "Names of the chain.", + "items": { + "$ref": "ChainName" + }, + "type": "array" + }, + "locationCount": { + "description": "Number of locations that are part of this chain.", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "Required. The chain's resource name, in the format `chains/{chain_id}`.", + "type": "string" + }, + "websites": { + "description": "Websites of the chain.", + "items": { + "$ref": "ChainUri" + }, + "type": "array" + } + }, + "type": "object" + }, + "ChainName": { + "description": "Name to be used when displaying the chain.", + "id": "ChainName", + "properties": { + "displayName": { + "description": "The display name for this chain.", + "type": "string" + }, + "languageCode": { + "description": "The BCP 47 code of language of the name.", + "type": "string" + } + }, + "type": "object" + }, + "ChainUri": { + "description": "Url to be used when displaying the chain.", + "id": "ChainUri", + "properties": { + "uri": { + "description": "The uri for this chain.", + "type": "string" + } + }, + "type": "object" + }, + "ClearLocationAssociationRequest": { + "description": "Request message for Locations.ClearLocationAssociationRequest.", + "id": "ClearLocationAssociationRequest", + "properties": {}, + "type": "object" + }, + "Date": { + "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "id": "Date", + "properties": { + "day": { + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "format": "int32", + "type": "integer" + }, + "year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "FreeFormServiceItem": { + "description": "Represents a free-form service offered by the merchant. These are services that are not exposed as part of our structure service data. The merchant manually enters the names for of such services via a geomerchant surface.", + "id": "FreeFormServiceItem", + "properties": { + "category": { + "description": "Required. This field represents the category name (i.e. the category's stable ID). The `category` and `service_type_id` should match the possible combinations provided in the `Category` message.", + "type": "string" + }, + "label": { + "$ref": "Label", + "description": "Required. Language-tagged labels for the item. We recommend that item names be 140 characters or less, and descriptions 250 characters or less. This field should only be set if the input is a custom service item. Standardized service types should be updated via service_type_id." + } + }, + "type": "object" + }, + "GoogleLocation": { + "description": "Represents a Location that is present on Google. This can be a location that has been claimed by the user, someone else, or could be unclaimed.", + "id": "GoogleLocation", + "properties": { + "location": { + "$ref": "Location", + "description": "The sparsely populated Location information. This field can be re-used in CreateLocation if it is not currently claimed by a user." + }, + "name": { + "description": "Resource name of this GoogleLocation, in the format `googleLocations/{googleLocationId}`.", + "type": "string" + }, + "requestAdminRightsUri": { + "description": "A URL that will redirect the user to the request admin rights UI. This field is only present if the location has already been claimed by any user, including the current user.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleUpdatedLocation": { + "description": "Represents a location that was modified by Google.", + "id": "GoogleUpdatedLocation", + "properties": { + "diffMask": { + "description": "The fields that Google updated.", + "format": "google-fieldmask", + "type": "string" + }, + "location": { + "$ref": "Location", + "description": "The Google-updated version of this location." + }, + "pendingMask": { + "description": "The fields that have pending edits that haven't yet been pushed to Maps and Search.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "Label": { + "description": "Label to be used when displaying the price list, section, or item.", + "id": "Label", + "properties": { + "description": { + "description": "Optional. Description of the price list, section, or item.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name for the price list, section, or item.", + "type": "string" + }, + "languageCode": { + "description": "Optional. The BCP-47 language code that these strings apply for. Only one set of labels may be set per language.", + "type": "string" + } + }, + "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" + }, + "ListAttributeMetadataResponse": { + "description": "Response for AttributesService.ListAttributeMetadata.", + "id": "ListAttributeMetadataResponse", + "properties": { + "attributeMetadata": { + "description": "A collection of attribute metadata for the available attributes.", + "items": { + "$ref": "AttributeMetadata" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If the number of attributes exceeded the requested page size, this field will be populated with a token to fetch the next page of attributes on a subsequent call to `attributes.list`. If there are no more attributes, this field will not be present in the response.", + "type": "string" + } + }, + "type": "object" + }, + "ListCategoriesResponse": { + "description": "Response message for BusinessCategories.ListCategories.", + "id": "ListCategoriesResponse", + "properties": { + "categories": { + "description": "The matching categories based on the requested parameters.", + "items": { + "$ref": "Category" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If the number of categories exceeded the requested page size, this field will be populated with a token to fetch the next page of categories on a subsequent call to `ListCategories`.", + "type": "string" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "Response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "The locations.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If the number of locations exceeded the requested page size, this field is populated with a token to fetch the next page of locations on a subsequent call to `ListLocations`. If there are no more locations, this field is not present in the response.", + "type": "string" + }, + "totalSize": { + "description": "The approximate number of Locations in the list irrespective of pagination.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Location": { + "description": "A location. See the [help center article] (https://support.google.com/business/answer/3038177) for a detailed description of these fields, or the [category endpoint](/my-business/reference/rest/v4/categories) for a list of valid business categories.", + "id": "Location", + "properties": { + "adWordsLocationExtensions": { + "$ref": "AdWordsLocationExtensions", + "description": "Optional. Additional information that is surfaced in AdWords." + }, + "categories": { + "$ref": "Categories", + "description": "Optional. The different categories that describe the business." + }, + "labels": { + "description": "Optional. A collection of free-form strings to allow you to tag your business. These labels are NOT user facing; only you can see them. Must be between 1-255 characters per label.", + "items": { + "type": "string" + }, + "type": "array" + }, + "languageCode": { + "description": "Immutable. The language of the location. Set during creation and not updateable.", + "type": "string" + }, + "latlng": { + "$ref": "LatLng", + "description": "Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google Business Profile website. This field can only be updated by approved clients." + }, + "metadata": { + "$ref": "Metadata", + "description": "Output only. Additional non-user-editable information.", + "readOnly": true + }, + "moreHours": { + "description": "Optional. More hours for a business's different departments or specific customers.", + "items": { + "$ref": "MoreHours" + }, + "type": "array" + }, + "name": { + "description": "Google identifier for this location in the form: `locations/{location_id}`.", + "type": "string" + }, + "openInfo": { + "$ref": "OpenInfo", + "description": "Optional. A flag that indicates whether the location is currently open for business." + }, + "phoneNumbers": { + "$ref": "PhoneNumbers", + "description": "Optional. The different phone numbers that customers can use to get in touch with the business." + }, + "profile": { + "$ref": "Profile", + "description": "Optional. Describes your business in your own voice and shares with users the unique story of your business and offerings. This field is required for all categories except lodging categories (e.g. hotels, motels, inns)." + }, + "regularHours": { + "$ref": "BusinessHours", + "description": "Optional. Operating hours for the business." + }, + "relationshipData": { + "$ref": "RelationshipData", + "description": "Optional. All locations and chain related to this one." + }, + "serviceArea": { + "$ref": "ServiceAreaBusiness", + "description": "Optional. Service area businesses provide their service at the customer's location. If this business is a service area business, this field describes the area(s) serviced by the business." + }, + "serviceItems": { + "description": "Optional. List of services supported by merchants. A service can be haircut, install water heater, etc. Duplicated service items will be removed automatically.", + "items": { + "$ref": "ServiceItem" + }, + "type": "array" + }, + "specialHours": { + "$ref": "SpecialHours", + "description": "Optional. Special hours for the business. This typically includes holiday hours, and other times outside of regular operating hours. These override regular business hours. This field cannot be set without regular hours." + }, + "storeCode": { + "description": "Optional. External identifier for this location, which must be unique within a given account. This is a means of associating the location with your own records.", + "type": "string" + }, + "storefrontAddress": { + "$ref": "PostalAddress", + "description": "Optional. A precise, accurate address to describe your business location. PO boxes or mailboxes located at remote locations are not acceptable. At this time, you can specify a maximum of five `address_lines` values in the address. This field should only be set for businesses that have a storefront. This field should not be set for locations of type `CUSTOMER_LOCATION_ONLY`." + }, + "title": { + "description": "Required. Location name should reflect your business's real-world name, as used consistently on your storefront, website, and stationery, and as known to customers. Any additional information, when relevant, can be included in other fields of the resource (for example, `Address`, `Categories`). Don't add unnecessary information to your name (for example, prefer \"Google\" over \"Google Inc. - Mountain View Corporate Headquarters\"). Don't include marketing taglines, store codes, special characters, hours or closed/open status, phone numbers, website URLs, service/product information, location/address or directions, or containment information (for example, \"Chase ATM in Duane Reade\").", + "type": "string" + }, + "websiteUri": { + "description": "Optional. A URL for this business. If possible, use a URL that represents this individual business location instead of a generic website/URL that represents all locations, or the brand.", + "type": "string" + } + }, + "type": "object" + }, + "Metadata": { + "description": "Additional non-user-editable information about the location.", + "id": "Metadata", + "properties": { + "canDelete": { + "description": "Output only. Indicates whether the location can be deleted using the API.", + "readOnly": true, + "type": "boolean" + }, + "canHaveBusinessCalls": { + "description": "Output only. Indicates if the listing is eligible for business calls.", + "readOnly": true, + "type": "boolean" + }, + "canHaveFoodMenus": { + "description": "Output only. Indicates if the listing is eligible for food menu.", + "readOnly": true, + "type": "boolean" + }, + "canModifyServiceList": { + "description": "Output only. Indicates if the listing can modify the service list.", + "readOnly": true, + "type": "boolean" + }, + "canOperateHealthData": { + "description": "Output only. Indicates whether the location can operate on Health data.", + "readOnly": true, + "type": "boolean" + }, + "canOperateLocalPost": { + "description": "Output only. Indicates if the listing can manage local posts.", + "readOnly": true, + "type": "boolean" + }, + "canOperateLodgingData": { + "description": "Output only. Indicates whether the location can operate on Lodging data.", + "readOnly": true, + "type": "boolean" + }, + "duplicateLocation": { + "description": "Output only. The location resource that this location duplicates.", + "readOnly": true, + "type": "string" + }, + "hasGoogleUpdated": { + "description": "Output only. Indicates whether the place ID associated with this location has updates that need to be updated or rejected by the client. If this boolean is set, you should call the `getGoogleUpdated` method to lookup information that's needs to be verified.", + "readOnly": true, + "type": "boolean" + }, + "hasPendingEdits": { + "description": "Output only. Indicates whether any of this Location's properties are in the edit pending state.", + "readOnly": true, + "type": "boolean" + }, + "hasVoiceOfMerchant": { + "description": "Output only. Indicates if the listing has Voice of Merchant. If this boolean is false, you should call the locations.getVoiceOfMerchantState API to get details as to why they do not have Voice of Merchant.", + "readOnly": true, + "type": "boolean" + }, + "mapsUri": { + "description": "Output only. A link to the location on Maps.", + "readOnly": true, + "type": "string" + }, + "newReviewUri": { + "description": "Output only. A link to the page on Google Search where a customer can leave a review for the location.", + "readOnly": true, + "type": "string" + }, + "placeId": { + "description": "Output only. If this locationappears on Google Maps, this field is populated with the place ID for the location. This ID can be used in various Places APIs. This field can be set during Create calls, but not for Update.", + "readOnly": true, + "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" + }, + "MoreHours": { + "description": "The time periods during which a location is open for certain types of business.", + "id": "MoreHours", + "properties": { + "hoursTypeId": { + "description": "Required. Type of hours. Clients should call {#link businessCategories:BatchGet} to get supported hours types for categories of their locations.", + "type": "string" + }, + "periods": { + "description": "Required. A collection of times that this location is open. Each period represents a range of hours when the location is open during the week.", + "items": { + "$ref": "TimePeriod" + }, + "type": "array" + } + }, + "type": "object" + }, + "MoreHoursType": { + "description": "More hours types that a business can offers, in addition to its regular hours.", + "id": "MoreHoursType", + "properties": { + "displayName": { + "description": "Output only. The human-readable English display name for the hours type.", + "readOnly": true, + "type": "string" + }, + "hoursTypeId": { + "description": "Output only. A stable ID provided by Google for this hours type.", + "readOnly": true, + "type": "string" + }, + "localizedDisplayName": { + "description": "Output only. The human-readable localized display name for the hours type.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OpenInfo": { + "description": "Information related to the opening state of the business.", + "id": "OpenInfo", + "properties": { + "canReopen": { + "description": "Output only. Indicates whether this business is eligible for re-open.", + "readOnly": true, + "type": "boolean" + }, + "openingDate": { + "$ref": "Date", + "description": "Optional. The date on which the location first opened. If the exact day is not known, month and year only can be provided. The date must be in the past or be no more than one year in the future." + }, + "status": { + "description": "Required. Indicates whether or not the Location is currently open for business. All locations are open by default, unless updated to be closed.", + "enum": [ + "OPEN_FOR_BUSINESS_UNSPECIFIED", + "OPEN", + "CLOSED_PERMANENTLY", + "CLOSED_TEMPORARILY" + ], + "enumDescriptions": [ + "Not specified.", + "Indicates that the location is open.", + "Indicates that the location has been permanently closed.", + "Indicates that the location has been temporarily closed." + ], + "type": "string" + } + }, + "type": "object" + }, + "PhoneNumbers": { + "description": "A collection of phone numbers for the business. During updates, both fields must be set. Clients may not update just the primary or additional phone numbers using the update mask. International phone format is preferred, such as \"+1 415 555 0132\", see more in (https://developers.google.com/style/phone-numbers#international-phone-numbers).", + "id": "PhoneNumbers", + "properties": { + "additionalPhones": { + "description": "Optional. Up to two phone numbers (mobile or landline, no fax) at which your business can be called, in addition to your primary phone number.", + "items": { + "type": "string" + }, + "type": "array" + }, + "primaryPhone": { + "description": "Required. A phone number that connects to your individual business location as directly as possible. Use a local phone number instead of a central, call center helpline number whenever possible.", + "type": "string" + } + }, + "type": "object" + }, + "PlaceInfo": { + "description": "Defines an area that's represented by a place ID.", + "id": "PlaceInfo", + "properties": { + "placeId": { + "description": "Required. The ID of the place. Must correspond to a region. (https://developers.google.com/places/web-service/supported_types#table3)", + "type": "string" + }, + "placeName": { + "description": "Required. The localized name of the place. For example, `Scottsdale, AZ`.", + "type": "string" + } + }, + "type": "object" + }, + "Places": { + "description": "Defines the union of areas represented by a set of places.", + "id": "Places", + "properties": { + "placeInfos": { + "description": "The areas represented by place IDs. Limited to a maximum of 20 places.", + "items": { + "$ref": "PlaceInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "PostalAddress": { + "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", + "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" + }, + "Profile": { + "description": "All information pertaining to the location's profile.", + "id": "Profile", + "properties": { + "description": { + "description": "Required. Description of the location in your own voice, not editable by anyone else.", + "type": "string" + } + }, + "type": "object" + }, + "RelationshipData": { + "description": "Information of all parent and children locations related to this one.", + "id": "RelationshipData", + "properties": { + "childrenLocations": { + "description": "The list of children locations that this location has relations with.", + "items": { + "$ref": "RelevantLocation" + }, + "type": "array" + }, + "parentChain": { + "description": "The resource name of the Chain that this location is member of. How to find Chain ID", + "type": "string" + }, + "parentLocation": { + "$ref": "RelevantLocation", + "description": "The parent location that this location has relations with." + } + }, + "type": "object" + }, + "RelevantLocation": { + "description": "Information about another location that is related to current one. The relation can be any one of DEPARTMENT_OF or INDEPENDENT_ESTABLISHMENT_OF, and the location specified here can be on either side (parent/child) of the location.", + "id": "RelevantLocation", + "properties": { + "placeId": { + "description": "Required. Specify the location that is on the other side of the relation by its placeID.", + "type": "string" + }, + "relationType": { + "description": "Required. The type of the relationship.", + "enum": [ + "RELATION_TYPE_UNSPECIFIED", + "DEPARTMENT_OF", + "INDEPENDENT_ESTABLISHMENT_IN" + ], + "enumDescriptions": [ + "Type unspecified.", + "This represents a relation between 2 locations which share one physical area, same brand/upper management/organization, but with different key attributes like store hours or phone numbers. For example, Costco Pharmacy is a department in Costco Wholesale.", + "This represents the cases where 2 locations are co-located in the same physical location, but from different companies (e.g. Starbucks in a Safeway, shops in a mall)." + ], + "type": "string" + } + }, + "type": "object" + }, + "RepeatedEnumAttributeValue": { + "description": "Values for an attribute with a `value_type` of REPEATED_ENUM. This consists of two lists of value IDs: those that are set (true) and those that are unset (false). Values absent are considered unknown. At least one value must be specified.", + "id": "RepeatedEnumAttributeValue", + "properties": { + "setValues": { + "description": "Enum values that are set.", + "items": { + "type": "string" + }, + "type": "array" + }, + "unsetValues": { + "description": "Enum values that are unset.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "SearchChainsResponse": { + "description": "Response message for Locations.SearchChains.", + "id": "SearchChainsResponse", + "properties": { + "chains": { + "description": "Chains that match the queried chain_display_name in SearchChainsRequest. If there are no matches, this field will be empty. Results are listed in order of relevance.", + "items": { + "$ref": "Chain" + }, + "type": "array" + } + }, + "type": "object" + }, + "SearchGoogleLocationsRequest": { + "description": "Request message for GoogleLocations.SearchGoogleLocations.", + "id": "SearchGoogleLocationsRequest", + "properties": { + "location": { + "$ref": "Location", + "description": "Location to search for. If provided, will find locations which match the provided location details." + }, + "pageSize": { + "description": "The number of matches to return. The default value is 3, with a maximum of 10. Note that latency may increase if more are requested. There is no pagination.", + "format": "int32", + "type": "integer" + }, + "query": { + "description": "Text query to search for. The search results from a query string will be less accurate than if providing an exact location, but can provide more inexact matches.", + "type": "string" + } + }, + "type": "object" + }, + "SearchGoogleLocationsResponse": { + "description": "Response message for GoogleLocations.SearchGoogleLocations.", + "id": "SearchGoogleLocationsResponse", + "properties": { + "googleLocations": { + "description": "A collection of GoogleLocations that are potential matches to the specified request, listed in order from most to least accuracy.", + "items": { + "$ref": "GoogleLocation" + }, + "type": "array" + } + }, + "type": "object" + }, + "ServiceAreaBusiness": { + "description": "Service area businesses provide their service at the customer's location (for example, a locksmith or plumber).", + "id": "ServiceAreaBusiness", + "properties": { + "businessType": { + "description": "Required. Indicates the type of the service area business.", + "enum": [ + "BUSINESS_TYPE_UNSPECIFIED", + "CUSTOMER_LOCATION_ONLY", + "CUSTOMER_AND_BUSINESS_LOCATION" + ], + "enumDescriptions": [ + "Output only. Not specified.", + "Offers service only in the surrounding area (not at the business address). If a business is being updated from a CUSTOMER_AND_BUSINESS_LOCATION to a CUSTOMER_LOCATION_ONLY, the location update must include field mask `storefront_address` and set the field to empty.", + "Offers service at the business address and the surrounding area." + ], + "type": "string" + }, + "places": { + "$ref": "Places", + "description": "The area that this business serves defined through a set of places." + }, + "regionCode": { + "description": "Immutable. CLDR region code of the country/region that this service area business is based in. See http://cldr.unicode.org/ and http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: \"CH\" for Switzerland. This field is required for CUSTOMER_LOCATION_ONLY businesses, and is ignored otherwise. The region specified here can be different from regions for the areas that this business serves (e.g. service area businesses that provide services in regions other than the one that they are based in). If this location requires verification after creation, the address provided for verification purposes *must* be located within this region, and the business owner or their authorized representative *must* be able to receive postal mail at the provided verification address.", + "type": "string" + } + }, + "type": "object" + }, + "ServiceItem": { + "description": "A message that describes a single service item. It is used to describe the type of service that the merchant provides. For example, haircut can be a service.", + "id": "ServiceItem", + "properties": { + "freeFormServiceItem": { + "$ref": "FreeFormServiceItem", + "description": "Optional. This field will be set case of free-form services data." + }, + "price": { + "$ref": "Money", + "description": "Optional. Represents the monetary price of the service item. We recommend that currency_code and units should be set when including a price. This will be treated as a fixed price for the service item." + }, + "structuredServiceItem": { + "$ref": "StructuredServiceItem", + "description": "Optional. This field will be set case of structured services data." + } + }, + "type": "object" + }, + "ServiceType": { + "description": "A message describing a service type that the business offers.", + "id": "ServiceType", + "properties": { + "displayName": { + "description": "Output only. The human-readable display name for the service type.", + "readOnly": true, + "type": "string" + }, + "serviceTypeId": { + "description": "Output only. A stable ID (provided by Google) for this service type.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SpecialHourPeriod": { + "description": "Represents a single time period when a location's operational hours differ from its normal business hours. A special hour period must represent a range of less than 24 hours. The `open_time` and `start_date` must predate the `close_time` and `end_date`. The `close_time` and `end_date` can extend to 11:59 a.m. on the day after the specified `start_date`. For example, the following inputs are valid: start_date=2015-11-23, open_time=08:00, close_time=18:00 start_date=2015-11-23, end_date=2015-11-23, open_time=08:00, close_time=18:00 start_date=2015-11-23, end_date=2015-11-24, open_time=13:00, close_time=11:59 The following inputs are not valid: start_date=2015-11-23, open_time=13:00, close_time=11:59 start_date=2015-11-23, end_date=2015-11-24, open_time=13:00, close_time=12:00 start_date=2015-11-23, end_date=2015-11-25, open_time=08:00, close_time=18:00", + "id": "SpecialHourPeriod", + "properties": { + "closeTime": { + "$ref": "TimeOfDay", + "description": "Optional. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field. Must be specified if `closed` is false." + }, + "closed": { + "description": "Optional. If true, `end_date`, `open_time`, and `close_time` are ignored, and the date specified in `start_date` is treated as the location being closed for the entire day.", + "type": "boolean" + }, + "endDate": { + "$ref": "Date", + "description": "Optional. The calendar date this special hour period ends on. If `end_date` field is not set, default to the date specified in `start_date`. If set, this field must be equal to or at most 1 day after `start_date`." + }, + "openTime": { + "$ref": "TimeOfDay", + "description": "Optional. Valid values are 00:00-24:00 where 24:00 represents midnight at the end of the specified day field. Must be specified if `closed` is false." + }, + "startDate": { + "$ref": "Date", + "description": "Required. The calendar date this special hour period starts on." + } + }, + "type": "object" + }, + "SpecialHours": { + "description": "Represents a set of time periods when a location's operational hours differ from its normal business hours.", + "id": "SpecialHours", + "properties": { + "specialHourPeriods": { + "description": "Required. A list of exceptions to the business's regular hours.", + "items": { + "$ref": "SpecialHourPeriod" + }, + "type": "array" + } + }, + "type": "object" + }, + "StructuredServiceItem": { + "description": "Represents a structured service offered by the merchant. For eg: toilet_installation.", + "id": "StructuredServiceItem", + "properties": { + "description": { + "description": "Optional. Description of structured service item. The character limit is 300.", + "type": "string" + }, + "serviceTypeId": { + "description": "Required. The `service_type_id` field is a Google provided unique ID that can be found in `ServiceType`. This information is provided by `BatchGetCategories` rpc service.", + "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 day in 24 hour format. Should be from 0 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 hour of day. Must be from 0 to 59.", + "format": "int32", + "type": "integer" + }, + "nanos": { + "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "format": "int32", + "type": "integer" + }, + "seconds": { + "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "TimePeriod": { + "description": "Represents a span of time that the business is open, starting on the specified open day/time and closing on the specified close day/time. The closing time must occur after the opening time, for example later in the same day, or on a subsequent day.", + "id": "TimePeriod", + "properties": { + "closeDay": { + "description": "Required. Indicates the day of the week this period ends on.", + "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" + }, + "closeTime": { + "$ref": "TimeOfDay", + "description": "Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field." + }, + "openDay": { + "description": "Required. Indicates the day of the week this period starts on.", + "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" + }, + "openTime": { + "$ref": "TimeOfDay", + "description": "Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field." + } + }, + "type": "object" + }, + "UriAttributeValue": { + "description": "Values for an attribute with a `value_type` of URL.", + "id": "UriAttributeValue", + "properties": { + "uri": { + "description": "Required. The proposed URI value for this attribute.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "My Business Business Information API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/mybusinesslodging/v1/mybusinesslodging-api.json b/etc/api/mybusinesslodging/v1/mybusinesslodging-api.json new file mode 100644 index 0000000000..7e22306517 --- /dev/null +++ b/etc/api/mybusinesslodging/v1/mybusinesslodging-api.json @@ -0,0 +1,6217 @@ +{ + "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.", + "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: `accounts/{account_id}/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": "20220305", + "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": { + "description": "An eco certificate awarded to the hotel.", + "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 BREEAM-* or LEED-* certified.", + "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" + } + }, + "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", + "description": "Sustainability certifications the hotel has been awarded." + }, + "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": { + "description": "Sustainability certifications the hotel has been awarded.", + "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 day in 24 hour format. Should be from 0 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 hour of day. Must be from 0 to 59.", + "format": "int32", + "type": "integer" + }, + "nanos": { + "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "format": "int32", + "type": "integer" + }, + "seconds": { + "description": "Seconds of minutes of the time. Must normally be from 0 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/etc/api/mybusinessnotifications/v1/mybusinessnotifications-api.json b/etc/api/mybusinessnotifications/v1/mybusinessnotifications-api.json new file mode 100644 index 0000000000..0e4903a25f --- /dev/null +++ b/etc/api/mybusinessnotifications/v1/mybusinessnotifications-api.json @@ -0,0 +1,215 @@ +{ + "basePath": "", + "baseUrl": "https://mybusinessnotifications.googleapis.com/", + "batchPath": "batch", + "canonicalName": "My Business Notification Settings", + "description": "The My Business Notification Settings API enables managing notification settings for business accounts.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/my-business/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "mybusinessnotifications:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://mybusinessnotifications.mtls.googleapis.com/", + "name": "mybusinessnotifications", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "accounts": { + "methods": { + "getNotificationSetting": { + "description": "Returns the pubsub notification settings for the account.", + "flatPath": "v1/accounts/{accountsId}/notificationSetting", + "httpMethod": "GET", + "id": "mybusinessnotifications.accounts.getNotificationSetting", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the notification setting we are trying to fetch.", + "location": "path", + "pattern": "^accounts/[^/]+/notificationSetting$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "NotificationSetting" + } + }, + "updateNotificationSetting": { + "description": "Sets the pubsub notification setting for the account informing Google which topic to send pubsub notifications for. Use the notification_types field within notification_setting to manipulate the events an account wants to subscribe to. An account will only have one notification setting resource, and only one pubsub topic can be set. To delete the setting, update with an empty notification_types", + "flatPath": "v1/accounts/{accountsId}/notificationSetting", + "httpMethod": "PATCH", + "id": "mybusinessnotifications.accounts.updateNotificationSetting", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name this setting is for. This is of the form `accounts/{account_id}/notificationSetting`.", + "location": "path", + "pattern": "^accounts/[^/]+/notificationSetting$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The specific fields that should be updated. The only editable field is notification_setting.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "NotificationSetting" + }, + "response": { + "$ref": "NotificationSetting" + } + } + } + } + }, + "revision": "20220305", + "rootUrl": "https://mybusinessnotifications.googleapis.com/", + "schemas": { + "NotificationSetting": { + "description": "A Google Pub/Sub topic where notifications can be published when a location is updated or has a new review. There will be only one notification setting resource per-account.", + "id": "NotificationSetting", + "properties": { + "name": { + "description": "Required. The resource name this setting is for. This is of the form `accounts/{account_id}/notificationSetting`.", + "type": "string" + }, + "notificationTypes": { + "description": "The types of notifications that will be sent to the Pub/Sub topic. To stop receiving notifications entirely, use NotificationSettings.UpdateNotificationSetting with an empty notification_types or set the pubsub_topic to an empty string.", + "items": { + "enum": [ + "NOTIFICATION_TYPE_UNSPECIFIED", + "GOOGLE_UPDATE", + "NEW_REVIEW", + "UPDATED_REVIEW", + "NEW_CUSTOMER_MEDIA", + "NEW_QUESTION", + "UPDATED_QUESTION", + "NEW_ANSWER", + "UPDATED_ANSWER", + "DUPLICATE_LOCATION", + "LOSS_OF_VOICE_OF_MERCHANT", + "VOICE_OF_MERCHANT_UPDATED" + ], + "enumDescriptions": [ + "No notification type. Will not match any notifications.", + "The location has Google updates for review. The location_name field on the notification will provide the resource name of the location with Google updates.", + "A new review has been added to the location. The review_name field on the notification will provide the resource name of the review that was added, and location_name will have the location's resource name.", + "A review on the location has been updated. The review_name field on the notification will provide the resource name of the review that was added, and location_name will have the location's resource name.", + "A new media item has been added to the location by a Google Maps user. The notification will provide the resource name of the new media item.", + "A new question is added to the location. The notification will provide the resource name of question.", + "A question of the location is updated. The notification will provide the resource name of question.", + "A new answer is added to the location. The notification will provide the resource name of question and answer.", + "An answer of the location is updated. The notification will provide the resource name of question and answer.", + "Indicates whether there is a change in location metadata's duplicate location field.", + "Deprecated: Migrate the existing usages of this value to the more expanded \"VOICE_OF_MERCHANT_UPDATED\".", + "Indicates whether the location has an update in voice of merchant status. Call GetVoiceOfMerchantState rpc for more details" + ], + "type": "string" + }, + "type": "array" + }, + "pubsubTopic": { + "description": "Optional. The Google Pub/Sub topic that will receive notifications when locations managed by this account are updated. If unset, no notifications will be posted. The account mybusiness-api-pubsub@system.gserviceaccount.com must have at least Publish permissions on the Pub/Sub topic.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "My Business Notifications API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/mybusinessplaceactions/v1/mybusinessplaceactions-api.json b/etc/api/mybusinessplaceactions/v1/mybusinessplaceactions-api.json new file mode 100644 index 0000000000..abe15e7dbd --- /dev/null +++ b/etc/api/mybusinessplaceactions/v1/mybusinessplaceactions-api.json @@ -0,0 +1,440 @@ +{ + "basePath": "", + "baseUrl": "https://mybusinessplaceactions.googleapis.com/", + "batchPath": "batch", + "canonicalName": "My Business Place Actions", + "description": "The My Business Place Actions API provides an interface for managing place action links of a location on Google.", + "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": "mybusinessplaceactions:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://mybusinessplaceactions.mtls.googleapis.com/", + "name": "mybusinessplaceactions", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "locations": { + "resources": { + "placeActionLinks": { + "methods": { + "create": { + "description": "Creates a place action link associated with the specified location, and returns it. The request is considered duplicate if the `parent`, `place_action_link.uri` and `place_action_link.place_action_type` are the same as a previous request.", + "flatPath": "v1/locations/{locationsId}/placeActionLinks", + "httpMethod": "POST", + "id": "mybusinessplaceactions.locations.placeActionLinks.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the location where to create this place action link. `locations/{location_id}`.", + "location": "path", + "pattern": "^locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/placeActionLinks", + "request": { + "$ref": "PlaceActionLink" + }, + "response": { + "$ref": "PlaceActionLink" + } + }, + "delete": { + "description": "Deletes a place action link from the specified location.", + "flatPath": "v1/locations/{locationsId}/placeActionLinks/{placeActionLinksId}", + "httpMethod": "DELETE", + "id": "mybusinessplaceactions.locations.placeActionLinks.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the place action link to remove from the location.", + "location": "path", + "pattern": "^locations/[^/]+/placeActionLinks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + } + }, + "get": { + "description": "Gets the specified place action link.", + "flatPath": "v1/locations/{locationsId}/placeActionLinks/{placeActionLinksId}", + "httpMethod": "GET", + "id": "mybusinessplaceactions.locations.placeActionLinks.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the place action link to fetch.", + "location": "path", + "pattern": "^locations/[^/]+/placeActionLinks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "PlaceActionLink" + } + }, + "list": { + "description": "Lists the place action links for the specified location.", + "flatPath": "v1/locations/{locationsId}/placeActionLinks", + "httpMethod": "GET", + "id": "mybusinessplaceactions.locations.placeActionLinks.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter constraining the place action links to return. The response includes entries that match the filter. We support only the following filter: 1. place_action_type=XYZ where XYZ is a valid PlaceActionType.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. How many place action links to return per page. Default of 10. The minimum is 1.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. If specified, returns the next page of place action links.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the location whose place action links will be listed. `locations/{location_id}`.", + "location": "path", + "pattern": "^locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/placeActionLinks", + "response": { + "$ref": "ListPlaceActionLinksResponse" + } + }, + "patch": { + "description": "Updates the specified place action link and returns it.", + "flatPath": "v1/locations/{locationsId}/placeActionLinks/{placeActionLinksId}", + "httpMethod": "PATCH", + "id": "mybusinessplaceactions.locations.placeActionLinks.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Optional. The resource name, in the format `locations/{location_id}/placeActionLinks/{place_action_link_id}`. The name field will only be considered in UpdatePlaceActionLink and DeletePlaceActionLink requests for updating and deleting links respectively. However, it will be ignored in CreatePlaceActionLink request, where `place_action_link_id` will be assigned by the server on successful creation of a new link and returned as part of the response.", + "location": "path", + "pattern": "^locations/[^/]+/placeActionLinks/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The specific fields to update. The only editable fields are `uri`, `place_action_type` and `is_preferred`. If the updated link already exists at the same location with the same `place_action_type` and `uri`, fails with an `ALREADY_EXISTS` error.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "PlaceActionLink" + }, + "response": { + "$ref": "PlaceActionLink" + } + } + } + } + } + }, + "placeActionTypeMetadata": { + "methods": { + "list": { + "description": "Returns the list of available place action types for a location or country.", + "flatPath": "v1/placeActionTypeMetadata", + "httpMethod": "GET", + "id": "mybusinessplaceactions.placeActionTypeMetadata.list", + "parameterOrder": [], + "parameters": { + "filter": { + "description": "Optional. A filter constraining the place action types to return metadata for. The response includes entries that match the filter. We support only the following filters: 1. location=XYZ where XYZ is a string indicating the resource name of a location, in the format `locations/{location_id}`. 2. region_code=XYZ where XYZ is a Unicode CLDR region code to find available action types. If no filter is provided, all place action types are returned.", + "location": "query", + "type": "string" + }, + "languageCode": { + "description": "Optional. The IETF BCP-47 code of language to get display names in. If this language is not available, they will be provided in English.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. How many action types to include per page. Default is 10, minimum is 1.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. If specified, the next page of place action type metadata is retrieved. The `pageToken` is returned when a call to `placeActionTypeMetadata.list` returns more results than can fit into the requested page size.", + "location": "query", + "type": "string" + } + }, + "path": "v1/placeActionTypeMetadata", + "response": { + "$ref": "ListPlaceActionTypeMetadataResponse" + } + } + } + } + }, + "revision": "20220305", + "rootUrl": "https://mybusinessplaceactions.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); } The JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "ListPlaceActionLinksResponse": { + "description": "Response message for PlaceActions.ListPlaceActionLinks.", + "id": "ListPlaceActionLinksResponse", + "properties": { + "nextPageToken": { + "description": "If there are more place action links than the requested page size, then this field is populated with a token to fetch the next page of results.", + "type": "string" + }, + "placeActionLinks": { + "description": "The returned list of place action links.", + "items": { + "$ref": "PlaceActionLink" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListPlaceActionTypeMetadataResponse": { + "description": "Response message for PlaceActions.ListPlaceActionTypeMetadata.", + "id": "ListPlaceActionTypeMetadataResponse", + "properties": { + "nextPageToken": { + "description": "If the number of action types exceeded the requested page size, this field will be populated with a token to fetch the next page on a subsequent call to `placeActionTypeMetadata.list`. If there are no more results, this field will not be present in the response.", + "type": "string" + }, + "placeActionTypeMetadata": { + "description": "A collection of metadata for the available place action types.", + "items": { + "$ref": "PlaceActionTypeMetadata" + }, + "type": "array" + } + }, + "type": "object" + }, + "PlaceActionLink": { + "description": "Represents a place action link and its attributes.", + "id": "PlaceActionLink", + "properties": { + "createTime": { + "description": "Output only. The time when the place action link was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "isEditable": { + "description": "Output only. Indicates whether this link can be edited by the client.", + "readOnly": true, + "type": "boolean" + }, + "isPreferred": { + "description": "Optional. Whether this link is preferred by the merchant. Only one link can be marked as preferred per place action type at a location. If a future request marks a different link as preferred for the same place action type, then the current preferred link (if any exists) will lose its preference.", + "type": "boolean" + }, + "name": { + "description": "Optional. The resource name, in the format `locations/{location_id}/placeActionLinks/{place_action_link_id}`. The name field will only be considered in UpdatePlaceActionLink and DeletePlaceActionLink requests for updating and deleting links respectively. However, it will be ignored in CreatePlaceActionLink request, where `place_action_link_id` will be assigned by the server on successful creation of a new link and returned as part of the response.", + "type": "string" + }, + "placeActionType": { + "description": "Required. The type of place action that can be performed using this link.", + "enum": [ + "PLACE_ACTION_TYPE_UNSPECIFIED", + "APPOINTMENT", + "ONLINE_APPOINTMENT", + "DINING_RESERVATION", + "FOOD_ORDERING", + "FOOD_DELIVERY", + "FOOD_TAKEOUT" + ], + "enumDescriptions": [ + "Not specified.", + "The action type is booking an appointment.", + "The action type is booking an online appointment.", + "The action type is making a dining reservation.", + "The action type is ordering food for delivery and/or takeout.", + "The action type is ordering food for delivery.", + "The action type is ordering food for takeout." + ], + "type": "string" + }, + "providerType": { + "description": "Output only. Specifies the provider type.", + "enum": [ + "PROVIDER_TYPE_UNSPECIFIED", + "MERCHANT", + "AGGREGATOR_3P" + ], + "enumDescriptions": [ + "Not specified.", + "A 1P provider such as a merchant, or an agency on behalf of a merchant.", + "A 3P aggregator, such as a `Reserve with Google` partner." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the place action link was last modified.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "uri": { + "description": "Required. The link uri. The same uri can be reused for different action types across different locations. However, only one place action link is allowed for each unique combination of (uri, place action type, location).", + "type": "string" + } + }, + "type": "object" + }, + "PlaceActionTypeMetadata": { + "description": "Metadata for supported place action types.", + "id": "PlaceActionTypeMetadata", + "properties": { + "displayName": { + "description": "The localized display name for the attribute, if available; otherwise, the English display name.", + "type": "string" + }, + "placeActionType": { + "description": "The place action type.", + "enum": [ + "PLACE_ACTION_TYPE_UNSPECIFIED", + "APPOINTMENT", + "ONLINE_APPOINTMENT", + "DINING_RESERVATION", + "FOOD_ORDERING", + "FOOD_DELIVERY", + "FOOD_TAKEOUT" + ], + "enumDescriptions": [ + "Not specified.", + "The action type is booking an appointment.", + "The action type is booking an online appointment.", + "The action type is making a dining reservation.", + "The action type is ordering food for delivery and/or takeout.", + "The action type is ordering food for delivery.", + "The action type is ordering food for takeout." + ], + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "My Business Place Actions API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/mybusinessqanda/v1/mybusinessqanda-api.json b/etc/api/mybusinessqanda/v1/mybusinessqanda-api.json new file mode 100644 index 0000000000..576f7c7afc --- /dev/null +++ b/etc/api/mybusinessqanda/v1/mybusinessqanda-api.json @@ -0,0 +1,519 @@ +{ + "basePath": "", + "baseUrl": "https://mybusinessqanda.googleapis.com/", + "batchPath": "batch", + "canonicalName": "My Business Q&A", + "description": "The My Business Q&A API allows questions and answers to be posted for specific listings.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/my-business/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "mybusinessqanda:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://mybusinessqanda.mtls.googleapis.com/", + "name": "mybusinessqanda", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "locations": { + "resources": { + "questions": { + "methods": { + "create": { + "description": "Adds a question for the specified location.", + "flatPath": "v1/locations/{locationsId}/questions", + "httpMethod": "POST", + "id": "mybusinessqanda.locations.questions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the location to write a question for.", + "location": "path", + "pattern": "^locations/[^/]+/questions$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}", + "request": { + "$ref": "Question" + }, + "response": { + "$ref": "Question" + } + }, + "delete": { + "description": "Deletes a specific question written by the current user.", + "flatPath": "v1/locations/{locationsId}/questions/{questionsId}", + "httpMethod": "DELETE", + "id": "mybusinessqanda.locations.questions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the question to delete.", + "location": "path", + "pattern": "^locations/[^/]+/questions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + } + }, + "deleteAnswers": { + "description": "Deletes the answer written by the current user to a question.", + "flatPath": "v1/locations/{locationsId}/questions/{questionsId}/answers", + "httpMethod": "DELETE", + "id": "mybusinessqanda.locations.questions.deleteAnswers", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the question to delete an answer for.", + "location": "path", + "pattern": "^locations/[^/]+/questions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/answers", + "response": { + "$ref": "Empty" + } + }, + "list": { + "description": "Returns the paginated list of questions and some of its answers for a specified location. This operation is only valid if the specified location is verified.", + "flatPath": "v1/locations/{locationsId}/questions", + "httpMethod": "GET", + "id": "mybusinessqanda.locations.questions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "answersPerQuestion": { + "description": "Optional. How many answers to fetch per question. The default and maximum `answers_per_question` values are 10.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "filter": { + "description": "Optional. A filter constraining the questions to return. The only filter currently supported is \"ignore_answered=true\"", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. The order to return the questions. Valid options include 'update_time desc' and 'upvote_count desc', which will return the questions sorted descendingly by the requested field. The default sort order is 'update_time desc'.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. How many questions to fetch per page. The default and maximum `page_size` values are 10.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. If specified, the next page of questions is retrieved.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the location to fetch questions for.", + "location": "path", + "pattern": "^locations/[^/]+/questions$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}", + "response": { + "$ref": "ListQuestionsResponse" + } + }, + "patch": { + "description": "Updates a specific question written by the current user.", + "flatPath": "v1/locations/{locationsId}/questions/{questionsId}", + "httpMethod": "PATCH", + "id": "mybusinessqanda.locations.questions.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The unique name for the question. locations/*/questions/* This field will be ignored if set during question creation.", + "location": "path", + "pattern": "^locations/[^/]+/questions/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The specific fields to update. Only question text can be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Question" + }, + "response": { + "$ref": "Question" + } + } + }, + "resources": { + "answers": { + "methods": { + "list": { + "description": "Returns the paginated list of answers for a specified question.", + "flatPath": "v1/locations/{locationsId}/questions/{questionsId}/answers", + "httpMethod": "GET", + "id": "mybusinessqanda.locations.questions.answers.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "orderBy": { + "description": "Optional. The order to return the answers. Valid options include 'update_time desc' and 'upvote_count desc', which will return the answers sorted descendingly by the requested field. The default sort order is 'update_time desc'.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. How many answers to fetch per page. The default and maximum `page_size` values are 10.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. If specified, the next page of answers is retrieved.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the question to fetch answers for.", + "location": "path", + "pattern": "^locations/[^/]+/questions/[^/]+/answers$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}", + "response": { + "$ref": "ListAnswersResponse" + } + }, + "upsert": { + "description": "Creates an answer or updates the existing answer written by the user for the specified question. A user can only create one answer per question.", + "flatPath": "v1/locations/{locationsId}/questions/{questionsId}/answers:upsert", + "httpMethod": "POST", + "id": "mybusinessqanda.locations.questions.answers.upsert", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the question to write an answer for.", + "location": "path", + "pattern": "^locations/[^/]+/questions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/answers:upsert", + "request": { + "$ref": "UpsertAnswerRequest" + }, + "response": { + "$ref": "Answer" + } + } + } + } + } + } + } + } + }, + "revision": "20220305", + "rootUrl": "https://mybusinessqanda.googleapis.com/", + "schemas": { + "Answer": { + "description": "Represents an answer to a question", + "id": "Answer", + "properties": { + "author": { + "$ref": "Author", + "description": "Output only. The author of the answer. Will only be set during list operations.", + "readOnly": true + }, + "createTime": { + "description": "Output only. The timestamp for when the answer was written. Only retrieved during ListResponse fetching.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The unique name for the answer locations/*/questions/*/answers/*", + "readOnly": true, + "type": "string" + }, + "text": { + "description": "Required. The text of the answer. It should contain at least one non-whitespace character. The maximum length is 4096 characters.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp for when the answer was last modified.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "upvoteCount": { + "description": "Output only. The number of upvotes for the answer.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "Author": { + "description": "Represents the author of a question or answer", + "id": "Author", + "properties": { + "displayName": { + "description": "The display name of the user", + "type": "string" + }, + "profilePhotoUri": { + "description": "The profile photo URI of the user.", + "type": "string" + }, + "type": { + "description": "The type of user the author is.", + "enum": [ + "AUTHOR_TYPE_UNSPECIFIED", + "REGULAR_USER", + "LOCAL_GUIDE", + "MERCHANT" + ], + "enumDescriptions": [ + "This should not be used.", + "A regular user.", + "A Local Guide", + "The owner/manager of the location" + ], + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "ListAnswersResponse": { + "description": "Response message for QuestionsAndAnswers.ListAnswers", + "id": "ListAnswersResponse", + "properties": { + "answers": { + "description": "The requested answers.", + "items": { + "$ref": "Answer" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If the number of answers exceeds the requested max page size, this field is populated with a token to fetch the next page of answers on a subsequent call. If there are no more answers, this field is not present in the response.", + "type": "string" + }, + "totalSize": { + "description": "The total number of answers posted for this question across all pages.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ListQuestionsResponse": { + "description": "Response message for QuestionsAndAnswers.ListQuestions", + "id": "ListQuestionsResponse", + "properties": { + "nextPageToken": { + "description": "If the number of questions exceeds the requested max page size, this field is populated with a token to fetch the next page of questions on a subsequent call. If there are no more questions, this field is not present in the response.", + "type": "string" + }, + "questions": { + "description": "The requested questions,", + "items": { + "$ref": "Question" + }, + "type": "array" + }, + "totalSize": { + "description": "The total number of questions posted for this location across all pages.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Question": { + "description": "Represents a single question and some of its answers.", + "id": "Question", + "properties": { + "author": { + "$ref": "Author", + "description": "Output only. The author of the question.", + "readOnly": true + }, + "createTime": { + "description": "Output only. The timestamp for when the question was written.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Immutable. The unique name for the question. locations/*/questions/* This field will be ignored if set during question creation.", + "type": "string" + }, + "text": { + "description": "Required. The text of the question. It should contain at least three words and the total length should be greater than or equal to 10 characters. The maximum length is 4096 characters.", + "type": "string" + }, + "topAnswers": { + "description": "Output only. A list of answers to the question, sorted by upvotes. This may not be a complete list of answers depending on the request parameters (answers_per_question)", + "items": { + "$ref": "Answer" + }, + "readOnly": true, + "type": "array" + }, + "totalAnswerCount": { + "description": "Output only. The total number of answers posted for this question.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "updateTime": { + "description": "Output only. The timestamp for when the question was last modified.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "upvoteCount": { + "description": "Output only. The number of upvotes for the question.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "UpsertAnswerRequest": { + "description": "Request message for QuestionsAndAnswers.UpsertAnswer", + "id": "UpsertAnswerRequest", + "properties": { + "answer": { + "$ref": "Answer", + "description": "Required. The new answer." + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "My Business Q&A API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/mybusinessverifications/v1/mybusinessverifications-api.json b/etc/api/mybusinessverifications/v1/mybusinessverifications-api.json new file mode 100644 index 0000000000..e7f7a06023 --- /dev/null +++ b/etc/api/mybusinessverifications/v1/mybusinessverifications-api.json @@ -0,0 +1,723 @@ +{ + "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" + } + } + } + } + } + }, + "verificationTokens": { + "methods": { + "generate": { + "description": "Generates a token for the provided location data as a vetted [partner](https://support.google.com/business/answer/7674102). Throws PERMISSION_DENIED if the caller is not a vetted partner account. Throws FAILED_PRECONDITION if the caller's VettedStatus is INVALID.", + "flatPath": "v1/verificationTokens:generate", + "httpMethod": "POST", + "id": "mybusinessverifications.verificationTokens.generate", + "parameterOrder": [], + "parameters": {}, + "path": "v1/verificationTokens:generate", + "request": { + "$ref": "GenerateVerificationTokenRequest" + }, + "response": { + "$ref": "GenerateVerificationTokenResponse" + } + } + } + } + }, + "revision": "20220305", + "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). To fix this issue, consult the [Help Center Article](https://support.google.com/business/answer/4569145).", + "id": "ComplyWithGuidelines", + "properties": {}, + "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" + }, + "GenerateVerificationTokenRequest": { + "description": "Request message for Verifications.GenerateVerificationToken.", + "id": "GenerateVerificationTokenRequest", + "properties": { + "location": { + "$ref": "Location", + "description": "Required. The target location." + } + }, + "type": "object" + }, + "GenerateVerificationTokenResponse": { + "description": "Response message for Verifications.GenerateVerificationToken.", + "id": "GenerateVerificationTokenResponse", + "properties": { + "token": { + "$ref": "VerificationToken", + "description": "The generated token to verify the location." + } + }, + "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" + }, + "Location": { + "description": "A subset of location info. See the [help center article] (https://support.google.com/business/answer/3038177) for a detailed description of these fields, or the [category endpoint](/my-business/reference/rest/v4/categories) for a list of valid business categories.", + "id": "Location", + "properties": { + "address": { + "$ref": "PostalAddress", + "description": "Required. A precise, accurate address to describe your business location. PO boxes or mailboxes located at remote locations are not acceptable. At this time, you can specify a maximum of five `address_lines` values in the address." + }, + "name": { + "description": "Required. Location name should reflect your business's real-world name, as used consistently on your storefront, website, and stationery, and as known to customers. Any additional information, when relevant, can be included in other fields of the resource (for example, `Address`, `Categories`). Don't add unnecessary information to your name (for example, prefer \"Google\" over \"Google Inc. - Mountain View Corporate Headquarters\"). Don't include marketing taglines, store codes, special characters, hours or closed/open status, phone numbers, website URLs, service/product information, location/address or directions, or containment information (for example, \"Chase ATM in Duane Reade\").", + "type": "string" + }, + "primaryCategoryId": { + "description": "Required. Id of the category that best describes the core business this location engages in.", + "type": "string" + }, + "primaryPhone": { + "description": "Optional. A phone number that connects to your individual business location as directly as possible. Use a local phone number instead of a central, call center helpline number whenever possible.", + "type": "string" + }, + "websiteUri": { + "description": "Optional. A URL for this business. If possible, use a URL that represents this individual business location instead of a generic website/URL that represents all locations, or the brand.", + "type": "string" + } + }, + "type": "object" + }, + "PostalAddress": { + "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", + "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" + }, + "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": { + "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.", + "Used for vetted [partners](https://support.google.com/business/answer/7674102). 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." + }, + "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.", + "Used for vetted [partners](https://support.google.com/business/answer/7674102). 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.", + "Used for vetted [partners](https://support.google.com/business/answer/7674102). 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/etc/api/networkconnectivity/v1/networkconnectivity-api.json b/etc/api/networkconnectivity/v1/networkconnectivity-api.json new file mode 100644 index 0000000000..9af9339b36 --- /dev/null +++ b/etc/api/networkconnectivity/v1/networkconnectivity-api.json @@ -0,0 +1,1599 @@ +{ + "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://networkconnectivity.googleapis.com/", + "batchPath": "batch", + "canonicalName": "networkconnectivity", + "description": "The Network Connectivity API provides access to Network Connectivity Center.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/network-connectivity/docs/reference/networkconnectivity/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": "networkconnectivity:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://networkconnectivity.mtls.googleapis.com/", + "name": "networkconnectivity", + "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": "networkconnectivity.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": "networkconnectivity.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": { + "global": { + "resources": { + "hubs": { + "methods": { + "create": { + "description": "Creates a new hub in the specified project.", + "flatPath": "v1/projects/{projectsId}/locations/global/hubs", + "httpMethod": "POST", + "id": "networkconnectivity.projects.locations.global.hubs.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "hubId": { + "description": "Required. A unique identifier for the hub.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A unique request ID (optional). If you specify this ID, you can use it in cases when you need to retry your request. When you need to retry, this ID lets the server know that it can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check to see whether the original operation was received. If it was, the server ignores the second request. This behavior prevents clients from mistakenly creating duplicate commitments. The request ID 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}/hubs", + "request": { + "$ref": "Hub" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified hub.", + "flatPath": "v1/projects/{projectsId}/locations/global/hubs/{hubsId}", + "httpMethod": "DELETE", + "id": "networkconnectivity.projects.locations.global.hubs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the hub to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/hubs/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A unique request ID (optional). If you specify this ID, you can use it in cases when you need to retry your request. When you need to retry, this ID lets the server know that it can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check to see whether the original operation was received. If it was, the server ignores the second request. This behavior prevents clients from mistakenly creating duplicate commitments. The request ID 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": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details about the specified hub.", + "flatPath": "v1/projects/{projectsId}/locations/global/hubs/{hubsId}", + "httpMethod": "GET", + "id": "networkconnectivity.projects.locations.global.hubs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the hub resource to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/hubs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Hub" + }, + "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/global/hubs/{hubsId}:getIamPolicy", + "httpMethod": "GET", + "id": "networkconnectivity.projects.locations.global.hubs.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/hubs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists hubs in a given project.", + "flatPath": "v1/projects/{projectsId}/locations/global/hubs", + "httpMethod": "GET", + "id": "networkconnectivity.projects.locations.global.hubs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "An expression that filters the results listed in the response.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort the results by a certain order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results per page that should be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource's name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/hubs", + "response": { + "$ref": "ListHubsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the description and/or labels of the specified hub.", + "flatPath": "v1/projects/{projectsId}/locations/global/hubs/{hubsId}", + "httpMethod": "PATCH", + "id": "networkconnectivity.projects.locations.global.hubs.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The name of the hub. Hub names must be unique. They use the following form: `projects/{project_number}/locations/global/hubs/{hub_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/hubs/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A unique request ID (optional). If you specify this ID, you can use it in cases when you need to retry your request. When you need to retry, this ID lets the server know that it can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check to see whether the original operation was received. If it was, the server ignores the second request. This behavior prevents clients from mistakenly creating duplicate commitments. The request 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. In the case of an update to an existing hub, field mask is used to specify the fields to be overwritten. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not provide a mask, then all fields are overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Hub" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/global/hubs/{hubsId}:setIamPolicy", + "httpMethod": "POST", + "id": "networkconnectivity.projects.locations.global.hubs.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/global/hubs/[^/]+$", + "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/global/hubs/{hubsId}:testIamPermissions", + "httpMethod": "POST", + "id": "networkconnectivity.projects.locations.global.hubs.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/global/hubs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "policyBasedRoutes": { + "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/global/policyBasedRoutes/{policyBasedRoutesId}:getIamPolicy", + "httpMethod": "GET", + "id": "networkconnectivity.projects.locations.global.policyBasedRoutes.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/policyBasedRoutes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/global/policyBasedRoutes/{policyBasedRoutesId}:setIamPolicy", + "httpMethod": "POST", + "id": "networkconnectivity.projects.locations.global.policyBasedRoutes.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/global/policyBasedRoutes/[^/]+$", + "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/global/policyBasedRoutes/{policyBasedRoutesId}:testIamPermissions", + "httpMethod": "POST", + "id": "networkconnectivity.projects.locations.global.policyBasedRoutes.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/global/policyBasedRoutes/[^/]+$", + "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": "networkconnectivity.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "GoogleLongrunningCancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "networkconnectivity.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": "networkconnectivity.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. 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": "v1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "networkconnectivity.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/operations", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "spokes": { + "methods": { + "create": { + "description": "Creates a spoke in the specified project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/spokes", + "httpMethod": "POST", + "id": "networkconnectivity.projects.locations.spokes.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A unique request ID (optional). If you specify this ID, you can use it in cases when you need to retry your request. When you need to retry, this ID lets the server know that it can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check to see whether the original operation was received. If it was, the server ignores the second request. This behavior prevents clients from mistakenly creating duplicate commitments. The request ID must be a valid UUID, with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "spokeId": { + "description": "Required. Unique id for the spoke to create.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/spokes", + "request": { + "$ref": "Spoke" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified spoke.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/spokes/{spokesId}", + "httpMethod": "DELETE", + "id": "networkconnectivity.projects.locations.spokes.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the spoke to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/spokes/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A unique request ID (optional). If you specify this ID, you can use it in cases when you need to retry your request. When you need to retry, this ID lets the server know that it can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check to see whether the original operation was received. If it was, the server ignores the second request. This behavior prevents clients from mistakenly creating duplicate commitments. The request ID 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": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details about the specified spoke.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/spokes/{spokesId}", + "httpMethod": "GET", + "id": "networkconnectivity.projects.locations.spokes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the spoke resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/spokes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Spoke" + }, + "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}/spokes/{spokesId}:getIamPolicy", + "httpMethod": "GET", + "id": "networkconnectivity.projects.locations.spokes.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/spokes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the spokes in the specified project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/spokes", + "httpMethod": "GET", + "id": "networkconnectivity.projects.locations.spokes.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "An expression that filters the results listed in the response.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort the results by a certain order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results per page that should be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/spokes", + "response": { + "$ref": "ListSpokesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of the specified spoke.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/spokes/{spokesId}", + "httpMethod": "PATCH", + "id": "networkconnectivity.projects.locations.spokes.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The name of the spoke. Spoke names must be unique. They use the following form: `projects/{project_number}/locations/{region}/spokes/{spoke_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/spokes/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A unique request ID (optional). If you specify this ID, you can use it in cases when you need to retry your request. When you need to retry, this ID lets the server know that it can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check to see whether the original operation was received. If it was, the server ignores the second request. This behavior prevents clients from mistakenly creating duplicate commitments. The request 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. In the case of an update to an existing spoke, field mask is used to specify the fields to be overwritten. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not provide a mask, then all fields are overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Spoke" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/spokes/{spokesId}:setIamPolicy", + "httpMethod": "POST", + "id": "networkconnectivity.projects.locations.spokes.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/[^/]+/spokes/[^/]+$", + "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}/spokes/{spokesId}:testIamPermissions", + "httpMethod": "POST", + "id": "networkconnectivity.projects.locations.spokes.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/[^/]+/spokes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20220210", + "rootUrl": "https://networkconnectivity.googleapis.com/", + "schemas": { + "AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the principals requesting access for a 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 the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", + "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" + }, + "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 response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleRpcStatus": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "GoogleRpcStatus", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "Hub": { + "description": "A hub is a collection of spokes. A single hub can contain spokes from multiple regions. However, if any of a hub's spokes use the data transfer feature, the resources associated with those spokes must all reside in the same VPC network. Spokes that do not use data transfer can be associated with any VPC network in your project.", + "id": "Hub", + "properties": { + "createTime": { + "description": "Output only. The time the hub was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "An optional description of the hub.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).", + "type": "object" + }, + "name": { + "description": "Immutable. The name of the hub. Hub names must be unique. They use the following form: `projects/{project_number}/locations/global/hubs/{hub_id}`", + "type": "string" + }, + "routingVpcs": { + "description": "The VPC networks associated with this hub's spokes. This field is read-only. Network Connectivity Center automatically populates it based on the set of spokes attached to the hub.", + "items": { + "$ref": "RoutingVPC" + }, + "type": "array" + }, + "state": { + "description": "Output only. The current lifecycle state of this hub.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "DELETING" + ], + "enumDescriptions": [ + "No state information available", + "The resource's create operation is in progress", + "The resource is active", + "The resource's Delete operation is in progress" + ], + "readOnly": true, + "type": "string" + }, + "uniqueId": { + "description": "Output only. The Google-generated UUID for the hub. This value is unique across all hub resources. If a hub is deleted and another with the same name is created, the new hub is assigned a different unique_id.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time the hub was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "LinkedInterconnectAttachments": { + "description": "A collection of VLAN attachment resources. These resources should be redundant attachments that all advertise the same prefixes to Google Cloud. Alternatively, in active/passive configurations, all attachments should be capable of advertising the same prefixes.", + "id": "LinkedInterconnectAttachments", + "properties": { + "siteToSiteDataTransfer": { + "description": "A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in [supported locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations).", + "type": "boolean" + }, + "uris": { + "description": "The URIs of linked interconnect attachment resources", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "LinkedRouterApplianceInstances": { + "description": "A collection of router appliance instances. If you configure multiple router appliance instances to receive data from the same set of sites outside of Google Cloud, we recommend that you associate those instances with the same spoke.", + "id": "LinkedRouterApplianceInstances", + "properties": { + "instances": { + "description": "The list of router appliance instances.", + "items": { + "$ref": "RouterApplianceInstance" + }, + "type": "array" + }, + "siteToSiteDataTransfer": { + "description": "A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in [supported locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations).", + "type": "boolean" + } + }, + "type": "object" + }, + "LinkedVpnTunnels": { + "description": "A collection of Cloud VPN tunnel resources. These resources should be redundant HA VPN tunnels that all advertise the same prefixes to Google Cloud. Alternatively, in a passive/active configuration, all tunnels should be capable of advertising the same prefixes.", + "id": "LinkedVpnTunnels", + "properties": { + "siteToSiteDataTransfer": { + "description": "A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in [supported locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations).", + "type": "boolean" + }, + "uris": { + "description": "The URIs of linked VPN tunnel resources.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListHubsResponse": { + "description": "Response for HubService.ListHubs method.", + "id": "ListHubsResponse", + "properties": { + "hubs": { + "description": "The requested hubs.", + "items": { + "$ref": "Hub" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The next pagination token in the List response. It should be used as page_token for the following request. An empty value means no more result.", + "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" + }, + "ListSpokesResponse": { + "description": "The response for HubService.ListSpokes.", + "id": "ListSpokesResponse", + "properties": { + "nextPageToken": { + "description": "The next pagination token in the List response. It should be used as page_token for the following request. An empty value means no more result.", + "type": "string" + }, + "spokes": { + "description": "The requested spokes.", + "items": { + "$ref": "Spoke" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform 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 locations", + "id": "LocationMetadata", + "properties": { + "locationFeatures": { + "description": "List of supported features", + "items": { + "enum": [ + "LOCATION_FEATURE_UNSPECIFIED", + "SITE_TO_CLOUD_SPOKES", + "SITE_TO_SITE_SPOKES" + ], + "enumDescriptions": [ + "No publicly supported feature in this location", + "Site-to-cloud spokes are supported in this location", + "Site-to-site spokes are supported in this location" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "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" + }, + "RouterApplianceInstance": { + "description": "A router appliance instance is a Compute Engine virtual machine (VM) instance that acts as a BGP speaker. A router appliance instance is specified by the URI of the VM and the internal IP address of one of the VM's network interfaces.", + "id": "RouterApplianceInstance", + "properties": { + "ipAddress": { + "description": "The IP address on the VM to use for peering.", + "type": "string" + }, + "virtualMachine": { + "description": "The URI of the VM.", + "type": "string" + } + }, + "type": "object" + }, + "RoutingVPC": { + "description": "RoutingVPC contains information about the VPC networks that are associated with a hub's spokes.", + "id": "RoutingVPC", + "properties": { + "requiredForNewSiteToSiteDataTransferSpokes": { + "description": "Output only. If true, indicates that this VPC network is currently associated with spokes that use the data transfer feature (spokes where the site_to_site_data_transfer field is set to true). If you create new spokes that use data transfer, they must be associated with this VPC network. At most, one VPC network will have this field set to true.", + "readOnly": true, + "type": "boolean" + }, + "uri": { + "description": "The URI of the VPC network.", + "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 Cloud Platform 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" + }, + "Spoke": { + "description": "A spoke represents a connection between your Google Cloud network resources and a non-Google-Cloud network. When you create a spoke, you associate it with a hub. You must also identify a value for exactly one of the following fields: * linked_vpn_tunnels * linked_interconnect_attachments * linked_router_appliance_instances", + "id": "Spoke", + "properties": { + "createTime": { + "description": "Output only. The time the spoke was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "An optional description of the spoke.", + "type": "string" + }, + "hub": { + "description": "Immutable. The name of the hub that this spoke is attached to.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).", + "type": "object" + }, + "linkedInterconnectAttachments": { + "$ref": "LinkedInterconnectAttachments", + "description": "VLAN attachments that are associated with the spoke." + }, + "linkedRouterApplianceInstances": { + "$ref": "LinkedRouterApplianceInstances", + "description": "Router appliance instances that are associated with the spoke." + }, + "linkedVpnTunnels": { + "$ref": "LinkedVpnTunnels", + "description": "VPN tunnels that are associated with the spoke." + }, + "name": { + "description": "Immutable. The name of the spoke. Spoke names must be unique. They use the following form: `projects/{project_number}/locations/{region}/spokes/{spoke_id}`", + "type": "string" + }, + "state": { + "description": "Output only. The current lifecycle state of this spoke.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "DELETING" + ], + "enumDescriptions": [ + "No state information available", + "The resource's create operation is in progress", + "The resource is active", + "The resource's Delete operation is in progress" + ], + "readOnly": true, + "type": "string" + }, + "uniqueId": { + "description": "Output only. The Google-generated UUID for the spoke. This value is unique across all spoke resources. If a spoke is deleted and another with the same name is created, the new spoke is assigned a different unique_id.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time the spoke was last updated.", + "format": "google-datetime", + "readOnly": true, + "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": "Network Connectivity API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/networkconnectivity/v1alpha1/networkconnectivity-api.json b/etc/api/networkconnectivity/v1alpha1/networkconnectivity-api.json index 70a52b0ff9..563016ea73 100644 --- a/etc/api/networkconnectivity/v1alpha1/networkconnectivity-api.json +++ b/etc/api/networkconnectivity/v1alpha1/networkconnectivity-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -12,9 +12,9 @@ "baseUrl": "https://networkconnectivity.googleapis.com/", "batchPath": "batch", "canonicalName": "networkconnectivity", - "description": "The Network Connectivity API will be home to various services which provide information pertaining to network connectivity.", + "description": "The Network Connectivity API provides access to Network Connectivity Center.", "discoveryVersion": "v1", - "documentationLink": "https://cloud.google.com/network-connectivity/docs", + "documentationLink": "https://cloud.google.com/network-connectivity/docs/reference/networkconnectivity/rest", "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -284,7 +284,7 @@ ], "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).", + "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" @@ -462,7 +462,7 @@ ], "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).", + "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" @@ -664,97 +664,6 @@ } } }, - "policyBasedRoutes": { - "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": "v1alpha1/projects/{projectsId}/locations/{locationsId}/policyBasedRoutes/{policyBasedRoutesId}:getIamPolicy", - "httpMethod": "GET", - "id": "networkconnectivity.projects.locations.policyBasedRoutes.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/[^/]+/policyBasedRoutes/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha1/{+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": "v1alpha1/projects/{projectsId}/locations/{locationsId}/policyBasedRoutes/{policyBasedRoutesId}:setIamPolicy", - "httpMethod": "POST", - "id": "networkconnectivity.projects.locations.policyBasedRoutes.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/[^/]+/policyBasedRoutes/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha1/{+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": "v1alpha1/projects/{projectsId}/locations/{locationsId}/policyBasedRoutes/{policyBasedRoutesId}:testIamPermissions", - "httpMethod": "POST", - "id": "networkconnectivity.projects.locations.policyBasedRoutes.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/[^/]+/policyBasedRoutes/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha1/{+resource}:testIamPermissions", - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - }, "spokes": { "methods": { "create": { @@ -860,7 +769,7 @@ ], "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).", + "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" @@ -1029,48 +938,9 @@ } } }, - "revision": "20210324", + "revision": "20220210", "rootUrl": "https://networkconnectivity.googleapis.com/", "schemas": { - "AttributeValue": { - "description": "The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute.", - "id": "AttributeValue", - "properties": { - "boolValue": { - "description": "A Boolean value represented by `true` or `false`.", - "type": "boolean" - }, - "intValue": { - "description": "A 64-bit signed integer.", - "format": "int64", - "type": "string" - }, - "stringValue": { - "$ref": "TruncatableString", - "description": "A string up to 256 bytes long." - } - }, - "type": "object" - }, - "Attributes": { - "description": "A set of attributes, each in the format `[KEY]:[VALUE]`.", - "id": "Attributes", - "properties": { - "attributeMap": { - "additionalProperties": { - "$ref": "AttributeValue" - }, - "description": "The set of attributes. Each attribute's key can be up to 128 bytes long. The value can be a string up to 256 bytes, a signed 64-bit integer, or the Boolean values `true` and `false`. For example: \"/instance_id\": \"my-instance\" \"/http/user_agent\": \"\" \"/http/request_bytes\": 300 \"abc.com/myattribute\": true", - "type": "object" - }, - "droppedAttributesCount": { - "description": "The number of attributes that were discarded. Attributes can be discarded because their keys are too long or because there are too many attributes. If this value is 0 then all attributes are valid.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, "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", @@ -1119,172 +989,34 @@ }, "type": "object" }, - "BillingView": { - "description": "Message for reporting billing requests through Eventstream.", - "id": "BillingView", - "properties": { - "reportRequests": { - "description": "Billing requests to be reported for cloud.eventstream.v2.ResourceEvent Each request contains billing operations to be reported under a service name. See go/billing-view-construction for documentation on constructing billing view report requests.", - "items": { - "$ref": "ReportRequest" - }, - "type": "array" - } - }, - "type": "object" - }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "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" }, - "Distribution": { - "description": "Distribution represents a frequency distribution of double-valued sample points. It contains the size of the population of sample points plus additional optional information: - the arithmetic mean of the samples - the minimum and maximum of the samples - the sum-squared-deviation of the samples, used to compute variance - a histogram of the values of the sample points", - "id": "Distribution", - "properties": { - "bucketCounts": { - "description": "The number of samples in each histogram bucket. `bucket_counts` are optional. If present, they must sum to the `count` value. The buckets are defined below in `bucket_option`. There are N buckets. `bucket_counts[0]` is the number of samples in the underflow bucket. `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples in each of the finite buckets. And `bucket_counts[N] is the number of samples in the overflow bucket. See the comments of `bucket_option` below for more details. Any suffix of trailing zeros may be omitted.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "count": { - "description": "The total number of samples in the distribution. Must be >= 0.", - "format": "int64", - "type": "string" - }, - "exemplars": { - "description": "Example points. Must be in increasing order of `value` field.", - "items": { - "$ref": "Exemplar" - }, - "type": "array" - }, - "explicitBuckets": { - "$ref": "ExplicitBuckets", - "description": "Buckets with arbitrary user-provided width." - }, - "exponentialBuckets": { - "$ref": "ExponentialBuckets", - "description": "Buckets with exponentially growing width." - }, - "linearBuckets": { - "$ref": "LinearBuckets", - "description": "Buckets with constant width." - }, - "maximum": { - "description": "The maximum of the population of values. Ignored if `count` is zero.", - "format": "double", - "type": "number" - }, - "mean": { - "description": "The arithmetic mean of the samples in the distribution. If `count` is zero then this field must be zero.", - "format": "double", - "type": "number" - }, - "minimum": { - "description": "The minimum of the population of values. Ignored if `count` is zero.", - "format": "double", - "type": "number" - }, - "sumOfSquaredDeviation": { - "description": "The sum of squared deviations from the mean: Sum[i=1..count]((x_i - mean)^2) where each x_i is a sample values. If `count` is zero then this field must be zero, otherwise validation of the request fails.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, "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" }, - "Exemplar": { - "description": "Exemplars are example points that may be used to annotate aggregated distribution values. They are metadata that gives information about a particular value added to a Distribution bucket, such as a trace ID that was active when a value was added. They may contain further information, such as a example values and timestamps, origin, etc.", - "id": "Exemplar", - "properties": { - "attachments": { - "description": "Contextual information about the example value. Examples are: Trace: type.googleapis.com/google.monitoring.v3.SpanContext Literal string: type.googleapis.com/google.protobuf.StringValue Labels dropped during aggregation: type.googleapis.com/google.monitoring.v3.DroppedLabels There may be only a single attachment of any given message type in a single exemplar, and this is enforced by the system.", - "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - }, - "type": "array" - }, - "timestamp": { - "description": "The observation (sampling) time of the above value.", - "format": "google-datetime", - "type": "string" - }, - "value": { - "description": "Value of the exemplar point. This value determines to which bucket the exemplar belongs.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "ExplicitBuckets": { - "description": "Describing buckets with arbitrary user-provided width.", - "id": "ExplicitBuckets", - "properties": { - "bounds": { - "description": "'bound' is a list of strictly increasing boundaries between buckets. Note that a list of length N-1 defines N buckets because of fenceposting. See comments on `bucket_options` for details. The i'th finite bucket covers the interval [bound[i-1], bound[i]) where i ranges from 1 to bound_size() - 1. Note that there are no finite buckets at all if 'bound' only contains a single element; in that special case the single bound defines the boundary between the underflow and overflow buckets. bucket number lower bound upper bound i == 0 (underflow) -inf bound[i] 0 < i < bound_size() bound[i-1] bound[i] i == bound_size() (overflow) bound[i-1] +inf", - "items": { - "format": "double", - "type": "number" - }, - "type": "array" - } - }, - "type": "object" - }, - "ExponentialBuckets": { - "description": "Describing buckets with exponentially growing width.", - "id": "ExponentialBuckets", - "properties": { - "growthFactor": { - "description": "The i'th exponential bucket covers the interval [scale * growth_factor^(i-1), scale * growth_factor^i) where i ranges from 1 to num_finite_buckets inclusive. Must be larger than 1.0.", - "format": "double", - "type": "number" - }, - "numFiniteBuckets": { - "description": "The number of finite buckets. With the underflow and overflow buckets, the total number of buckets is `num_finite_buckets` + 2. See comments on `bucket_options` for details.", - "format": "int32", - "type": "integer" - }, - "scale": { - "description": "The i'th exponential bucket covers the interval [scale * growth_factor^(i-1), scale * growth_factor^i) where i ranges from 1 to num_finite_buckets inclusive. Must be > 0.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, "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", @@ -1394,78 +1126,6 @@ }, "type": "object" }, - "HttpRequest": { - "description": "A common proto for logging HTTP requests. Only contains semantics defined by the HTTP specification. Product-specific logging information MUST be defined in a separate message.", - "id": "HttpRequest", - "properties": { - "cacheFillBytes": { - "description": "The number of HTTP response bytes inserted into cache. Set only when a cache fill was attempted.", - "format": "int64", - "type": "string" - }, - "cacheHit": { - "description": "Whether or not an entity was served from cache (with or without validation).", - "type": "boolean" - }, - "cacheLookup": { - "description": "Whether or not a cache lookup was attempted.", - "type": "boolean" - }, - "cacheValidatedWithOriginServer": { - "description": "Whether or not the response was validated with the origin server before being served from cache. This field is only meaningful if `cache_hit` is True.", - "type": "boolean" - }, - "latency": { - "description": "The request processing latency on the server, from the time the request was received until the response was sent.", - "format": "google-duration", - "type": "string" - }, - "protocol": { - "description": "Protocol used for the request. Examples: \"HTTP/1.1\", \"HTTP/2\", \"websocket\"", - "type": "string" - }, - "referer": { - "description": "The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](http://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" - }, "Hub": { "description": "Network Connectivity Center is a hub-and-spoke abstraction for network connectivity management in Google Cloud. It reduces operational complexity through a simple, centralized connectivity management model. Following is the resource message of a hub.", "id": "Hub", @@ -1491,7 +1151,7 @@ "type": "string" }, "spokes": { - "description": "Output only. A list of the URIs of all attached spokes", + "description": "Output only. A list of the URIs of all attached spokes. This field is deprecated and will not be included in future API versions. Call ListSpokes on each region instead.", "items": { "type": "string" }, @@ -1528,28 +1188,6 @@ }, "type": "object" }, - "LinearBuckets": { - "description": "Describing buckets with constant width.", - "id": "LinearBuckets", - "properties": { - "numFiniteBuckets": { - "description": "The number of finite buckets. With the underflow and overflow buckets, the total number of buckets is `num_finite_buckets` + 2. See comments on `bucket_options` for details.", - "format": "int32", - "type": "integer" - }, - "offset": { - "description": "The i'th linear bucket covers the interval [offset + (i-1) * width, offset + i * width) where i ranges from 1 to num_finite_buckets, inclusive.", - "format": "double", - "type": "number" - }, - "width": { - "description": "The i'th linear bucket covers the interval [offset + (i-1) * width, offset + i * width) where i ranges from 1 to num_finite_buckets, inclusive. Must be strictly positive.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, "ListHubsResponse": { "description": "Response for HubService.ListHubs method.", "id": "ListHubsResponse", @@ -1652,327 +1290,6 @@ }, "type": "object" }, - "LogEntry": { - "description": "An individual log entry.", - "id": "LogEntry", - "properties": { - "httpRequest": { - "$ref": "HttpRequest", - "description": "Optional. Information about the HTTP request associated with this log entry, if applicable." - }, - "insertId": { - "description": "A unique ID for the log entry used for deduplication. If omitted, the implementation will generate one based on operation_id.", - "type": "string" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "A set of user-defined (key, value) data that provides additional information about the log entry.", - "type": "object" - }, - "name": { - "description": "Required. The log to which this log entry belongs. Examples: `\"syslog\"`, `\"book_log\"`.", - "type": "string" - }, - "operation": { - "$ref": "LogEntryOperation", - "description": "Optional. Information about an operation associated with the log entry, if applicable." - }, - "protoPayload": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "The log entry payload, represented as a protocol buffer that is expressed as a JSON object. The only accepted type currently is AuditLog.", - "type": "object" - }, - "severity": { - "description": "The severity of the log entry. The default value is `LogSeverity.DEFAULT`.", - "enum": [ - "DEFAULT", - "DEBUG", - "INFO", - "NOTICE", - "WARNING", - "ERROR", - "CRITICAL", - "ALERT", - "EMERGENCY" - ], - "enumDescriptions": [ - "(0) The log entry has no assigned severity level.", - "(100) Debug or trace information.", - "(200) Routine information, such as ongoing status or performance.", - "(300) Normal but significant events, such as start up, shut down, or a configuration change.", - "(400) Warning events might cause problems.", - "(500) Error events are likely to cause problems.", - "(600) Critical events cause more severe problems or outages.", - "(700) A person must take an action immediately.", - "(800) One or more systems are unusable." - ], - "type": "string" - }, - "sourceLocation": { - "$ref": "LogEntrySourceLocation", - "description": "Optional. Source code location information associated with the log entry, if any." - }, - "structPayload": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "The log entry payload, represented as a structure that is expressed as a JSON object.", - "type": "object" - }, - "textPayload": { - "description": "The log entry payload, represented as a Unicode string (UTF-8).", - "type": "string" - }, - "timestamp": { - "description": "The time the event described by the log entry occurred. If omitted, defaults to operation start time.", - "format": "google-datetime", - "type": "string" - }, - "trace": { - "description": "Optional. Resource name of the trace associated with the log entry, if any. If this field contains a relative resource name, you can assume the name is relative to `//tracing.googleapis.com`. Example: `projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824`", - "type": "string" - } - }, - "type": "object" - }, - "LogEntryOperation": { - "description": "Additional information about a potentially long-running operation with which a log entry is associated.", - "id": "LogEntryOperation", - "properties": { - "first": { - "description": "Optional. Set this to True if this is the first log entry in the operation.", - "type": "boolean" - }, - "id": { - "description": "Optional. An arbitrary operation identifier. Log entries with the same identifier are assumed to be part of the same operation.", - "type": "string" - }, - "last": { - "description": "Optional. Set this to True if this is the last log entry in the operation.", - "type": "boolean" - }, - "producer": { - "description": "Optional. An arbitrary producer identifier. The combination of `id` and `producer` must be globally unique. Examples for `producer`: `\"MyDivision.MyBigCompany.com\"`, `\"github.com/MyProject/MyApplication\"`.", - "type": "string" - } - }, - "type": "object" - }, - "LogEntrySourceLocation": { - "description": "Additional information about the source code location that produced the log entry.", - "id": "LogEntrySourceLocation", - "properties": { - "file": { - "description": "Optional. Source file name. Depending on the runtime environment, this might be a simple name or a fully-qualified name.", - "type": "string" - }, - "function": { - "description": "Optional. Human-readable name of the function or method being invoked, with optional context such as the class or package name. This information may be used in contexts such as the logs viewer, where a file and line number are less meaningful. The format can vary by language. For example: `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function` (Python).", - "type": "string" - }, - "line": { - "description": "Optional. Line within the source file. 1-based; 0 indicates no line number available.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "MetricValue": { - "description": "Represents a single metric value.", - "id": "MetricValue", - "properties": { - "boolValue": { - "description": "A boolean value.", - "type": "boolean" - }, - "distributionValue": { - "$ref": "Distribution", - "description": "A distribution value." - }, - "doubleValue": { - "description": "A double precision floating point value.", - "format": "double", - "type": "number" - }, - "endTime": { - "description": "The end of the time period over which this metric value's measurement applies. If not specified, google.api.servicecontrol.v1.Operation.end_time will be used.", - "format": "google-datetime", - "type": "string" - }, - "int64Value": { - "description": "A signed 64-bit integer value.", - "format": "int64", - "type": "string" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "The labels describing the metric value. See comments on google.api.servicecontrol.v1.Operation.labels for the overriding relationship. Note that this map must not contain monitored resource labels.", - "type": "object" - }, - "moneyValue": { - "$ref": "Money", - "description": "A money value." - }, - "startTime": { - "description": "The start of the time period over which this metric value's measurement applies. The time period has different semantics for different metric types (cumulative, delta, and gauge). See the metric definition documentation in the service configuration for details. If not specified, google.api.servicecontrol.v1.Operation.start_time will be used.", - "format": "google-datetime", - "type": "string" - }, - "stringValue": { - "description": "A text string value.", - "type": "string" - } - }, - "type": "object" - }, - "MetricValueSet": { - "description": "Represents a set of metric values in the same metric. Each metric value in the set should have a unique combination of start time, end time, and label values.", - "id": "MetricValueSet", - "properties": { - "metricName": { - "description": "The metric name defined in the service configuration.", - "type": "string" - }, - "metricValues": { - "description": "The values in this metric.", - "items": { - "$ref": "MetricValue" - }, - "type": "array" - } - }, - "type": "object" - }, - "Money": { - "description": "Represents an amount of money with its currency type.", - "id": "Money", - "properties": { - "currencyCode": { - "description": "The three-letter currency code defined in ISO 4217.", - "type": "string" - }, - "nanos": { - "description": "Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", - "format": "int32", - "type": "integer" - }, - "units": { - "description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "Operation": { - "description": "Represents information regarding an operation.", - "id": "Operation", - "properties": { - "consumerId": { - "description": "Identity of the consumer who is using the service. This field should be filled in for the operations initiated by a consumer, but not for service-initiated operations that are not related to a specific consumer. - This can be in one of the following formats: - project:PROJECT_ID, - project`_`number:PROJECT_NUMBER, - projects/PROJECT_ID or PROJECT_NUMBER, - folders/FOLDER_NUMBER, - organizations/ORGANIZATION_NUMBER, - api`_`key:API_KEY.", - "type": "string" - }, - "endTime": { - "description": "End time of the operation. Required when the operation is used in ServiceController.Report, but optional when the operation is used in ServiceController.Check.", - "format": "google-datetime", - "type": "string" - }, - "extensions": { - "description": "Unimplemented.", - "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - }, - "type": "array" - }, - "importance": { - "description": "DO NOT USE. This is an experimental field.", - "enum": [ - "LOW", - "HIGH", - "DEBUG" - ], - "enumDescriptions": [ - "Allows data caching, batching, and aggregation. It provides higher performance with higher data loss risk.", - "Disables data aggregation to minimize data loss. It is for operations that contains significant monetary value or audit trail. This feature only applies to the client libraries.", - "Deprecated. Do not use. Disables data aggregation and enables additional validation logic. It should only be used during the onboarding process. It is only available to Google internal services, and the service must be approved by chemist-dev@google.com in order to use this level." - ], - "type": "string" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Labels describing the operation. Only the following labels are allowed: - Labels describing monitored resources as defined in the service configuration. - Default labels of metric values. When specified, labels defined in the metric value override these default. - The following labels defined by Google Cloud Platform: - `cloud.googleapis.com/location` describing the location where the operation happened, - `servicecontrol.googleapis.com/user_agent` describing the user agent of the API request, - `servicecontrol.googleapis.com/service_agent` describing the service used to handle the API request (e.g. ESP), - `servicecontrol.googleapis.com/platform` describing the platform where the API is served, such as App Engine, Compute Engine, or Kubernetes Engine.", - "type": "object" - }, - "logEntries": { - "description": "Represents information to be logged.", - "items": { - "$ref": "LogEntry" - }, - "type": "array" - }, - "metricValueSets": { - "description": "Represents information about this operation. Each MetricValueSet corresponds to a metric defined in the service configuration. The data type used in the MetricValueSet must agree with the data type specified in the metric definition. Within a single operation, it is not allowed to have more than one MetricValue instances that have the same metric names and identical label value combinations. If a request has such duplicated MetricValue instances, the entire request is rejected with an invalid argument error.", - "items": { - "$ref": "MetricValueSet" - }, - "type": "array" - }, - "operationId": { - "description": "Identity of the operation. This must be unique within the scope of the service that generated the operation. If the service calls Check() and Report() on the same operation, the two calls should carry the same id. UUID version 4 is recommended, though not required. In scenarios where an operation is computed from existing information and an idempotent id is desirable for deduplication purpose, UUID version 5 is recommended. See RFC 4122 for details.", - "type": "string" - }, - "operationName": { - "description": "Fully qualified name of the operation. Reserved for future use.", - "type": "string" - }, - "quotaProperties": { - "$ref": "QuotaProperties", - "description": "Represents the properties needed for quota check. Applicable only if this operation is for a quota check request. If this is not specified, no quota check will be performed." - }, - "resources": { - "description": "The resources that are involved in the operation. The maximum supported number of entries in this field is 100.", - "items": { - "$ref": "ResourceInfo" - }, - "type": "array" - }, - "startTime": { - "description": "Required. Start time of the operation.", - "format": "google-datetime", - "type": "string" - }, - "traceSpans": { - "description": "Unimplemented. A list of Cloud Trace spans. The span names shall contain the id of the destination project which can be either the produce or the consumer project.", - "items": { - "$ref": "TraceSpan" - }, - "type": "array" - }, - "userLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "Private Preview. This feature is only available for approved services. User defined labels for the resource that this operation is associated with.", - "type": "object" - } - }, - "type": "object" - }, "OperationMetadata": { "description": "Represents the metadata of the long-running operation.", "id": "OperationMetadata", @@ -2018,7 +1335,7 @@ "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/).", + "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": { @@ -2029,7 +1346,7 @@ "type": "array" }, "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.", + "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" }, @@ -2048,70 +1365,6 @@ }, "type": "object" }, - "QuotaProperties": { - "description": "Represents the properties needed for quota operations.", - "id": "QuotaProperties", - "properties": { - "quotaMode": { - "description": "Quota mode for this operation.", - "enum": [ - "ACQUIRE", - "ACQUIRE_BEST_EFFORT", - "CHECK", - "RELEASE" - ], - "enumDescriptions": [ - "Decreases available quota by the cost specified for the operation. If cost is higher than available quota, operation fails and returns error.", - "Decreases available quota by the cost specified for the operation. If cost is higher than available quota, operation does not fail and available quota goes down to zero but it returns error.", - "Does not change any available quota. Only checks if there is enough quota. No lock is placed on the checked tokens neither.", - "Increases available quota by the operation cost specified for the operation." - ], - "type": "string" - } - }, - "type": "object" - }, - "ReportRequest": { - "description": "Request message for the Report method.", - "id": "ReportRequest", - "properties": { - "operations": { - "description": "Operations to be reported. Typically the service should report one operation per request. Putting multiple operations into a single request is allowed, but should be used only when multiple operations are natually available at the time of the report. There is no limit on the number of operations in the same ReportRequest, however the ReportRequest size should be no larger than 1MB. See ReportResponse.report_errors for partial failure behavior.", - "items": { - "$ref": "Operation" - }, - "type": "array" - }, - "serviceConfigId": { - "description": "Specifies which version of service config should be used to process the request. If unspecified or no matching version can be found, the latest one will be used.", - "type": "string" - }, - "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.", - "type": "string" - } - }, - "type": "object" - }, - "ResourceInfo": { - "description": "Describes a resource associated with this operation.", - "id": "ResourceInfo", - "properties": { - "resourceContainer": { - "description": "The identifier of the parent of this resource instance. Must be in one of the following formats: - `projects/` - `folders/` - `organizations/`", - "type": "string" - }, - "resourceLocation": { - "description": "The location of the resource. If not empty, the resource will be checked against location policy. The value must be a valid zone, region or multiregion. For example: \"europe-west4\" or \"northamerica-northeast1-a\"", - "type": "string" - }, - "resourceName": { - "description": "Name of the resource. This is used for auditing purposes.", - "type": "string" - } - }, - "type": "object" - }, "RouterApplianceInstance": { "description": "RouterAppliance represents a Router appliance which is specified by a VM URI and a NIC address.", "id": "RouterApplianceInstance", @@ -2252,92 +1505,6 @@ } }, "type": "object" - }, - "TraceSpan": { - "description": "A span represents a single operation within a trace. Spans can be nested to form a trace tree. Often, a trace contains a root span that describes the end-to-end latency, and one or more subspans for its sub-operations. A trace can also contain multiple root spans, or none at all. Spans do not need to be contiguous\u2014there may be gaps or overlaps between spans in a trace.", - "id": "TraceSpan", - "properties": { - "attributes": { - "$ref": "Attributes", - "description": "A set of attributes on the span. You can have up to 32 attributes per span." - }, - "childSpanCount": { - "description": "An optional number of child spans that were generated while this span was active. If set, allows implementation to detect missing child spans.", - "format": "int32", - "type": "integer" - }, - "displayName": { - "$ref": "TruncatableString", - "description": "A description of the span's operation (up to 128 bytes). Stackdriver Trace displays the description in the Google Cloud Platform Console. For example, the display name can be a qualified method name or a file name and a line number where the operation is called. A best practice is to use the same display name within an application and at the same call point. This makes it easier to correlate spans in different traces." - }, - "endTime": { - "description": "The end time of the span. On the client side, this is the time kept by the local machine where the span execution ends. On the server side, this is the time when the server application handler stops running.", - "format": "google-datetime", - "type": "string" - }, - "name": { - "description": "The resource name of the span in the following format: projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/SPAN_ID is a unique identifier for a trace within a project; it is a 32-character hexadecimal encoding of a 16-byte array. [SPAN_ID] is a unique identifier for a span within a trace; it is a 16-character hexadecimal encoding of an 8-byte array.", - "type": "string" - }, - "parentSpanId": { - "description": "The [SPAN_ID] of this span's parent span. If this is a root span, then this field must be empty.", - "type": "string" - }, - "sameProcessAsParentSpan": { - "description": "(Optional) Set this parameter to indicate whether this span is in the same process as its parent. If you do not set this parameter, Stackdriver Trace is unable to take advantage of this helpful information.", - "type": "boolean" - }, - "spanId": { - "description": "The [SPAN_ID] portion of the span's resource name.", - "type": "string" - }, - "spanKind": { - "description": "Distinguishes between spans generated in a particular context. For example, two spans with the same name may be distinguished using `CLIENT` (caller) and `SERVER` (callee) to identify an RPC call.", - "enum": [ - "SPAN_KIND_UNSPECIFIED", - "INTERNAL", - "SERVER", - "CLIENT", - "PRODUCER", - "CONSUMER" - ], - "enumDescriptions": [ - "Unspecified. Do NOT use as default. Implementations MAY assume SpanKind.INTERNAL to be default.", - "Indicates that the span is used internally. Default value.", - "Indicates that the span covers server-side handling of an RPC or other remote network request.", - "Indicates that the span covers the client-side wrapper around an RPC or other remote request.", - "Indicates that the span describes producer sending a message to a broker. Unlike client and server, there is no direct critical path latency relationship between producer and consumer spans (e.g. publishing a message to a pubsub service).", - "Indicates that the span describes consumer receiving a message from a broker. Unlike client and server, there is no direct critical path latency relationship between producer and consumer spans (e.g. receiving a message from a pubsub service subscription)." - ], - "type": "string" - }, - "startTime": { - "description": "The start time of the span. On the client side, this is the time kept by the local machine where the span execution starts. On the server side, this is the time when the server's application handler starts running.", - "format": "google-datetime", - "type": "string" - }, - "status": { - "$ref": "GoogleRpcStatus", - "description": "An optional final status for this span." - } - }, - "type": "object" - }, - "TruncatableString": { - "description": "Represents a string that might be shortened to a specified length.", - "id": "TruncatableString", - "properties": { - "truncatedByteCount": { - "description": "The number of bytes removed from the original string. If this value is 0, then the string was not shortened.", - "format": "int32", - "type": "integer" - }, - "value": { - "description": "The shortened string. For example, if the original string is 500 bytes long and the limit of the string is 128 bytes, then `value` contains the first 128 bytes of the 500-byte string. Truncation always happens on a UTF8 character boundary. If there are multi-byte characters in the string, then the length of the shortened string might be less than the size limit.", - "type": "string" - } - }, - "type": "object" } }, "servicePath": "", diff --git a/etc/api/networkmanagement/v1/networkmanagement-api.json b/etc/api/networkmanagement/v1/networkmanagement-api.json index ad158bcab9..8b6bfaeeb9 100644 --- a/etc/api/networkmanagement/v1/networkmanagement-api.json +++ b/etc/api/networkmanagement/v1/networkmanagement-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -274,7 +274,7 @@ ], "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).", + "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" @@ -591,7 +591,7 @@ } } }, - "revision": "20210325", + "revision": "20220223", "rootUrl": "https://networkmanagement.googleapis.com/", "schemas": { "AbortInfo": { @@ -611,7 +611,12 @@ "NO_EXTERNAL_IP", "UNINTENDED_DESTINATION", "TRACE_TOO_LONG", - "INTERNAL_ERROR" + "INTERNAL_ERROR", + "SOURCE_ENDPOINT_NOT_FOUND", + "MISMATCHED_SOURCE_NETWORK", + "DESTINATION_ENDPOINT_NOT_FOUND", + "MISMATCHED_DESTINATION_NETWORK", + "UNSUPPORTED" ], "enumDescriptions": [ "Cause is unspecified.", @@ -624,7 +629,12 @@ "Aborted because traffic is sent from a public IP to an instance without an external IP.", "Aborted because none of the traces matches destination information specified in the input test request.", "Aborted because the number of steps in the trace exceeding a certain limit which may be caused by routing loop.", - "Aborted due to internal server error." + "Aborted due to internal server error.", + "Aborted because the source endpoint could not be found.", + "Aborted because the source network does not match the source endpoint.", + "Aborted because the destination endpoint could not be found.", + "Aborted because the destination network does not match the destination endpoint.", + "Aborted because the test scenario is not supported." ], "type": "string" }, @@ -684,22 +694,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -711,6 +721,37 @@ "properties": {}, "type": "object" }, + "CloudSQLInstanceInfo": { + "description": "For display only. Metadata associated with a Cloud SQL instance.", + "id": "CloudSQLInstanceInfo", + "properties": { + "displayName": { + "description": "Name of a Cloud SQL instance.", + "type": "string" + }, + "externalIp": { + "description": "External IP address of a Cloud SQL instance.", + "type": "string" + }, + "internalIp": { + "description": "Internal IP address of a Cloud SQL instance.", + "type": "string" + }, + "networkUri": { + "description": "URI of a Cloud SQL instance network or empty string if the instance does not have one.", + "type": "string" + }, + "region": { + "description": "Region in which the Cloud SQL instance is running.", + "type": "string" + }, + "uri": { + "description": "URI of a Cloud SQL instance.", + "type": "string" + } + }, + "type": "object" + }, "ConnectivityTest": { "description": "A Connectivity Test for a network reachability analysis.", "id": "ConnectivityTest", @@ -788,13 +829,17 @@ "TARGET_UNSPECIFIED", "INSTANCE", "INTERNET", - "GOOGLE_API" + "GOOGLE_API", + "GKE_MASTER", + "CLOUD_SQL_INSTANCE" ], "enumDescriptions": [ "Target not specified.", "Target is a Compute Engine instance.", - "Target is the Internet.", - "Target is a Google API." + "Target is the internet.", + "Target is a Google API.", + "Target is a Google Kubernetes Engine cluster master.", + "Target is a Cloud SQL instance." ], "type": "string" } @@ -824,26 +869,36 @@ "FIREWALL_BLOCKING_LOAD_BALANCER_BACKEND_HEALTH_CHECK", "INSTANCE_NOT_RUNNING", "TRAFFIC_TYPE_BLOCKED", - "GKE_MASTER_UNAUTHORIZED_ACCESS" + "GKE_MASTER_UNAUTHORIZED_ACCESS", + "CLOUD_SQL_INSTANCE_UNAUTHORIZED_ACCESS", + "DROPPED_INSIDE_GKE_SERVICE", + "DROPPED_INSIDE_CLOUD_SQL_SERVICE", + "GOOGLE_MANAGED_SERVICE_NO_PEERING", + "CLOUD_SQL_INSTANCE_NO_IP_ADDRESS" ], "enumDescriptions": [ "Cause is unspecified.", - "Destination external address cannot be resolved to a known target. If the address is used in a GCP project, provide the project ID as test input.", - "A Compute Engine instance can send or receive a packet with a foreign IP only if ip_forward is enabled.", + "Destination external address cannot be resolved to a known target. If the address is used in a Google Cloud project, provide the project ID as test input.", + "A Compute Engine instance can only send or receive a packet with a foreign IP address if ip_forward is enabled.", "Dropped due to a firewall rule, unless allowed due to connection tracking.", "Dropped due to no routes.", "Dropped due to invalid route. Route's next hop is a blackhole.", "Packet is sent to a wrong (unintended) network. Example: you trace a packet from VM1:Network1 to VM2:Network2, however, the route configured in Network1 sends the packet destined for VM2's IP addresss to Network3.", - "Packet with internal destination address sent to Internet gateway.", - "Instance with only an internal IP tries to access Google API and Services, and private Google access is not enabled.", - "Instance with only internal IP tries to access external hosts, but Cloud NAT is not enabled in the subnet, unless special configurations on a VM allows this connection. See [Special Configurations for VM instances](/vpc/docs/special-configurations) for details.", + "Packet with internal destination address sent to the internet gateway.", + "Instance with only an internal IP address tries to access Google API and services, but private Google access is not enabled.", + "Instance with only an internal IP address tries to access external hosts, but Cloud NAT is not enabled in the subnet, unless special configurations on a VM allow this connection.", "Destination internal address cannot be resolved to a known target. If this is a shared VPC scenario, verify if the service project ID is provided as test input. Otherwise, verify if the IP address is being used in the project.", "Forwarding rule's protocol and ports do not match the packet header.", "Forwarding rule does not have backends configured.", - "Firewalls block the health check probes to the backends and cause the backends to be unavailable for traffic from the load balancer. See [Health check firewall rules](/load-balancing/docs/health-checks#firewall_rules) for more details.", + "Firewalls block the health check probes to the backends and cause the backends to be unavailable for traffic from the load balancer. For more details, see [Health check firewall rules](https://cloud.google.com/load-balancing/docs/health-checks#firewall_rules).", "Packet is sent from or to a Compute Engine instance that is not in a running state.", - "The type of traffic is blocked and the user cannot configure a firewall rule to enable it. See [Always blocked traffic](/vpc/docs/firewalls#blockedtraffic) for more details.", - "Access to GKE master's endpoint is not authorized. See [Access to the cluster endpoints](/docs/how-to/private-clusters#access_to_the_cluster_endpoints) for more details." + "The type of traffic is blocked and the user cannot configure a firewall rule to enable it. See [Always blocked traffic](https://cloud.google.com/vpc/docs/firewalls#blockedtraffic) for more details.", + "Access to Google Kubernetes Engine cluster master's endpoint is not authorized. See [Access to the cluster endpoints](https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters#access_to_the_cluster_endpoints) for more details.", + "Access to the Cloud SQL instance endpoint is not authorized. See [Authorizing with authorized networks](https://cloud.google.com/sql/docs/mysql/authorize-networks) for more details.", + "Packet was dropped inside Google Kubernetes Engine Service.", + "Packet was dropped inside Cloud SQL Service.", + "Packet was dropped because there is no peering between the originating network and the Google Managed Services Network.", + "Packet was dropped because the Cloud SQL instance has neither a private nor a public IP address." ], "type": "string" }, @@ -864,6 +919,14 @@ "description": "Source or destination of the Connectivity Test.", "id": "Endpoint", "properties": { + "cloudSqlInstance": { + "description": "A [Cloud SQL](https://cloud.google.com/sql) instance URI.", + "type": "string" + }, + "gkeMasterCluster": { + "description": "A cluster URI for [Google Kubernetes Engine master](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture).", + "type": "string" + }, "instance": { "description": "A Compute Engine instance URI.", "type": "string" @@ -988,7 +1051,7 @@ ], "enumDescriptions": [ "Unspecified type.", - "Hierarchical firewall policy rule. For details, see [Hierarchical firewall policy rules](https://cloud.google.com/vpc/docs/firewall-policies).", + "Hierarchical firewall policy rule. For details, see [Hierarchical firewall policies overview](https://cloud.google.com/vpc/docs/firewall-policies).", "VPC firewall rule. For details, see [VPC firewall rules overview](https://cloud.google.com/vpc/docs/firewalls).", "Implied VPC firewall rule. For details, see [Implied rules](https://cloud.google.com/vpc/docs/firewalls#default_firewall_rules)." ], @@ -1044,7 +1107,8 @@ "VPN_GATEWAY", "INTERCONNECT", "GKE_MASTER", - "IMPORTED_CUSTOM_ROUTE_NEXT_HOP" + "IMPORTED_CUSTOM_ROUTE_NEXT_HOP", + "CLOUD_SQL_INSTANCE" ], "enumDescriptions": [ "Target not specified.", @@ -1052,7 +1116,8 @@ "Forwarded to a Cloud VPN gateway.", "Forwarded to a Cloud Interconnect connection.", "Forwarded to a Google Kubernetes Engine Container cluster master.", - "Forwarded to the next hop of a custom route imported from a peering VPC." + "Forwarded to the next hop of a custom route imported from a peering VPC.", + "Forwarded to a Cloud SQL instance." ], "type": "string" } @@ -1094,6 +1159,29 @@ }, "type": "object" }, + "GKEMasterInfo": { + "description": "For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master.", + "id": "GKEMasterInfo", + "properties": { + "clusterNetworkUri": { + "description": "URI of a GKE cluster network.", + "type": "string" + }, + "clusterUri": { + "description": "URI of a GKE cluster.", + "type": "string" + }, + "externalIp": { + "description": "External IP address of a GKE cluster master.", + "type": "string" + }, + "internalIp": { + "description": "Internal IP address of a GKE cluster master.", + "type": "string" + } + }, + "type": "object" + }, "InstanceInfo": { "description": "For display only. Metadata associated with a Compute Engine instance.", "id": "InstanceInfo", @@ -1422,7 +1510,7 @@ "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/).", + "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": { @@ -1433,7 +1521,7 @@ "type": "array" }, "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.", + "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" }, @@ -1539,7 +1627,8 @@ "NEXT_HOP_VPN_GATEWAY", "NEXT_HOP_INTERNET_GATEWAY", "NEXT_HOP_BLACKHOLE", - "NEXT_HOP_ILB" + "NEXT_HOP_ILB", + "NEXT_HOP_ROUTER_APPLIANCE" ], "enumDescriptions": [ "Unspecified type. Default value.", @@ -1549,10 +1638,11 @@ "Next hop is a peering VPC.", "Next hop is an interconnect.", "Next hop is a VPN tunnel.", - "Next hop is a VPN Gateway. This scenario happens only when tracing connectivity from an on-premises network to GCP through a VPN. The analysis simulates a packet departing from the on-premises network through a VPN tunnel and arriving at a Cloud VPN gateway.", + "Next hop is a VPN gateway. This scenario only happens when tracing connectivity from an on-premises network to Google Cloud through a VPN. The analysis simulates a packet departing from the on-premises network through a VPN tunnel and arriving at a Cloud VPN gateway.", "Next hop is an internet gateway.", "Next hop is blackhole; that is, the next hop either does not exist or is not running.", - "Next hop is the forwarding rule of an Internal Load Balancer." + "Next hop is the forwarding rule of an Internal Load Balancer.", + "Next hop is a [router appliance instance](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/ra-overview)." ], "type": "string" }, @@ -1575,7 +1665,7 @@ "enumDescriptions": [ "Unspecified type. Default value.", "Route is a subnet route automatically created by the system.", - "Static route created by the user, including the default route to the Internet.", + "Static route created by the user, including the default route to the internet.", "Dynamic route exchanged between BGP peers.", "A subnet route received from peering network.", "A static route received from peering network.", @@ -1639,15 +1729,19 @@ "properties": { "abort": { "$ref": "AbortInfo", - "description": "Display info of the final state \"abort\" and reason." + "description": "Display information of the final state \"abort\" and reason." }, "causesDrop": { "description": "This is a step that leads to the final state Drop.", "type": "boolean" }, + "cloudSqlInstance": { + "$ref": "CloudSQLInstanceInfo", + "description": "Display information of a Cloud SQL instance." + }, "deliver": { "$ref": "DeliverInfo", - "description": "Display info of the final state \"deliver\" and reason." + "description": "Display information of the final state \"deliver\" and reason." }, "description": { "description": "A description of the step. Usually this is a summary of the state.", @@ -1655,35 +1749,39 @@ }, "drop": { "$ref": "DropInfo", - "description": "Display info of the final state \"drop\" and reason." + "description": "Display information of the final state \"drop\" and reason." }, "endpoint": { "$ref": "EndpointInfo", - "description": "Display info of the source and destination under analysis. The endpoint info in an intermediate state may differ with the initial input, as it might be modified by state like NAT, or Connection Proxy." + "description": "Display information of the source and destination under analysis. The endpoint information in an intermediate state may differ with the initial input, as it might be modified by state like NAT, or Connection Proxy." }, "firewall": { "$ref": "FirewallInfo", - "description": "Display info of a Compute Engine firewall rule." + "description": "Display information of a Compute Engine firewall rule." }, "forward": { "$ref": "ForwardInfo", - "description": "Display info of the final state \"forward\" and reason." + "description": "Display information of the final state \"forward\" and reason." }, "forwardingRule": { "$ref": "ForwardingRuleInfo", - "description": "Display info of a Compute Engine forwarding rule." + "description": "Display information of a Compute Engine forwarding rule." + }, + "gkeMaster": { + "$ref": "GKEMasterInfo", + "description": "Display information of a Google Kubernetes Engine cluster master." }, "instance": { "$ref": "InstanceInfo", - "description": "Display info of a Compute Engine instance." + "description": "Display information of a Compute Engine instance." }, "loadBalancer": { "$ref": "LoadBalancerInfo", - "description": "Display info of the load balancers." + "description": "Display information of the load balancers." }, "network": { "$ref": "NetworkInfo", - "description": "Display info of a GCP network." + "description": "Display information of a Google Cloud network." }, "projectId": { "description": "Project ID that contains the configuration this step is validating.", @@ -1691,7 +1789,7 @@ }, "route": { "$ref": "RouteInfo", - "description": "Display info of a Compute Engine route." + "description": "Display information of a Compute Engine route." }, "state": { "description": "Each step is in one of the pre-defined states.", @@ -1700,6 +1798,8 @@ "START_FROM_INSTANCE", "START_FROM_INTERNET", "START_FROM_PRIVATE_NETWORK", + "START_FROM_GKE_MASTER", + "START_FROM_CLOUD_SQL_INSTANCE", "APPLY_INGRESS_FIREWALL_RULE", "APPLY_EGRESS_FIREWALL_RULE", "APPLY_ROUTE", @@ -1720,9 +1820,11 @@ ], "enumDescriptions": [ "Unspecified state.", - "Initial state: packet originating from a Compute Engine instance. An InstanceInfo will be populated with starting instance info.", - "Initial state: packet originating from Internet. The endpoint info will be populated.", - "Initial state: packet originating from a VPC or on-premises network with internal source IP. If the source is a VPC network visible to the user, a NetworkInfo will be populated with details of the network.", + "Initial state: packet originating from a Compute Engine instance. An InstanceInfo is populated with starting instance information.", + "Initial state: packet originating from the internet. The endpoint information is populated.", + "Initial state: packet originating from a VPC or on-premises network with internal source IP. If the source is a VPC network visible to the user, a NetworkInfo is populated with details of the network.", + "Initial state: packet originating from a Google Kubernetes Engine cluster master. A GKEMasterInfo is populated with starting instance information.", + "Initial state: packet originating from a Cloud SQL instance. A CloudSQLInstanceInfo is populated with starting instance information.", "Config checking state: verify ingress firewall rule.", "Config checking state: verify egress firewall rule.", "Config checking state: verify route.", @@ -1736,7 +1838,7 @@ "Transition state: packet header translated.", "Transition state: original connection is terminated and a new proxied connection is initiated.", "Final state: packet could be delivered.", - "Final state: packet coud be dropped.", + "Final state: packet could be dropped.", "Final state: packet could be forwarded to a network with an unknown configuration.", "Final state: analysis is aborted.", "Special state: viewer of the test result does not have permission to see the configuration in this step." @@ -1745,11 +1847,11 @@ }, "vpnGateway": { "$ref": "VpnGatewayInfo", - "description": "Display info of a Compute Engine VPN gateway." + "description": "Display information of a Compute Engine VPN gateway." }, "vpnTunnel": { "$ref": "VpnTunnelInfo", - "description": "Display info of a Compute Engine VPN tunnel." + "description": "Display information of a Compute Engine VPN tunnel." } }, "type": "object" @@ -1783,12 +1885,12 @@ "type": "object" }, "Trace": { - "description": "Trace represents one simulated packet forwarding path. * Each trace contains multiple ordered Steps. * Each step is in a particular state with associated configuration. * State is categorized as final or non-final states. * Each final state has a reason associated. * Each trace must end with a final state (the last step). ``` |---------------------Trace----------------------| Step1(State) Step2(State) --- StepN(State(final)) ```", + "description": "Trace represents one simulated packet forwarding path. * Each trace contains multiple ordered steps. * Each step is in a particular state with associated configuration. * State is categorized as final or non-final states. * Each final state has a reason associated. * Each trace must end with a final state (the last step). ``` |---------------------Trace----------------------| Step1(State) Step2(State) --- StepN(State(final)) ```", "id": "Trace", "properties": { "endpointInfo": { "$ref": "EndpointInfo", - "description": "Derived from the source and destination endpoints definition, and validated by the data plane model. If there are multiple traces starting from different source locations, then the endpoint_info may be different between traces." + "description": "Derived from the source and destination endpoints definition specified by user request, and validated by the data plane model. If there are multiple traces starting from different source locations, then the endpoint_info may be different between traces." }, "steps": { "description": "A trace of a test contains multiple steps from the initial state to the final state (delivered, dropped, forwarded, or aborted). The steps are ordered by the processing sequence within the simulated network state machine. It is critical to preserve the order of the steps and avoid reordering or sorting them.", @@ -1817,7 +1919,7 @@ "type": "string" }, "region": { - "description": "Name of a GCP region where this VPN gateway is configured.", + "description": "Name of a Google Cloud region where this VPN gateway is configured.", "type": "string" }, "uri": { @@ -1844,7 +1946,7 @@ "type": "string" }, "region": { - "description": "Name of a GCP region where this VPN tunnel is configured.", + "description": "Name of a Google Cloud region where this VPN tunnel is configured.", "type": "string" }, "remoteGateway": { diff --git a/etc/api/networkmanagement/v1beta1/networkmanagement-api.json b/etc/api/networkmanagement/v1beta1/networkmanagement-api.json index f14e496e33..a1e11095ad 100644 --- a/etc/api/networkmanagement/v1beta1/networkmanagement-api.json +++ b/etc/api/networkmanagement/v1beta1/networkmanagement-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -274,7 +274,7 @@ ], "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).", + "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" @@ -591,7 +591,7 @@ } } }, - "revision": "20210325", + "revision": "20220223", "rootUrl": "https://networkmanagement.googleapis.com/", "schemas": { "AbortInfo": { @@ -611,7 +611,12 @@ "NO_EXTERNAL_IP", "UNINTENDED_DESTINATION", "TRACE_TOO_LONG", - "INTERNAL_ERROR" + "INTERNAL_ERROR", + "SOURCE_ENDPOINT_NOT_FOUND", + "MISMATCHED_SOURCE_NETWORK", + "DESTINATION_ENDPOINT_NOT_FOUND", + "MISMATCHED_DESTINATION_NETWORK", + "UNSUPPORTED" ], "enumDescriptions": [ "Cause is unspecified.", @@ -624,7 +629,12 @@ "Aborted because traffic is sent from a public IP to an instance without an external IP.", "Aborted because none of the traces matches destination information specified in the input test request.", "Aborted because the number of steps in the trace exceeding a certain limit which may be caused by routing loop.", - "Aborted due to internal server error." + "Aborted due to internal server error.", + "Aborted because the source endpoint could not be found.", + "Aborted because the source network does not match the source endpoint.", + "Aborted because the destination endpoint could not be found.", + "Aborted because the destination network does not match the destination endpoint.", + "Aborted because the test scenario is not supported." ], "type": "string" }, @@ -635,6 +645,29 @@ }, "type": "object" }, + "AppEngineVersionInfo": { + "description": "For display only. Metadata associated with an App Engine version.", + "id": "AppEngineVersionInfo", + "properties": { + "displayName": { + "description": "Name of an App Engine version.", + "type": "string" + }, + "environment": { + "description": "App Engine execution environment for a version.", + "type": "string" + }, + "runtime": { + "description": "Runtime of the App Engine version.", + "type": "string" + }, + "uri": { + "description": "URI of an App Engine version.", + "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", @@ -684,22 +717,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -711,6 +744,41 @@ "properties": {}, "type": "object" }, + "CloudFunctionEndpoint": { + "description": "Wrapper for cloud function attributes.", + "id": "CloudFunctionEndpoint", + "properties": { + "uri": { + "description": "A [Cloud function](https://cloud.google.com/functions) name.", + "type": "string" + } + }, + "type": "object" + }, + "CloudFunctionInfo": { + "description": "For display only. Metadata associated with a Cloud function.", + "id": "CloudFunctionInfo", + "properties": { + "displayName": { + "description": "Name of a Cloud function.", + "type": "string" + }, + "location": { + "description": "Location in which the Cloud function is deployed.", + "type": "string" + }, + "uri": { + "description": "URI of a Cloud function.", + "type": "string" + }, + "versionId": { + "description": "Latest successfully deployed version id of the Cloud function.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "CloudSQLInstanceInfo": { "description": "For display only. Metadata associated with a Cloud SQL instance.", "id": "CloudSQLInstanceInfo", @@ -720,15 +788,15 @@ "type": "string" }, "externalIp": { - "description": "External IP address of Cloud SQL instance.", + "description": "External IP address of a Cloud SQL instance.", "type": "string" }, "internalIp": { - "description": "Internal IP address of Cloud SQL instance.", + "description": "Internal IP address of a Cloud SQL instance.", "type": "string" }, "networkUri": { - "description": "URI of a Cloud SQL instance network or empty string if instance does not have one.", + "description": "URI of a Cloud SQL instance network or empty string if the instance does not have one.", "type": "string" }, "region": { @@ -826,15 +894,21 @@ "INTERNET", "GOOGLE_API", "GKE_MASTER", - "CLOUD_SQL_INSTANCE" + "CLOUD_SQL_INSTANCE", + "PSC_PUBLISHED_SERVICE", + "PSC_GOOGLE_API", + "PSC_VPC_SC" ], "enumDescriptions": [ "Target not specified.", "Target is a Compute Engine instance.", - "Target is the Internet.", + "Target is the internet.", "Target is a Google API.", "Target is a Google Kubernetes Engine cluster master.", - "Target is a Cloud SQL instance." + "Target is a Cloud SQL instance.", + "Target is a published service using [Private Service Connect](https://cloud.google.com/vpc/docs/configure-private-service-connect-services).", + "Target is all Google APIs using [Private Service Connect](https://cloud.google.com/vpc/docs/configure-private-service-connect-apis).", + "Target is VPC-SC using [Private Service Connect](https://cloud.google.com/vpc/docs/configure-private-service-connect-apis)." ], "type": "string" } @@ -867,29 +941,43 @@ "GKE_MASTER_UNAUTHORIZED_ACCESS", "CLOUD_SQL_INSTANCE_UNAUTHORIZED_ACCESS", "DROPPED_INSIDE_GKE_SERVICE", - "DROPPED_INSIDE_CLOUD_SQL_SERVICE" + "DROPPED_INSIDE_CLOUD_SQL_SERVICE", + "GOOGLE_MANAGED_SERVICE_NO_PEERING", + "CLOUD_SQL_INSTANCE_NO_IP_ADDRESS", + "CLOUD_FUNCTION_NOT_ACTIVE", + "VPC_CONNECTOR_NOT_SET", + "VPC_CONNECTOR_NOT_RUNNING", + "FORWARDING_RULE_REGION_MISMATCH", + "PSC_CONNECTION_NOT_ACCEPTED" ], "enumDescriptions": [ "Cause is unspecified.", - "Destination external address cannot be resolved to a known target. If the address is used in a GCP project, provide the project ID as test input.", - "a Compute Engine instance can only send or receive a packet with a foreign IP if ip_forward is enabled.", + "Destination external address cannot be resolved to a known target. If the address is used in a Google Cloud project, provide the project ID as test input.", + "a Compute Engine instance can only send or receive a packet with a foreign IP address if ip_forward is enabled.", "Dropped due to a firewall rule, unless allowed due to connection tracking.", "Dropped due to no routes.", "Dropped due to invalid route. Route's next hop is a blackhole.", "Packet is sent to a wrong (unintended) network. Example: you trace a packet from VM1:Network1 to VM2:Network2, however, the route configured in Network1 sends the packet destined for VM2's IP addresss to Network3.", - "Packet with internal destination address sent to Internet gateway.", - "Instance with only an internal IP tries to access Google API and Services, but private Google access is not enabled.", - "Instance with only internal IP tries to access external hosts, but Cloud NAT is not enabled in the subnet, unless special configurations on a VM allows this connection. See [Special Configurations for VM instances](https://cloud.google.com/vpc/docs/special-configurations) for more details.", + "Packet with internal destination address sent to the internet gateway.", + "Instance with only an internal IP address tries to access Google API and services, but private Google access is not enabled.", + "Instance with only an internal IP address tries to access external hosts, but Cloud NAT is not enabled in the subnet, unless special configurations on a VM allow this connection.", "Destination internal address cannot be resolved to a known target. If this is a shared VPC scenario, verify if the service project ID is provided as test input. Otherwise, verify if the IP address is being used in the project.", "Forwarding rule's protocol and ports do not match the packet header.", "Forwarding rule does not have backends configured.", - "Firewalls block the health check probes to the backends and cause the backends to be unavailable for traffic from the load balancer. See [Health check firewall rules](https://cloud.google.com/load-balancing/docs/health-checks#firewall_rules) for more details.", + "Firewalls block the health check probes to the backends and cause the backends to be unavailable for traffic from the load balancer. For more details, see [Health check firewall rules](https://cloud.google.com/load-balancing/docs/health-checks#firewall_rules).", "Packet is sent from or to a Compute Engine instance that is not in a running state.", "The type of traffic is blocked and the user cannot configure a firewall rule to enable it. See [Always blocked traffic](https://cloud.google.com/vpc/docs/firewalls#blockedtraffic) for more details.", "Access to Google Kubernetes Engine cluster master's endpoint is not authorized. See [Access to the cluster endpoints](https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters#access_to_the_cluster_endpoints) for more details.", "Access to the Cloud SQL instance endpoint is not authorized. See [Authorizing with authorized networks](https://cloud.google.com/sql/docs/mysql/authorize-networks) for more details.", "Packet was dropped inside Google Kubernetes Engine Service.", - "Packet was dropped inside Cloud SQL Service." + "Packet was dropped inside Cloud SQL Service.", + "Packet was dropped because there is no peering between the originating network and the Google Managed Services Network.", + "Packet was dropped because the Cloud SQL instance has neither a private nor a public IP address.", + "Packet could be dropped because the Cloud function is not in an active status.", + "Packet could be dropped because no VPC connector is set.", + "Packet could be dropped because the VPC connector is not in a running state.", + "Packet could be dropped because it was sent from a different region to a regional forwarding without global access.", + "Privte Service Connect (PSC) connection is not in accepted state." ], "type": "string" }, @@ -910,6 +998,10 @@ "description": "Source or destination of the Connectivity Test.", "id": "Endpoint", "properties": { + "cloudFunction": { + "$ref": "CloudFunctionEndpoint", + "description": "A [Cloud function](https://cloud.google.com/functions)." + }, "cloudSqlInstance": { "description": "A [Cloud SQL](https://cloud.google.com/sql) instance URI.", "type": "string" @@ -977,6 +1069,10 @@ "description": "IP protocol in string format, for example: \"TCP\", \"UDP\", \"ICMP\".", "type": "string" }, + "sourceAgentUri": { + "description": "URI of the source telemetry agent this packet originates from.", + "type": "string" + }, "sourceIp": { "description": "Source IP address.", "type": "string" @@ -1042,7 +1138,7 @@ ], "enumDescriptions": [ "Unspecified type.", - "Hierarchical firewall policy rule. For details, see [Hierarchical firewall policy rules](https://cloud.google.com/vpc/docs/firewall-policies).", + "Hierarchical firewall policy rule. For details, see [Hierarchical firewall policies overview](https://cloud.google.com/vpc/docs/firewall-policies).", "VPC firewall rule. For details, see [VPC firewall rules overview](https://cloud.google.com/vpc/docs/firewalls).", "Implied VPC firewall rule. For details, see [Implied rules](https://cloud.google.com/vpc/docs/firewalls#default_firewall_rules)." ], @@ -1108,7 +1204,7 @@ "Forwarded to a Cloud Interconnect connection.", "Forwarded to a Google Kubernetes Engine Container cluster master.", "Forwarded to the next hop of a custom route imported from a peering VPC.", - "Forwarded to a Cloud SQL Instance." + "Forwarded to a Cloud SQL instance." ], "type": "string" } @@ -1151,23 +1247,23 @@ "type": "object" }, "GKEMasterInfo": { - "description": "For display only. Metadata associated with a Google Kubernetes Engine cluster master.", + "description": "For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master.", "id": "GKEMasterInfo", "properties": { "clusterNetworkUri": { - "description": "URI of a Google Kubernetes Engine cluster network.", + "description": "URI of a GKE cluster network.", "type": "string" }, "clusterUri": { - "description": "URI of a Google Kubernetes Engine cluster.", + "description": "URI of a GKE cluster.", "type": "string" }, "externalIp": { - "description": "External IP address of a Google Kubernetes Engine cluster master.", + "description": "External IP address of a GKE cluster master.", "type": "string" }, "internalIp": { - "description": "Internal IP address of a Google Kubernetes Engine cluster master.", + "description": "Internal IP address of a GKE cluster master.", "type": "string" } }, @@ -1532,7 +1628,7 @@ "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/).", + "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": { @@ -1543,7 +1639,7 @@ "type": "array" }, "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.", + "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" }, @@ -1715,7 +1811,8 @@ "NEXT_HOP_VPN_GATEWAY", "NEXT_HOP_INTERNET_GATEWAY", "NEXT_HOP_BLACKHOLE", - "NEXT_HOP_ILB" + "NEXT_HOP_ILB", + "NEXT_HOP_ROUTER_APPLIANCE" ], "enumDescriptions": [ "Unspecified type. Default value.", @@ -1725,10 +1822,11 @@ "Next hop is a peering VPC.", "Next hop is an interconnect.", "Next hop is a VPN tunnel.", - "Next hop is a VPN Gateway. This scenario only happens when tracing connectivity from an on-premises network to GCP through a VPN. The analysis simulates a packet departing from the on-premises network through a VPN tunnel and arriving at a Cloud VPN gateway.", + "Next hop is a VPN gateway. This scenario only happens when tracing connectivity from an on-premises network to Google Cloud through a VPN. The analysis simulates a packet departing from the on-premises network through a VPN tunnel and arriving at a Cloud VPN gateway.", "Next hop is an internet gateway.", "Next hop is blackhole; that is, the next hop either does not exist or is not running.", - "Next hop is the forwarding rule of an Internal Load Balancer." + "Next hop is the forwarding rule of an Internal Load Balancer.", + "Next hop is a [router appliance instance](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/ra-overview)." ], "type": "string" }, @@ -1751,7 +1849,7 @@ "enumDescriptions": [ "Unspecified type. Default value.", "Route is a subnet route automatically created by the system.", - "Static route created by the user including the default route to the Internet.", + "Static route created by the user, including the default route to the internet.", "Dynamic route exchanged between BGP peers.", "A subnet route received from peering network.", "A static route received from peering network.", @@ -1815,19 +1913,27 @@ "properties": { "abort": { "$ref": "AbortInfo", - "description": "Display info of the final state \"abort\" and reason." + "description": "Display information of the final state \"abort\" and reason." + }, + "appEngineVersionInfo": { + "$ref": "AppEngineVersionInfo", + "description": "Display information of an App Engine service version." }, "causesDrop": { "description": "This is a step that leads to the final state Drop.", "type": "boolean" }, + "cloudFunction": { + "$ref": "CloudFunctionInfo", + "description": "Display information of a Cloud function." + }, "cloudSqlInstance": { "$ref": "CloudSQLInstanceInfo", - "description": "Display info of a Cloud SQL instance." + "description": "Display information of a Cloud SQL instance." }, "deliver": { "$ref": "DeliverInfo", - "description": "Display info of the final state \"deliver\" and reason." + "description": "Display information of the final state \"deliver\" and reason." }, "description": { "description": "A description of the step. Usually this is a summary of the state.", @@ -1835,39 +1941,39 @@ }, "drop": { "$ref": "DropInfo", - "description": "Display info of the final state \"drop\" and reason." + "description": "Display information of the final state \"drop\" and reason." }, "endpoint": { "$ref": "EndpointInfo", - "description": "Display info of the source and destination under analysis. The endpoint info in an intermediate state may differ with the initial input, as it might be modified by state like NAT, or Connection Proxy." + "description": "Display information of the source and destination under analysis. The endpoint information in an intermediate state may differ with the initial input, as it might be modified by state like NAT, or Connection Proxy." }, "firewall": { "$ref": "FirewallInfo", - "description": "Display info of a Compute Engine firewall rule." + "description": "Display information of a Compute Engine firewall rule." }, "forward": { "$ref": "ForwardInfo", - "description": "Display info of the final state \"forward\" and reason." + "description": "Display information of the final state \"forward\" and reason." }, "forwardingRule": { "$ref": "ForwardingRuleInfo", - "description": "Display info of a Compute Engine forwarding rule." + "description": "Display information of a Compute Engine forwarding rule." }, "gkeMaster": { "$ref": "GKEMasterInfo", - "description": "Display info of a Google Kubernetes Engine cluster master." + "description": "Display information of a Google Kubernetes Engine cluster master." }, "instance": { "$ref": "InstanceInfo", - "description": "Display info of a Compute Engine instance." + "description": "Display information of a Compute Engine instance." }, "loadBalancer": { "$ref": "LoadBalancerInfo", - "description": "Display info of the load balancers." + "description": "Display information of the load balancers." }, "network": { "$ref": "NetworkInfo", - "description": "Display info of a GCP network." + "description": "Display information of a Google Cloud network." }, "projectId": { "description": "Project ID that contains the configuration this step is validating.", @@ -1875,7 +1981,7 @@ }, "route": { "$ref": "RouteInfo", - "description": "Display info of a Compute Engine route." + "description": "Display information of a Compute Engine route." }, "state": { "description": "Each step is in one of the pre-defined states.", @@ -1886,6 +1992,8 @@ "START_FROM_PRIVATE_NETWORK", "START_FROM_GKE_MASTER", "START_FROM_CLOUD_SQL_INSTANCE", + "START_FROM_CLOUD_FUNCTION", + "START_FROM_APP_ENGINE_VERSION", "APPLY_INGRESS_FIREWALL_RULE", "APPLY_EGRESS_FIREWALL_RULE", "APPLY_ROUTE", @@ -1896,6 +2004,7 @@ "ARRIVE_AT_EXTERNAL_LOAD_BALANCER", "ARRIVE_AT_VPN_GATEWAY", "ARRIVE_AT_VPN_TUNNEL", + "ARRIVE_AT_VPC_CONNECTOR", "NAT", "PROXY_CONNECTION", "DELIVER", @@ -1906,11 +2015,13 @@ ], "enumDescriptions": [ "Unspecified state.", - "Initial state: packet originating from a Compute Engine instance. An InstanceInfo will be populated with starting instance info.", - "Initial state: packet originating from Internet. The endpoint info will be populated.", - "Initial state: packet originating from a VPC or on-premises network with internal source IP. If the source is a VPC network visible to the user, a NetworkInfo will be populated with details of the network.", - "Initial state: packet originating from a Google Kubernetes Engine cluster master. A GKEMasterInfo will be populated with starting instance info.", - "Initial state: packet originating from a Cloud SQL instance. A CloudSQLInstanceInfo will be populated with starting instance info.", + "Initial state: packet originating from a Compute Engine instance. An InstanceInfo is populated with starting instance information.", + "Initial state: packet originating from the internet. The endpoint information is populated.", + "Initial state: packet originating from a VPC or on-premises network with internal source IP. If the source is a VPC network visible to the user, a NetworkInfo is populated with details of the network.", + "Initial state: packet originating from a Google Kubernetes Engine cluster master. A GKEMasterInfo is populated with starting instance information.", + "Initial state: packet originating from a Cloud SQL instance. A CloudSQLInstanceInfo is populated with starting instance information.", + "Initial state: packet originating from a Cloud function. A CloudFunctionInfo is populated with starting function information.", + "Initial state: packet originating from an App Engine service version. An AppEngineVersionInfo is populated with starting version information.", "Config checking state: verify ingress firewall rule.", "Config checking state: verify egress firewall rule.", "Config checking state: verify route.", @@ -1921,6 +2032,7 @@ "Forwarding state: arriving at a Compute Engine external load balancer.", "Forwarding state: arriving at a Cloud VPN gateway.", "Forwarding state: arriving at a Cloud VPN tunnel.", + "Forwarding state: arriving at a VPC connector.", "Transition state: packet header translated.", "Transition state: original connection is terminated and a new proxied connection is initiated.", "Final state: packet could be delivered.", @@ -1931,13 +2043,17 @@ ], "type": "string" }, + "vpcConnector": { + "$ref": "VpcConnectorInfo", + "description": "Display information of a VPC connector." + }, "vpnGateway": { "$ref": "VpnGatewayInfo", - "description": "Display info of a Compute Engine VPN gateway." + "description": "Display information of a Compute Engine VPN gateway." }, "vpnTunnel": { "$ref": "VpnTunnelInfo", - "description": "Display info of a Compute Engine VPN tunnel." + "description": "Display information of a Compute Engine VPN tunnel." } }, "type": "object" @@ -1971,12 +2087,12 @@ "type": "object" }, "Trace": { - "description": "Trace represents one simulated packet forwarding path. * Each trace contains multiple ordered Steps. * Each step is in a particular state with associated configuration. * State is categorized as final or non-final states. * Each final state has a reason associated. * Each trace must end with a final state (the last step). ``` |---------------------Trace----------------------| Step1(State) Step2(State) --- StepN(State(final)) ```", + "description": "Trace represents one simulated packet forwarding path. * Each trace contains multiple ordered steps. * Each step is in a particular state with associated configuration. * State is categorized as final or non-final states. * Each final state has a reason associated. * Each trace must end with a final state (the last step). ``` |---------------------Trace----------------------| Step1(State) Step2(State) --- StepN(State(final)) ```", "id": "Trace", "properties": { "endpointInfo": { "$ref": "EndpointInfo", - "description": "Derived from the source and destination endpoints definition, and validated by the data plane model. If there are multiple traces starting from different source locations, then the endpoint_info may be different between traces." + "description": "Derived from the source and destination endpoints definition specified by user request, and validated by the data plane model. If there are multiple traces starting from different source locations, then the endpoint_info may be different between traces." }, "steps": { "description": "A trace of a test contains multiple steps from the initial state to the final state (delivered, dropped, forwarded, or aborted). The steps are ordered by the processing sequence within the simulated network state machine. It is critical to preserve the order of the steps and avoid reordering or sorting them.", @@ -1988,6 +2104,25 @@ }, "type": "object" }, + "VpcConnectorInfo": { + "description": "For display only. Metadata associated with a VPC connector.", + "id": "VpcConnectorInfo", + "properties": { + "displayName": { + "description": "Name of a VPC connector.", + "type": "string" + }, + "location": { + "description": "Location in which the VPC connector is deployed.", + "type": "string" + }, + "uri": { + "description": "URI of a VPC connector.", + "type": "string" + } + }, + "type": "object" + }, "VpnGatewayInfo": { "description": "For display only. Metadata associated with a Compute Engine VPN gateway.", "id": "VpnGatewayInfo", @@ -2005,7 +2140,7 @@ "type": "string" }, "region": { - "description": "Name of a GCP region where this VPN gateway is configured.", + "description": "Name of a Google Cloud region where this VPN gateway is configured.", "type": "string" }, "uri": { @@ -2032,7 +2167,7 @@ "type": "string" }, "region": { - "description": "Name of a GCP region where this VPN tunnel is configured.", + "description": "Name of a Google Cloud region where this VPN tunnel is configured.", "type": "string" }, "remoteGateway": { diff --git a/etc/api/networksecurity/v1/networksecurity-api.json b/etc/api/networksecurity/v1/networksecurity-api.json new file mode 100644 index 0000000000..ce4ae6a760 --- /dev/null +++ b/etc/api/networksecurity/v1/networksecurity-api.json @@ -0,0 +1,1764 @@ +{ + "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://networksecurity.googleapis.com/", + "batchPath": "batch", + "canonicalName": "NetworkSecurity", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/networking", + "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": "networksecurity:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://networksecurity.mtls.googleapis.com/", + "name": "networksecurity", + "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": "networksecurity.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": "networksecurity.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": { + "authorizationPolicies": { + "methods": { + "create": { + "description": "Creates a new AuthorizationPolicy in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authorizationPolicies", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.authorizationPolicies.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "authorizationPolicyId": { + "description": "Required. Short name of the AuthorizationPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"authz_policy\".", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the AuthorizationPolicy. Must be in the format `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/authorizationPolicies", + "request": { + "$ref": "AuthorizationPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single AuthorizationPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authorizationPolicies/{authorizationPoliciesId}", + "httpMethod": "DELETE", + "id": "networksecurity.projects.locations.authorizationPolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the AuthorizationPolicy to delete. Must be in the format `projects/{project}/locations/{location}/authorizationPolicies/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/authorizationPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single AuthorizationPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authorizationPolicies/{authorizationPoliciesId}", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.authorizationPolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the AuthorizationPolicy to get. Must be in the format `projects/{project}/locations/{location}/authorizationPolicies/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/authorizationPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "AuthorizationPolicy" + }, + "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}/authorizationPolicies/{authorizationPoliciesId}:getIamPolicy", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.authorizationPolicies.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/authorizationPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists AuthorizationPolicies in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authorizationPolicies", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.authorizationPolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of AuthorizationPolicies to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListAuthorizationPoliciesResponse` Indicates that this is a continuation of a prior `ListAuthorizationPolicies` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the AuthorizationPolicies should be listed, specified in the format `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/authorizationPolicies", + "response": { + "$ref": "ListAuthorizationPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single AuthorizationPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authorizationPolicies/{authorizationPoliciesId}", + "httpMethod": "PATCH", + "id": "networksecurity.projects.locations.authorizationPolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the AuthorizationPolicy resource. It matches pattern `projects/{project}/locations/{location}/authorizationPolicies/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/authorizationPolicies/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the AuthorizationPolicy 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": "AuthorizationPolicy" + }, + "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}/authorizationPolicies/{authorizationPoliciesId}:setIamPolicy", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.authorizationPolicies.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/[^/]+/authorizationPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authorizationPolicies/{authorizationPoliciesId}:testIamPermissions", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.authorizationPolicies.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/[^/]+/authorizationPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "clientTlsPolicies": { + "methods": { + "create": { + "description": "Creates a new ClientTlsPolicy in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clientTlsPolicies", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.clientTlsPolicies.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "clientTlsPolicyId": { + "description": "Required. Short name of the ClientTlsPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"client_mtls_policy\".", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the ClientTlsPolicy. Must be in the format `projects/*/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/clientTlsPolicies", + "request": { + "$ref": "ClientTlsPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single ClientTlsPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clientTlsPolicies/{clientTlsPoliciesId}", + "httpMethod": "DELETE", + "id": "networksecurity.projects.locations.clientTlsPolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the ClientTlsPolicy to delete. Must be in the format `projects/*/locations/{location}/clientTlsPolicies/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/clientTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single ClientTlsPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clientTlsPolicies/{clientTlsPoliciesId}", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.clientTlsPolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the ClientTlsPolicy to get. Must be in the format `projects/*/locations/{location}/clientTlsPolicies/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/clientTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "ClientTlsPolicy" + }, + "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}/clientTlsPolicies/{clientTlsPoliciesId}:getIamPolicy", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.clientTlsPolicies.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/clientTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists ClientTlsPolicies in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clientTlsPolicies", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.clientTlsPolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of ClientTlsPolicies to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListClientTlsPoliciesResponse` Indicates that this is a continuation of a prior `ListClientTlsPolicies` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the ClientTlsPolicies should be listed, specified in the format `projects/*/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/clientTlsPolicies", + "response": { + "$ref": "ListClientTlsPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single ClientTlsPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clientTlsPolicies/{clientTlsPoliciesId}", + "httpMethod": "PATCH", + "id": "networksecurity.projects.locations.clientTlsPolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the ClientTlsPolicy resource. It matches the pattern `projects/*/locations/{location}/clientTlsPolicies/{client_tls_policy}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/clientTlsPolicies/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the ClientTlsPolicy 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": "ClientTlsPolicy" + }, + "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}/clientTlsPolicies/{clientTlsPoliciesId}:setIamPolicy", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.clientTlsPolicies.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/[^/]+/clientTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clientTlsPolicies/{clientTlsPoliciesId}:testIamPermissions", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.clientTlsPolicies.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/[^/]+/clientTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "networksecurity.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": "networksecurity.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": "networksecurity.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`. 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": "v1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "networksecurity.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" + ] + } + } + }, + "serverTlsPolicies": { + "methods": { + "create": { + "description": "Creates a new ServerTlsPolicy in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.serverTlsPolicies.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the ServerTlsPolicy. Must be in the format `projects/*/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "serverTlsPolicyId": { + "description": "Required. Short name of the ServerTlsPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"server_mtls_policy\".", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/serverTlsPolicies", + "request": { + "$ref": "ServerTlsPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single ServerTlsPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}", + "httpMethod": "DELETE", + "id": "networksecurity.projects.locations.serverTlsPolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the ServerTlsPolicy to delete. Must be in the format `projects/*/locations/{location}/serverTlsPolicies/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single ServerTlsPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.serverTlsPolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the ServerTlsPolicy to get. Must be in the format `projects/*/locations/{location}/serverTlsPolicies/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "ServerTlsPolicy" + }, + "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}/serverTlsPolicies/{serverTlsPoliciesId}:getIamPolicy", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.serverTlsPolicies.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists ServerTlsPolicies in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.serverTlsPolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of ServerTlsPolicies to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListServerTlsPoliciesResponse` Indicates that this is a continuation of a prior `ListServerTlsPolicies` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the ServerTlsPolicies should be listed, specified in the format `projects/*/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/serverTlsPolicies", + "response": { + "$ref": "ListServerTlsPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single ServerTlsPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}", + "httpMethod": "PATCH", + "id": "networksecurity.projects.locations.serverTlsPolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the ServerTlsPolicy resource. It matches the pattern `projects/*/locations/{location}/serverTlsPolicies/{server_tls_policy}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the ServerTlsPolicy 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": "ServerTlsPolicy" + }, + "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}/serverTlsPolicies/{serverTlsPoliciesId}:setIamPolicy", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.serverTlsPolicies.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/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}:testIamPermissions", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.serverTlsPolicies.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/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20220223", + "rootUrl": "https://networksecurity.googleapis.com/", + "schemas": { + "AuthorizationPolicy": { + "description": "AuthorizationPolicy is a resource that specifies how a server should authorize incoming connections. This resource in itself does not change the configuration unless it's attached to a target https proxy or endpoint config selector resource.", + "id": "AuthorizationPolicy", + "properties": { + "action": { + "description": "Required. The action to take when a rule match is found. Possible values are \"ALLOW\" or \"DENY\".", + "enum": [ + "ACTION_UNSPECIFIED", + "ALLOW", + "DENY" + ], + "enumDescriptions": [ + "Default value.", + "Grant access.", + "Deny access. Deny rules should be avoided unless they are used to provide a default \"deny all\" fallback." + ], + "type": "string" + }, + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Free-text description of the resource.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of label tags associated with the AuthorizationPolicy resource.", + "type": "object" + }, + "name": { + "description": "Required. Name of the AuthorizationPolicy resource. It matches pattern `projects/{project}/locations/{location}/authorizationPolicies/`.", + "type": "string" + }, + "rules": { + "description": "Optional. List of rules to match. Note that at least one of the rules must match in order for the action specified in the 'action' field to be taken. A rule is a match if there is a matching source and destination. If left blank, the action specified in the `action` field will be applied on every request.", + "items": { + "$ref": "Rule" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "CertificateProviderInstance": { + "description": "Specification of a TLS certificate provider instance. Workloads may have one or more CertificateProvider instances (plugins) and one of them is enabled and configured by specifying this message. Workloads use the values from this message to locate and load the CertificateProvider instance configuration.", + "id": "CertificateProviderInstance", + "properties": { + "pluginInstance": { + "description": "Required. Plugin instance name, used to locate and load CertificateProvider instance configuration. Set to \"google_cloud_private_spiffe\" to use Certificate Authority Service certificate provider instance.", + "type": "string" + } + }, + "type": "object" + }, + "ClientTlsPolicy": { + "description": "ClientTlsPolicy is a resource that specifies how a client should authenticate connections to backends of a service. This resource itself does not affect configuration unless it is attached to a backend service resource.", + "id": "ClientTlsPolicy", + "properties": { + "clientCertificate": { + "$ref": "GoogleCloudNetworksecurityV1CertificateProvider", + "description": "Optional. Defines a mechanism to provision client identity (public and private keys) for peer to peer authentication. The presence of this dictates mTLS." + }, + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Free-text description of the resource.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of label tags associated with the resource.", + "type": "object" + }, + "name": { + "description": "Required. Name of the ClientTlsPolicy resource. It matches the pattern `projects/*/locations/{location}/clientTlsPolicies/{client_tls_policy}`", + "type": "string" + }, + "serverValidationCa": { + "description": "Optional. Defines the mechanism to obtain the Certificate Authority certificate to validate the server certificate. If empty, client does not validate the server certificate.", + "items": { + "$ref": "ValidationCA" + }, + "type": "array" + }, + "sni": { + "description": "Optional. Server Name Indication string to present to the server during TLS handshake. E.g: \"secure.example.com\".", + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Destination": { + "description": "Specification of traffic destination attributes.", + "id": "Destination", + "properties": { + "hosts": { + "description": "Required. List of host names to match. Matched against the \":authority\" header in http requests. At least one host should match. Each host can be an exact match, or a prefix match (example \"mydomain.*\") or a suffix match (example // *.myorg.com\") or a presence(any) match \"*\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "httpHeaderMatch": { + "$ref": "HttpHeaderMatch", + "description": "Optional. Match against key:value pair in http header. Provides a flexible match based on HTTP headers, for potentially advanced use cases. At least one header should match. Avoid using header matches to make authorization decisions unless there is a strong guarantee that requests arrive through a trusted client or proxy." + }, + "methods": { + "description": "Optional. A list of HTTP methods to match. At least one method should match. Should not be set for gRPC services.", + "items": { + "type": "string" + }, + "type": "array" + }, + "ports": { + "description": "Required. List of destination ports to match. At least one port should match.", + "items": { + "format": "uint32", + "type": "integer" + }, + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", + "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" + }, + "GoogleCloudNetworksecurityV1CertificateProvider": { + "description": "Specification of certificate provider. Defines the mechanism to obtain the certificate and private key for peer to peer authentication.", + "id": "GoogleCloudNetworksecurityV1CertificateProvider", + "properties": { + "certificateProviderInstance": { + "$ref": "CertificateProviderInstance", + "description": "The certificate provider instance specification that will be passed to the data plane, which will be used to load necessary credential information." + }, + "grpcEndpoint": { + "$ref": "GoogleCloudNetworksecurityV1GrpcEndpoint", + "description": "gRPC specific configuration to access the gRPC server to obtain the cert and private key." + } + }, + "type": "object" + }, + "GoogleCloudNetworksecurityV1GrpcEndpoint": { + "description": "Specification of the GRPC Endpoint.", + "id": "GoogleCloudNetworksecurityV1GrpcEndpoint", + "properties": { + "targetUri": { + "description": "Required. The target URI of the gRPC endpoint. Only UDS path is supported, and should start with \u201cunix:\u201d.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", + "id": "GoogleIamV1AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "GoogleIamV1AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "id": "GoogleIamV1AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "id": "GoogleIamV1Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the principals requesting access for a 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 the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "GoogleIamV1Policy", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "GoogleIamV1AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", + "items": { + "$ref": "GoogleIamV1Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleIamV1SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "GoogleIamV1SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "GoogleIamV1Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them." + }, + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "GoogleIamV1TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleIamV1TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "GoogleIamV1TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "HttpHeaderMatch": { + "description": "Specification of HTTP header match atrributes.", + "id": "HttpHeaderMatch", + "properties": { + "headerName": { + "description": "Required. 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\".", + "type": "string" + }, + "regexMatch": { + "description": "Required. The value of the header must match the regular expression specified in regexMatch. For regular expression grammar, please see: en.cppreference.com/w/cpp/regex/ecmascript For matching against a port specified in the HTTP request, use a headerMatch with headerName set to Host and a regular expression that satisfies the RFC2616 Host header's port specifier.", + "type": "string" + } + }, + "type": "object" + }, + "ListAuthorizationPoliciesResponse": { + "description": "Response returned by the ListAuthorizationPolicies method.", + "id": "ListAuthorizationPoliciesResponse", + "properties": { + "authorizationPolicies": { + "description": "List of AuthorizationPolicies resources.", + "items": { + "$ref": "AuthorizationPolicy" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + } + }, + "type": "object" + }, + "ListClientTlsPoliciesResponse": { + "description": "Response returned by the ListClientTlsPolicies method.", + "id": "ListClientTlsPoliciesResponse", + "properties": { + "clientTlsPolicies": { + "description": "List of ClientTlsPolicy resources.", + "items": { + "$ref": "ClientTlsPolicy" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + } + }, + "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" + }, + "ListServerTlsPoliciesResponse": { + "description": "Response returned by the ListServerTlsPolicies method.", + "id": "ListServerTlsPoliciesResponse", + "properties": { + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + }, + "serverTlsPolicies": { + "description": "List of ServerTlsPolicy resources.", + "items": { + "$ref": "ServerTlsPolicy" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform 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" + }, + "MTLSPolicy": { + "description": "Specification of the MTLSPolicy.", + "id": "MTLSPolicy", + "properties": { + "clientValidationCa": { + "description": " Defines the mechanism to obtain the Certificate Authority certificate to validate the client certificate.", + "items": { + "$ref": "ValidationCA" + }, + "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" + }, + "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" + }, + "Rule": { + "description": "Specification of rules.", + "id": "Rule", + "properties": { + "destinations": { + "description": "Optional. List of attributes for the traffic destination. All of the destinations must match. A destination is a match if a request matches all the specified hosts, ports, methods and headers. If not set, the action specified in the 'action' field will be applied without any rule checks for the destination.", + "items": { + "$ref": "Destination" + }, + "type": "array" + }, + "sources": { + "description": "Optional. List of attributes for the traffic source. All of the sources must match. A source is a match if both principals and ip_blocks match. If not set, the action specified in the 'action' field will be applied without any rule checks for the source.", + "items": { + "$ref": "Source" + }, + "type": "array" + } + }, + "type": "object" + }, + "ServerTlsPolicy": { + "description": "ServerTlsPolicy is a resource that specifies how a server should authenticate incoming requests. This resource itself does not affect configuration unless it is attached to a target https proxy or endpoint config selector resource.", + "id": "ServerTlsPolicy", + "properties": { + "allowOpen": { + "description": " Determines if server allows plaintext connections. If set to true, server allows plain text connections. By default, it is set to false. This setting is not exclusive of other encryption modes. For example, if `allow_open` and `mtls_policy` are set, server allows both plain text and mTLS connections. See documentation of other encryption modes to confirm compatibility.", + "type": "boolean" + }, + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Free-text description of the resource.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of label tags associated with the resource.", + "type": "object" + }, + "mtlsPolicy": { + "$ref": "MTLSPolicy", + "description": " Defines a mechanism to provision peer validation certificates for peer to peer authentication (Mutual TLS - mTLS). If not specified, client certificate will not be requested. The connection is treated as TLS and not mTLS. If `allow_open` and `mtls_policy` are set, server allows both plain text and mTLS connections." + }, + "name": { + "description": "Required. Name of the ServerTlsPolicy resource. It matches the pattern `projects/*/locations/{location}/serverTlsPolicies/{server_tls_policy}`", + "type": "string" + }, + "serverCertificate": { + "$ref": "GoogleCloudNetworksecurityV1CertificateProvider", + "description": " Defines a mechanism to provision server identity (public and private keys). Cannot be combined with `allow_open` as a permissive mode that allows both plain text and TLS is not supported." + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Source": { + "description": "Specification of traffic source attributes.", + "id": "Source", + "properties": { + "ipBlocks": { + "description": "Optional. List of CIDR ranges to match based on source IP address. At least one IP block should match. Single IP (e.g., \"1.2.3.4\") and CIDR (e.g., \"1.2.3.0/24\") are supported. Authorization based on source IP alone should be avoided. The IP addresses of any load balancers or proxies should be considered untrusted.", + "items": { + "type": "string" + }, + "type": "array" + }, + "principals": { + "description": "Optional. List of peer identities to match for authorization. At least one principal should match. Each peer can be an exact match, or a prefix match (example, \"namespace/*\") or a suffix match (example, // */service-account\") or a presence match \"*\". Authorization based on the principal name without certificate validation (configured by ServerTlsPolicy resource) is considered insecure.", + "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" + }, + "ValidationCA": { + "description": "Specification of ValidationCA. Defines the mechanism to obtain the Certificate Authority certificate to validate the peer certificate.", + "id": "ValidationCA", + "properties": { + "certificateProviderInstance": { + "$ref": "CertificateProviderInstance", + "description": "The certificate provider instance specification that will be passed to the data plane, which will be used to load necessary credential information." + }, + "grpcEndpoint": { + "$ref": "GoogleCloudNetworksecurityV1GrpcEndpoint", + "description": "gRPC specific configuration to access the gRPC server to obtain the CA certificate." + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Network Security API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/networksecurity/v1beta1/networksecurity-api.json b/etc/api/networksecurity/v1beta1/networksecurity-api.json new file mode 100644 index 0000000000..0e35b50c82 --- /dev/null +++ b/etc/api/networksecurity/v1beta1/networksecurity-api.json @@ -0,0 +1,1764 @@ +{ + "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://networksecurity.googleapis.com/", + "batchPath": "batch", + "canonicalName": "NetworkSecurity", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/networking", + "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": "networksecurity:v1beta1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://networksecurity.mtls.googleapis.com/", + "name": "networksecurity", + "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": "networksecurity.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": "networksecurity.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-platform" + ] + } + }, + "resources": { + "authorizationPolicies": { + "methods": { + "create": { + "description": "Creates a new AuthorizationPolicy in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/authorizationPolicies", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.authorizationPolicies.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "authorizationPolicyId": { + "description": "Required. Short name of the AuthorizationPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"authz_policy\".", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the AuthorizationPolicy. Must be in the format `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/authorizationPolicies", + "request": { + "$ref": "AuthorizationPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single AuthorizationPolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/authorizationPolicies/{authorizationPoliciesId}", + "httpMethod": "DELETE", + "id": "networksecurity.projects.locations.authorizationPolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the AuthorizationPolicy to delete. Must be in the format `projects/{project}/locations/{location}/authorizationPolicies/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/authorizationPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single AuthorizationPolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/authorizationPolicies/{authorizationPoliciesId}", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.authorizationPolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the AuthorizationPolicy to get. Must be in the format `projects/{project}/locations/{location}/authorizationPolicies/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/authorizationPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "AuthorizationPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/authorizationPolicies/{authorizationPoliciesId}:getIamPolicy", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.authorizationPolicies.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/authorizationPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists AuthorizationPolicies in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/authorizationPolicies", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.authorizationPolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of AuthorizationPolicies to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListAuthorizationPoliciesResponse` Indicates that this is a continuation of a prior `ListAuthorizationPolicies` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the AuthorizationPolicies should be listed, specified in the format `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/authorizationPolicies", + "response": { + "$ref": "ListAuthorizationPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single AuthorizationPolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/authorizationPolicies/{authorizationPoliciesId}", + "httpMethod": "PATCH", + "id": "networksecurity.projects.locations.authorizationPolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the AuthorizationPolicy resource. It matches pattern `projects/{project}/locations/{location}/authorizationPolicies/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/authorizationPolicies/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the AuthorizationPolicy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "AuthorizationPolicy" + }, + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/authorizationPolicies/{authorizationPoliciesId}:setIamPolicy", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.authorizationPolicies.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/[^/]+/authorizationPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/authorizationPolicies/{authorizationPoliciesId}:testIamPermissions", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.authorizationPolicies.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/[^/]+/authorizationPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "clientTlsPolicies": { + "methods": { + "create": { + "description": "Creates a new ClientTlsPolicy in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clientTlsPolicies", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.clientTlsPolicies.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "clientTlsPolicyId": { + "description": "Required. Short name of the ClientTlsPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"client_mtls_policy\".", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the ClientTlsPolicy. Must be in the format `projects/*/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/clientTlsPolicies", + "request": { + "$ref": "ClientTlsPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single ClientTlsPolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clientTlsPolicies/{clientTlsPoliciesId}", + "httpMethod": "DELETE", + "id": "networksecurity.projects.locations.clientTlsPolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the ClientTlsPolicy to delete. Must be in the format `projects/*/locations/{location}/clientTlsPolicies/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/clientTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single ClientTlsPolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clientTlsPolicies/{clientTlsPoliciesId}", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.clientTlsPolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the ClientTlsPolicy to get. Must be in the format `projects/*/locations/{location}/clientTlsPolicies/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/clientTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "ClientTlsPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clientTlsPolicies/{clientTlsPoliciesId}:getIamPolicy", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.clientTlsPolicies.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/clientTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists ClientTlsPolicies in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clientTlsPolicies", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.clientTlsPolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of ClientTlsPolicies to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListClientTlsPoliciesResponse` Indicates that this is a continuation of a prior `ListClientTlsPolicies` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the ClientTlsPolicies should be listed, specified in the format `projects/*/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/clientTlsPolicies", + "response": { + "$ref": "ListClientTlsPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single ClientTlsPolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clientTlsPolicies/{clientTlsPoliciesId}", + "httpMethod": "PATCH", + "id": "networksecurity.projects.locations.clientTlsPolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the ClientTlsPolicy resource. It matches the pattern `projects/*/locations/{location}/clientTlsPolicies/{client_tls_policy}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/clientTlsPolicies/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the ClientTlsPolicy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "ClientTlsPolicy" + }, + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/clientTlsPolicies/{clientTlsPoliciesId}:setIamPolicy", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.clientTlsPolicies.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/[^/]+/clientTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clientTlsPolicies/{clientTlsPoliciesId}:testIamPermissions", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.clientTlsPolicies.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/[^/]+/clientTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "networksecurity.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": "networksecurity.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": "networksecurity.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`. 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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "networksecurity.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" + ] + } + } + }, + "serverTlsPolicies": { + "methods": { + "create": { + "description": "Creates a new ServerTlsPolicy in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.serverTlsPolicies.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the ServerTlsPolicy. Must be in the format `projects/*/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "serverTlsPolicyId": { + "description": "Required. Short name of the ServerTlsPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"server_mtls_policy\".", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/serverTlsPolicies", + "request": { + "$ref": "ServerTlsPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single ServerTlsPolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}", + "httpMethod": "DELETE", + "id": "networksecurity.projects.locations.serverTlsPolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the ServerTlsPolicy to delete. Must be in the format `projects/*/locations/{location}/serverTlsPolicies/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single ServerTlsPolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.serverTlsPolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the ServerTlsPolicy to get. Must be in the format `projects/*/locations/{location}/serverTlsPolicies/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "ServerTlsPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}:getIamPolicy", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.serverTlsPolicies.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists ServerTlsPolicies in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.serverTlsPolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of ServerTlsPolicies to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListServerTlsPoliciesResponse` Indicates that this is a continuation of a prior `ListServerTlsPolicies` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the ServerTlsPolicies should be listed, specified in the format `projects/*/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/serverTlsPolicies", + "response": { + "$ref": "ListServerTlsPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single ServerTlsPolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}", + "httpMethod": "PATCH", + "id": "networksecurity.projects.locations.serverTlsPolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the ServerTlsPolicy resource. It matches the pattern `projects/*/locations/{location}/serverTlsPolicies/{server_tls_policy}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the ServerTlsPolicy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "ServerTlsPolicy" + }, + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}:setIamPolicy", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.serverTlsPolicies.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/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}:testIamPermissions", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.serverTlsPolicies.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/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20220223", + "rootUrl": "https://networksecurity.googleapis.com/", + "schemas": { + "AuthorizationPolicy": { + "description": "AuthorizationPolicy is a resource that specifies how a server should authorize incoming connections. This resource in itself does not change the configuration unless it's attached to a target https proxy or endpoint config selector resource.", + "id": "AuthorizationPolicy", + "properties": { + "action": { + "description": "Required. The action to take when a rule match is found. Possible values are \"ALLOW\" or \"DENY\".", + "enum": [ + "ACTION_UNSPECIFIED", + "ALLOW", + "DENY" + ], + "enumDescriptions": [ + "Default value.", + "Grant access.", + "Deny access. Deny rules should be avoided unless they are used to provide a default \"deny all\" fallback." + ], + "type": "string" + }, + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Free-text description of the resource.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of label tags associated with the AuthorizationPolicy resource.", + "type": "object" + }, + "name": { + "description": "Required. Name of the AuthorizationPolicy resource. It matches pattern `projects/{project}/locations/{location}/authorizationPolicies/`.", + "type": "string" + }, + "rules": { + "description": "Optional. List of rules to match. Note that at least one of the rules must match in order for the action specified in the 'action' field to be taken. A rule is a match if there is a matching source and destination. If left blank, the action specified in the `action` field will be applied on every request.", + "items": { + "$ref": "Rule" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "CertificateProviderInstance": { + "description": "Specification of a TLS certificate provider instance. Workloads may have one or more CertificateProvider instances (plugins) and one of them is enabled and configured by specifying this message. Workloads use the values from this message to locate and load the CertificateProvider instance configuration.", + "id": "CertificateProviderInstance", + "properties": { + "pluginInstance": { + "description": "Required. Plugin instance name, used to locate and load CertificateProvider instance configuration. Set to \"google_cloud_private_spiffe\" to use Certificate Authority Service certificate provider instance.", + "type": "string" + } + }, + "type": "object" + }, + "ClientTlsPolicy": { + "description": "ClientTlsPolicy is a resource that specifies how a client should authenticate connections to backends of a service. This resource itself does not affect configuration unless it is attached to a backend service resource.", + "id": "ClientTlsPolicy", + "properties": { + "clientCertificate": { + "$ref": "GoogleCloudNetworksecurityV1beta1CertificateProvider", + "description": "Optional. Defines a mechanism to provision client identity (public and private keys) for peer to peer authentication. The presence of this dictates mTLS." + }, + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Free-text description of the resource.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of label tags associated with the resource.", + "type": "object" + }, + "name": { + "description": "Required. Name of the ClientTlsPolicy resource. It matches the pattern `projects/*/locations/{location}/clientTlsPolicies/{client_tls_policy}`", + "type": "string" + }, + "serverValidationCa": { + "description": "Optional. Defines the mechanism to obtain the Certificate Authority certificate to validate the server certificate. If empty, client does not validate the server certificate.", + "items": { + "$ref": "ValidationCA" + }, + "type": "array" + }, + "sni": { + "description": "Optional. Server Name Indication string to present to the server during TLS handshake. E.g: \"secure.example.com\".", + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Destination": { + "description": "Specification of traffic destination attributes.", + "id": "Destination", + "properties": { + "hosts": { + "description": "Required. List of host names to match. Matched against the \":authority\" header in http requests. At least one host should match. Each host can be an exact match, or a prefix match (example \"mydomain.*\") or a suffix match (example // *.myorg.com\") or a presence(any) match \"*\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "httpHeaderMatch": { + "$ref": "HttpHeaderMatch", + "description": "Optional. Match against key:value pair in http header. Provides a flexible match based on HTTP headers, for potentially advanced use cases. At least one header should match. Avoid using header matches to make authorization decisions unless there is a strong guarantee that requests arrive through a trusted client or proxy." + }, + "methods": { + "description": "Optional. A list of HTTP methods to match. At least one method should match. Should not be set for gRPC services.", + "items": { + "type": "string" + }, + "type": "array" + }, + "ports": { + "description": "Required. List of destination ports to match. At least one port should match.", + "items": { + "format": "uint32", + "type": "integer" + }, + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", + "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" + }, + "GoogleCloudNetworksecurityV1beta1CertificateProvider": { + "description": "Specification of certificate provider. Defines the mechanism to obtain the certificate and private key for peer to peer authentication.", + "id": "GoogleCloudNetworksecurityV1beta1CertificateProvider", + "properties": { + "certificateProviderInstance": { + "$ref": "CertificateProviderInstance", + "description": "The certificate provider instance specification that will be passed to the data plane, which will be used to load necessary credential information." + }, + "grpcEndpoint": { + "$ref": "GoogleCloudNetworksecurityV1beta1GrpcEndpoint", + "description": "gRPC specific configuration to access the gRPC server to obtain the cert and private key." + } + }, + "type": "object" + }, + "GoogleCloudNetworksecurityV1beta1GrpcEndpoint": { + "description": "Specification of the GRPC Endpoint.", + "id": "GoogleCloudNetworksecurityV1beta1GrpcEndpoint", + "properties": { + "targetUri": { + "description": "Required. The target URI of the gRPC endpoint. Only UDS path is supported, and should start with \u201cunix:\u201d.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", + "id": "GoogleIamV1AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "GoogleIamV1AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "id": "GoogleIamV1AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "id": "GoogleIamV1Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the principals requesting access for a 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 the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "GoogleIamV1Policy", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "GoogleIamV1AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", + "items": { + "$ref": "GoogleIamV1Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleIamV1SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "GoogleIamV1SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "GoogleIamV1Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them." + }, + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "GoogleIamV1TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleIamV1TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "GoogleIamV1TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "HttpHeaderMatch": { + "description": "Specification of HTTP header match atrributes.", + "id": "HttpHeaderMatch", + "properties": { + "headerName": { + "description": "Required. 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\".", + "type": "string" + }, + "regexMatch": { + "description": "Required. The value of the header must match the regular expression specified in regexMatch. For regular expression grammar, please see: en.cppreference.com/w/cpp/regex/ecmascript For matching against a port specified in the HTTP request, use a headerMatch with headerName set to Host and a regular expression that satisfies the RFC2616 Host header's port specifier.", + "type": "string" + } + }, + "type": "object" + }, + "ListAuthorizationPoliciesResponse": { + "description": "Response returned by the ListAuthorizationPolicies method.", + "id": "ListAuthorizationPoliciesResponse", + "properties": { + "authorizationPolicies": { + "description": "List of AuthorizationPolicies resources.", + "items": { + "$ref": "AuthorizationPolicy" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + } + }, + "type": "object" + }, + "ListClientTlsPoliciesResponse": { + "description": "Response returned by the ListClientTlsPolicies method.", + "id": "ListClientTlsPoliciesResponse", + "properties": { + "clientTlsPolicies": { + "description": "List of ClientTlsPolicy resources.", + "items": { + "$ref": "ClientTlsPolicy" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + } + }, + "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" + }, + "ListServerTlsPoliciesResponse": { + "description": "Response returned by the ListServerTlsPolicies method.", + "id": "ListServerTlsPoliciesResponse", + "properties": { + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + }, + "serverTlsPolicies": { + "description": "List of ServerTlsPolicy resources.", + "items": { + "$ref": "ServerTlsPolicy" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform 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" + }, + "MTLSPolicy": { + "description": "Specification of the MTLSPolicy.", + "id": "MTLSPolicy", + "properties": { + "clientValidationCa": { + "description": " Defines the mechanism to obtain the Certificate Authority certificate to validate the client certificate.", + "items": { + "$ref": "ValidationCA" + }, + "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" + }, + "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" + }, + "Rule": { + "description": "Specification of rules.", + "id": "Rule", + "properties": { + "destinations": { + "description": "Optional. List of attributes for the traffic destination. All of the destinations must match. A destination is a match if a request matches all the specified hosts, ports, methods and headers. If not set, the action specified in the 'action' field will be applied without any rule checks for the destination.", + "items": { + "$ref": "Destination" + }, + "type": "array" + }, + "sources": { + "description": "Optional. List of attributes for the traffic source. All of the sources must match. A source is a match if both principals and ip_blocks match. If not set, the action specified in the 'action' field will be applied without any rule checks for the source.", + "items": { + "$ref": "Source" + }, + "type": "array" + } + }, + "type": "object" + }, + "ServerTlsPolicy": { + "description": "ServerTlsPolicy is a resource that specifies how a server should authenticate incoming requests. This resource itself does not affect configuration unless it is attached to a target https proxy or endpoint config selector resource.", + "id": "ServerTlsPolicy", + "properties": { + "allowOpen": { + "description": " Determines if server allows plaintext connections. If set to true, server allows plain text connections. By default, it is set to false. This setting is not exclusive of other encryption modes. For example, if `allow_open` and `mtls_policy` are set, server allows both plain text and mTLS connections. See documentation of other encryption modes to confirm compatibility.", + "type": "boolean" + }, + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Free-text description of the resource.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of label tags associated with the resource.", + "type": "object" + }, + "mtlsPolicy": { + "$ref": "MTLSPolicy", + "description": " Defines a mechanism to provision peer validation certificates for peer to peer authentication (Mutual TLS - mTLS). If not specified, client certificate will not be requested. The connection is treated as TLS and not mTLS. If `allow_open` and `mtls_policy` are set, server allows both plain text and mTLS connections." + }, + "name": { + "description": "Required. Name of the ServerTlsPolicy resource. It matches the pattern `projects/*/locations/{location}/serverTlsPolicies/{server_tls_policy}`", + "type": "string" + }, + "serverCertificate": { + "$ref": "GoogleCloudNetworksecurityV1beta1CertificateProvider", + "description": " Defines a mechanism to provision server identity (public and private keys). Cannot be combined with `allow_open` as a permissive mode that allows both plain text and TLS is not supported." + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Source": { + "description": "Specification of traffic source attributes.", + "id": "Source", + "properties": { + "ipBlocks": { + "description": "Optional. List of CIDR ranges to match based on source IP address. At least one IP block should match. Single IP (e.g., \"1.2.3.4\") and CIDR (e.g., \"1.2.3.0/24\") are supported. Authorization based on source IP alone should be avoided. The IP addresses of any load balancers or proxies should be considered untrusted.", + "items": { + "type": "string" + }, + "type": "array" + }, + "principals": { + "description": "Optional. List of peer identities to match for authorization. At least one principal should match. Each peer can be an exact match, or a prefix match (example, \"namespace/*\") or a suffix match (example, // */service-account\") or a presence match \"*\". Authorization based on the principal name without certificate validation (configured by ServerTlsPolicy resource) is considered insecure.", + "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" + }, + "ValidationCA": { + "description": "Specification of ValidationCA. Defines the mechanism to obtain the Certificate Authority certificate to validate the peer certificate.", + "id": "ValidationCA", + "properties": { + "certificateProviderInstance": { + "$ref": "CertificateProviderInstance", + "description": "The certificate provider instance specification that will be passed to the data plane, which will be used to load necessary credential information." + }, + "grpcEndpoint": { + "$ref": "GoogleCloudNetworksecurityV1beta1GrpcEndpoint", + "description": "gRPC specific configuration to access the gRPC server to obtain the CA certificate." + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Network Security API", + "version": "v1beta1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/networkservices/v1/networkservices-api.json b/etc/api/networkservices/v1/networkservices-api.json new file mode 100644 index 0000000000..aee5c4b0c0 --- /dev/null +++ b/etc/api/networkservices/v1/networkservices-api.json @@ -0,0 +1,1343 @@ +{ + "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://networkservices.googleapis.com/", + "batchPath": "batch", + "canonicalName": "NetworkServices", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/networking", + "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": "networkservices:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://networkservices.mtls.googleapis.com/", + "name": "networkservices", + "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": "networkservices.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": "networkservices.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": { + "edgeCacheKeysets": { + "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}/edgeCacheKeysets/{edgeCacheKeysetsId}:getIamPolicy", + "httpMethod": "GET", + "id": "networkservices.projects.locations.edgeCacheKeysets.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/edgeCacheKeysets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/edgeCacheKeysets/{edgeCacheKeysetsId}:setIamPolicy", + "httpMethod": "POST", + "id": "networkservices.projects.locations.edgeCacheKeysets.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/[^/]+/edgeCacheKeysets/[^/]+$", + "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}/edgeCacheKeysets/{edgeCacheKeysetsId}:testIamPermissions", + "httpMethod": "POST", + "id": "networkservices.projects.locations.edgeCacheKeysets.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/[^/]+/edgeCacheKeysets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "edgeCacheOrigins": { + "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}/edgeCacheOrigins/{edgeCacheOriginsId}:getIamPolicy", + "httpMethod": "GET", + "id": "networkservices.projects.locations.edgeCacheOrigins.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/edgeCacheOrigins/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/edgeCacheOrigins/{edgeCacheOriginsId}:setIamPolicy", + "httpMethod": "POST", + "id": "networkservices.projects.locations.edgeCacheOrigins.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/[^/]+/edgeCacheOrigins/[^/]+$", + "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}/edgeCacheOrigins/{edgeCacheOriginsId}:testIamPermissions", + "httpMethod": "POST", + "id": "networkservices.projects.locations.edgeCacheOrigins.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/[^/]+/edgeCacheOrigins/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "edgeCacheServices": { + "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}/edgeCacheServices/{edgeCacheServicesId}:getIamPolicy", + "httpMethod": "GET", + "id": "networkservices.projects.locations.edgeCacheServices.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/edgeCacheServices/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/edgeCacheServices/{edgeCacheServicesId}:setIamPolicy", + "httpMethod": "POST", + "id": "networkservices.projects.locations.edgeCacheServices.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/[^/]+/edgeCacheServices/[^/]+$", + "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}/edgeCacheServices/{edgeCacheServicesId}:testIamPermissions", + "httpMethod": "POST", + "id": "networkservices.projects.locations.edgeCacheServices.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/[^/]+/edgeCacheServices/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "endpointPolicies": { + "methods": { + "create": { + "description": "Creates a new EndpointPolicy in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpointPolicies", + "httpMethod": "POST", + "id": "networkservices.projects.locations.endpointPolicies.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "endpointPolicyId": { + "description": "Required. Short name of the EndpointPolicy resource to be created. E.g. \"CustomECS\".", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the EndpointPolicy. Must be in the format `projects/*/locations/global`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/endpointPolicies", + "request": { + "$ref": "EndpointPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single EndpointPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpointPolicies/{endpointPoliciesId}", + "httpMethod": "DELETE", + "id": "networkservices.projects.locations.endpointPolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the EndpointPolicy to delete. Must be in the format `projects/*/locations/global/endpointPolicies/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/endpointPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single EndpointPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpointPolicies/{endpointPoliciesId}", + "httpMethod": "GET", + "id": "networkservices.projects.locations.endpointPolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the EndpointPolicy to get. Must be in the format `projects/*/locations/global/endpointPolicies/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/endpointPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "EndpointPolicy" + }, + "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}/endpointPolicies/{endpointPoliciesId}:getIamPolicy", + "httpMethod": "GET", + "id": "networkservices.projects.locations.endpointPolicies.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/endpointPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists EndpointPolicies in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpointPolicies", + "httpMethod": "GET", + "id": "networkservices.projects.locations.endpointPolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of EndpointPolicies to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListEndpointPoliciesResponse` Indicates that this is a continuation of a prior `ListEndpointPolicies` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the EndpointPolicies should be listed, specified in the format `projects/*/locations/global`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/endpointPolicies", + "response": { + "$ref": "ListEndpointPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single EndpointPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpointPolicies/{endpointPoliciesId}", + "httpMethod": "PATCH", + "id": "networkservices.projects.locations.endpointPolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the EndpointPolicy resource. It matches pattern `projects/{project}/locations/global/endpointPolicies/{endpoint_policy}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/endpointPolicies/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the EndpointPolicy 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": "EndpointPolicy" + }, + "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}/endpointPolicies/{endpointPoliciesId}:setIamPolicy", + "httpMethod": "POST", + "id": "networkservices.projects.locations.endpointPolicies.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/[^/]+/endpointPolicies/[^/]+$", + "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}/endpointPolicies/{endpointPoliciesId}:testIamPermissions", + "httpMethod": "POST", + "id": "networkservices.projects.locations.endpointPolicies.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/[^/]+/endpointPolicies/[^/]+$", + "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": "networkservices.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": "networkservices.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": "networkservices.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`. 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": "v1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "networkservices.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": "20220222", + "rootUrl": "https://networkservices.googleapis.com/", + "schemas": { + "AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the principals requesting access for a 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 the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "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" + }, + "EndpointMatcher": { + "description": "A definition of a matcher that selects endpoints to which the policies should be applied.", + "id": "EndpointMatcher", + "properties": { + "metadataLabelMatcher": { + "$ref": "EndpointMatcherMetadataLabelMatcher", + "description": "The matcher is based on node metadata presented by xDS clients." + } + }, + "type": "object" + }, + "EndpointMatcherMetadataLabelMatcher": { + "description": "The matcher that is based on node metadata presented by xDS clients.", + "id": "EndpointMatcherMetadataLabelMatcher", + "properties": { + "metadataLabelMatchCriteria": { + "description": "Specifies how matching should be done. Supported values are: MATCH_ANY: At least one of the Labels specified in the matcher should match the metadata presented by xDS client. MATCH_ALL: The metadata presented by the xDS client should contain all of the labels specified here. The selection is determined based on the best match. For example, suppose there are three EndpointPolicy resources P1, P2 and P3 and if P1 has a the matcher as MATCH_ANY , P2 has MATCH_ALL , and P3 has MATCH_ALL . If a client with label connects, the config from P1 will be selected. If a client with label connects, the config from P2 will be selected. If a client with label connects, the config from P3 will be selected. If there is more than one best match, (for example, if a config P4 with selector exists and if a client with label connects), an error will be thrown.", + "enum": [ + "METADATA_LABEL_MATCH_CRITERIA_UNSPECIFIED", + "MATCH_ANY", + "MATCH_ALL" + ], + "enumDescriptions": [ + "Default value. Should not be used.", + "At least one of the Labels specified in the matcher should match the metadata presented by xDS client.", + "The metadata presented by the xDS client should contain all of the labels specified here." + ], + "type": "string" + }, + "metadataLabels": { + "description": "The list of label value pairs that must match labels in the provided metadata based on filterMatchCriteria This list can have at most 64 entries. The list can be empty if the match criteria is MATCH_ANY, to specify a wildcard match (i.e this matches any client).", + "items": { + "$ref": "EndpointMatcherMetadataLabelMatcherMetadataLabels" + }, + "type": "array" + } + }, + "type": "object" + }, + "EndpointMatcherMetadataLabelMatcherMetadataLabels": { + "description": "Defines a name-pair value for a single label.", + "id": "EndpointMatcherMetadataLabelMatcherMetadataLabels", + "properties": { + "labelName": { + "description": "Required. Label name presented as key in xDS Node Metadata.", + "type": "string" + }, + "labelValue": { + "description": "Required. Label value presented as value corresponding to the above key, in xDS Node Metadata.", + "type": "string" + } + }, + "type": "object" + }, + "EndpointPolicy": { + "description": "EndpointPolicy is a resource that helps apply desired configuration on the endpoints that match specific criteria. For example, this resource can be used to apply \"authentication config\" an all endpoints that serve on port 8080.", + "id": "EndpointPolicy", + "properties": { + "authorizationPolicy": { + "description": "Optional. This field specifies the URL of AuthorizationPolicy resource that applies authorization policies to the inbound traffic at the matched endpoints. Refer to Authorization. If this field is not specified, authorization is disabled(no authz checks) for this endpoint.", + "type": "string" + }, + "clientTlsPolicy": { + "description": "Optional. A URL referring to a ClientTlsPolicy resource. ClientTlsPolicy can be set to specify the authentication for traffic from the proxy to the actual endpoints. More specifically, it is applied to the outgoing traffic from the proxy to the endpoint. This is typically used for sidecar model where the proxy identifies itself as endpoint to the control plane, with the connection between sidecar and endpoint requiring authentication. If this field is not set, authentication is disabled(open). Applicable only when EndpointPolicyType is SIDECAR_PROXY.", + "type": "string" + }, + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. A free-text description of the resource. Max length 1024 characters.", + "type": "string" + }, + "endpointMatcher": { + "$ref": "EndpointMatcher", + "description": "Required. A matcher that selects endpoints to which the policies should be applied." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of label tags associated with the EndpointPolicy resource.", + "type": "object" + }, + "name": { + "description": "Required. Name of the EndpointPolicy resource. It matches pattern `projects/{project}/locations/global/endpointPolicies/{endpoint_policy}`.", + "type": "string" + }, + "serverTlsPolicy": { + "description": "Optional. A URL referring to ServerTlsPolicy resource. ServerTlsPolicy is used to determine the authentication policy to be applied to terminate the inbound traffic at the identified backends. If this field is not set, authentication is disabled(open) for this endpoint.", + "type": "string" + }, + "trafficPortSelector": { + "$ref": "TrafficPortSelector", + "description": "Optional. Port selector for the (matched) endpoints. If no port selector is provided, the matched config is applied to all ports." + }, + "type": { + "description": "Required. The type of endpoint policy. This is primarily used to validate the configuration.", + "enum": [ + "ENDPOINT_POLICY_TYPE_UNSPECIFIED", + "SIDECAR_PROXY", + "GRPC_SERVER" + ], + "enumDescriptions": [ + "Default value. Must not be used.", + "Represents a proxy deployed as a sidecar.", + "Represents a proxyless gRPC backend." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", + "type": "string" + } + }, + "type": "object" + }, + "ListEndpointPoliciesResponse": { + "description": "Response returned by the ListEndpointPolicies method.", + "id": "ListEndpointPoliciesResponse", + "properties": { + "endpointPolicies": { + "description": "List of EndpointPolicy resources.", + "items": { + "$ref": "EndpointPolicy" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + } + }, + "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 Google Cloud Platform 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 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" + }, + "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" + }, + "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" + }, + "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." + }, + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TrafficPortSelector": { + "description": "Specification of a port-based selector.", + "id": "TrafficPortSelector", + "properties": { + "ports": { + "description": "Optional. A list of ports. Can be port numbers or port range (example, [80-90] specifies all ports from 80 to 90, including 80 and 90) or named ports or * to specify all ports. If the list is empty, all ports are selected.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Network Services API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/networkservices/v1beta1/networkservices-api.json b/etc/api/networkservices/v1beta1/networkservices-api.json new file mode 100644 index 0000000000..1a624662ff --- /dev/null +++ b/etc/api/networkservices/v1beta1/networkservices-api.json @@ -0,0 +1,1374 @@ +{ + "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://networkservices.googleapis.com/", + "batchPath": "batch", + "canonicalName": "NetworkServices", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/networking", + "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": "networkservices:v1beta1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://networkservices.mtls.googleapis.com/", + "name": "networkservices", + "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": "networkservices.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": "networkservices.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-platform" + ] + } + }, + "resources": { + "endpointPolicies": { + "methods": { + "create": { + "description": "Creates a new EndpointPolicy in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpointPolicies", + "httpMethod": "POST", + "id": "networkservices.projects.locations.endpointPolicies.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "endpointPolicyId": { + "description": "Required. Short name of the EndpointPolicy resource to be created. E.g. \"CustomECS\".", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the EndpointPolicy. Must be in the format `projects/*/locations/global`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/endpointPolicies", + "request": { + "$ref": "EndpointPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single EndpointPolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpointPolicies/{endpointPoliciesId}", + "httpMethod": "DELETE", + "id": "networkservices.projects.locations.endpointPolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the EndpointPolicy to delete. Must be in the format `projects/*/locations/global/endpointPolicies/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/endpointPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single EndpointPolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpointPolicies/{endpointPoliciesId}", + "httpMethod": "GET", + "id": "networkservices.projects.locations.endpointPolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the EndpointPolicy to get. Must be in the format `projects/*/locations/global/endpointPolicies/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/endpointPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "EndpointPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpointPolicies/{endpointPoliciesId}:getIamPolicy", + "httpMethod": "GET", + "id": "networkservices.projects.locations.endpointPolicies.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/endpointPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists EndpointPolicies in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpointPolicies", + "httpMethod": "GET", + "id": "networkservices.projects.locations.endpointPolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of EndpointPolicies to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListEndpointPoliciesResponse` Indicates that this is a continuation of a prior `ListEndpointPolicies` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the EndpointPolicies should be listed, specified in the format `projects/*/locations/global`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/endpointPolicies", + "response": { + "$ref": "ListEndpointPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single EndpointPolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpointPolicies/{endpointPoliciesId}", + "httpMethod": "PATCH", + "id": "networkservices.projects.locations.endpointPolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the EndpointPolicy resource. It matches pattern `projects/{project}/locations/global/endpointPolicies/{endpoint_policy}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/endpointPolicies/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the EndpointPolicy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "EndpointPolicy" + }, + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpointPolicies/{endpointPoliciesId}:setIamPolicy", + "httpMethod": "POST", + "id": "networkservices.projects.locations.endpointPolicies.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/[^/]+/endpointPolicies/[^/]+$", + "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 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}/endpointPolicies/{endpointPoliciesId}:testIamPermissions", + "httpMethod": "POST", + "id": "networkservices.projects.locations.endpointPolicies.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/[^/]+/endpointPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "networkservices.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": "networkservices.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": "networkservices.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`. 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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "networkservices.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" + ] + } + } + }, + "serviceBindings": { + "methods": { + "create": { + "description": "Creates a new ServiceBinding in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serviceBindings", + "httpMethod": "POST", + "id": "networkservices.projects.locations.serviceBindings.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the ServiceBinding. Must be in the format `projects/*/locations/global`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "serviceBindingId": { + "description": "Required. Short name of the ServiceBinding resource to be created.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/serviceBindings", + "request": { + "$ref": "ServiceBinding" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single ServiceBinding.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serviceBindings/{serviceBindingsId}", + "httpMethod": "DELETE", + "id": "networkservices.projects.locations.serviceBindings.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the ServiceBinding to delete. Must be in the format `projects/*/locations/global/serviceBindings/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serviceBindings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single ServiceBinding.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serviceBindings/{serviceBindingsId}", + "httpMethod": "GET", + "id": "networkservices.projects.locations.serviceBindings.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the ServiceBinding to get. Must be in the format `projects/*/locations/global/serviceBindings/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serviceBindings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "ServiceBinding" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serviceBindings/{serviceBindingsId}:getIamPolicy", + "httpMethod": "GET", + "id": "networkservices.projects.locations.serviceBindings.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serviceBindings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists ServiceBinding in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serviceBindings", + "httpMethod": "GET", + "id": "networkservices.projects.locations.serviceBindings.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of ServiceBindings to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListServiceBindingsResponse` Indicates that this is a continuation of a prior `ListRouters` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the ServiceBindings should be listed, specified in the format `projects/*/locations/global`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/serviceBindings", + "response": { + "$ref": "ListServiceBindingsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single ServiceBinding.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serviceBindings/{serviceBindingsId}", + "httpMethod": "PATCH", + "id": "networkservices.projects.locations.serviceBindings.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the ServiceBinding resource. It matches pattern `projects/*/locations/global/serviceBindings/service_binding_name>`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serviceBindings/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the ServiceBinding resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "ServiceBinding" + }, + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/serviceBindings/{serviceBindingsId}:setIamPolicy", + "httpMethod": "POST", + "id": "networkservices.projects.locations.serviceBindings.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/[^/]+/serviceBindings/[^/]+$", + "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 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}/serviceBindings/{serviceBindingsId}:testIamPermissions", + "httpMethod": "POST", + "id": "networkservices.projects.locations.serviceBindings.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/[^/]+/serviceBindings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20220222", + "rootUrl": "https://networkservices.googleapis.com/", + "schemas": { + "AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the principals requesting access for a 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 the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "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" + }, + "EndpointMatcher": { + "description": "A definition of a matcher that selects endpoints to which the policies should be applied.", + "id": "EndpointMatcher", + "properties": { + "metadataLabelMatcher": { + "$ref": "MetadataLabelMatcher", + "description": "The matcher is based on node metadata presented by xDS clients." + } + }, + "type": "object" + }, + "EndpointPolicy": { + "description": "EndpointPolicy is a resource that helps apply desired configuration on the endpoints that match specific criteria. For example, this resource can be used to apply \"authentication config\" an all endpoints that serve on port 8080.", + "id": "EndpointPolicy", + "properties": { + "authorizationPolicy": { + "description": "Optional. This field specifies the URL of AuthorizationPolicy resource that applies authorization policies to the inbound traffic at the matched endpoints. Refer to Authorization. If this field is not specified, authorization is disabled(no authz checks) for this endpoint.", + "type": "string" + }, + "clientTlsPolicy": { + "description": "Optional. A URL referring to a ClientTlsPolicy resource. ClientTlsPolicy can be set to specify the authentication for traffic from the proxy to the actual endpoints. More specifically, it is applied to the outgoing traffic from the proxy to the endpoint. This is typically used for sidecar model where the proxy identifies itself as endpoint to the control plane, with the connection between sidecar and endpoint requiring authentication. If this field is not set, authentication is disabled(open). Applicable only when EndpointPolicyType is SIDECAR_PROXY.", + "type": "string" + }, + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. A free-text description of the resource. Max length 1024 characters.", + "type": "string" + }, + "endpointMatcher": { + "$ref": "EndpointMatcher", + "description": "Required. A matcher that selects endpoints to which the policies should be applied." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of label tags associated with the EndpointPolicy resource.", + "type": "object" + }, + "name": { + "description": "Required. Name of the EndpointPolicy resource. It matches pattern `projects/{project}/locations/global/endpointPolicies/{endpoint_policy}`.", + "type": "string" + }, + "serverTlsPolicy": { + "description": "Optional. A URL referring to ServerTlsPolicy resource. ServerTlsPolicy is used to determine the authentication policy to be applied to terminate the inbound traffic at the identified backends. If this field is not set, authentication is disabled(open) for this endpoint.", + "type": "string" + }, + "trafficPortSelector": { + "$ref": "TrafficPortSelector", + "description": "Optional. Port selector for the (matched) endpoints. If no port selector is provided, the matched config is applied to all ports." + }, + "type": { + "description": "Required. The type of endpoint policy. This is primarily used to validate the configuration.", + "enum": [ + "ENDPOINT_POLICY_TYPE_UNSPECIFIED", + "SIDECAR_PROXY", + "GRPC_SERVER" + ], + "enumDescriptions": [ + "Default value. Must not be used.", + "Represents a proxy deployed as a sidecar.", + "Represents a proxyless gRPC backend." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", + "type": "string" + } + }, + "type": "object" + }, + "ListEndpointPoliciesResponse": { + "description": "Response returned by the ListEndpointPolicies method.", + "id": "ListEndpointPoliciesResponse", + "properties": { + "endpointPolicies": { + "description": "List of EndpointPolicy resources.", + "items": { + "$ref": "EndpointPolicy" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + } + }, + "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" + }, + "ListServiceBindingsResponse": { + "description": "Response returned by the ListServiceBindings method.", + "id": "ListServiceBindingsResponse", + "properties": { + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + }, + "serviceBindings": { + "description": "List of ServiceBinding resources.", + "items": { + "$ref": "ServiceBinding" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform 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" + }, + "MetadataLabelMatcher": { + "description": "The matcher that is based on node metadata presented by xDS clients.", + "id": "MetadataLabelMatcher", + "properties": { + "metadataLabelMatchCriteria": { + "description": "Specifies how matching should be done. Supported values are: MATCH_ANY: At least one of the Labels specified in the matcher should match the metadata presented by xDS client. MATCH_ALL: The metadata presented by the xDS client should contain all of the labels specified here. The selection is determined based on the best match. For example, suppose there are three EndpointPolicy resources P1, P2 and P3 and if P1 has a the matcher as MATCH_ANY , P2 has MATCH_ALL , and P3 has MATCH_ALL . If a client with label connects, the config from P1 will be selected. If a client with label connects, the config from P2 will be selected. If a client with label connects, the config from P3 will be selected. If there is more than one best match, (for example, if a config P4 with selector exists and if a client with label connects), an error will be thrown.", + "enum": [ + "METADATA_LABEL_MATCH_CRITERIA_UNSPECIFIED", + "MATCH_ANY", + "MATCH_ALL" + ], + "enumDescriptions": [ + "Default value. Should not be used.", + "At least one of the Labels specified in the matcher should match the metadata presented by xDS client.", + "The metadata presented by the xDS client should contain all of the labels specified here." + ], + "type": "string" + }, + "metadataLabels": { + "description": "The list of label value pairs that must match labels in the provided metadata based on filterMatchCriteria This list can have at most 64 entries. The list can be empty if the match criteria is MATCH_ANY, to specify a wildcard match (i.e this matches any client).", + "items": { + "$ref": "MetadataLabels" + }, + "type": "array" + } + }, + "type": "object" + }, + "MetadataLabels": { + "description": "Defines a name-pair value for a single label.", + "id": "MetadataLabels", + "properties": { + "labelName": { + "description": "Required. Label name presented as key in xDS Node Metadata.", + "type": "string" + }, + "labelValue": { + "description": "Required. Label value presented as value corresponding to the above key, in xDS Node Metadata.", + "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" + }, + "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" + }, + "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" + }, + "ServiceBinding": { + "description": "ServiceBinding is the resource that defines a Service Directory Service to be used in a BackendService resource.", + "id": "ServiceBinding", + "properties": { + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. A free-text description of the resource. Max length 1024 characters.", + "type": "string" + }, + "endpointFilter": { + "description": "Optional. The endpoint filter associated with the Service Binding. The syntax is described in http://cloud/service-directory/docs/reference/rpc/google.cloud.servicedirectory.v1#google.cloud.servicedirectory.v1.ResolveServiceRequest", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of label tags associated with the ServiceBinding resource.", + "type": "object" + }, + "name": { + "description": "Required. Name of the ServiceBinding resource. It matches pattern `projects/*/locations/global/serviceBindings/service_binding_name>`.", + "type": "string" + }, + "service": { + "description": "Required. The full service directory service name of the format /projects/*/locations/*/namespaces/*/services/*", + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was 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 Cloud Platform services (such as Projects) might reject them." + }, + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TrafficPortSelector": { + "description": "Specification of a port-based selector.", + "id": "TrafficPortSelector", + "properties": { + "ports": { + "description": "Optional. A list of ports. Can be port numbers or port range (example, [80-90] specifies all ports from 80 to 90, including 80 and 90) or named ports or * to specify all ports. If the list is empty, all ports are selected.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Network Services API", + "version": "v1beta1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/notebooks/v1/notebooks-api.json b/etc/api/notebooks/v1/notebooks-api.json index acc47fb823..11cf3cf203 100644 --- a/etc/api/notebooks/v1/notebooks-api.json +++ b/etc/api/notebooks/v1/notebooks-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -12,9 +12,9 @@ "baseUrl": "https://notebooks.googleapis.com/", "batchPath": "batch", "canonicalName": "AI Platform Notebooks", - "description": "AI Platform Notebooks API is used to manage notebook resources in Google Cloud.", + "description": "Notebooks API is used to manage notebook resources in Google Cloud.", "discoveryVersion": "v1", - "documentationLink": "https://cloud.google.com/ai-platform/notebooks/docs/", + "documentationLink": "https://cloud.google.com/notebooks/docs/", "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -144,7 +144,7 @@ ], "parameters": { "filter": { - "description": "The standard list 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" }, @@ -156,13 +156,13 @@ "type": "string" }, "pageSize": { - "description": "The standard list page size.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The standard list page token.", + "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" } @@ -303,7 +303,7 @@ "executions": { "methods": { "create": { - "description": "Creates a new Scheduled Notebook in a given project and location.", + "description": "Creates a new Execution in a given project and location.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/executions", "httpMethod": "POST", "id": "notebooks.projects.locations.executions.create", @@ -370,7 +370,7 @@ ], "parameters": { "name": { - "description": "Required. Format: `projects/{project_id}/locations/{location}/schedules/{execution_id}`", + "description": "Required. Format: `projects/{project_id}/locations/{location}/executions/{execution_id}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/executions/[^/]+$", "required": true, @@ -395,7 +395,7 @@ ], "parameters": { "filter": { - "description": "Filter applied to resulting executions.", + "description": "Filter applied to resulting executions. Currently only supports filtering executions by a specified schedule_id. Format: `schedule_id=`", "location": "query", "type": "string" }, @@ -528,7 +528,7 @@ ], "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).", + "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" @@ -589,6 +589,25 @@ "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", "required": true, "type": "string" + }, + "type": { + "description": "Optional. The optional UpgradeType. Setting this field will search for additional compute images to upgrade this instance.", + "enum": [ + "UPGRADE_TYPE_UNSPECIFIED", + "UPGRADE_FRAMEWORK", + "UPGRADE_OS", + "UPGRADE_CUDA", + "UPGRADE_ALL" + ], + "enumDescriptions": [ + "Upgrade type is not specified.", + "Upgrade ML framework.", + "Upgrade Operating System.", + "Upgrade CUDA.", + "Upgrade All (OS, Framework and CUDA)." + ], + "location": "query", + "type": "string" } }, "path": "v1/{+notebookInstance}:isUpgradeable", @@ -719,6 +738,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "rollback": { + "description": "Rollbacks a notebook instance to the previous version.", + "flatPath": "v1/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": "v1/{+name}:rollback", + "request": { + "$ref": "RollbackInstanceRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "setAccelerator": { "description": "Updates the guest accelerators of a single Instance.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:setAccelerator", @@ -915,6 +962,90 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "updateConfig": { + "description": "Update Notebook Instance configurations.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:updateConfig", + "httpMethod": "PATCH", + "id": "notebooks.projects.locations.instances.updateConfig", + "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": "v1/{+name}:updateConfig", + "request": { + "$ref": "UpdateInstanceConfigRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateMetadataItems": { + "description": "Add/update metadata items for an instance.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:updateMetadataItems", + "httpMethod": "PATCH", + "id": "notebooks.projects.locations.instances.updateMetadataItems", + "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": "v1/{+name}:updateMetadataItems", + "request": { + "$ref": "UpdateInstanceMetadataItemsRequest" + }, + "response": { + "$ref": "UpdateInstanceMetadataItemsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateShieldedInstanceConfig": { + "description": "Updates the Shielded instance configuration of a single Instance.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:updateShieldedInstanceConfig", + "httpMethod": "PATCH", + "id": "notebooks.projects.locations.instances.updateShieldedInstanceConfig", + "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": "v1/{+name}:updateShieldedInstanceConfig", + "request": { + "$ref": "UpdateShieldedInstanceConfigRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "upgrade": { "description": "Upgrades a notebook instance to the latest version.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:upgrade", @@ -1096,6 +1227,356 @@ } } }, + "runtimes": { + "methods": { + "create": { + "description": "Creates a new Runtime in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes", + "httpMethod": "POST", + "id": "notebooks.projects.locations.runtimes.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Format: `parent=projects/{project_id}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "runtimeId": { + "description": "Required. User-defined unique ID of this Runtime.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/runtimes", + "request": { + "$ref": "Runtime" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single Runtime.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}", + "httpMethod": "DELETE", + "id": "notebooks.projects.locations.runtimes.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Runtime. The location must be a regional endpoint rather than zonal.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}", + "httpMethod": "GET", + "id": "notebooks.projects.locations.runtimes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Runtime" + }, + "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}/runtimes/{runtimesId}:getIamPolicy", + "httpMethod": "GET", + "id": "notebooks.projects.locations.runtimes.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Runtimes in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes", + "httpMethod": "GET", + "id": "notebooks.projects.locations.runtimes.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum return size of the list call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "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": "v1/{+parent}/runtimes", + "response": { + "$ref": "ListRuntimesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "reportEvent": { + "description": "Report and process a runtime event.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}:reportEvent", + "httpMethod": "POST", + "id": "notebooks.projects.locations.runtimes.reportEvent", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:reportEvent", + "request": { + "$ref": "ReportRuntimeEventRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "reset": { + "description": "Resets a Managed Notebook Runtime.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}:reset", + "httpMethod": "POST", + "id": "notebooks.projects.locations.runtimes.reset", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:reset", + "request": { + "$ref": "ResetRuntimeRequest" + }, + "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}/runtimes/{runtimesId}:setIamPolicy", + "httpMethod": "POST", + "id": "notebooks.projects.locations.runtimes.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/[^/]+/runtimes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "start": { + "description": "Starts a Managed Notebook Runtime. Perform \"Start\" on GPU instances; \"Resume\" on CPU instances See: https://cloud.google.com/compute/docs/instances/stop-start-instance https://cloud.google.com/compute/docs/instances/suspend-resume-instance", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}:start", + "httpMethod": "POST", + "id": "notebooks.projects.locations.runtimes.start", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:start", + "request": { + "$ref": "StartRuntimeRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "stop": { + "description": "Stops a Managed Notebook Runtime. Perform \"Stop\" on GPU instances; \"Suspend\" on CPU instances See: https://cloud.google.com/compute/docs/instances/stop-start-instance https://cloud.google.com/compute/docs/instances/suspend-resume-instance", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}:stop", + "httpMethod": "POST", + "id": "notebooks.projects.locations.runtimes.stop", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:stop", + "request": { + "$ref": "StopRuntimeRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "switch": { + "description": "Switch a Managed Notebook Runtime.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}:switch", + "httpMethod": "POST", + "id": "notebooks.projects.locations.runtimes.switch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/runtimes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:switch", + "request": { + "$ref": "SwitchRuntimeRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtimes/{runtimesId}:testIamPermissions", + "httpMethod": "POST", + "id": "notebooks.projects.locations.runtimes.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/[^/]+/runtimes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "schedules": { "methods": { "create": { @@ -1262,7 +1743,7 @@ } } }, - "revision": "20210305", + "revision": "20220224", "rootUrl": "https://notebooks.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -1310,27 +1791,33 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "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" }, + "BootImage": { + "description": "Definition of the boot image used by the Runtime. Used to facilitate runtime upgradeability.", + "id": "BootImage", + "properties": {}, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", @@ -1352,6 +1839,17 @@ }, "type": "object" }, + "DataprocParameters": { + "description": "Parameters used in Dataproc JobType executions.", + "id": "DataprocParameters", + "properties": { + "cluster": { + "description": "URI for cluster used to run Dataproc execution. Format: `projects/{PROJECT_ID}/regions/{REGION}/clusters/{CLUSTER_NAME}`", + "type": "string" + } + }, + "type": "object" + }, "Disk": { "description": "An instance-attached disk resource.", "id": "Disk", @@ -1386,7 +1884,7 @@ "type": "string" }, "interface": { - "description": "Indicates the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance. Valid values: NVME SCSI", + "description": "Indicates the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance. Valid values: * NVME * SCSI", "type": "string" }, "kind": { @@ -1401,7 +1899,7 @@ "type": "array" }, "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. Valid values: READ_ONLY READ_WRITE", + "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. Valid values: * READ_ONLY * READ_WRITE", "type": "string" }, "source": { @@ -1409,7 +1907,7 @@ "type": "string" }, "type": { - "description": "Indicates the type of the disk, either SCRATCH or PERSISTENT. Valid values: PERSISTENT SCRATCH", + "description": "Indicates the type of the disk, either SCRATCH or PERSISTENT. Valid values: * PERSISTENT * SCRATCH", "type": "string" } }, @@ -1421,6 +1919,17 @@ "properties": {}, "type": "object" }, + "EncryptionConfig": { + "description": "Represents a custom encryption key configuration that can be applied to a resource. This will encrypt all disks in Virtual Machine.", + "id": "EncryptionConfig", + "properties": { + "kmsKey": { + "description": "The Cloud KMS resource identifier of the customer-managed encryption key used to protect a resource, such as a disks. It has the following format: `projects/{PROJECT_ID}/locations/{REGION}/keyRings/{KEY_RING_NAME}/cryptoKeys/{KEY_NAME}`", + "type": "string" + } + }, + "type": "object" + }, "Environment": { "description": "Definition of a software environment that is used to start a notebook instance.", "id": "Environment", @@ -1459,6 +1968,43 @@ }, "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": "Event report time.", + "format": "google-datetime", + "type": "string" + }, + "type": { + "description": "Event type.", + "enum": [ + "EVENT_TYPE_UNSPECIFIED", + "IDLE", + "HEARTBEAT", + "HEALTH", + "MAINTENANCE" + ], + "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" + ], + "type": "string" + } + }, + "type": "object" + }, "Execution": { "description": "The definition of a single executed notebook.", "id": "Execution", @@ -1482,8 +2028,13 @@ "$ref": "ExecutionTemplate", "description": "execute metadata including name, hardware spec, region, labels, etc." }, + "jobUri": { + "description": "Output only. The URI of the external job used to execute the notebook.", + "readOnly": true, + "type": "string" + }, "name": { - "description": "Output only. The resource name of the execute. Format: `projects/{project_id}/locations/{location}/execution/{execution_id}", + "description": "Output only. The resource name of the execute. Format: `projects/{project_id}/locations/{location}/executions/{execution_id}`", "readOnly": true, "type": "string" }, @@ -1501,7 +2052,9 @@ "SUCCEEDED", "FAILED", "CANCELLING", - "CANCELLED" + "CANCELLED", + "EXPIRED", + "INITIALIZING" ], "enumDescriptions": [ "The job state is unspecified.", @@ -1511,7 +2064,9 @@ "The job completed successfully.", "The job failed. `error_message` should contain the details of the failure.", "The job is being cancelled. `error_message` should describe the reason for the cancellation.", - "The job has been cancelled. `error_message` should describe the reason for the cancellation." + "The job has been cancelled. `error_message` should describe the reason for the cancellation.", + "The job has become expired (relevant to Vertex AI jobs) https://cloud.google.com/vertex-ai/docs/reference/rest/v1/JobState", + "The Execution is being created." ], "readOnly": true, "type": "string" @@ -1537,8 +2092,30 @@ "description": "Container Image URI to a DLVM Example: 'gcr.io/deeplearning-platform-release/base-cu100' More examples can be found at: https://cloud.google.com/ai-platform/deep-learning-containers/docs/choosing-container", "type": "string" }, + "dataprocParameters": { + "$ref": "DataprocParameters", + "description": "Parameters used in Dataproc JobType executions." + }, "inputNotebookFile": { - "description": "Path to the notebook file to execute. Must be in a Google Cloud Storage bucket. Format: gs://{project_id}/{folder}/{notebook_file_name} Ex: gs://notebook_user/scheduled_notebooks/sentiment_notebook.ipynb", + "description": "Path to the notebook file to execute. Must be in a Google Cloud Storage bucket. Format: `gs://{bucket_name}/{folder}/{notebook_file_name}` Ex: `gs://notebook_user/scheduled_notebooks/sentiment_notebook.ipynb`", + "type": "string" + }, + "jobType": { + "description": "The type of Job to be used on this execution.", + "enum": [ + "JOB_TYPE_UNSPECIFIED", + "VERTEX_AI", + "DATAPROC" + ], + "enumDescriptions": [ + "No type specified.", + "Custom Job in `aiplatform.googleapis.com`. Default value for an execution.", + "Run execution on a cluster with Dataproc as a job. https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.jobs" + ], + "type": "string" + }, + "kernelSpec": { + "description": "Name of the kernel spec to use. This must be specified if the kernel spec name on the execution target does not match the name in the input notebook file.", "type": "string" }, "labels": { @@ -1549,11 +2126,11 @@ "type": "object" }, "masterType": { - "description": "Specifies the type of virtual machine to use for your training job's master worker. You must specify this field when `scaleTier` is set to `CUSTOM`. You can use certain Compute Engine machine types directly in this field. The following types are supported: - `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-16` - `n1-highcpu-32` - `n1-highcpu-64` - `n1-highcpu-96` Alternatively, you can use the following legacy machine types: - `standard` - `large_model` - `complex_model_s` - `complex_model_m` - `complex_model_l` - `standard_gpu` - `complex_model_m_gpu` - `complex_model_l_gpu` - `standard_p100` - `complex_model_m_p100` - `standard_v100` - `large_model_v100` - `complex_model_m_v100` - `complex_model_l_v100` Finally, if you want to use a TPU for training, specify `cloud_tpu` in this field. Learn more about the [special configuration options for training with TPU.", + "description": "Specifies the type of virtual machine to use for your training job's master worker. You must specify this field when `scaleTier` is set to `CUSTOM`. You can use certain Compute Engine machine types directly in this field. The following types are supported: - `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-16` - `n1-highcpu-32` - `n1-highcpu-64` - `n1-highcpu-96` Alternatively, you can use the following legacy machine types: - `standard` - `large_model` - `complex_model_s` - `complex_model_m` - `complex_model_l` - `standard_gpu` - `complex_model_m_gpu` - `complex_model_l_gpu` - `standard_p100` - `complex_model_m_p100` - `standard_v100` - `large_model_v100` - `complex_model_m_v100` - `complex_model_l_v100` Finally, if you want to use a TPU for training, specify `cloud_tpu` in this field. Learn more about the [special configuration options for training with TPU](https://cloud.google.com/ai-platform/training/docs/using-tpus#configuring_a_custom_tpu_machine).", "type": "string" }, "outputNotebookFolder": { - "description": "Path to the notebook folder to write to. Must be in a Google Cloud Storage bucket path. Format: gs://{project_id}/{folder} Ex: gs://notebook_user/scheduled_notebooks", + "description": "Path to the notebook folder to write to. Must be in a Google Cloud Storage bucket path. Format: `gs://{bucket_name}/{folder}` Ex: `gs://notebook_user/scheduled_notebooks`", "type": "string" }, "parameters": { @@ -1561,11 +2138,11 @@ "type": "string" }, "paramsYamlFile": { - "description": "Parameters to be overridden in the notebook during execution. Ref https://papermill.readthedocs.io/en/latest/usage-parameterize.html on how to specifying parameters in the input notebook and pass them here in an YAML file. Ex: gs://notebook_user/scheduled_notebooks/sentiment_notebook_params.yaml", + "description": "Parameters to be overridden in the notebook during execution. Ref https://papermill.readthedocs.io/en/latest/usage-parameterize.html on how to specifying parameters in the input notebook and pass them here in an YAML file. Ex: `gs://notebook_user/scheduled_notebooks/sentiment_notebook_params.yaml`", "type": "string" }, "scaleTier": { - "description": "Required. Scale tier of the hardware used for notebook execution.", + "description": "Required. Scale tier of the hardware used for notebook execution. DEPRECATED Will be discontinued. As right now only CUSTOM is supported.", "enum": [ "SCALE_TIER_UNSPECIFIED", "BASIC", @@ -1582,9 +2159,21 @@ "A large number of workers with many parameter servers.", "A single worker instance with a K80 GPU.", "A single worker instance with a Cloud TPU.", - "The CUSTOM tier is not a set tier, but rather enables you to use your own cluster specification. When you use this tier, set values to configure your processing cluster according to these guidelines: * You _must_ set `TrainingInput.masterType` to specify the type of machine to use for your master node. This is the only required setting. * You _may_ set `TrainingInput.workerCount` to specify the number of workers to use. If you specify one or more workers, you _must_ also set `TrainingInput.workerType` to specify the type of machine to use for your worker nodes. * You _may_ set `TrainingInput.parameterServerCount` to specify the number of parameter servers to use. If you specify one or more parameter servers, you _must_ also set `TrainingInput.parameterServerType` to specify the type of machine to use for your parameter servers. Note that all of your workers must use the same machine type, which can be different from your parameter server type and master type. Your parameter servers must likewise use the same machine type, which can be different from your worker type and master type." + "The CUSTOM tier is not a set tier, but rather enables you to use your own cluster specification. When you use this tier, set values to configure your processing cluster according to these guidelines: * You _must_ set `ExecutionTemplate.masterType` to specify the type of machine to use for your master node. This is the only required setting." ], "type": "string" + }, + "serviceAccount": { + "description": "The email address of a service account to use when running the execution. You must have the `iam.serviceAccounts.actAs` permission for the specified service account.", + "type": "string" + }, + "tensorboard": { + "description": "The name of a Vertex AI [Tensorboard] resource to which this execution will upload Tensorboard logs. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", + "type": "string" + }, + "vertexAiParameters": { + "$ref": "VertexAIParameters", + "description": "Parameters used in Vertex AI JobType executions." } }, "type": "object" @@ -1651,7 +2240,7 @@ "id": "GuestOsFeature", "properties": { "type": { - "description": "The ID of a supported feature. Read Enabling guest operating system features to see a list of available options. Valid values: FEATURE_TYPE_UNSPECIFIED MULTI_IP_SUBNET SECURE_BOOT UEFI_COMPATIBLE VIRTIO_SCSI_MULTIQUEUE WINDOWS", + "description": "The ID of a supported feature. Read Enabling guest operating system features to see a list of available options. Valid values: * FEATURE_TYPE_UNSPECIFIED * MULTI_IP_SUBNET * SECURE_BOOT * UEFI_COMPATIBLE * VIRTIO_SCSI_MULTIQUEUE * WINDOWS", "type": "string" } }, @@ -1686,6 +2275,10 @@ ], "type": "string" }, + "canIpForward": { + "description": "Optional. Flag to enable ip forwarding or not, default false/off. https://cloud.google.com/vpc/docs/using-routes#canipforward", + "type": "boolean" + }, "containerImage": { "$ref": "ContainerImage", "description": "Use a container image to start the notebook instance." @@ -1696,6 +2289,11 @@ "readOnly": true, "type": "string" }, + "creator": { + "description": "Output only. Email address of entity that sent original CreateInstance request.", + "readOnly": true, + "type": "string" + }, "customGpuDriverPath": { "description": "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" @@ -1785,6 +2383,20 @@ "description": "The name of the VPC that this 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": [ + "UNSPECIFIED_NIC_TYPE", + "VIRTIO_NET", + "GVNIC" + ], + "enumDescriptions": [ + "No type specified.", + "VIRTIO", + "GVNIC" + ], + "type": "string" + }, "noProxyAccess": { "description": "If true, the notebook instance will not register with the proxy.", "type": "boolean" @@ -1798,7 +2410,7 @@ "type": "boolean" }, "postStartupScript": { - "description": "Path to a Bash script that automatically runs after a notebook instance fully boots up. The path must be a URL or Cloud Storage path (gs://path-to-file/file-name).", + "description": "Path to a Bash script that automatically runs after a notebook instance fully boots up. The path must be a URL or Cloud Storage path (`gs://path-to-file/file-name`).", "type": "string" }, "proxyUri": { @@ -1806,6 +2418,10 @@ "readOnly": true, "type": "string" }, + "reservationAffinity": { + "$ref": "ReservationAffinity", + "description": "Optional. The optional reservation affinity. Setting this field will apply the specified [Zonal Compute Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) to this notebook instance." + }, "serviceAccount": { "description": "The service account on this instance, giving access to other Google Cloud services. You can use any service account within the same project, but you must have the service account user permission to use the instance. If not specified, the [Compute Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used.", "type": "string" @@ -1819,7 +2435,7 @@ }, "shieldedInstanceConfig": { "$ref": "ShieldedInstanceConfig", - "description": "Optional. Shielded VM configuration. [Images using supported Shielded VM features] (https://cloud.google.com/compute/docs/instances/modifying-shielded-vm)." + "description": "Optional. Shielded VM configuration. [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm)." }, "state": { "description": "Output only. The state of this instance.", @@ -1833,7 +2449,9 @@ "DELETED", "UPGRADING", "INITIALIZING", - "REGISTERING" + "REGISTERING", + "SUSPENDING", + "SUSPENDED" ], "enumDescriptions": [ "State is not specified.", @@ -1845,7 +2463,9 @@ "The instance is deleted.", "The instance is upgrading.", "The instance is being created.", - "The instance is getting registered." + "The instance is getting registered.", + "The instance is suspending.", + "The instance is suspended." ], "readOnly": true, "type": "string" @@ -1881,6 +2501,21 @@ }, "type": "object" }, + "InstanceConfig": { + "description": "Notebook instance configurations that can be updated.", + "id": "InstanceConfig", + "properties": { + "enableHealthMonitoring": { + "description": "Verifies core internal services are running.", + "type": "boolean" + }, + "notebookUpgradeSchedule": { + "description": "Cron expression in UTC timezone, used to schedule instance auto upgrade. Please follow the [cron format](https://en.wikipedia.org/wiki/Cron).", + "type": "string" + } + }, + "type": "object" + }, "IsInstanceUpgradeableResponse": { "description": "Response for checking if a notebook instance is upgradeable.", "id": "IsInstanceUpgradeableResponse", @@ -1945,7 +2580,7 @@ "type": "string" }, "unreachable": { - "description": "Executions IDs that could not be reached. For example, ['projects/{project_id}/location/{location}/executions/imagenet_test1', 'projects/{project_id}/location/{location}/executions/classifier_train1'].", + "description": "Executions IDs that could not be reached. For example: ['projects/{project_id}/location/{location}/executions/imagenet_test1', 'projects/{project_id}/location/{location}/executions/classifier_train1']", "items": { "type": "string" }, @@ -2015,6 +2650,31 @@ }, "type": "object" }, + "ListRuntimesResponse": { + "description": "Response for listing Managed Notebook Runtimes.", + "id": "ListRuntimesResponse", + "properties": { + "nextPageToken": { + "description": "Page token that can be used to continue listing from the last result in the next list call.", + "type": "string" + }, + "runtimes": { + "description": "A list of returned Runtimes.", + "items": { + "$ref": "Runtime" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached. For example, ['us-west1', 'us-central1']. A ListRuntimesResponse will only contain either runtimes or unreachables,", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListSchedulesResponse": { "description": "Response for listing scheduled notebook job.", "id": "ListSchedulesResponse", @@ -2031,7 +2691,7 @@ "type": "array" }, "unreachable": { - "description": "Schedules that could not be reached. For example, ['projects/{project_id}/location/{location}/schedules/monthly_digest', 'projects/{project_id}/location/{location}/schedules/weekly_sentiment'].", + "description": "Schedules that could not be reached. For example: ['projects/{project_id}/location/{location}/schedules/monthly_digest', 'projects/{project_id}/location/{location}/schedules/weekly_sentiment']", "items": { "type": "string" }, @@ -2040,6 +2700,118 @@ }, "type": "object" }, + "LocalDisk": { + "description": "A Local attached disk resource.", + "id": "LocalDisk", + "properties": { + "autoDelete": { + "description": "Optional. Output only. Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", + "readOnly": true, + "type": "boolean" + }, + "boot": { + "description": "Optional. Output only. Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.", + "readOnly": true, + "type": "boolean" + }, + "deviceName": { + "description": "Optional. Output only. 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.", + "readOnly": true, + "type": "string" + }, + "guestOsFeatures": { + "description": "Output only. Indicates 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": "RuntimeGuestOsFeature" + }, + "readOnly": true, + "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", + "readOnly": true, + "type": "integer" + }, + "initializeParams": { + "$ref": "LocalDiskInitializeParams", + "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. The default is SCSI. Persistent disks must always use SCSI and the request will fail if you attempt to attach a persistent disk in any other format than SCSI. Local SSDs can use either NVME or SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance. Valid values: * NVME * SCSI", + "type": "string" + }, + "kind": { + "description": "Output only. Type of the resource. Always compute#attachedDisk for attached disks.", + "readOnly": true, + "type": "string" + }, + "licenses": { + "description": "Output only. Any valid publicly visible licenses.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "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. Valid values: * READ_ONLY * READ_WRITE", + "type": "string" + }, + "source": { + "description": "Specifies a valid partial or full URL to an existing Persistent Disk resource.", + "type": "string" + }, + "type": { + "description": "Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified, the default is PERSISTENT. Valid values: * PERSISTENT * SCRATCH", + "type": "string" + } + }, + "type": "object" + }, + "LocalDiskInitializeParams": { + "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 runtime. This property is mutually exclusive with the source property; you can only define one or the other, but not both.", + "id": "LocalDiskInitializeParams", + "properties": { + "description": { + "description": "Optional. Provide this property when creating the disk.", + "type": "string" + }, + "diskName": { + "description": "Optional. Specifies the disk name. If not specified, the default is to use the name of the instance. If the disk with the instance name exists already in the given zone/region, a new name will be automatically generated.", + "type": "string" + }, + "diskSizeGb": { + "description": "Optional. Specifies the size of the disk in base-2 GB. If not specified, the disk will be the same size as the image (usually 10GB). If specified, the size must be equal to or larger than 10GB. Default 100 GB.", + "format": "int64", + "type": "string" + }, + "diskType": { + "description": "Input only. The type of the boot disk attached to this instance, defaults to standard persistent disk (`PD_STANDARD`).", + "enum": [ + "DISK_TYPE_UNSPECIFIED", + "PD_STANDARD", + "PD_SSD", + "PD_BALANCED" + ], + "enumDescriptions": [ + "Disk type not set.", + "Standard persistent disk type.", + "SSD persistent disk type.", + "Balanced persistent disk type." + ], + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. 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" + } + }, + "type": "object" + }, "Location": { "description": "A resource that represents Google Cloud Platform location.", "id": "Location", @@ -2151,11 +2923,11 @@ "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/).", + "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` 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.", + "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" }, @@ -2203,12 +2975,332 @@ }, "type": "object" }, + "ReportRuntimeEventRequest": { + "description": "Request for reporting a Managed Notebook Event.", + "id": "ReportRuntimeEventRequest", + "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" + }, + "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": [ + "Default type.", + "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" + }, "ResetInstanceRequest": { - "description": "Request for reseting a notebook instance", + "description": "Request for resetting a notebook instance", "id": "ResetInstanceRequest", "properties": {}, "type": "object" }, + "ResetRuntimeRequest": { + "description": "Request for resetting a Managed Notebook Runtime.", + "id": "ResetRuntimeRequest", + "properties": {}, + "type": "object" + }, + "RollbackInstanceRequest": { + "description": "Request for rollbacking a notebook instance", + "id": "RollbackInstanceRequest", + "properties": { + "targetSnapshot": { + "description": "Required. The snapshot for rollback. Example: \"projects/test-project/global/snapshots/krwlzipynril\".", + "type": "string" + } + }, + "type": "object" + }, + "Runtime": { + "description": "The definition of a Runtime for a managed notebook instance.", + "id": "Runtime", + "properties": { + "accessConfig": { + "$ref": "RuntimeAccessConfig", + "description": "The config settings for accessing runtime." + }, + "createTime": { + "description": "Output only. Runtime creation time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "healthState": { + "description": "Output only. Runtime health_state.", + "enum": [ + "HEALTH_STATE_UNSPECIFIED", + "HEALTHY", + "UNHEALTHY", + "AGENT_NOT_INSTALLED", + "AGENT_NOT_RUNNING" + ], + "enumDescriptions": [ + "The runtime substate is unknown.", + "The runtime is known to be in an healthy state (for example, critical daemons are running) Applies to ACTIVE state.", + "The runtime is known to be in an unhealthy state (for example, critical daemons are not running) Applies to ACTIVE state.", + "The runtime has not installed health monitoring agent. Applies to ACTIVE state.", + "The runtime health monitoring agent is not running. Applies to ACTIVE state." + ], + "readOnly": true, + "type": "string" + }, + "metrics": { + "$ref": "RuntimeMetrics", + "description": "Output only. Contains Runtime daemon metrics such as Service status and JupyterLab stats.", + "readOnly": true + }, + "name": { + "description": "Output only. The resource name of the runtime. Format: `projects/{project}/locations/{location}/runtimes/{runtimeId}`", + "readOnly": true, + "type": "string" + }, + "softwareConfig": { + "$ref": "RuntimeSoftwareConfig", + "description": "The config settings for software inside the runtime." + }, + "state": { + "description": "Output only. Runtime state.", + "enum": [ + "STATE_UNSPECIFIED", + "STARTING", + "PROVISIONING", + "ACTIVE", + "STOPPING", + "STOPPED", + "DELETING", + "UPGRADING", + "INITIALIZING" + ], + "enumDescriptions": [ + "State is not specified.", + "The compute layer is starting the runtime. It is not ready for use.", + "The compute layer is installing required frameworks and registering the runtime with notebook proxy. It cannot be used.", + "The runtime is currently running. It is ready for use.", + "The control logic is stopping the runtime. It cannot be used.", + "The runtime is stopped. It cannot be used.", + "The runtime is being deleted. It cannot be used.", + "The runtime is upgrading. It cannot be used.", + "The runtime is being created and set up. It is not ready for use." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Runtime update time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "virtualMachine": { + "$ref": "VirtualMachine", + "description": "Use a Compute Engine VM image to start the managed notebook instance." + } + }, + "type": "object" + }, + "RuntimeAcceleratorConfig": { + "description": "Definition of the types of hardware accelerators that can be used. Definition of the types of hardware accelerators that can be used. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes). Examples: * `nvidia-tesla-k80` * `nvidia-tesla-p100` * `nvidia-tesla-v100` * `nvidia-tesla-p4` * `nvidia-tesla-t4` * `nvidia-tesla-a100`", + "id": "RuntimeAcceleratorConfig", + "properties": { + "coreCount": { + "description": "Count of cores of this accelerator.", + "format": "int64", + "type": "string" + }, + "type": { + "description": "Accelerator model.", + "enum": [ + "ACCELERATOR_TYPE_UNSPECIFIED", + "NVIDIA_TESLA_K80", + "NVIDIA_TESLA_P100", + "NVIDIA_TESLA_V100", + "NVIDIA_TESLA_P4", + "NVIDIA_TESLA_T4", + "NVIDIA_TESLA_A100", + "TPU_V2", + "TPU_V3", + "NVIDIA_TESLA_T4_VWS", + "NVIDIA_TESLA_P100_VWS", + "NVIDIA_TESLA_P4_VWS" + ], + "enumDescriptions": [ + "Accelerator type is not specified.", + "Accelerator type is Nvidia Tesla K80.", + "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.", + "(Coming soon) Accelerator type is TPU V2.", + "(Coming soon) Accelerator type is TPU V3.", + "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" + }, + "RuntimeAccessConfig": { + "description": "Specifies the login configuration for Runtime", + "id": "RuntimeAccessConfig", + "properties": { + "accessType": { + "description": "The type of access mode this instance.", + "enum": [ + "RUNTIME_ACCESS_TYPE_UNSPECIFIED", + "SINGLE_USER", + "SERVICE_ACCOUNT" + ], + "enumDescriptions": [ + "Unspecified access.", + "Single user login.", + "Service Account mode. In Service Account mode, Runtime creator will specify a SA that exists in the consumer project. Using Runtime Service Account field. Users accessing the Runtime need ActAs (Service Account User) permission." + ], + "type": "string" + }, + "proxyUri": { + "description": "Output only. The proxy endpoint that is used to access the runtime.", + "readOnly": true, + "type": "string" + }, + "runtimeOwner": { + "description": "The owner of this runtime after creation. Format: `alias@example.com` Currently supports one owner only.", + "type": "string" + } + }, + "type": "object" + }, + "RuntimeGuestOsFeature": { + "description": "Optional. A list of features to enable on the guest operating system. Applicable only for bootable images. Read [Enabling guest operating system features](https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features) to see a list of available options. Guest OS features for boot disk.", + "id": "RuntimeGuestOsFeature", + "properties": { + "type": { + "description": "The ID of a supported feature. Read [Enabling guest operating system features](https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features) to see a list of available options. Valid values: * FEATURE_TYPE_UNSPECIFIED * MULTI_IP_SUBNET * SECURE_BOOT * UEFI_COMPATIBLE * VIRTIO_SCSI_MULTIQUEUE * WINDOWS", + "type": "string" + } + }, + "type": "object" + }, + "RuntimeMetrics": { + "description": "Contains runtime daemon metrics, such as OS and kernels and sessions stats.", + "id": "RuntimeMetrics", + "properties": { + "systemMetrics": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. The system metrics.", + "readOnly": true, + "type": "object" + } + }, + "type": "object" + }, + "RuntimeShieldedInstanceConfig": { + "description": "A set of Shielded Instance options. Check [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). Not all combinations are valid.", + "id": "RuntimeShieldedInstanceConfig", + "properties": { + "enableIntegrityMonitoring": { + "description": "Defines whether the instance has integrity monitoring enabled. Enables monitoring and attestation of the boot integrity of the instance. The attestation is performed against the integrity policy baseline. This baseline is initially derived from the implicitly trusted boot image when the instance is created. Enabled by default.", + "type": "boolean" + }, + "enableSecureBoot": { + "description": "Defines whether the instance has Secure Boot enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails. Disabled by default.", + "type": "boolean" + }, + "enableVtpm": { + "description": "Defines whether the instance has the vTPM enabled. Enabled by default.", + "type": "boolean" + } + }, + "type": "object" + }, + "RuntimeSoftwareConfig": { + "description": "Specifies the selection and configuration of software inside the runtime. The properties to set on runtime. Properties keys are specified in `key:value` format, for example: * `idle_shutdown: true` * `idle_shutdown_timeout: 180` * `enable_health_monitoring: true`", + "id": "RuntimeSoftwareConfig", + "properties": { + "customGpuDriverPath": { + "description": "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" + }, + "enableHealthMonitoring": { + "description": "Verifies core internal services are running. Default: True", + "type": "boolean" + }, + "idleShutdown": { + "description": "Runtime will automatically shutdown after idle_shutdown_time. Default: True", + "type": "boolean" + }, + "idleShutdownTimeout": { + "description": "Time in minutes to wait before shutting down runtime. Default: 180 minutes", + "format": "int32", + "type": "integer" + }, + "installGpuDriver": { + "description": "Install Nvidia Driver automatically. Default: True", + "type": "boolean" + }, + "kernels": { + "description": "Optional. Use a list of container images to use as Kernels in the notebook instance.", + "items": { + "$ref": "ContainerImage" + }, + "type": "array" + }, + "notebookUpgradeSchedule": { + "description": "Cron expression in UTC timezone, used to schedule instance auto upgrade. Please follow the [cron format](https://en.wikipedia.org/wiki/Cron).", + "type": "string" + }, + "postStartupScript": { + "description": "Path to a Bash script that automatically runs after a notebook instance fully boots up. The path must be a URL or Cloud Storage path (`gs://path-to-file/file-name`).", + "type": "string" + }, + "upgradeable": { + "description": "Output only. Bool indicating whether an newer image is available in an image family.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, "Schedule": { "description": "The definition of a schedule.", "id": "Schedule", @@ -2220,7 +3312,7 @@ "type": "string" }, "cronSchedule": { - "description": "Cron-tab formatted schedule by which the job will execute Format: minute, hour, day of month, month, day of week e.g. 0 0 * * WED = every Wednesday More examples: https://crontab.guru/examples.html", + "description": "Cron-tab formatted schedule by which the job will execute. Format: minute, hour, day of month, month, day of week, e.g. 0 0 * * WED = every Wednesday More examples: https://crontab.guru/examples.html", "type": "string" }, "description": { @@ -2228,7 +3320,7 @@ "type": "string" }, "displayName": { - "description": "Output only. Display name used for UI purposes. Name can only contain alphanumeric characters, hyphens \u2018-\u2019, and underscores \u2018_\u2019.", + "description": "Output only. Display name used for UI purposes. Name can only contain alphanumeric characters, hyphens '-', and underscores '_'.", "readOnly": true, "type": "string" }, @@ -2255,14 +3347,18 @@ "ENABLED", "PAUSED", "DISABLED", - "UPDATE_FAILED" + "UPDATE_FAILED", + "INITIALIZING", + "DELETING" ], "enumDescriptions": [ "Unspecified state.", "The job is executing normally.", "The job is paused by the user. It will not execute. A user can intentionally pause the job using PauseJobRequest.", "The job is disabled by the system due to error. The user cannot directly set a job to be disabled.", - "The job state resulting from a failed CloudScheduler.UpdateJob operation. To recover a job from this state, retry CloudScheduler.UpdateJob until a successful response is received." + "The job state resulting from a failed CloudScheduler.UpdateJob operation. To recover a job from this state, retry CloudScheduler.UpdateJob until a successful response is received.", + "The schedule resource is being created.", + "The schedule resource is being deleted." ], "type": "string" }, @@ -2280,7 +3376,7 @@ "type": "object" }, "SchedulerAcceleratorConfig": { - "description": "Definition of a hardware accelerator. Note that not all combinations of `type` and `core_count` are valid. Check GPUs on Compute Engine to find a valid combination. TPUs are not supported.", + "description": "Definition of a hardware accelerator. Note that not all combinations of `type` and `core_count` are valid. Check [GPUs on Compute Engine](https://cloud.google.com/compute/docs/gpus) to find a valid combination. TPUs are not supported.", "id": "SchedulerAcceleratorConfig", "properties": { "coreCount": { @@ -2297,6 +3393,7 @@ "NVIDIA_TESLA_V100", "NVIDIA_TESLA_P4", "NVIDIA_TESLA_T4", + "NVIDIA_TESLA_A100", "TPU_V2", "TPU_V3" ], @@ -2307,6 +3404,7 @@ "Nvidia Tesla V100 GPU.", "Nvidia Tesla P4 GPU.", "Nvidia Tesla T4 GPU.", + "Nvidia Tesla A100 GPU.", "TPU v2.", "TPU v3." ], @@ -2420,6 +3518,12 @@ "properties": {}, "type": "object" }, + "StartRuntimeRequest": { + "description": "Request for starting a Managed Notebook Runtime.", + "id": "StartRuntimeRequest", + "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", @@ -2453,6 +3557,27 @@ "properties": {}, "type": "object" }, + "StopRuntimeRequest": { + "description": "Request for stopping a Managed Notebook Runtime.", + "id": "StopRuntimeRequest", + "properties": {}, + "type": "object" + }, + "SwitchRuntimeRequest": { + "description": "Request for switching a Managed Notebook Runtime.", + "id": "SwitchRuntimeRequest", + "properties": { + "acceleratorConfig": { + "$ref": "RuntimeAcceleratorConfig", + "description": "accelerator config." + }, + "machineType": { + "description": "machine type.", + "type": "string" + } + }, + "type": "object" + }, "TestIamPermissionsRequest": { "description": "Request message for `TestIamPermissions` method.", "id": "TestIamPermissionsRequest", @@ -2487,6 +3612,56 @@ "properties": {}, "type": "object" }, + "UpdateInstanceConfigRequest": { + "description": "Request for updating instance configurations.", + "id": "UpdateInstanceConfigRequest", + "properties": { + "config": { + "$ref": "InstanceConfig", + "description": "The instance configurations to be updated." + } + }, + "type": "object" + }, + "UpdateInstanceMetadataItemsRequest": { + "description": "Request for adding/changing metadata items for an instance.", + "id": "UpdateInstanceMetadataItemsRequest", + "properties": { + "items": { + "additionalProperties": { + "type": "string" + }, + "description": "Metadata items to add/update for the instance.", + "type": "object" + } + }, + "type": "object" + }, + "UpdateInstanceMetadataItemsResponse": { + "description": "Response for adding/changing metadata items for an instance.", + "id": "UpdateInstanceMetadataItemsResponse", + "properties": { + "items": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of items that were added/updated to/in the metadata.", + "type": "object" + } + }, + "type": "object" + }, + "UpdateShieldedInstanceConfigRequest": { + "description": "Request for updating the Shielded Instance config for a notebook instance. You can only use this method on a stopped instance", + "id": "UpdateShieldedInstanceConfigRequest", + "properties": { + "shieldedInstanceConfig": { + "$ref": "ShieldedInstanceConfig", + "description": "ShieldedInstance configuration to be updated." + } + }, + "type": "object" + }, "UpgradeHistoryEntry": { "description": "The entry of VM image upgrade history.", "id": "UpgradeHistoryEntry", @@ -2561,6 +3736,24 @@ "description": "Request for upgrading a notebook instance from within the VM", "id": "UpgradeInstanceInternalRequest", "properties": { + "type": { + "description": "Optional. The optional UpgradeType. Setting this field will search for additional compute images to upgrade this instance.", + "enum": [ + "UPGRADE_TYPE_UNSPECIFIED", + "UPGRADE_FRAMEWORK", + "UPGRADE_OS", + "UPGRADE_CUDA", + "UPGRADE_ALL" + ], + "enumDescriptions": [ + "Upgrade type is not specified.", + "Upgrade ML framework.", + "Upgrade Operating System.", + "Upgrade CUDA.", + "Upgrade All (OS, Framework and CUDA)." + ], + "type": "string" + }, "vmId": { "description": "Required. The VM hardware token for authenticating the VM. https://cloud.google.com/compute/docs/instances/verifying-instance-identity", "type": "string" @@ -2571,7 +3764,167 @@ "UpgradeInstanceRequest": { "description": "Request for upgrading a notebook instance", "id": "UpgradeInstanceRequest", - "properties": {}, + "properties": { + "type": { + "description": "Optional. The optional UpgradeType. Setting this field will search for additional compute images to upgrade this instance.", + "enum": [ + "UPGRADE_TYPE_UNSPECIFIED", + "UPGRADE_FRAMEWORK", + "UPGRADE_OS", + "UPGRADE_CUDA", + "UPGRADE_ALL" + ], + "enumDescriptions": [ + "Upgrade type is not specified.", + "Upgrade ML framework.", + "Upgrade Operating System.", + "Upgrade CUDA.", + "Upgrade All (OS, Framework and CUDA)." + ], + "type": "string" + } + }, + "type": "object" + }, + "VertexAIParameters": { + "description": "Parameters used in Vertex AI JobType executions.", + "id": "VertexAIParameters", + "properties": { + "env": { + "additionalProperties": { + "type": "string" + }, + "description": "Environment variables. At most 100 environment variables can be specified and unique. Example: GCP_BUCKET=gs://my-bucket/samples/", + "type": "object" + }, + "network": { + "description": "The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Job should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. If left unspecified, the job is not peered with any network.", + "type": "string" + } + }, + "type": "object" + }, + "VirtualMachine": { + "description": "Runtime using Virtual Machine for computing.", + "id": "VirtualMachine", + "properties": { + "instanceId": { + "description": "Output only. The unique identifier of the Managed Compute Engine instance.", + "readOnly": true, + "type": "string" + }, + "instanceName": { + "description": "Output only. The user-friendly name of the Managed Compute Engine instance.", + "readOnly": true, + "type": "string" + }, + "virtualMachineConfig": { + "$ref": "VirtualMachineConfig", + "description": "Virtual Machine configuration settings." + } + }, + "type": "object" + }, + "VirtualMachineConfig": { + "description": "The config settings for virtual machine.", + "id": "VirtualMachineConfig", + "properties": { + "acceleratorConfig": { + "$ref": "RuntimeAcceleratorConfig", + "description": "Optional. The Compute Engine accelerator configuration for this runtime." + }, + "bootImage": { + "$ref": "BootImage", + "description": "Optional. Boot image metadata used for runtime upgradeability." + }, + "containerImages": { + "description": "Optional. Use a list of container images to use as Kernels in the notebook instance.", + "items": { + "$ref": "ContainerImage" + }, + "type": "array" + }, + "dataDisk": { + "$ref": "LocalDisk", + "description": "Required. Data disk option configuration settings." + }, + "encryptionConfig": { + "$ref": "EncryptionConfig", + "description": "Optional. Encryption settings for virtual machine data disk." + }, + "guestAttributes": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. The Compute Engine guest attributes. (see [Project and instance guest attributes](https://cloud.google.com/compute/docs/storing-retrieving-metadata#guest_attributes)).", + "readOnly": true, + "type": "object" + }, + "internalIpOnly": { + "description": "Optional. If true, runtime will only have internal IP addresses. By default, runtimes are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each vm. This `internal_ip_only` restriction can only be enabled for subnetwork enabled networks, and all dependencies must be configured to be accessible without external IP addresses.", + "type": "boolean" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels to associate with this runtime. 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" + }, + "machineType": { + "description": "Required. The Compute Engine machine type used for runtimes. Short name is valid. Examples: * `n1-standard-2` * `e2-standard-8`", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The Compute Engine metadata entries to add to virtual machine. (see [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).", + "type": "object" + }, + "network": { + "description": "Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork. If neither `network` nor `subnet` is specified, the \"default\" network of the project is used, if it exists. A full URL or partial URI. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default` * `projects/[project_id]/regions/global/default` Runtimes are managed resources inside Google Infrastructure. Runtimes support the following network configurations: * Google Managed Network (Network & subnet are empty) * Consumer Project VPC (network & subnet are required). Requires configuring Private Service Access. * Shared VPC (network & subnet are required). Requires configuring Private Service Access.", + "type": "string" + }, + "nicType": { + "description": "Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.", + "enum": [ + "UNSPECIFIED_NIC_TYPE", + "VIRTIO_NET", + "GVNIC" + ], + "enumDescriptions": [ + "No type specified.", + "VIRTIO", + "GVNIC" + ], + "type": "string" + }, + "reservedIpRange": { + "description": "Optional. Reserved IP Range name is used for VPC Peering. The subnetwork allocation will use the range *name* if it's assigned. Example: managed-notebooks-range-c PEERING_RANGE_NAME_3=managed-notebooks-range-c gcloud compute addresses create $PEERING_RANGE_NAME_3 \\ --global \\ --prefix-length=24 \\ --description=\"Google Cloud Managed Notebooks Range 24 c\" \\ --network=$NETWORK \\ --addresses=192.168.0.0 \\ --purpose=VPC_PEERING Field value will be: `managed-notebooks-range-c`", + "type": "string" + }, + "shieldedInstanceConfig": { + "$ref": "RuntimeShieldedInstanceConfig", + "description": "Optional. Shielded VM Instance configuration settings." + }, + "subnet": { + "description": "Optional. The Compute Engine subnetwork to be used for machine communications. Cannot be specified with network. A full URL or partial URI 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`", + "type": "string" + }, + "tags": { + "description": "Optional. The Compute Engine tags to add to runtime (see [Tagging instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).", + "items": { + "type": "string" + }, + "type": "array" + }, + "zone": { + "description": "Output only. The zone where the virtual machine is located. If using regional request, the notebooks service will pick a location in the corresponding runtime region. On a get request, zone will always be present. Example: * `us-central1-b`", + "readOnly": true, + "type": "string" + } + }, "type": "object" }, "VmImage": { diff --git a/etc/api/ondemandscanning/v1/ondemandscanning-api.json b/etc/api/ondemandscanning/v1/ondemandscanning-api.json index 56f825900f..ef1bd3447a 100644 --- a/etc/api/ondemandscanning/v1/ondemandscanning-api.json +++ b/etc/api/ondemandscanning/v1/ondemandscanning-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -339,7 +339,7 @@ } } }, - "revision": "20210329", + "revision": "20220228", "rootUrl": "https://ondemandscanning.googleapis.com/", "schemas": { "AliasContext": { @@ -405,6 +405,10 @@ "description": "AnalyzePackagesRequest is the request to analyze a list of packages and create Vulnerability Occurrences for it.", "id": "AnalyzePackagesRequestV1", "properties": { + "includeOsvData": { + "description": "[DEPRECATED] Whether to include OSV data in the scan. For backwards compatibility reasons, this field can be neither removed nor renamed.", + "type": "boolean" + }, "packages": { "description": "The packages to analyze.", "items": { @@ -493,9 +497,17 @@ "description": "Details of a build occurrence.", "id": "BuildOccurrence", "properties": { + "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": "Required. The actual provenance for the build." + "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.", @@ -575,6 +587,167 @@ }, "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 multiple versions of CVSS. The intention is that as new versions of CVSS scores get added, we will be able to modify this message rather than adding new protos for each new version of the score.", + "id": "CVSS", + "properties": { + "attackComplexity": { + "enum": [ + "ATTACK_COMPLEXITY_UNSPECIFIED", + "ATTACK_COMPLEXITY_LOW", + "ATTACK_COMPLEXITY_HIGH" + ], + "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" + ], + "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" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "exploitabilityScore": { + "format": "float", + "type": "number" + }, + "impactScore": { + "format": "float", + "type": "number" + }, + "integrityImpact": { + "enum": [ + "IMPACT_UNSPECIFIED", + "IMPACT_HIGH", + "IMPACT_LOW", + "IMPACT_NONE" + ], + "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", @@ -649,6 +822,55 @@ }, "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" + } + }, + "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", @@ -729,6 +951,12 @@ "$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": [ @@ -761,6 +989,39 @@ "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", @@ -894,6 +1155,57 @@ }, "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" + }, + "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" + }, + "subject": { + "items": { + "$ref": "Subject" + }, + "type": "array" + } + }, + "type": "object" + }, "Jwt": { "id": "Jwt", "properties": { @@ -974,6 +1286,69 @@ }, "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", @@ -986,6 +1361,10 @@ "$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", @@ -999,6 +1378,14 @@ "$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." @@ -1014,7 +1401,9 @@ "DEPLOYMENT", "DISCOVERY", "ATTESTATION", - "UPGRADE" + "UPGRADE", + "COMPLIANCE", + "DSSE_ATTESTATION" ], "enumDescriptions": [ "Default value. This value is unused.", @@ -1025,7 +1414,9 @@ "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 an available package upgrade.", + "This represents a Compliance Note", + "This represents a DSSE attestation Note" ], "type": "string" }, @@ -1119,6 +1510,27 @@ "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" + ], + "enumDescriptions": [ + "", + "Operating System", + "Java packages from Maven.", + "Go third-party packages.", + "Go toolchain + standard library packages." + ], + "type": "string" + }, + "unused": { + "type": "string" + }, "version": { "description": "The version of the package being analysed", "type": "string" @@ -1142,6 +1554,27 @@ "$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" + }, "fixAvailable": { "description": "Output only. Whether a fix is available for this package.", "type": "boolean" @@ -1157,6 +1590,10 @@ "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" @@ -1194,6 +1631,48 @@ }, "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", @@ -1240,6 +1719,123 @@ }, "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" + }, + "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", @@ -1322,6 +1918,22 @@ }, "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", @@ -1424,8 +2036,12 @@ "format": "float", "type": "number" }, + "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.", + "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", diff --git a/etc/api/ondemandscanning/v1beta1/ondemandscanning-api.json b/etc/api/ondemandscanning/v1beta1/ondemandscanning-api.json index 46695497eb..e4aa9981b1 100644 --- a/etc/api/ondemandscanning/v1beta1/ondemandscanning-api.json +++ b/etc/api/ondemandscanning/v1beta1/ondemandscanning-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -339,7 +339,7 @@ } } }, - "revision": "20210329", + "revision": "20220228", "rootUrl": "https://ondemandscanning.googleapis.com/", "schemas": { "AliasContext": { @@ -493,9 +493,17 @@ "description": "Details of a build occurrence.", "id": "BuildOccurrence", "properties": { + "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": "Required. The actual provenance for the build." + "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.", @@ -575,6 +583,167 @@ }, "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 multiple versions of CVSS. The intention is that as new versions of CVSS scores get added, we will be able to modify this message rather than adding new protos for each new version of the score.", + "id": "CVSS", + "properties": { + "attackComplexity": { + "enum": [ + "ATTACK_COMPLEXITY_UNSPECIFIED", + "ATTACK_COMPLEXITY_LOW", + "ATTACK_COMPLEXITY_HIGH" + ], + "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" + ], + "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" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "exploitabilityScore": { + "format": "float", + "type": "number" + }, + "impactScore": { + "format": "float", + "type": "number" + }, + "integrityImpact": { + "enum": [ + "IMPACT_UNSPECIFIED", + "IMPACT_HIGH", + "IMPACT_LOW", + "IMPACT_NONE" + ], + "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", @@ -649,6 +818,55 @@ }, "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" + } + }, + "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", @@ -729,6 +947,12 @@ "$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": [ @@ -761,6 +985,39 @@ "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", @@ -894,6 +1151,57 @@ }, "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" + }, + "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" + }, + "subject": { + "items": { + "$ref": "Subject" + }, + "type": "array" + } + }, + "type": "object" + }, "Jwt": { "id": "Jwt", "properties": { @@ -974,6 +1282,69 @@ }, "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", @@ -986,6 +1357,10 @@ "$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", @@ -999,6 +1374,14 @@ "$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." @@ -1014,7 +1397,9 @@ "DEPLOYMENT", "DISCOVERY", "ATTESTATION", - "UPGRADE" + "UPGRADE", + "COMPLIANCE", + "DSSE_ATTESTATION" ], "enumDescriptions": [ "Default value. This value is unused.", @@ -1025,7 +1410,9 @@ "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 an available package upgrade.", + "This represents a Compliance Note", + "This represents a DSSE attestation Note" ], "type": "string" }, @@ -1119,6 +1506,27 @@ "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" + ], + "enumDescriptions": [ + "", + "Operating System", + "Java packages from Maven.", + "Go third-party packages.", + "Go toolchain + standard library packages." + ], + "type": "string" + }, + "unused": { + "type": "string" + }, "version": { "description": "The version of the package being analysed", "type": "string" @@ -1142,6 +1550,27 @@ "$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" + }, "fixAvailable": { "description": "Output only. Whether a fix is available for this package.", "type": "boolean" @@ -1157,6 +1586,10 @@ "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" @@ -1194,6 +1627,48 @@ }, "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", @@ -1240,6 +1715,123 @@ }, "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" + }, + "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", @@ -1322,6 +1914,22 @@ }, "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", @@ -1424,8 +2032,12 @@ "format": "float", "type": "number" }, + "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.", + "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", diff --git a/etc/api/orgpolicy/v2/orgpolicy-api.json b/etc/api/orgpolicy/v2/orgpolicy-api.json index 10f462efd9..c14eb470e9 100644 --- a/etc/api/orgpolicy/v2/orgpolicy-api.json +++ b/etc/api/orgpolicy/v2/orgpolicy-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -12,9 +12,9 @@ "baseUrl": "https://orgpolicy.googleapis.com/", "batchPath": "batch", "canonicalName": "OrgPolicy API", - "description": "The Org Policy API allows users to configure governance ruleson their GCP resources across the Cloud Resource Hierarchy.", + "description": "The Org Policy API allows users to configure governance rules on their GCP resources across the Cloud Resource Hierarchy.", "discoveryVersion": "v1", - "documentationLink": "https://cloud.google.com/resource-manager/docs/organization-policy/understanding-constraints", + "documentationLink": "https://cloud.google.com/orgpolicy/docs/reference/rest/index.html", "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -751,11 +751,26 @@ } } }, - "revision": "20210330", + "revision": "20220305", "rootUrl": "https://orgpolicy.googleapis.com/", "schemas": { + "GoogleCloudOrgpolicyV2AlternatePolicySpec": { + "description": "Similar to PolicySpec but with an extra 'launch' field for launch reference. The PolicySpec here is specific for dry-run/darklaunch.", + "id": "GoogleCloudOrgpolicyV2AlternatePolicySpec", + "properties": { + "launch": { + "description": "Reference to the launch that will be used while audit logging and to control the launch. Should be set only in the alternate policy.", + "type": "string" + }, + "spec": { + "$ref": "GoogleCloudOrgpolicyV2PolicySpec", + "description": "Specify `Constraint` for configurations of Cloud Platform resources." + } + }, + "type": "object" + }, "GoogleCloudOrgpolicyV2Constraint": { - "description": "A `constraint` describes a way to restrict resource's configuration. For example, you could enforce a constraint that controls which cloud services can be activated across an organization, or whether a Compute Engine instance can have serial port connections established. `Constraints` can be configured by the organization's policy adminstrator to fit the needs of the organzation by setting a `policy` that includes `constraints` at different locations in the organization's resource hierarchy. Policies are inherited down the resource hierarchy from higher levels, but can also be overridden. For details about the inheritance rules please read about `policies`. `Constraints` have a default behavior determined by the `constraint_default` field, which is the enforcement behavior that is used in the absence of a `policy` being defined or inherited for the resource in question.", + "description": "A `constraint` describes a way to restrict resource's configuration. For example, you could enforce a constraint that controls which cloud services can be activated across an organization, or whether a Compute Engine instance can have serial port connections established. `Constraints` can be configured by the organization's policy administrator to fit the needs of the organization by setting a `policy` that includes `constraints` at different locations in the organization's resource hierarchy. Policies are inherited down the resource hierarchy from higher levels, but can also be overridden. For details about the inheritance rules please read about `policies`. `Constraints` have a default behavior determined by the `constraint_default` field, which is the enforcement behavior that is used in the absence of a `policy` being defined or inherited for the resource in question.", "id": "GoogleCloudOrgpolicyV2Constraint", "properties": { "booleanConstraint": { @@ -856,6 +871,10 @@ "description": "Defines a Cloud Organization `Policy` which is used to specify `Constraints` for configurations of Cloud Platform resources.", "id": "GoogleCloudOrgpolicyV2Policy", "properties": { + "alternate": { + "$ref": "GoogleCloudOrgpolicyV2AlternatePolicySpec", + "description": "Deprecated." + }, "name": { "description": "Immutable. The resource name of the Policy. Must be one of the following forms, where constraint_name is the name of the constraint which this Policy configures: * `projects/{project_number}/policies/{constraint_name}` * `folders/{folder_id}/policies/{constraint_name}` * `organizations/{organization_id}/policies/{constraint_name}` For example, \"projects/123/policies/compute.disableSerialPortAccess\". Note: `projects/{project_id}/policies/{constraint_name}` is also an acceptable name for API requests, but responses will return the name using the equivalent project number.", "type": "string" diff --git a/etc/api/osconfig/v1/osconfig-api.json b/etc/api/osconfig/v1/osconfig-api.json index 1245791aed..5074a3e23c 100644 --- a/etc/api/osconfig/v1/osconfig-api.json +++ b/etc/api/osconfig/v1/osconfig-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -14,7 +14,7 @@ "canonicalName": "OS Config", "description": "OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances.", "discoveryVersion": "v1", - "documentationLink": "https://cloud.google.com/compute/docs/manage-os", + "documentationLink": "https://cloud.google.com/compute/docs/osconfig/rest", "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -105,72 +105,512 @@ }, "protocol": "rest", "resources": { - "operations": { - "methods": { - "delete": { - "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", - "flatPath": "v1/operations/{operationsId}", - "httpMethod": "DELETE", - "id": "osconfig.operations.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the operation resource to be deleted.", - "location": "path", - "pattern": "^operations/.*$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "Empty" - } - }, - "list": { - "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. 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": "v1/operations", - "httpMethod": "GET", - "id": "osconfig.operations.list", - "parameterOrder": [ - "name" - ], - "parameters": { - "filter": { - "description": "The standard list filter.", - "location": "query", - "type": "string" - }, - "name": { - "description": "The name of the operation's parent resource.", - "location": "path", - "pattern": "^operations$", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "The standard list page size.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "The standard list page token.", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "ListOperationsResponse" - } - } - } - }, "projects": { "resources": { + "locations": { + "resources": { + "instances": { + "resources": { + "inventories": { + "methods": { + "get": { + "description": "Get inventory data for the specified VM instance. If the VM has no associated inventory, the message `NOT_FOUND` is returned.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/inventory", + "httpMethod": "GET", + "id": "osconfig.projects.locations.instances.inventories.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. API resource name for inventory resource. Format: `projects/{project}/locations/{location}/instances/{instance}/inventory` For `{project}`, either `project-number` or `project-id` can be provided. For `{instance}`, either Compute Engine `instance-id` or `instance-name` can be provided.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/inventory$", + "required": true, + "type": "string" + }, + "view": { + "description": "Inventory view indicating what information should be included in the inventory resource. If unspecified, the default view is BASIC.", + "enum": [ + "INVENTORY_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "The default value. The API defaults to the BASIC view.", + "Returns the basic inventory information that includes `os_info`.", + "Returns all fields." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Inventory" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List inventory data for all VM instances in the specified zone.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/inventories", + "httpMethod": "GET", + "id": "osconfig.projects.locations.instances.inventories.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "If provided, this field specifies the criteria that must be met by a `Inventory` API resource to be included in the response.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous call to `ListInventories` that indicates where this listing should continue from.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Format: `projects/{project}/locations/{location}/instances/-` For `{project}`, either `project-number` or `project-id` can be provided.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Inventory view indicating what information should be included in the inventory resource. If unspecified, the default view is BASIC.", + "enum": [ + "INVENTORY_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "The default value. The API defaults to the BASIC view.", + "Returns the basic inventory information that includes `os_info`.", + "Returns all fields." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/inventories", + "response": { + "$ref": "ListInventoriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "osPolicyAssignments": { + "resources": { + "reports": { + "methods": { + "get": { + "description": "Get the OS policy asssignment report for the specified Compute Engine VM instance.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/osPolicyAssignments/{osPolicyAssignmentsId}/report", + "httpMethod": "GET", + "id": "osconfig.projects.locations.instances.osPolicyAssignments.reports.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. API resource name for OS policy assignment report. Format: `/projects/{project}/locations/{location}/instances/{instance}/osPolicyAssignments/{assignment}/report` For `{project}`, either `project-number` or `project-id` can be provided. For `{instance_id}`, either Compute Engine `instance-id` or `instance-name` can be provided. For `{assignment_id}`, the OSPolicyAssignment id must be provided.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/osPolicyAssignments/[^/]+/report$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "OSPolicyAssignmentReport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List OS policy asssignment reports for all Compute Engine VM instances in the specified zone.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/osPolicyAssignments/{osPolicyAssignmentsId}/reports", + "httpMethod": "GET", + "id": "osconfig.projects.locations.instances.osPolicyAssignments.reports.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "If provided, this field specifies the criteria that must be met by the `OSPolicyAssignmentReport` API resource that is included in the response.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous call to the `ListOSPolicyAssignmentReports` method that indicates where this listing should continue from.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Format: `projects/{project}/locations/{location}/instances/{instance}/osPolicyAssignments/{assignment}/reports` For `{project}`, either `project-number` or `project-id` can be provided. For `{instance}`, either `instance-name`, `instance-id`, or `-` can be provided. If '-' is provided, the response will include OSPolicyAssignmentReports for all instances in the project/location. For `{assignment}`, either `assignment-id` or `-` can be provided. If '-' is provided, the response will include OSPolicyAssignmentReports for all OSPolicyAssignments in the project/location. Either {instance} or {assignment} must be `-`. For example: `projects/{project}/locations/{location}/instances/{instance}/osPolicyAssignments/-/reports` returns all reports for the instance `projects/{project}/locations/{location}/instances/-/osPolicyAssignments/{assignment-id}/reports` returns all the reports for the given assignment across all instances. `projects/{project}/locations/{location}/instances/-/osPolicyAssignments/-/reports` returns all the reports for all assignments across all instances.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/osPolicyAssignments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/reports", + "response": { + "$ref": "ListOSPolicyAssignmentReportsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "vulnerabilityReports": { + "methods": { + "get": { + "description": "Gets the vulnerability report for the specified VM instance. Only VMs with inventory data have vulnerability reports associated with them.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/vulnerabilityReport", + "httpMethod": "GET", + "id": "osconfig.projects.locations.instances.vulnerabilityReports.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. API resource name for vulnerability resource. Format: `projects/{project}/locations/{location}/instances/{instance}/vulnerabilityReport` For `{project}`, either `project-number` or `project-id` can be provided. For `{instance}`, either Compute Engine `instance-id` or `instance-name` can be provided.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/vulnerabilityReport$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "VulnerabilityReport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List vulnerability reports for all VM instances in the specified zone.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/vulnerabilityReports", + "httpMethod": "GET", + "id": "osconfig.projects.locations.instances.vulnerabilityReports.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "This field supports filtering by the severity level for the vulnerability. For a list of severity levels, see [Severity levels for vulnerabilities](https://cloud.google.com/container-analysis/docs/container-scanning-overview#severity_levels_for_vulnerabilities). The filter field follows the rules described in the [AIP-160](https://google.aip.dev/160) guidelines as follows: + **Filter for a specific severity type**: you can list reports that contain vulnerabilities that are classified as medium by specifying `vulnerabilities.details.severity:MEDIUM`. + **Filter for a range of severities** : you can list reports that have vulnerabilities that are classified as critical or high by specifying `vulnerabilities.details.severity:HIGH OR vulnerabilities.details.severity:CRITICAL`", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous call to `ListVulnerabilityReports` that indicates where this listing should continue from.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Format: `projects/{project}/locations/{location}/instances/-` For `{project}`, either `project-number` or `project-id` can be provided.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/vulnerabilityReports", + "response": { + "$ref": "ListVulnerabilityReportsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "osPolicyAssignments": { + "methods": { + "create": { + "description": "Create an OS policy assignment. This method also creates the first revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](https://cloud.google.com/compute/docs/osconfig/rest/v1/projects.locations.osPolicyAssignments.operations/cancel).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments", + "httpMethod": "POST", + "id": "osconfig.projects.locations.osPolicyAssignments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "osPolicyAssignmentId": { + "description": "Required. The logical name of the OS policy assignment in the project with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the project.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name in the form: projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/osPolicyAssignments", + "request": { + "$ref": "OSPolicyAssignment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete the OS policy assignment. This method creates a new revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. If the LRO completes and is not cancelled, all revisions associated with the OS policy assignment are deleted. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](https://cloud.google.com/compute/docs/osconfig/rest/v1/projects.locations.osPolicyAssignments.operations/cancel).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments/{osPolicyAssignmentsId}", + "httpMethod": "DELETE", + "id": "osconfig.projects.locations.osPolicyAssignments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the OS policy assignment to be deleted", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/osPolicyAssignments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieve an existing OS policy assignment. This method always returns the latest revision. In order to retrieve a previous revision of the assignment, also provide the revision ID in the `name` parameter.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments/{osPolicyAssignmentsId}", + "httpMethod": "GET", + "id": "osconfig.projects.locations.osPolicyAssignments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of OS policy assignment. Format: `projects/{project}/locations/{location}/osPolicyAssignments/{os_policy_assignment}@{revisionId}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/osPolicyAssignments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "OSPolicyAssignment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List the OS policy assignments under the parent resource. For each OS policy assignment, the latest revision is returned.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments", + "httpMethod": "GET", + "id": "osconfig.projects.locations.osPolicyAssignments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of assignments to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous call to `ListOSPolicyAssignments` that indicates where this listing should continue from.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/osPolicyAssignments", + "response": { + "$ref": "ListOSPolicyAssignmentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "listRevisions": { + "description": "List the OS policy assignment revisions for a given OS policy assignment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments/{osPolicyAssignmentsId}:listRevisions", + "httpMethod": "GET", + "id": "osconfig.projects.locations.osPolicyAssignments.listRevisions", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the OS policy assignment to list revisions for.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/osPolicyAssignments/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of revisions to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous call to `ListOSPolicyAssignmentRevisions` that indicates where this listing should continue from.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}:listRevisions", + "response": { + "$ref": "ListOSPolicyAssignmentRevisionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update an existing OS policy assignment. This method creates a new revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](https://cloud.google.com/compute/docs/osconfig/rest/v1/projects.locations.osPolicyAssignments.operations/cancel).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments/{osPolicyAssignmentsId}", + "httpMethod": "PATCH", + "id": "osconfig.projects.locations.osPolicyAssignments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/osPolicyAssignments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask that controls which fields of the assignment should be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "OSPolicyAssignment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments/{osPolicyAssignmentsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "osconfig.projects.locations.osPolicyAssignments.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/osPolicyAssignments/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments/{osPolicyAssignmentsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "osconfig.projects.locations.osPolicyAssignments.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/osPolicyAssignments/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, "patchDeployments": { "methods": { "create": { @@ -291,6 +731,96 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "patch": { + "description": "Update an OS Config patch deployment.", + "flatPath": "v1/projects/{projectsId}/patchDeployments/{patchDeploymentsId}", + "httpMethod": "PATCH", + "id": "osconfig.projects.patchDeployments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Unique name for the patch deployment resource in a project. The patch deployment name is in the form: `projects/{project_id}/patchDeployments/{patch_deployment_id}`. This field is ignored when you create a new patch deployment.", + "location": "path", + "pattern": "^projects/[^/]+/patchDeployments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask that controls which fields of the patch deployment should be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "PatchDeployment" + }, + "response": { + "$ref": "PatchDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "pause": { + "description": "Change state of patch deployment to \"PAUSED\". Patch deployment in paused state doesn't generate patch jobs.", + "flatPath": "v1/projects/{projectsId}/patchDeployments/{patchDeploymentsId}:pause", + "httpMethod": "POST", + "id": "osconfig.projects.patchDeployments.pause", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the patch deployment in the form `projects/*/patchDeployments/*`.", + "location": "path", + "pattern": "^projects/[^/]+/patchDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:pause", + "request": { + "$ref": "PausePatchDeploymentRequest" + }, + "response": { + "$ref": "PatchDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "resume": { + "description": "Change state of patch deployment back to \"ACTIVE\". Patch deployment in active state continues to generate patch jobs.", + "flatPath": "v1/projects/{projectsId}/patchDeployments/{patchDeploymentsId}:resume", + "httpMethod": "POST", + "id": "osconfig.projects.patchDeployments.resume", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the patch deployment in the form `projects/*/patchDeployments/*`.", + "location": "path", + "pattern": "^projects/[^/]+/patchDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:resume", + "request": { + "$ref": "ResumePatchDeploymentRequest" + }, + "response": { + "$ref": "PatchDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } }, @@ -470,7 +1000,7 @@ } } }, - "revision": "20210322", + "revision": "20220301", "rootUrl": "https://osconfig.googleapis.com/", "schemas": { "AptSettings": { @@ -508,12 +1038,186 @@ }, "type": "object" }, + "CVSSv3": { + "description": "Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document", + "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": "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. https://www.first.org/cvss/specification-document#Base-Metrics", + "format": "float", + "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" + }, + "exploitabilityScore": { + "description": "The Exploitability sub-score equation is derived from the Base Exploitability metrics. https://www.first.org/cvss/specification-document#2-1-Exploitability-Metrics", + "format": "float", + "type": "number" + }, + "impactScore": { + "description": "The Impact sub-score equation is derived from the Base Impact metrics.", + "format": "float", + "type": "number" + }, + "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" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, "CancelPatchJobRequest": { "description": "Message for canceling a patch job.", "id": "CancelPatchJobRequest", "properties": {}, "type": "object" }, + "Date": { + "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "id": "Date", + "properties": { + "day": { + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "format": "int32", + "type": "integer" + }, + "year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", "id": "Empty", @@ -555,13 +1259,15 @@ "description": "The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\\(Unix\\)).", "enum": [ "INTERPRETER_UNSPECIFIED", + "NONE", "SHELL", "POWERSHELL" ], "enumDescriptions": [ - "Invalid for a Windows ExecStepConfig. For a Linux ExecStepConfig, the interpreter will be parsed from the shebang line of the script if unspecified.", - "Indicates that the script is run with `/bin/sh` on Linux and `cmd` on Windows.", - "Indicates that the file is run with PowerShell flags `-NonInteractive`, `-NoProfile`, and `-ExecutionPolicy Bypass`." + "If the interpreter is not specified, the value defaults to `NONE`.", + "Indicates that the file is run as follows on each operating system: + For Linux VMs, the file is ran as an executable and the interpreter might be parsed from the [shebang line](https://wikipedia.org/wiki/Shebang_(Unix)) of the file. + For Windows VM, this value is not supported.", + "Indicates that the file is run with `/bin/sh` on Linux and `cmd` on Windows.", + "Indicates that the file is run with PowerShell." ], "type": "string" }, @@ -651,8 +1357,63 @@ "properties": {}, "type": "object" }, + "GoogleCloudOsconfigV1__OSPolicyAssignmentOperationMetadata": { + "description": "OS policy assignment operation metadata provided by OS policy assignment API methods that return long running operations.", + "id": "GoogleCloudOsconfigV1__OSPolicyAssignmentOperationMetadata", + "properties": { + "apiMethod": { + "description": "The OS policy assignment API method.", + "enum": [ + "API_METHOD_UNSPECIFIED", + "CREATE", + "UPDATE", + "DELETE" + ], + "enumDescriptions": [ + "Invalid value", + "Create OS policy assignment API method", + "Update OS policy assignment API method", + "Delete OS policy assignment API method" + ], + "type": "string" + }, + "osPolicyAssignment": { + "description": "Reference to the `OSPolicyAssignment` API resource. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}`", + "type": "string" + }, + "rolloutStartTime": { + "description": "Rollout start time", + "format": "google-datetime", + "type": "string" + }, + "rolloutState": { + "description": "State of the rollout", + "enum": [ + "ROLLOUT_STATE_UNSPECIFIED", + "IN_PROGRESS", + "CANCELLING", + "CANCELLED", + "SUCCEEDED" + ], + "enumDescriptions": [ + "Invalid value", + "The rollout is in progress.", + "The rollout is being cancelled.", + "The rollout is cancelled.", + "The rollout has completed successfully." + ], + "type": "string" + }, + "rolloutUpdateTime": { + "description": "Rollout update time", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "Inventory": { - "description": "The inventory details of a VM.", + "description": "This API resource represents the available inventory data for a Compute Engine virtual machine (VM) instance at a given point in time. You can use this API resource to determine the inventory data of your VM. For more information, see [Information provided by OS inventory management](https://cloud.google.com/compute/docs/instances/os-inventory-management#data-collected).", "id": "Inventory", "properties": { "items": { @@ -662,9 +1423,20 @@ "description": "Inventory items related to the VM keyed by an opaque unique identifier for each inventory item. The identifier is unique to each distinct and addressable inventory item and will change, when there is a new package version.", "type": "object" }, + "name": { + "description": "Output only. The `Inventory` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/inventory`", + "readOnly": true, + "type": "string" + }, "osInfo": { "$ref": "InventoryOsInfo", "description": "Base level operating system information for the VM." + }, + "updateTime": { + "description": "Output only. Timestamp of the last reported inventory for the VM.", + "format": "google-datetime", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -783,6 +1555,10 @@ "$ref": "InventoryWindowsQuickFixEngineeringPackage", "description": "Details of a Windows Quick Fix engineering package. See https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering for info in Windows Quick Fix Engineering." }, + "windowsApplication": { + "$ref": "InventoryWindowsApplication", + "description": "Details of Windows Application." + }, "wuaPackage": { "$ref": "InventoryWindowsUpdatePackage", "description": "Details of a Windows Update package. See https://docs.microsoft.com/en-us/windows/win32/api/_wua/ for information about Windows Update." @@ -821,6 +1597,33 @@ }, "type": "object" }, + "InventoryWindowsApplication": { + "description": "Contains information about a Windows application that is retrieved from the Windows Registry. For more information about these fields, see: https://docs.microsoft.com/en-us/windows/win32/msi/uninstall-registry-key", + "id": "InventoryWindowsApplication", + "properties": { + "displayName": { + "description": "The name of the application or product.", + "type": "string" + }, + "displayVersion": { + "description": "The version of the product or application in string format.", + "type": "string" + }, + "helpLink": { + "description": "The internet address for technical support.", + "type": "string" + }, + "installDate": { + "$ref": "Date", + "description": "The last time this product received service. The value of this property is replaced each time a patch is applied or removed from the product or the command-line option is used to repair the product." + }, + "publisher": { + "description": "The name of the manufacturer for the product or application.", + "type": "string" + } + }, + "type": "object" + }, "InventoryWindowsQuickFixEngineeringPackage": { "description": "Information related to a Quick Fix Engineering package. Fields are taken from Windows QuickFixEngineering Interface and match the source names: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering", "id": "InventoryWindowsQuickFixEngineeringPackage", @@ -937,18 +1740,72 @@ }, "type": "object" }, - "ListOperationsResponse": { - "description": "The response message for Operations.ListOperations.", - "id": "ListOperationsResponse", + "ListInventoriesResponse": { + "description": "A response message for listing inventory data for all VMs in a specified location.", + "id": "ListInventoriesResponse", + "properties": { + "inventories": { + "description": "List of inventory objects.", + "items": { + "$ref": "Inventory" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The pagination token to retrieve the next page of inventory objects.", + "type": "string" + } + }, + "type": "object" + }, + "ListOSPolicyAssignmentReportsResponse": { + "description": "A response message for listing OS Policy assignment reports including the page of results and page token.", + "id": "ListOSPolicyAssignmentReportsResponse", "properties": { "nextPageToken": { - "description": "The standard List next-page token.", + "description": "The pagination token to retrieve the next page of OS policy assignment report objects.", "type": "string" }, - "operations": { - "description": "A list of operations that matches the specified filter in the request.", + "osPolicyAssignmentReports": { + "description": "List of OS policy assignment reports.", "items": { - "$ref": "Operation" + "$ref": "OSPolicyAssignmentReport" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListOSPolicyAssignmentRevisionsResponse": { + "description": "A response message for listing all revisions for a OS policy assignment.", + "id": "ListOSPolicyAssignmentRevisionsResponse", + "properties": { + "nextPageToken": { + "description": "The pagination token to retrieve the next page of OS policy assignment revisions.", + "type": "string" + }, + "osPolicyAssignments": { + "description": "The OS policy assignment revisions", + "items": { + "$ref": "OSPolicyAssignment" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListOSPolicyAssignmentsResponse": { + "description": "A response message for listing all assignments under given parent.", + "id": "ListOSPolicyAssignmentsResponse", + "properties": { + "nextPageToken": { + "description": "The pagination token to retrieve the next page of OS policy assignments.", + "type": "string" + }, + "osPolicyAssignments": { + "description": "The list of assignments", + "items": { + "$ref": "OSPolicyAssignment" }, "type": "array" } @@ -1009,6 +1866,24 @@ }, "type": "object" }, + "ListVulnerabilityReportsResponse": { + "description": "A response message for listing vulnerability reports for all VM instances in the specified location.", + "id": "ListVulnerabilityReportsResponse", + "properties": { + "nextPageToken": { + "description": "The pagination token to retrieve the next page of vulnerabilityReports object.", + "type": "string" + }, + "vulnerabilityReports": { + "description": "List of vulnerabilityReport objects.", + "items": { + "$ref": "VulnerabilityReport" + }, + "type": "array" + } + }, + "type": "object" + }, "MonthlySchedule": { "description": "Represents a monthly schedule. An example of a valid monthly schedule is \"on the third Tuesday of the month\" or \"on the 15th of the month\".", "id": "MonthlySchedule", @@ -1025,6 +1900,902 @@ }, "type": "object" }, + "OSPolicy": { + "description": "An OS policy defines the desired state configuration for a VM.", + "id": "OSPolicy", + "properties": { + "allowNoResourceGroupMatch": { + "description": "This flag determines the OS policy compliance status when none of the resource groups within the policy are applicable for a VM. Set this value to `true` if the policy needs to be reported as compliant even if the policy has nothing to validate or enforce.", + "type": "boolean" + }, + "description": { + "description": "Policy description. Length of the description is limited to 1024 characters.", + "type": "string" + }, + "id": { + "description": "Required. The id of the OS policy with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the assignment.", + "type": "string" + }, + "mode": { + "description": "Required. Policy mode", + "enum": [ + "MODE_UNSPECIFIED", + "VALIDATION", + "ENFORCEMENT" + ], + "enumDescriptions": [ + "Invalid mode", + "This mode checks if the configuration resources in the policy are in their desired state. No actions are performed if they are not in the desired state. This mode is used for reporting purposes.", + "This mode checks if the configuration resources in the policy are in their desired state, and if not, enforces the desired state." + ], + "type": "string" + }, + "resourceGroups": { + "description": "Required. List of resource groups for the policy. For a particular VM, resource groups are evaluated in the order specified and the first resource group that is applicable is selected and the rest are ignored. If none of the resource groups are applicable for a VM, the VM is considered to be non-compliant w.r.t this policy. This behavior can be toggled by the flag `allow_no_resource_group_match`", + "items": { + "$ref": "OSPolicyResourceGroup" + }, + "type": "array" + } + }, + "type": "object" + }, + "OSPolicyAssignment": { + "description": "OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances. An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script. For more information, see [OS policy and OS policy assignment](https://cloud.google.com/compute/docs/os-configuration-management/working-with-os-policies).", + "id": "OSPolicyAssignment", + "properties": { + "baseline": { + "description": "Output only. Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision. For a given OS policy assignment, there is only one revision with a value of `true` for this field.", + "readOnly": true, + "type": "boolean" + }, + "deleted": { + "description": "Output only. Indicates that this revision deletes the OS policy assignment.", + "readOnly": true, + "type": "boolean" + }, + "description": { + "description": "OS policy assignment description. Length of the description is limited to 1024 characters.", + "type": "string" + }, + "etag": { + "description": "The etag for this OS policy assignment. If this is provided on update, it must match the server's etag.", + "type": "string" + }, + "instanceFilter": { + "$ref": "OSPolicyAssignmentInstanceFilter", + "description": "Required. Filter to select VMs." + }, + "name": { + "description": "Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment.", + "type": "string" + }, + "osPolicies": { + "description": "Required. List of OS policies to be applied to the VMs.", + "items": { + "$ref": "OSPolicy" + }, + "type": "array" + }, + "reconciling": { + "description": "Output only. Indicates that reconciliation is in progress for the revision. This value is `true` when the `rollout_state` is one of: * IN_PROGRESS * CANCELLING", + "readOnly": true, + "type": "boolean" + }, + "revisionCreateTime": { + "description": "Output only. The timestamp that the revision was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "revisionId": { + "description": "Output only. The assignment revision ID A new revision is committed whenever a rollout is triggered for a OS policy assignment", + "readOnly": true, + "type": "string" + }, + "rollout": { + "$ref": "OSPolicyAssignmentRollout", + "description": "Required. Rollout to deploy the OS policy assignment. A rollout is triggered in the following situations: 1) OSPolicyAssignment is created. 2) OSPolicyAssignment is updated and the update contains changes to one of the following fields: - instance_filter - os_policies 3) OSPolicyAssignment is deleted." + }, + "rolloutState": { + "description": "Output only. OS policy assignment rollout state", + "enum": [ + "ROLLOUT_STATE_UNSPECIFIED", + "IN_PROGRESS", + "CANCELLING", + "CANCELLED", + "SUCCEEDED" + ], + "enumDescriptions": [ + "Invalid value", + "The rollout is in progress.", + "The rollout is being cancelled.", + "The rollout is cancelled.", + "The rollout has completed successfully." + ], + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. Server generated unique id for the OS policy assignment resource.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyAssignmentInstanceFilter": { + "description": "Filters to select target VMs for an assignment. If more than one filter criteria is specified below, a VM will be selected if and only if it satisfies all of them.", + "id": "OSPolicyAssignmentInstanceFilter", + "properties": { + "all": { + "description": "Target all VMs in the project. If true, no other criteria is permitted.", + "type": "boolean" + }, + "exclusionLabels": { + "description": "List of label sets used for VM exclusion. If the list has more than one label set, the VM is excluded if any of the label sets are applicable for the VM.", + "items": { + "$ref": "OSPolicyAssignmentLabelSet" + }, + "type": "array" + }, + "inclusionLabels": { + "description": "List of label sets used for VM inclusion. If the list has more than one `LabelSet`, the VM is included if any of the label sets are applicable for the VM.", + "items": { + "$ref": "OSPolicyAssignmentLabelSet" + }, + "type": "array" + }, + "inventories": { + "description": "List of inventories to select VMs. A VM is selected if its inventory data matches at least one of the following inventories.", + "items": { + "$ref": "OSPolicyAssignmentInstanceFilterInventory" + }, + "type": "array" + } + }, + "type": "object" + }, + "OSPolicyAssignmentInstanceFilterInventory": { + "description": "VM inventory details.", + "id": "OSPolicyAssignmentInstanceFilterInventory", + "properties": { + "osShortName": { + "description": "Required. The OS short name", + "type": "string" + }, + "osVersion": { + "description": "The OS version Prefix matches are supported if asterisk(*) is provided as the last character. For example, to match all versions with a major version of `7`, specify the following value for this field `7.*` An empty string matches all OS versions.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyAssignmentLabelSet": { + "description": "Message representing label set. * A label is a key value pair set for a VM. * A LabelSet is a set of labels. * Labels within a LabelSet are ANDed. In other words, a LabelSet is applicable for a VM only if it matches all the labels in the LabelSet. * Example: A LabelSet with 2 labels: `env=prod` and `type=webserver` will only be applicable for those VMs with both labels present.", + "id": "OSPolicyAssignmentLabelSet", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected.", + "type": "object" + } + }, + "type": "object" + }, + "OSPolicyAssignmentOperationMetadata": { + "description": "OS policy assignment operation metadata provided by OS policy assignment API methods that return long running operations.", + "id": "OSPolicyAssignmentOperationMetadata", + "properties": { + "apiMethod": { + "description": "The OS policy assignment API method.", + "enum": [ + "API_METHOD_UNSPECIFIED", + "CREATE", + "UPDATE", + "DELETE" + ], + "enumDescriptions": [ + "Invalid value", + "Create OS policy assignment API method", + "Update OS policy assignment API method", + "Delete OS policy assignment API method" + ], + "type": "string" + }, + "osPolicyAssignment": { + "description": "Reference to the `OSPolicyAssignment` API resource. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}`", + "type": "string" + }, + "rolloutStartTime": { + "description": "Rollout start time", + "format": "google-datetime", + "type": "string" + }, + "rolloutState": { + "description": "State of the rollout", + "enum": [ + "ROLLOUT_STATE_UNSPECIFIED", + "IN_PROGRESS", + "CANCELLING", + "CANCELLED", + "SUCCEEDED" + ], + "enumDescriptions": [ + "Invalid value", + "The rollout is in progress.", + "The rollout is being cancelled.", + "The rollout is cancelled.", + "The rollout has completed successfully." + ], + "type": "string" + }, + "rolloutUpdateTime": { + "description": "Rollout update time", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyAssignmentReport": { + "description": "A report of the OS policy assignment status for a given instance.", + "id": "OSPolicyAssignmentReport", + "properties": { + "instance": { + "description": "The Compute Engine VM instance name.", + "type": "string" + }, + "lastRunId": { + "description": "Unique identifier of the last attempted run to apply the OS policies associated with this assignment on the VM. This ID is logged by the OS Config agent while applying the OS policies associated with this assignment on the VM. NOTE: If the service is unable to successfully connect to the agent for this run, then this id will not be available in the agent logs.", + "type": "string" + }, + "name": { + "description": "The `OSPolicyAssignmentReport` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/osPolicyAssignments/{os_policy_assignment_id}/report`", + "type": "string" + }, + "osPolicyAssignment": { + "description": "Reference to the `OSPolicyAssignment` API resource that the `OSPolicy` belongs to. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}`", + "type": "string" + }, + "osPolicyCompliances": { + "description": "Compliance data for each `OSPolicy` that is applied to the VM.", + "items": { + "$ref": "OSPolicyAssignmentReportOSPolicyCompliance" + }, + "type": "array" + }, + "updateTime": { + "description": "Timestamp for when the report was last generated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyAssignmentReportOSPolicyCompliance": { + "description": "Compliance data for an OS policy", + "id": "OSPolicyAssignmentReportOSPolicyCompliance", + "properties": { + "complianceState": { + "description": "The compliance state of the OS policy.", + "enum": [ + "UNKNOWN", + "COMPLIANT", + "NON_COMPLIANT" + ], + "enumDescriptions": [ + "The policy is in an unknown compliance state. Refer to the field `compliance_state_reason` to learn the exact reason for the policy to be in this compliance state.", + "Policy is compliant. The policy is compliant if all the underlying resources are also compliant.", + "Policy is non-compliant. The policy is non-compliant if one or more underlying resources are non-compliant." + ], + "type": "string" + }, + "complianceStateReason": { + "description": "The reason for the OS policy to be in an unknown compliance state. This field is always populated when `compliance_state` is `UNKNOWN`. If populated, the field can contain one of the following values: * `vm-not-running`: The VM was not running. * `os-policies-not-supported-by-agent`: The version of the OS Config agent running on the VM does not support running OS policies. * `no-agent-detected`: The OS Config agent is not detected for the VM. * `resource-execution-errors`: The OS Config agent encountered errors while executing one or more resources in the policy. See `os_policy_resource_compliances` for details. * `task-timeout`: The task sent to the agent to apply the policy timed out. * `unexpected-agent-state`: The OS Config agent did not report the final status of the task that attempted to apply the policy. Instead, the agent unexpectedly started working on a different task. This mostly happens when the agent or VM unexpectedly restarts while applying OS policies. * `internal-service-errors`: Internal service errors were encountered while attempting to apply the policy.", + "type": "string" + }, + "osPolicyId": { + "description": "The OS policy id", + "type": "string" + }, + "osPolicyResourceCompliances": { + "description": "Compliance data for each resource within the policy that is applied to the VM.", + "items": { + "$ref": "OSPolicyAssignmentReportOSPolicyComplianceOSPolicyResourceCompliance" + }, + "type": "array" + } + }, + "type": "object" + }, + "OSPolicyAssignmentReportOSPolicyComplianceOSPolicyResourceCompliance": { + "description": "Compliance data for an OS policy resource.", + "id": "OSPolicyAssignmentReportOSPolicyComplianceOSPolicyResourceCompliance", + "properties": { + "complianceState": { + "description": "The compliance state of the resource.", + "enum": [ + "UNKNOWN", + "COMPLIANT", + "NON_COMPLIANT" + ], + "enumDescriptions": [ + "The resource is in an unknown compliance state. To get more details about why the policy is in this state, review the output of the `compliance_state_reason` field.", + "Resource is compliant.", + "Resource is non-compliant." + ], + "type": "string" + }, + "complianceStateReason": { + "description": "A reason for the resource to be in the given compliance state. This field is always populated when `compliance_state` is `UNKNOWN`. The following values are supported when `compliance_state == UNKNOWN` * `execution-errors`: Errors were encountered by the agent while executing the resource and the compliance state couldn't be determined. * `execution-skipped-by-agent`: Resource execution was skipped by the agent because errors were encountered while executing prior resources in the OS policy. * `os-policy-execution-attempt-failed`: The execution of the OS policy containing this resource failed and the compliance state couldn't be determined.", + "type": "string" + }, + "configSteps": { + "description": "Ordered list of configuration completed by the agent for the OS policy resource.", + "items": { + "$ref": "OSPolicyAssignmentReportOSPolicyComplianceOSPolicyResourceComplianceOSPolicyResourceConfigStep" + }, + "type": "array" + }, + "execResourceOutput": { + "$ref": "OSPolicyAssignmentReportOSPolicyComplianceOSPolicyResourceComplianceExecResourceOutput", + "description": "ExecResource specific output." + }, + "osPolicyResourceId": { + "description": "The ID of the OS policy resource.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyAssignmentReportOSPolicyComplianceOSPolicyResourceComplianceExecResourceOutput": { + "description": "ExecResource specific output.", + "id": "OSPolicyAssignmentReportOSPolicyComplianceOSPolicyResourceComplianceExecResourceOutput", + "properties": { + "enforcementOutput": { + "description": "Output from enforcement phase output file (if run). Output size is limited to 100K bytes.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyAssignmentReportOSPolicyComplianceOSPolicyResourceComplianceOSPolicyResourceConfigStep": { + "description": "Step performed by the OS Config agent for configuring an `OSPolicy` resource to its desired state.", + "id": "OSPolicyAssignmentReportOSPolicyComplianceOSPolicyResourceComplianceOSPolicyResourceConfigStep", + "properties": { + "errorMessage": { + "description": "An error message recorded during the execution of this step. Only populated if errors were encountered during this step execution.", + "type": "string" + }, + "type": { + "description": "Configuration step type.", + "enum": [ + "TYPE_UNSPECIFIED", + "VALIDATION", + "DESIRED_STATE_CHECK", + "DESIRED_STATE_ENFORCEMENT", + "DESIRED_STATE_CHECK_POST_ENFORCEMENT" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Checks for resource conflicts such as schema errors.", + "Checks the current status of the desired state for a resource.", + "Enforces the desired state for a resource that is not in desired state.", + "Re-checks the status of the desired state. This check is done for a resource after the enforcement of all OS policies. This step is used to determine the final desired state status for the resource. It accounts for any resources that might have drifted from their desired state due to side effects from executing other resources." + ], + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyAssignmentRollout": { + "description": "Message to configure the rollout at the zonal level for the OS policy assignment.", + "id": "OSPolicyAssignmentRollout", + "properties": { + "disruptionBudget": { + "$ref": "FixedOrPercent", + "description": "Required. The maximum number (or percentage) of VMs per zone to disrupt at any given moment." + }, + "minWaitDuration": { + "description": "Required. This determines the minimum duration of time to wait after the configuration changes are applied through the current rollout. A VM continues to count towards the `disruption_budget` at least until this duration of time has passed after configuration changes are applied.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyInventoryFilter": { + "description": "Filtering criteria to select VMs based on inventory details.", + "id": "OSPolicyInventoryFilter", + "properties": { + "osShortName": { + "description": "Required. The OS short name", + "type": "string" + }, + "osVersion": { + "description": "The OS version Prefix matches are supported if asterisk(*) is provided as the last character. For example, to match all versions with a major version of `7`, specify the following value for this field `7.*` An empty string matches all OS versions.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResource": { + "description": "An OS policy resource is used to define the desired state configuration and provides a specific functionality like installing/removing packages, executing a script etc. The system ensures that resources are always in their desired state by taking necessary actions if they have drifted from their desired state.", + "id": "OSPolicyResource", + "properties": { + "exec": { + "$ref": "OSPolicyResourceExecResource", + "description": "Exec resource" + }, + "file": { + "$ref": "OSPolicyResourceFileResource", + "description": "File resource" + }, + "id": { + "description": "Required. The id of the resource with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the OS policy.", + "type": "string" + }, + "pkg": { + "$ref": "OSPolicyResourcePackageResource", + "description": "Package resource" + }, + "repository": { + "$ref": "OSPolicyResourceRepositoryResource", + "description": "Package repository resource" + } + }, + "type": "object" + }, + "OSPolicyResourceExecResource": { + "description": "A resource that allows executing scripts on the VM. The `ExecResource` has 2 stages: `validate` and `enforce` and both stages accept a script as an argument to execute. When the `ExecResource` is applied by the agent, it first executes the script in the `validate` stage. The `validate` stage can signal that the `ExecResource` is already in the desired state by returning an exit code of `100`. If the `ExecResource` is not in the desired state, it should return an exit code of `101`. Any other exit code returned by this stage is considered an error. If the `ExecResource` is not in the desired state based on the exit code from the `validate` stage, the agent proceeds to execute the script from the `enforce` stage. If the `ExecResource` is already in the desired state, the `enforce` stage will not be run. Similar to `validate` stage, the `enforce` stage should return an exit code of `100` to indicate that the resource in now in its desired state. Any other exit code is considered an error. NOTE: An exit code of `100` was chosen over `0` (and `101` vs `1`) to have an explicit indicator of `in desired state`, `not in desired state` and errors. Because, for example, Powershell will always return an exit code of `0` unless an `exit` statement is provided in the script. So, for reasons of consistency and being explicit, exit codes `100` and `101` were chosen.", + "id": "OSPolicyResourceExecResource", + "properties": { + "enforce": { + "$ref": "OSPolicyResourceExecResourceExec", + "description": "What to run to bring this resource into the desired state. An exit code of 100 indicates \"success\", any other exit code indicates a failure running enforce." + }, + "validate": { + "$ref": "OSPolicyResourceExecResourceExec", + "description": "Required. What to run to validate this resource is in the desired state. An exit code of 100 indicates \"in desired state\", and exit code of 101 indicates \"not in desired state\". Any other exit code indicates a failure running validate." + } + }, + "type": "object" + }, + "OSPolicyResourceExecResourceExec": { + "description": "A file or script to execute.", + "id": "OSPolicyResourceExecResourceExec", + "properties": { + "args": { + "description": "Optional arguments to pass to the source during execution.", + "items": { + "type": "string" + }, + "type": "array" + }, + "file": { + "$ref": "OSPolicyResourceFile", + "description": "A remote or local file." + }, + "interpreter": { + "description": "Required. The script interpreter to use.", + "enum": [ + "INTERPRETER_UNSPECIFIED", + "NONE", + "SHELL", + "POWERSHELL" + ], + "enumDescriptions": [ + "Invalid value, the request will return validation error.", + "If an interpreter is not specified, the source is executed directly. This execution, without an interpreter, only succeeds for executables and scripts that have shebang lines.", + "Indicates that the script runs with `/bin/sh` on Linux and `cmd.exe` on Windows.", + "Indicates that the script runs with PowerShell." + ], + "type": "string" + }, + "outputFilePath": { + "description": "Only recorded for enforce Exec. Path to an output file (that is created by this Exec) whose content will be recorded in OSPolicyResourceCompliance after a successful run. Absence or failure to read this file will result in this ExecResource being non-compliant. Output file size is limited to 100K bytes.", + "type": "string" + }, + "script": { + "description": "An inline script. The size of the script is limited to 1024 characters.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceFile": { + "description": "A remote or local file.", + "id": "OSPolicyResourceFile", + "properties": { + "allowInsecure": { + "description": "Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.", + "type": "boolean" + }, + "gcs": { + "$ref": "OSPolicyResourceFileGcs", + "description": "A Cloud Storage object." + }, + "localPath": { + "description": "A local path within the VM to use.", + "type": "string" + }, + "remote": { + "$ref": "OSPolicyResourceFileRemote", + "description": "A generic remote file." + } + }, + "type": "object" + }, + "OSPolicyResourceFileGcs": { + "description": "Specifies a file available as a Cloud Storage Object.", + "id": "OSPolicyResourceFileGcs", + "properties": { + "bucket": { + "description": "Required. Bucket of the Cloud Storage object.", + "type": "string" + }, + "generation": { + "description": "Generation number of the Cloud Storage object.", + "format": "int64", + "type": "string" + }, + "object": { + "description": "Required. Name of the Cloud Storage object.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceFileRemote": { + "description": "Specifies a file available via some URI.", + "id": "OSPolicyResourceFileRemote", + "properties": { + "sha256Checksum": { + "description": "SHA256 checksum of the remote file.", + "type": "string" + }, + "uri": { + "description": "Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceFileResource": { + "description": "A resource that manages the state of a file.", + "id": "OSPolicyResourceFileResource", + "properties": { + "content": { + "description": "A a file with this content. The size of the content is limited to 1024 characters.", + "type": "string" + }, + "file": { + "$ref": "OSPolicyResourceFile", + "description": "A remote or local source." + }, + "path": { + "description": "Required. The absolute path of the file within the VM.", + "type": "string" + }, + "permissions": { + "description": "Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4", + "type": "string" + }, + "state": { + "description": "Required. Desired state of the file.", + "enum": [ + "DESIRED_STATE_UNSPECIFIED", + "PRESENT", + "ABSENT", + "CONTENTS_MATCH" + ], + "enumDescriptions": [ + "Unspecified is invalid.", + "Ensure file at path is present.", + "Ensure file at path is absent.", + "Ensure the contents of the file at path matches. If the file does not exist it will be created." + ], + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceGroup": { + "description": "Resource groups provide a mechanism to group OS policy resources. Resource groups enable OS policy authors to create a single OS policy to be applied to VMs running different operating Systems. When the OS policy is applied to a target VM, the appropriate resource group within the OS policy is selected based on the `OSFilter` specified within the resource group.", + "id": "OSPolicyResourceGroup", + "properties": { + "inventoryFilters": { + "description": "List of inventory filters for the resource group. The resources in this resource group are applied to the target VM if it satisfies at least one of the following inventory filters. For example, to apply this resource group to VMs running either `RHEL` or `CentOS` operating systems, specify 2 items for the list with following values: inventory_filters[0].os_short_name='rhel' and inventory_filters[1].os_short_name='centos' If the list is empty, this resource group will be applied to the target VM unconditionally.", + "items": { + "$ref": "OSPolicyInventoryFilter" + }, + "type": "array" + }, + "resources": { + "description": "Required. List of resources configured for this resource group. The resources are executed in the exact order specified here.", + "items": { + "$ref": "OSPolicyResource" + }, + "type": "array" + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResource": { + "description": "A resource that manages a system package.", + "id": "OSPolicyResourcePackageResource", + "properties": { + "apt": { + "$ref": "OSPolicyResourcePackageResourceAPT", + "description": "A package managed by Apt." + }, + "deb": { + "$ref": "OSPolicyResourcePackageResourceDeb", + "description": "A deb package file." + }, + "desiredState": { + "description": "Required. The desired state the agent should maintain for this package.", + "enum": [ + "DESIRED_STATE_UNSPECIFIED", + "INSTALLED", + "REMOVED" + ], + "enumDescriptions": [ + "Unspecified is invalid.", + "Ensure that the package is installed.", + "The agent ensures that the package is not installed and uninstalls it if detected." + ], + "type": "string" + }, + "googet": { + "$ref": "OSPolicyResourcePackageResourceGooGet", + "description": "A package managed by GooGet." + }, + "msi": { + "$ref": "OSPolicyResourcePackageResourceMSI", + "description": "An MSI package." + }, + "rpm": { + "$ref": "OSPolicyResourcePackageResourceRPM", + "description": "An rpm package file." + }, + "yum": { + "$ref": "OSPolicyResourcePackageResourceYUM", + "description": "A package managed by YUM." + }, + "zypper": { + "$ref": "OSPolicyResourcePackageResourceZypper", + "description": "A package managed by Zypper." + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResourceAPT": { + "description": "A package managed by APT. - install: `apt-get update && apt-get -y install [name]` - remove: `apt-get -y remove [name]`", + "id": "OSPolicyResourcePackageResourceAPT", + "properties": { + "name": { + "description": "Required. Package name.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResourceDeb": { + "description": "A deb package file. dpkg packages only support INSTALLED state.", + "id": "OSPolicyResourcePackageResourceDeb", + "properties": { + "pullDeps": { + "description": "Whether dependencies should also be installed. - install when false: `dpkg -i package` - install when true: `apt-get update && apt-get -y install package.deb`", + "type": "boolean" + }, + "source": { + "$ref": "OSPolicyResourceFile", + "description": "Required. A deb package." + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResourceGooGet": { + "description": "A package managed by GooGet. - install: `googet -noconfirm install package` - remove: `googet -noconfirm remove package`", + "id": "OSPolicyResourcePackageResourceGooGet", + "properties": { + "name": { + "description": "Required. Package name.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResourceMSI": { + "description": "An MSI package. MSI packages only support INSTALLED state.", + "id": "OSPolicyResourcePackageResourceMSI", + "properties": { + "properties": { + "description": "Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of `ACTION=INSTALL REBOOT=ReallySuppress`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "$ref": "OSPolicyResourceFile", + "description": "Required. The MSI package." + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResourceRPM": { + "description": "An RPM package file. RPM packages only support INSTALLED state.", + "id": "OSPolicyResourcePackageResourceRPM", + "properties": { + "pullDeps": { + "description": "Whether dependencies should also be installed. - install when false: `rpm --upgrade --replacepkgs package.rpm` - install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`", + "type": "boolean" + }, + "source": { + "$ref": "OSPolicyResourceFile", + "description": "Required. An rpm package." + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResourceYUM": { + "description": "A package managed by YUM. - install: `yum -y install package` - remove: `yum -y remove package`", + "id": "OSPolicyResourcePackageResourceYUM", + "properties": { + "name": { + "description": "Required. Package name.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResourceZypper": { + "description": "A package managed by Zypper. - install: `zypper -y install package` - remove: `zypper -y rm package`", + "id": "OSPolicyResourcePackageResourceZypper", + "properties": { + "name": { + "description": "Required. Package name.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceRepositoryResource": { + "description": "A resource that manages a package repository.", + "id": "OSPolicyResourceRepositoryResource", + "properties": { + "apt": { + "$ref": "OSPolicyResourceRepositoryResourceAptRepository", + "description": "An Apt Repository." + }, + "goo": { + "$ref": "OSPolicyResourceRepositoryResourceGooRepository", + "description": "A Goo Repository." + }, + "yum": { + "$ref": "OSPolicyResourceRepositoryResourceYumRepository", + "description": "A Yum Repository." + }, + "zypper": { + "$ref": "OSPolicyResourceRepositoryResourceZypperRepository", + "description": "A Zypper Repository." + } + }, + "type": "object" + }, + "OSPolicyResourceRepositoryResourceAptRepository": { + "description": "Represents a single apt package repository. These will be added to a repo file that will be managed at `/etc/apt/sources.list.d/google_osconfig.list`.", + "id": "OSPolicyResourceRepositoryResourceAptRepository", + "properties": { + "archiveType": { + "description": "Required. Type of archive files in this repository.", + "enum": [ + "ARCHIVE_TYPE_UNSPECIFIED", + "DEB", + "DEB_SRC" + ], + "enumDescriptions": [ + "Unspecified is invalid.", + "Deb indicates that the archive contains binary files.", + "Deb-src indicates that the archive contains source files." + ], + "type": "string" + }, + "components": { + "description": "Required. List of components for this repository. Must contain at least one item.", + "items": { + "type": "string" + }, + "type": "array" + }, + "distribution": { + "description": "Required. Distribution of this repository.", + "type": "string" + }, + "gpgKey": { + "description": "URI of the key file for this repository. The agent maintains a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg`.", + "type": "string" + }, + "uri": { + "description": "Required. URI for this repository.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceRepositoryResourceGooRepository": { + "description": "Represents a Goo package repository. These are added to a repo file that is managed at `C:/ProgramData/GooGet/repos/google_osconfig.repo`.", + "id": "OSPolicyResourceRepositoryResourceGooRepository", + "properties": { + "name": { + "description": "Required. The name of the repository.", + "type": "string" + }, + "url": { + "description": "Required. The url of the repository.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceRepositoryResourceYumRepository": { + "description": "Represents a single yum package repository. These are added to a repo file that is managed at `/etc/yum.repos.d/google_osconfig.repo`.", + "id": "OSPolicyResourceRepositoryResourceYumRepository", + "properties": { + "baseUrl": { + "description": "Required. The location of the repository directory.", + "type": "string" + }, + "displayName": { + "description": "The display name of the repository.", + "type": "string" + }, + "gpgKeys": { + "description": "URIs of GPG keys.", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "Required. A one word, unique name for this repository. This is the `repo id` in the yum config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for resource conflicts.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceRepositoryResourceZypperRepository": { + "description": "Represents a single zypper package repository. These are added to a repo file that is managed at `/etc/zypp/repos.d/google_osconfig.repo`.", + "id": "OSPolicyResourceRepositoryResourceZypperRepository", + "properties": { + "baseUrl": { + "description": "Required. The location of the repository directory.", + "type": "string" + }, + "displayName": { + "description": "The display name of the repository.", + "type": "string" + }, + "gpgKeys": { + "description": "URIs of GPG keys.", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "Required. A one word, unique name for this repository. This is the `repo id` in the zypper config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for GuestPolicy conflicts.", + "type": "string" + } + }, + "type": "object" + }, "OneTimeSchedule": { "description": "Sets the time for a one time patch deployment. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", "id": "OneTimeSchedule", @@ -1084,6 +2855,10 @@ "$ref": "GooSettings", "description": "Goo update settings. Use this setting to override the default `goo` patch rules." }, + "migInstancesAllowed": { + "description": "Allows the patch job to run on Managed instance groups (MIGs).", + "type": "boolean" + }, "postStep": { "$ref": "ExecStep", "description": "The `ExecStep` to run after the patch update." @@ -1172,6 +2947,21 @@ "$ref": "PatchRollout", "description": "Optional. Rollout strategy of the patch job." }, + "state": { + "description": "Output only. Current state of the patch deployment.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "PAUSED" + ], + "enumDescriptions": [ + "The default value. This value is used if the state is omitted.", + "Active value means that patch deployment generates Patch Jobs.", + "Paused value means that patch deployment does not generate Patch jobs. Requires user action to move in and out from this state." + ], + "readOnly": true, + "type": "string" + }, "updateTime": { "description": "Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", "format": "google-datetime", @@ -1497,6 +3287,12 @@ }, "type": "object" }, + "PausePatchDeploymentRequest": { + "description": "A request message for pausing a patch deployment.", + "id": "PausePatchDeploymentRequest", + "properties": {}, + "type": "object" + }, "RecurringSchedule": { "description": "Sets the time for recurring patch deployments.", "id": "RecurringSchedule", @@ -1511,12 +3307,14 @@ "enum": [ "FREQUENCY_UNSPECIFIED", "WEEKLY", - "MONTHLY" + "MONTHLY", + "DAILY" ], "enumDescriptions": [ "Invalid. A frequency must be specified.", - "Indicates that the frequency should be expressed in terms of weeks.", - "Indicates that the frequency should be expressed in terms of months." + "Indicates that the frequency of recurrence should be expressed in terms of weeks.", + "Indicates that the frequency of recurrence should be expressed in terms of months.", + "Indicates that the frequency of recurrence should be expressed in terms of days." ], "type": "string" }, @@ -1556,6 +3354,12 @@ }, "type": "object" }, + "ResumePatchDeploymentRequest": { + "description": "A request message for resuming a patch deployment.", + "id": "ResumePatchDeploymentRequest", + "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", @@ -1625,6 +3429,147 @@ }, "type": "object" }, + "VulnerabilityReport": { + "description": "This API resource represents the vulnerability report for a specified Compute Engine virtual machine (VM) instance at a given point in time. For more information, see [Vulnerability reports](https://cloud.google.com/compute/docs/instances/os-inventory-management#vulnerability-reports).", + "id": "VulnerabilityReport", + "properties": { + "name": { + "description": "Output only. The `vulnerabilityReport` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/vulnerabilityReport`", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp for when the last vulnerability report was generated for the VM.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "vulnerabilities": { + "description": "Output only. List of vulnerabilities affecting the VM.", + "items": { + "$ref": "VulnerabilityReportVulnerability" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "VulnerabilityReportVulnerability": { + "description": "A vulnerability affecting the VM instance.", + "id": "VulnerabilityReportVulnerability", + "properties": { + "availableInventoryItemIds": { + "description": "Corresponds to the `AVAILABLE_PACKAGE` inventory item on the VM. If the vulnerability report was not updated after the VM inventory update, these values might not display in VM inventory. If there is no available fix, the field is empty. The `inventory_item` value specifies the latest `SoftwarePackage` available to the VM that fixes the vulnerability.", + "items": { + "type": "string" + }, + "type": "array" + }, + "createTime": { + "description": "The timestamp for when the vulnerability was first detected.", + "format": "google-datetime", + "type": "string" + }, + "details": { + "$ref": "VulnerabilityReportVulnerabilityDetails", + "description": "Contains metadata as per the upstream feed of the operating system and NVD." + }, + "installedInventoryItemIds": { + "description": "Corresponds to the `INSTALLED_PACKAGE` inventory item on the VM. This field displays the inventory items affected by this vulnerability. If the vulnerability report was not updated after the VM inventory update, these values might not display in VM inventory. For some distros, this field may be empty.", + "items": { + "type": "string" + }, + "type": "array" + }, + "items": { + "description": "List of items affected by the vulnerability.", + "items": { + "$ref": "VulnerabilityReportVulnerabilityItem" + }, + "type": "array" + }, + "updateTime": { + "description": "The timestamp for when the vulnerability was last modified.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "VulnerabilityReportVulnerabilityDetails": { + "description": "Contains metadata information for the vulnerability. This information is collected from the upstream feed of the operating system.", + "id": "VulnerabilityReportVulnerabilityDetails", + "properties": { + "cve": { + "description": "The CVE of the vulnerability. CVE cannot be empty and the combination of should be unique across vulnerabilities for a VM.", + "type": "string" + }, + "cvssV2Score": { + "description": "The CVSS V2 score of this vulnerability. CVSS V2 score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity.", + "format": "float", + "type": "number" + }, + "cvssV3": { + "$ref": "CVSSv3", + "description": "The full description of the CVSSv3 for this vulnerability from NVD." + }, + "description": { + "description": "The note or description describing the vulnerability from the distro.", + "type": "string" + }, + "references": { + "description": "Corresponds to the references attached to the `VulnerabilityDetails`.", + "items": { + "$ref": "VulnerabilityReportVulnerabilityDetailsReference" + }, + "type": "array" + }, + "severity": { + "description": "Assigned severity/impact ranking from the distro.", + "type": "string" + } + }, + "type": "object" + }, + "VulnerabilityReportVulnerabilityDetailsReference": { + "description": "A reference for this vulnerability.", + "id": "VulnerabilityReportVulnerabilityDetailsReference", + "properties": { + "source": { + "description": "The source of the reference e.g. NVD.", + "type": "string" + }, + "url": { + "description": "The url of the reference.", + "type": "string" + } + }, + "type": "object" + }, + "VulnerabilityReportVulnerabilityItem": { + "description": "OS inventory item that is affected by a vulnerability or fixed as a result of a vulnerability.", + "id": "VulnerabilityReportVulnerabilityItem", + "properties": { + "availableInventoryItemId": { + "description": "Corresponds to the `AVAILABLE_PACKAGE` inventory item on the VM. If the vulnerability report was not updated after the VM inventory update, these values might not display in VM inventory. If there is no available fix, the field is empty. The `inventory_item` value specifies the latest `SoftwarePackage` available to the VM that fixes the vulnerability.", + "type": "string" + }, + "fixedCpeUri": { + "description": "The recommended [CPE URI](https://cpe.mitre.org/specification/) update that contains a fix for this vulnerability.", + "type": "string" + }, + "installedInventoryItemId": { + "description": "Corresponds to the `INSTALLED_PACKAGE` inventory item on the VM. This field displays the inventory items affected by this vulnerability. If the vulnerability report was not updated after the VM inventory update, these values might not display in VM inventory. For some operating systems, this field might be empty.", + "type": "string" + }, + "upstreamFix": { + "description": "The upstream OS patch, packages or KB that fixes the vulnerability.", + "type": "string" + } + }, + "type": "object" + }, "WeekDayOfMonth": { "description": "Represents one week day in a month. An example is \"the 4th Sunday\".", "id": "WeekDayOfMonth", @@ -1653,6 +3598,11 @@ ], "type": "string" }, + "dayOffset": { + "description": "Optional. Represents the number of days before or after the given week day of month that the patch deployment is scheduled for. For example if `week_ordinal` and `day_of_week` values point to the second day of the month and this `day_offset` value is set to `3`, the patch deployment takes place three days after the second Tuesday of the month. If this value is negative, for example -5, the patches are deployed five days before before the second Tuesday of the month. Allowed values are in range [-30, 30].", + "format": "int32", + "type": "integer" + }, "weekOrdinal": { "description": "Required. Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1 indicates the last week of the month.", "format": "int32", diff --git a/etc/api/osconfig/v1alpha/osconfig-api.json b/etc/api/osconfig/v1alpha/osconfig-api.json new file mode 100644 index 0000000000..207d3492dc --- /dev/null +++ b/etc/api/osconfig/v1alpha/osconfig-api.json @@ -0,0 +1,2710 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://osconfig.googleapis.com/", + "batchPath": "batch", + "canonicalName": "OS Config", + "description": "OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/compute/docs/osconfig/rest", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "osconfig:v1alpha", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://osconfig.mtls.googleapis.com/", + "name": "osconfig", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "resources": { + "instanceOSPoliciesCompliances": { + "methods": { + "get": { + "description": "Get OS policies compliance data for the specified Compute Engine VM instance.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/instanceOSPoliciesCompliances/{instanceOSPoliciesCompliancesId}", + "httpMethod": "GET", + "id": "osconfig.projects.locations.instanceOSPoliciesCompliances.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. API resource name for instance OS policies compliance resource. Format: `projects/{project}/locations/{location}/instanceOSPoliciesCompliances/{instance}` For `{project}`, either Compute Engine project-number or project-id can be provided. For `{instance}`, either Compute Engine VM instance-id or instance-name can be provided.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instanceOSPoliciesCompliances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "InstanceOSPoliciesCompliance" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List OS policies compliance data for all Compute Engine VM instances in the specified zone.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/instanceOSPoliciesCompliances", + "httpMethod": "GET", + "id": "osconfig.projects.locations.instanceOSPoliciesCompliances.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "If provided, this field specifies the criteria that must be met by a `InstanceOSPoliciesCompliance` API resource to be included in the response.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous call to `ListInstanceOSPoliciesCompliances` that indicates where this listing should continue from.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Format: `projects/{project}/locations/{location}` For `{project}`, either Compute Engine project-number or project-id can be provided.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/instanceOSPoliciesCompliances", + "response": { + "$ref": "ListInstanceOSPoliciesCompliancesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "instances": { + "resources": { + "inventories": { + "methods": { + "get": { + "description": "Get inventory data for the specified VM instance. If the VM has no associated inventory, the message `NOT_FOUND` is returned.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/inventory", + "httpMethod": "GET", + "id": "osconfig.projects.locations.instances.inventories.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. API resource name for inventory resource. Format: `projects/{project}/locations/{location}/instances/{instance}/inventory` For `{project}`, either `project-number` or `project-id` can be provided. For `{instance}`, either Compute Engine `instance-id` or `instance-name` can be provided.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/inventory$", + "required": true, + "type": "string" + }, + "view": { + "description": "Inventory view indicating what information should be included in the inventory resource. If unspecified, the default view is BASIC.", + "enum": [ + "INVENTORY_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "The default value. The API defaults to the BASIC view.", + "Returns the basic inventory information that includes `os_info`.", + "Returns all fields." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "Inventory" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List inventory data for all VM instances in the specified zone.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/inventories", + "httpMethod": "GET", + "id": "osconfig.projects.locations.instances.inventories.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "If provided, this field specifies the criteria that must be met by a `Inventory` API resource to be included in the response.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous call to `ListInventories` that indicates where this listing should continue from.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Format: `projects/{project}/locations/{location}/instances/-` For `{project}`, either `project-number` or `project-id` can be provided.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Inventory view indicating what information should be included in the inventory resource. If unspecified, the default view is BASIC.", + "enum": [ + "INVENTORY_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "The default value. The API defaults to the BASIC view.", + "Returns the basic inventory information that includes `os_info`.", + "Returns all fields." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+parent}/inventories", + "response": { + "$ref": "ListInventoriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "osPolicyAssignments": { + "resources": { + "reports": { + "methods": { + "get": { + "description": "Get the OS policy asssignment report for the specified Compute Engine VM instance.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/osPolicyAssignments/{osPolicyAssignmentsId}/report", + "httpMethod": "GET", + "id": "osconfig.projects.locations.instances.osPolicyAssignments.reports.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. API resource name for OS policy assignment report. Format: `/projects/{project}/locations/{location}/instances/{instance}/osPolicyAssignments/{assignment}/report` For `{project}`, either `project-number` or `project-id` can be provided. For `{instance_id}`, either Compute Engine `instance-id` or `instance-name` can be provided. For `{assignment_id}`, the OSPolicyAssignment id must be provided.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/osPolicyAssignments/[^/]+/report$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "OSPolicyAssignmentReport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List OS policy asssignment reports for all Compute Engine VM instances in the specified zone.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/osPolicyAssignments/{osPolicyAssignmentsId}/reports", + "httpMethod": "GET", + "id": "osconfig.projects.locations.instances.osPolicyAssignments.reports.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "If provided, this field specifies the criteria that must be met by the `OSPolicyAssignmentReport` API resource that is included in the response.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous call to the `ListOSPolicyAssignmentReports` method that indicates where this listing should continue from.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Format: `projects/{project}/locations/{location}/instances/{instance}/osPolicyAssignments/{assignment}/reports` For `{project}`, either `project-number` or `project-id` can be provided. For `{instance}`, either `instance-name`, `instance-id`, or `-` can be provided. If '-' is provided, the response will include OSPolicyAssignmentReports for all instances in the project/location. For `{assignment}`, either `assignment-id` or `-` can be provided. If '-' is provided, the response will include OSPolicyAssignmentReports for all OSPolicyAssignments in the project/location. Either {instance} or {assignment} must be `-`. For example: `projects/{project}/locations/{location}/instances/{instance}/osPolicyAssignments/-/reports` returns all reports for the instance `projects/{project}/locations/{location}/instances/-/osPolicyAssignments/{assignment-id}/reports` returns all the reports for the given assignment across all instances. `projects/{project}/locations/{location}/instances/-/osPolicyAssignments/-/reports` returns all the reports for all assignments across all instances.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/osPolicyAssignments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/reports", + "response": { + "$ref": "ListOSPolicyAssignmentReportsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "vulnerabilityReports": { + "methods": { + "get": { + "description": "Gets the vulnerability report for the specified VM instance. Only VMs with inventory data have vulnerability reports associated with them.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/vulnerabilityReport", + "httpMethod": "GET", + "id": "osconfig.projects.locations.instances.vulnerabilityReports.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. API resource name for vulnerability resource. Format: `projects/{project}/locations/{location}/instances/{instance}/vulnerabilityReport` For `{project}`, either `project-number` or `project-id` can be provided. For `{instance}`, either Compute Engine `instance-id` or `instance-name` can be provided.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+/vulnerabilityReport$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "VulnerabilityReport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List vulnerability reports for all VM instances in the specified zone.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}/vulnerabilityReports", + "httpMethod": "GET", + "id": "osconfig.projects.locations.instances.vulnerabilityReports.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "This field supports filtering by the severity level for the vulnerability. For a list of severity levels, see [Severity levels for vulnerabilities](https://cloud.google.com/container-analysis/docs/container-scanning-overview#severity_levels_for_vulnerabilities). The filter field follows the rules described in the [AIP-160](https://google.aip.dev/160) guidelines as follows: + **Filter for a specific severity type**: you can list reports that contain vulnerabilities that are classified as medium by specifying `vulnerabilities.details.severity:MEDIUM`. + **Filter for a range of severities** : you can list reports that have vulnerabilities that are classified as critical or high by specifying `vulnerabilities.details.severity:HIGH OR vulnerabilities.details.severity:CRITICAL`", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous call to `ListVulnerabilityReports` that indicates where this listing should continue from.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name. Format: `projects/{project}/locations/{location}/instances/-` For `{project}`, either `project-number` or `project-id` can be provided.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/vulnerabilityReports", + "response": { + "$ref": "ListVulnerabilityReportsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "osPolicyAssignments": { + "methods": { + "create": { + "description": "Create an OS policy assignment. This method also creates the first revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](https://cloud.google.com/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments", + "httpMethod": "POST", + "id": "osconfig.projects.locations.osPolicyAssignments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "osPolicyAssignmentId": { + "description": "Required. The logical name of the OS policy assignment in the project with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the project.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name in the form: projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/osPolicyAssignments", + "request": { + "$ref": "OSPolicyAssignment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete the OS policy assignment. This method creates a new revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. If the LRO completes and is not cancelled, all revisions associated with the OS policy assignment are deleted. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](https://cloud.google.com/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments/{osPolicyAssignmentsId}", + "httpMethod": "DELETE", + "id": "osconfig.projects.locations.osPolicyAssignments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the OS policy assignment to be deleted", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/osPolicyAssignments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieve an existing OS policy assignment. This method always returns the latest revision. In order to retrieve a previous revision of the assignment, also provide the revision ID in the `name` parameter.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments/{osPolicyAssignmentsId}", + "httpMethod": "GET", + "id": "osconfig.projects.locations.osPolicyAssignments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of OS policy assignment. Format: `projects/{project}/locations/{location}/osPolicyAssignments/{os_policy_assignment}@{revisionId}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/osPolicyAssignments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "OSPolicyAssignment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List the OS policy assignments under the parent resource. For each OS policy assignment, the latest revision is returned.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments", + "httpMethod": "GET", + "id": "osconfig.projects.locations.osPolicyAssignments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of assignments to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous call to `ListOSPolicyAssignments` that indicates where this listing should continue from.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/osPolicyAssignments", + "response": { + "$ref": "ListOSPolicyAssignmentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "listRevisions": { + "description": "List the OS policy assignment revisions for a given OS policy assignment.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments/{osPolicyAssignmentsId}:listRevisions", + "httpMethod": "GET", + "id": "osconfig.projects.locations.osPolicyAssignments.listRevisions", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the OS policy assignment to list revisions for.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/osPolicyAssignments/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of revisions to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous call to `ListOSPolicyAssignmentRevisions` that indicates where this listing should continue from.", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+name}:listRevisions", + "response": { + "$ref": "ListOSPolicyAssignmentRevisionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update an existing OS policy assignment. This method creates a new revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](https://cloud.google.com/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments/{osPolicyAssignmentsId}", + "httpMethod": "PATCH", + "id": "osconfig.projects.locations.osPolicyAssignments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/osPolicyAssignments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask that controls which fields of the assignment should be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "request": { + "$ref": "OSPolicyAssignment" + }, + "response": { + "$ref": "Operation" + }, + "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": "v1alpha/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments/{osPolicyAssignmentsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "osconfig.projects.locations.osPolicyAssignments.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/osPolicyAssignments/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+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": "v1alpha/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments/{osPolicyAssignmentsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "osconfig.projects.locations.osPolicyAssignments.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/osPolicyAssignments/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20220301", + "rootUrl": "https://osconfig.googleapis.com/", + "schemas": { + "CVSSv3": { + "description": "Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document", + "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": "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. https://www.first.org/cvss/specification-document#Base-Metrics", + "format": "float", + "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" + }, + "exploitabilityScore": { + "description": "The Exploitability sub-score equation is derived from the Base Exploitability metrics. https://www.first.org/cvss/specification-document#2-1-Exploitability-Metrics", + "format": "float", + "type": "number" + }, + "impactScore": { + "description": "The Impact sub-score equation is derived from the Base Impact metrics.", + "format": "float", + "type": "number" + }, + "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" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "Date": { + "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "id": "Date", + "properties": { + "day": { + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "format": "int32", + "type": "integer" + }, + "year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "FixedOrPercent": { + "description": "Message encapsulating a value that can be either absolute (\"fixed\") or relative (\"percent\") to a value.", + "id": "FixedOrPercent", + "properties": { + "fixed": { + "description": "Specifies a fixed value.", + "format": "int32", + "type": "integer" + }, + "percent": { + "description": "Specifies the relative value defined as a percentage, which will be multiplied by a reference value.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudOsconfigV1__OSPolicyAssignmentOperationMetadata": { + "description": "OS policy assignment operation metadata provided by OS policy assignment API methods that return long running operations.", + "id": "GoogleCloudOsconfigV1__OSPolicyAssignmentOperationMetadata", + "properties": { + "apiMethod": { + "description": "The OS policy assignment API method.", + "enum": [ + "API_METHOD_UNSPECIFIED", + "CREATE", + "UPDATE", + "DELETE" + ], + "enumDescriptions": [ + "Invalid value", + "Create OS policy assignment API method", + "Update OS policy assignment API method", + "Delete OS policy assignment API method" + ], + "type": "string" + }, + "osPolicyAssignment": { + "description": "Reference to the `OSPolicyAssignment` API resource. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}`", + "type": "string" + }, + "rolloutStartTime": { + "description": "Rollout start time", + "format": "google-datetime", + "type": "string" + }, + "rolloutState": { + "description": "State of the rollout", + "enum": [ + "ROLLOUT_STATE_UNSPECIFIED", + "IN_PROGRESS", + "CANCELLING", + "CANCELLED", + "SUCCEEDED" + ], + "enumDescriptions": [ + "Invalid value", + "The rollout is in progress.", + "The rollout is being cancelled.", + "The rollout is cancelled.", + "The rollout has completed successfully." + ], + "type": "string" + }, + "rolloutUpdateTime": { + "description": "Rollout update time", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "InstanceOSPoliciesCompliance": { + "description": "This API resource represents the OS policies compliance data for a Compute Engine virtual machine (VM) instance at a given point in time. A Compute Engine VM can have multiple OS policy assignments, and each assignment can have multiple OS policies. As a result, multiple OS policies could be applied to a single VM. You can use this API resource to determine both the compliance state of your VM as well as the compliance state of an individual OS policy. For more information, see [View compliance](https://cloud.google.com/compute/docs/os-configuration-management/view-compliance).", + "id": "InstanceOSPoliciesCompliance", + "properties": { + "detailedState": { + "description": "Output only. Detailed compliance state of the VM. This field is populated only when compliance state is `UNKNOWN`. It may contain one of the following values: * `no-compliance-data`: Compliance data is not available for this VM. * `no-agent-detected`: OS Config agent is not detected for this VM. * `config-not-supported-by-agent`: The version of the OS Config agent running on this VM does not support configuration management. * `inactive`: VM is not running. * `internal-service-errors`: There were internal service errors encountered while enforcing compliance. * `agent-errors`: OS config agent encountered errors while enforcing compliance.", + "readOnly": true, + "type": "string" + }, + "detailedStateReason": { + "description": "Output only. The reason for the `detailed_state` of the VM (if any).", + "readOnly": true, + "type": "string" + }, + "instance": { + "description": "Output only. The Compute Engine VM instance name.", + "readOnly": true, + "type": "string" + }, + "lastComplianceCheckTime": { + "description": "Output only. Timestamp of the last compliance check for the VM.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "lastComplianceRunId": { + "description": "Output only. Unique identifier for the last compliance run. This id will be logged by the OS config agent during a compliance run and can be used for debugging and tracing purpose.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The `InstanceOSPoliciesCompliance` API resource name. Format: `projects/{project_number}/locations/{location}/instanceOSPoliciesCompliances/{instance_id}`", + "readOnly": true, + "type": "string" + }, + "osPolicyCompliances": { + "description": "Output only. Compliance data for each `OSPolicy` that is applied to the VM.", + "items": { + "$ref": "InstanceOSPoliciesComplianceOSPolicyCompliance" + }, + "readOnly": true, + "type": "array" + }, + "state": { + "description": "Output only. Compliance state of the VM.", + "enum": [ + "OS_POLICY_COMPLIANCE_STATE_UNSPECIFIED", + "COMPLIANT", + "NON_COMPLIANT", + "UNKNOWN", + "NO_OS_POLICIES_APPLICABLE" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Compliant state.", + "Non-compliant state", + "Unknown compliance state.", + "No applicable OS policies were found for the instance. This state is only applicable to the instance." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "InstanceOSPoliciesComplianceOSPolicyCompliance": { + "description": "Compliance data for an OS policy", + "id": "InstanceOSPoliciesComplianceOSPolicyCompliance", + "properties": { + "osPolicyAssignment": { + "description": "Reference to the `OSPolicyAssignment` API resource that the `OSPolicy` belongs to. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}`", + "type": "string" + }, + "osPolicyId": { + "description": "The OS policy id", + "type": "string" + }, + "osPolicyResourceCompliances": { + "description": "Compliance data for each `OSPolicyResource` that is applied to the VM.", + "items": { + "$ref": "OSPolicyResourceCompliance" + }, + "type": "array" + }, + "state": { + "description": "Compliance state of the OS policy.", + "enum": [ + "OS_POLICY_COMPLIANCE_STATE_UNSPECIFIED", + "COMPLIANT", + "NON_COMPLIANT", + "UNKNOWN", + "NO_OS_POLICIES_APPLICABLE" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Compliant state.", + "Non-compliant state", + "Unknown compliance state.", + "No applicable OS policies were found for the instance. This state is only applicable to the instance." + ], + "type": "string" + } + }, + "type": "object" + }, + "Inventory": { + "description": "This API resource represents the available inventory data for a Compute Engine virtual machine (VM) instance at a given point in time. You can use this API resource to determine the inventory data of your VM. For more information, see [Information provided by OS inventory management](https://cloud.google.com/compute/docs/instances/os-inventory-management#data-collected).", + "id": "Inventory", + "properties": { + "items": { + "additionalProperties": { + "$ref": "InventoryItem" + }, + "description": "Output only. Inventory items related to the VM keyed by an opaque unique identifier for each inventory item. The identifier is unique to each distinct and addressable inventory item and will change, when there is a new package version.", + "readOnly": true, + "type": "object" + }, + "name": { + "description": "Output only. The `Inventory` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/inventory`", + "readOnly": true, + "type": "string" + }, + "osInfo": { + "$ref": "InventoryOsInfo", + "description": "Output only. Base level operating system information for the VM.", + "readOnly": true + }, + "updateTime": { + "description": "Output only. Timestamp of the last reported inventory for the VM.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "InventoryItem": { + "description": "A single piece of inventory on a VM.", + "id": "InventoryItem", + "properties": { + "availablePackage": { + "$ref": "InventorySoftwarePackage", + "description": "Software package available to be installed on the VM instance." + }, + "createTime": { + "description": "When this inventory item was first detected.", + "format": "google-datetime", + "type": "string" + }, + "id": { + "description": "Identifier for this item, unique across items for this VM.", + "type": "string" + }, + "installedPackage": { + "$ref": "InventorySoftwarePackage", + "description": "Software package present on the VM instance." + }, + "originType": { + "description": "The origin of this inventory item.", + "enum": [ + "ORIGIN_TYPE_UNSPECIFIED", + "INVENTORY_REPORT" + ], + "enumDescriptions": [ + "Invalid. An origin type must be specified.", + "This inventory item was discovered as the result of the agent reporting inventory via the reporting API." + ], + "type": "string" + }, + "type": { + "description": "The specific type of inventory, correlating to its specific details.", + "enum": [ + "TYPE_UNSPECIFIED", + "INSTALLED_PACKAGE", + "AVAILABLE_PACKAGE" + ], + "enumDescriptions": [ + "Invalid. An type must be specified.", + "This represents a package that is installed on the VM.", + "This represents an update that is available for a package." + ], + "type": "string" + }, + "updateTime": { + "description": "When this inventory item was last modified.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "InventoryOsInfo": { + "description": "Operating system information for the VM.", + "id": "InventoryOsInfo", + "properties": { + "architecture": { + "description": "The system architecture of the operating system.", + "type": "string" + }, + "hostname": { + "description": "The VM hostname.", + "type": "string" + }, + "kernelRelease": { + "description": "The kernel release of the operating system.", + "type": "string" + }, + "kernelVersion": { + "description": "The kernel version of the operating system.", + "type": "string" + }, + "longName": { + "description": "The operating system long name. For example 'Debian GNU/Linux 9' or 'Microsoft Window Server 2019 Datacenter'.", + "type": "string" + }, + "osconfigAgentVersion": { + "description": "The current version of the OS Config agent running on the VM.", + "type": "string" + }, + "shortName": { + "description": "The operating system short name. For example, 'windows' or 'debian'.", + "type": "string" + }, + "version": { + "description": "The version of the operating system.", + "type": "string" + } + }, + "type": "object" + }, + "InventorySoftwarePackage": { + "description": "Software package information of the operating system.", + "id": "InventorySoftwarePackage", + "properties": { + "aptPackage": { + "$ref": "InventoryVersionedPackage", + "description": "Details of an APT package. For details about the apt package manager, see https://wiki.debian.org/Apt." + }, + "cosPackage": { + "$ref": "InventoryVersionedPackage", + "description": "Details of a COS package." + }, + "googetPackage": { + "$ref": "InventoryVersionedPackage", + "description": "Details of a Googet package. For details about the googet package manager, see https://github.com/google/googet." + }, + "qfePackage": { + "$ref": "InventoryWindowsQuickFixEngineeringPackage", + "description": "Details of a Windows Quick Fix engineering package. See https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering for info in Windows Quick Fix Engineering." + }, + "windowsApplication": { + "$ref": "InventoryWindowsApplication", + "description": "Details of Windows Application." + }, + "wuaPackage": { + "$ref": "InventoryWindowsUpdatePackage", + "description": "Details of a Windows Update package. See https://docs.microsoft.com/en-us/windows/win32/api/_wua/ for information about Windows Update." + }, + "yumPackage": { + "$ref": "InventoryVersionedPackage", + "description": "Yum package info. For details about the yum package manager, see https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/ch-yum." + }, + "zypperPackage": { + "$ref": "InventoryVersionedPackage", + "description": "Details of a Zypper package. For details about the Zypper package manager, see https://en.opensuse.org/SDB:Zypper_manual." + }, + "zypperPatch": { + "$ref": "InventoryZypperPatch", + "description": "Details of a Zypper patch. For details about the Zypper package manager, see https://en.opensuse.org/SDB:Zypper_manual." + } + }, + "type": "object" + }, + "InventoryVersionedPackage": { + "description": "Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers.", + "id": "InventoryVersionedPackage", + "properties": { + "architecture": { + "description": "The system architecture this package is intended for.", + "type": "string" + }, + "packageName": { + "description": "The name of the package.", + "type": "string" + }, + "version": { + "description": "The version of the package.", + "type": "string" + } + }, + "type": "object" + }, + "InventoryWindowsApplication": { + "description": "Contains information about a Windows application that is retrieved from the Windows Registry. For more information about these fields, see: https://docs.microsoft.com/en-us/windows/win32/msi/uninstall-registry-key", + "id": "InventoryWindowsApplication", + "properties": { + "displayName": { + "description": "The name of the application or product.", + "type": "string" + }, + "displayVersion": { + "description": "The version of the product or application in string format.", + "type": "string" + }, + "helpLink": { + "description": "The internet address for technical support.", + "type": "string" + }, + "installDate": { + "$ref": "Date", + "description": "The last time this product received service. The value of this property is replaced each time a patch is applied or removed from the product or the command-line option is used to repair the product." + }, + "publisher": { + "description": "The name of the manufacturer for the product or application.", + "type": "string" + } + }, + "type": "object" + }, + "InventoryWindowsQuickFixEngineeringPackage": { + "description": "Information related to a Quick Fix Engineering package. Fields are taken from Windows QuickFixEngineering Interface and match the source names: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering", + "id": "InventoryWindowsQuickFixEngineeringPackage", + "properties": { + "caption": { + "description": "A short textual description of the QFE update.", + "type": "string" + }, + "description": { + "description": "A textual description of the QFE update.", + "type": "string" + }, + "hotFixId": { + "description": "Unique identifier associated with a particular QFE update.", + "type": "string" + }, + "installTime": { + "description": "Date that the QFE update was installed. Mapped from installed_on field.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "InventoryWindowsUpdatePackage": { + "description": "Details related to a Windows Update package. Field data and names are taken from Windows Update API IUpdate Interface: https://docs.microsoft.com/en-us/windows/win32/api/_wua/ Descriptive fields like title, and description are localized based on the locale of the VM being updated.", + "id": "InventoryWindowsUpdatePackage", + "properties": { + "categories": { + "description": "The categories that are associated with this update package.", + "items": { + "$ref": "InventoryWindowsUpdatePackageWindowsUpdateCategory" + }, + "type": "array" + }, + "description": { + "description": "The localized description of the update package.", + "type": "string" + }, + "kbArticleIds": { + "description": "A collection of Microsoft Knowledge Base article IDs that are associated with the update package.", + "items": { + "type": "string" + }, + "type": "array" + }, + "lastDeploymentChangeTime": { + "description": "The last published date of the update, in (UTC) date and time.", + "format": "google-datetime", + "type": "string" + }, + "moreInfoUrls": { + "description": "A collection of URLs that provide more information about the update package.", + "items": { + "type": "string" + }, + "type": "array" + }, + "revisionNumber": { + "description": "The revision number of this update package.", + "format": "int32", + "type": "integer" + }, + "supportUrl": { + "description": "A hyperlink to the language-specific support information for the update.", + "type": "string" + }, + "title": { + "description": "The localized title of the update package.", + "type": "string" + }, + "updateId": { + "description": "Gets the identifier of an update package. Stays the same across revisions.", + "type": "string" + } + }, + "type": "object" + }, + "InventoryWindowsUpdatePackageWindowsUpdateCategory": { + "description": "Categories specified by the Windows Update.", + "id": "InventoryWindowsUpdatePackageWindowsUpdateCategory", + "properties": { + "id": { + "description": "The identifier of the windows update category.", + "type": "string" + }, + "name": { + "description": "The name of the windows update category.", + "type": "string" + } + }, + "type": "object" + }, + "InventoryZypperPatch": { + "description": "Details related to a Zypper Patch.", + "id": "InventoryZypperPatch", + "properties": { + "category": { + "description": "The category of the patch.", + "type": "string" + }, + "patchName": { + "description": "The name of the patch.", + "type": "string" + }, + "severity": { + "description": "The severity specified for this patch", + "type": "string" + }, + "summary": { + "description": "Any summary information provided about this patch.", + "type": "string" + } + }, + "type": "object" + }, + "ListInstanceOSPoliciesCompliancesResponse": { + "description": "A response message for listing OS policies compliance data for all Compute Engine VMs in the given location.", + "id": "ListInstanceOSPoliciesCompliancesResponse", + "properties": { + "instanceOsPoliciesCompliances": { + "description": "List of instance OS policies compliance objects.", + "items": { + "$ref": "InstanceOSPoliciesCompliance" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The pagination token to retrieve the next page of instance OS policies compliance objects.", + "type": "string" + } + }, + "type": "object" + }, + "ListInventoriesResponse": { + "description": "A response message for listing inventory data for all VMs in a specified location.", + "id": "ListInventoriesResponse", + "properties": { + "inventories": { + "description": "List of inventory objects.", + "items": { + "$ref": "Inventory" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The pagination token to retrieve the next page of inventory objects.", + "type": "string" + } + }, + "type": "object" + }, + "ListOSPolicyAssignmentReportsResponse": { + "description": "A response message for listing OS Policy assignment reports including the page of results and page token.", + "id": "ListOSPolicyAssignmentReportsResponse", + "properties": { + "nextPageToken": { + "description": "The pagination token to retrieve the next page of OS policy assignment report objects.", + "type": "string" + }, + "osPolicyAssignmentReports": { + "description": "List of OS policy assignment reports.", + "items": { + "$ref": "OSPolicyAssignmentReport" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListOSPolicyAssignmentRevisionsResponse": { + "description": "A response message for listing all revisions for a OS policy assignment.", + "id": "ListOSPolicyAssignmentRevisionsResponse", + "properties": { + "nextPageToken": { + "description": "The pagination token to retrieve the next page of OS policy assignment revisions.", + "type": "string" + }, + "osPolicyAssignments": { + "description": "The OS policy assignment revisions", + "items": { + "$ref": "OSPolicyAssignment" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListOSPolicyAssignmentsResponse": { + "description": "A response message for listing all assignments under given parent.", + "id": "ListOSPolicyAssignmentsResponse", + "properties": { + "nextPageToken": { + "description": "The pagination token to retrieve the next page of OS policy assignments.", + "type": "string" + }, + "osPolicyAssignments": { + "description": "The list of assignments", + "items": { + "$ref": "OSPolicyAssignment" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListVulnerabilityReportsResponse": { + "description": "A response message for listing vulnerability reports for all VM instances in the specified location.", + "id": "ListVulnerabilityReportsResponse", + "properties": { + "nextPageToken": { + "description": "The pagination token to retrieve the next page of vulnerabilityReports object.", + "type": "string" + }, + "vulnerabilityReports": { + "description": "List of vulnerabilityReport objects.", + "items": { + "$ref": "VulnerabilityReport" + }, + "type": "array" + } + }, + "type": "object" + }, + "OSPolicy": { + "description": "An OS policy defines the desired state configuration for a VM.", + "id": "OSPolicy", + "properties": { + "allowNoResourceGroupMatch": { + "description": "This flag determines the OS policy compliance status when none of the resource groups within the policy are applicable for a VM. Set this value to `true` if the policy needs to be reported as compliant even if the policy has nothing to validate or enforce.", + "type": "boolean" + }, + "description": { + "description": "Policy description. Length of the description is limited to 1024 characters.", + "type": "string" + }, + "id": { + "description": "Required. The id of the OS policy with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the assignment.", + "type": "string" + }, + "mode": { + "description": "Required. Policy mode", + "enum": [ + "MODE_UNSPECIFIED", + "VALIDATION", + "ENFORCEMENT" + ], + "enumDescriptions": [ + "Invalid mode", + "This mode checks if the configuration resources in the policy are in their desired state. No actions are performed if they are not in the desired state. This mode is used for reporting purposes.", + "This mode checks if the configuration resources in the policy are in their desired state, and if not, enforces the desired state." + ], + "type": "string" + }, + "resourceGroups": { + "description": "Required. List of resource groups for the policy. For a particular VM, resource groups are evaluated in the order specified and the first resource group that is applicable is selected and the rest are ignored. If none of the resource groups are applicable for a VM, the VM is considered to be non-compliant w.r.t this policy. This behavior can be toggled by the flag `allow_no_resource_group_match`", + "items": { + "$ref": "OSPolicyResourceGroup" + }, + "type": "array" + } + }, + "type": "object" + }, + "OSPolicyAssignment": { + "description": "OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances. An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script. For more information, see [OS policy and OS policy assignment](https://cloud.google.com/compute/docs/os-configuration-management/working-with-os-policies).", + "id": "OSPolicyAssignment", + "properties": { + "baseline": { + "description": "Output only. Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision. For a given OS policy assignment, there is only one revision with a value of `true` for this field.", + "readOnly": true, + "type": "boolean" + }, + "deleted": { + "description": "Output only. Indicates that this revision deletes the OS policy assignment.", + "readOnly": true, + "type": "boolean" + }, + "description": { + "description": "OS policy assignment description. Length of the description is limited to 1024 characters.", + "type": "string" + }, + "etag": { + "description": "The etag for this OS policy assignment. If this is provided on update, it must match the server's etag.", + "type": "string" + }, + "instanceFilter": { + "$ref": "OSPolicyAssignmentInstanceFilter", + "description": "Required. Filter to select VMs." + }, + "name": { + "description": "Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment.", + "type": "string" + }, + "osPolicies": { + "description": "Required. List of OS policies to be applied to the VMs.", + "items": { + "$ref": "OSPolicy" + }, + "type": "array" + }, + "reconciling": { + "description": "Output only. Indicates that reconciliation is in progress for the revision. This value is `true` when the `rollout_state` is one of: * IN_PROGRESS * CANCELLING", + "readOnly": true, + "type": "boolean" + }, + "revisionCreateTime": { + "description": "Output only. The timestamp that the revision was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "revisionId": { + "description": "Output only. The assignment revision ID A new revision is committed whenever a rollout is triggered for a OS policy assignment", + "readOnly": true, + "type": "string" + }, + "rollout": { + "$ref": "OSPolicyAssignmentRollout", + "description": "Required. Rollout to deploy the OS policy assignment. A rollout is triggered in the following situations: 1) OSPolicyAssignment is created. 2) OSPolicyAssignment is updated and the update contains changes to one of the following fields: - instance_filter - os_policies 3) OSPolicyAssignment is deleted." + }, + "rolloutState": { + "description": "Output only. OS policy assignment rollout state", + "enum": [ + "ROLLOUT_STATE_UNSPECIFIED", + "IN_PROGRESS", + "CANCELLING", + "CANCELLED", + "SUCCEEDED" + ], + "enumDescriptions": [ + "Invalid value", + "The rollout is in progress.", + "The rollout is being cancelled.", + "The rollout is cancelled.", + "The rollout has completed successfully." + ], + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. Server generated unique id for the OS policy assignment resource.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyAssignmentInstanceFilter": { + "description": "Filters to select target VMs for an assignment. If more than one filter criteria is specified below, a VM will be selected if and only if it satisfies all of them.", + "id": "OSPolicyAssignmentInstanceFilter", + "properties": { + "all": { + "description": "Target all VMs in the project. If true, no other criteria is permitted.", + "type": "boolean" + }, + "exclusionLabels": { + "description": "List of label sets used for VM exclusion. If the list has more than one label set, the VM is excluded if any of the label sets are applicable for the VM.", + "items": { + "$ref": "OSPolicyAssignmentLabelSet" + }, + "type": "array" + }, + "inclusionLabels": { + "description": "List of label sets used for VM inclusion. If the list has more than one `LabelSet`, the VM is included if any of the label sets are applicable for the VM.", + "items": { + "$ref": "OSPolicyAssignmentLabelSet" + }, + "type": "array" + }, + "inventories": { + "description": "List of inventories to select VMs. A VM is selected if its inventory data matches at least one of the following inventories.", + "items": { + "$ref": "OSPolicyAssignmentInstanceFilterInventory" + }, + "type": "array" + }, + "osShortNames": { + "description": "Deprecated. Use the `inventories` field instead. A VM is selected if it's OS short name matches with any of the values provided in this list.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "OSPolicyAssignmentInstanceFilterInventory": { + "description": "VM inventory details.", + "id": "OSPolicyAssignmentInstanceFilterInventory", + "properties": { + "osShortName": { + "description": "Required. The OS short name", + "type": "string" + }, + "osVersion": { + "description": "The OS version Prefix matches are supported if asterisk(*) is provided as the last character. For example, to match all versions with a major version of `7`, specify the following value for this field `7.*` An empty string matches all OS versions.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyAssignmentLabelSet": { + "description": "Message representing label set. * A label is a key value pair set for a VM. * A LabelSet is a set of labels. * Labels within a LabelSet are ANDed. In other words, a LabelSet is applicable for a VM only if it matches all the labels in the LabelSet. * Example: A LabelSet with 2 labels: `env=prod` and `type=webserver` will only be applicable for those VMs with both labels present.", + "id": "OSPolicyAssignmentLabelSet", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected.", + "type": "object" + } + }, + "type": "object" + }, + "OSPolicyAssignmentOperationMetadata": { + "description": "OS policy assignment operation metadata provided by OS policy assignment API methods that return long running operations.", + "id": "OSPolicyAssignmentOperationMetadata", + "properties": { + "apiMethod": { + "description": "The OS policy assignment API method.", + "enum": [ + "API_METHOD_UNSPECIFIED", + "CREATE", + "UPDATE", + "DELETE" + ], + "enumDescriptions": [ + "Invalid value", + "Create OS policy assignment API method", + "Update OS policy assignment API method", + "Delete OS policy assignment API method" + ], + "type": "string" + }, + "osPolicyAssignment": { + "description": "Reference to the `OSPolicyAssignment` API resource. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}`", + "type": "string" + }, + "rolloutStartTime": { + "description": "Rollout start time", + "format": "google-datetime", + "type": "string" + }, + "rolloutState": { + "description": "State of the rollout", + "enum": [ + "ROLLOUT_STATE_UNSPECIFIED", + "IN_PROGRESS", + "CANCELLING", + "CANCELLED", + "SUCCEEDED" + ], + "enumDescriptions": [ + "Invalid value", + "The rollout is in progress.", + "The rollout is being cancelled.", + "The rollout is cancelled.", + "The rollout has completed successfully." + ], + "type": "string" + }, + "rolloutUpdateTime": { + "description": "Rollout update time", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyAssignmentReport": { + "description": "A report of the OS policy assignment status for a given instance.", + "id": "OSPolicyAssignmentReport", + "properties": { + "instance": { + "description": "The Compute Engine VM instance name.", + "type": "string" + }, + "lastRunId": { + "description": "Unique identifier of the last attempted run to apply the OS policies associated with this assignment on the VM. This ID is logged by the OS Config agent while applying the OS policies associated with this assignment on the VM. NOTE: If the service is unable to successfully connect to the agent for this run, then this id will not be available in the agent logs.", + "type": "string" + }, + "name": { + "description": "The `OSPolicyAssignmentReport` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/osPolicyAssignments/{os_policy_assignment_id}/report`", + "type": "string" + }, + "osPolicyAssignment": { + "description": "Reference to the `OSPolicyAssignment` API resource that the `OSPolicy` belongs to. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}`", + "type": "string" + }, + "osPolicyCompliances": { + "description": "Compliance data for each `OSPolicy` that is applied to the VM.", + "items": { + "$ref": "OSPolicyAssignmentReportOSPolicyCompliance" + }, + "type": "array" + }, + "updateTime": { + "description": "Timestamp for when the report was last generated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyAssignmentReportOSPolicyCompliance": { + "description": "Compliance data for an OS policy", + "id": "OSPolicyAssignmentReportOSPolicyCompliance", + "properties": { + "complianceState": { + "description": "The compliance state of the OS policy.", + "enum": [ + "UNKNOWN", + "COMPLIANT", + "NON_COMPLIANT" + ], + "enumDescriptions": [ + "The policy is in an unknown compliance state. Refer to the field `compliance_state_reason` to learn the exact reason for the policy to be in this compliance state.", + "Policy is compliant. The policy is compliant if all the underlying resources are also compliant.", + "Policy is non-compliant. The policy is non-compliant if one or more underlying resources are non-compliant." + ], + "type": "string" + }, + "complianceStateReason": { + "description": "The reason for the OS policy to be in an unknown compliance state. This field is always populated when `compliance_state` is `UNKNOWN`. If populated, the field can contain one of the following values: * `vm-not-running`: The VM was not running. * `os-policies-not-supported-by-agent`: The version of the OS Config agent running on the VM does not support running OS policies. * `no-agent-detected`: The OS Config agent is not detected for the VM. * `resource-execution-errors`: The OS Config agent encountered errors while executing one or more resources in the policy. See `os_policy_resource_compliances` for details. * `task-timeout`: The task sent to the agent to apply the policy timed out. * `unexpected-agent-state`: The OS Config agent did not report the final status of the task that attempted to apply the policy. Instead, the agent unexpectedly started working on a different task. This mostly happens when the agent or VM unexpectedly restarts while applying OS policies. * `internal-service-errors`: Internal service errors were encountered while attempting to apply the policy.", + "type": "string" + }, + "osPolicyId": { + "description": "The OS policy id", + "type": "string" + }, + "osPolicyResourceCompliances": { + "description": "Compliance data for each resource within the policy that is applied to the VM.", + "items": { + "$ref": "OSPolicyAssignmentReportOSPolicyComplianceOSPolicyResourceCompliance" + }, + "type": "array" + } + }, + "type": "object" + }, + "OSPolicyAssignmentReportOSPolicyComplianceOSPolicyResourceCompliance": { + "description": "Compliance data for an OS policy resource.", + "id": "OSPolicyAssignmentReportOSPolicyComplianceOSPolicyResourceCompliance", + "properties": { + "complianceState": { + "description": "The compliance state of the resource.", + "enum": [ + "UNKNOWN", + "COMPLIANT", + "NON_COMPLIANT" + ], + "enumDescriptions": [ + "The resource is in an unknown compliance state. To get more details about why the policy is in this state, review the output of the `compliance_state_reason` field.", + "Resource is compliant.", + "Resource is non-compliant." + ], + "type": "string" + }, + "complianceStateReason": { + "description": "A reason for the resource to be in the given compliance state. This field is always populated when `compliance_state` is `UNKNOWN`. The following values are supported when `compliance_state == UNKNOWN` * `execution-errors`: Errors were encountered by the agent while executing the resource and the compliance state couldn't be determined. * `execution-skipped-by-agent`: Resource execution was skipped by the agent because errors were encountered while executing prior resources in the OS policy. * `os-policy-execution-attempt-failed`: The execution of the OS policy containing this resource failed and the compliance state couldn't be determined.", + "type": "string" + }, + "configSteps": { + "description": "Ordered list of configuration completed by the agent for the OS policy resource.", + "items": { + "$ref": "OSPolicyAssignmentReportOSPolicyComplianceOSPolicyResourceComplianceOSPolicyResourceConfigStep" + }, + "type": "array" + }, + "execResourceOutput": { + "$ref": "OSPolicyAssignmentReportOSPolicyComplianceOSPolicyResourceComplianceExecResourceOutput", + "description": "ExecResource specific output." + }, + "osPolicyResourceId": { + "description": "The ID of the OS policy resource.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyAssignmentReportOSPolicyComplianceOSPolicyResourceComplianceExecResourceOutput": { + "description": "ExecResource specific output.", + "id": "OSPolicyAssignmentReportOSPolicyComplianceOSPolicyResourceComplianceExecResourceOutput", + "properties": { + "enforcementOutput": { + "description": "Output from enforcement phase output file (if run). Output size is limited to 100K bytes.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyAssignmentReportOSPolicyComplianceOSPolicyResourceComplianceOSPolicyResourceConfigStep": { + "description": "Step performed by the OS Config agent for configuring an `OSPolicy` resource to its desired state.", + "id": "OSPolicyAssignmentReportOSPolicyComplianceOSPolicyResourceComplianceOSPolicyResourceConfigStep", + "properties": { + "errorMessage": { + "description": "An error message recorded during the execution of this step. Only populated if errors were encountered during this step execution.", + "type": "string" + }, + "type": { + "description": "Configuration step type.", + "enum": [ + "TYPE_UNSPECIFIED", + "VALIDATION", + "DESIRED_STATE_CHECK", + "DESIRED_STATE_ENFORCEMENT", + "DESIRED_STATE_CHECK_POST_ENFORCEMENT" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Checks for resource conflicts such as schema errors.", + "Checks the current status of the desired state for a resource.", + "Enforces the desired state for a resource that is not in desired state.", + "Re-checks the status of the desired state. This check is done for a resource after the enforcement of all OS policies. This step is used to determine the final desired state status for the resource. It accounts for any resources that might have drifted from their desired state due to side effects from executing other resources." + ], + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyAssignmentRollout": { + "description": "Message to configure the rollout at the zonal level for the OS policy assignment.", + "id": "OSPolicyAssignmentRollout", + "properties": { + "disruptionBudget": { + "$ref": "FixedOrPercent", + "description": "Required. The maximum number (or percentage) of VMs per zone to disrupt at any given moment." + }, + "minWaitDuration": { + "description": "Required. This determines the minimum duration of time to wait after the configuration changes are applied through the current rollout. A VM continues to count towards the `disruption_budget` at least until this duration of time has passed after configuration changes are applied.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyInventoryFilter": { + "description": "Filtering criteria to select VMs based on inventory details.", + "id": "OSPolicyInventoryFilter", + "properties": { + "osShortName": { + "description": "Required. The OS short name", + "type": "string" + }, + "osVersion": { + "description": "The OS version Prefix matches are supported if asterisk(*) is provided as the last character. For example, to match all versions with a major version of `7`, specify the following value for this field `7.*` An empty string matches all OS versions.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyOSFilter": { + "description": "Filtering criteria to select VMs based on OS details.", + "id": "OSPolicyOSFilter", + "properties": { + "osShortName": { + "description": "This should match OS short name emitted by the OS inventory agent. An empty value matches any OS.", + "type": "string" + }, + "osVersion": { + "description": "This value should match the version emitted by the OS inventory agent. Prefix matches are supported if asterisk(*) is provided as the last character. For example, to match all versions with a major version of `7`, specify the following value for this field `7.*`", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResource": { + "description": "An OS policy resource is used to define the desired state configuration and provides a specific functionality like installing/removing packages, executing a script etc. The system ensures that resources are always in their desired state by taking necessary actions if they have drifted from their desired state.", + "id": "OSPolicyResource", + "properties": { + "exec": { + "$ref": "OSPolicyResourceExecResource", + "description": "Exec resource" + }, + "file": { + "$ref": "OSPolicyResourceFileResource", + "description": "File resource" + }, + "id": { + "description": "Required. The id of the resource with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the OS policy.", + "type": "string" + }, + "pkg": { + "$ref": "OSPolicyResourcePackageResource", + "description": "Package resource" + }, + "repository": { + "$ref": "OSPolicyResourceRepositoryResource", + "description": "Package repository resource" + } + }, + "type": "object" + }, + "OSPolicyResourceCompliance": { + "description": "Compliance data for an OS policy resource.", + "id": "OSPolicyResourceCompliance", + "properties": { + "configSteps": { + "description": "Ordered list of configuration steps taken by the agent for the OS policy resource.", + "items": { + "$ref": "OSPolicyResourceConfigStep" + }, + "type": "array" + }, + "execResourceOutput": { + "$ref": "OSPolicyResourceComplianceExecResourceOutput", + "description": "ExecResource specific output." + }, + "osPolicyResourceId": { + "description": "The id of the OS policy resource.", + "type": "string" + }, + "state": { + "description": "Compliance state of the OS policy resource.", + "enum": [ + "OS_POLICY_COMPLIANCE_STATE_UNSPECIFIED", + "COMPLIANT", + "NON_COMPLIANT", + "UNKNOWN", + "NO_OS_POLICIES_APPLICABLE" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Compliant state.", + "Non-compliant state", + "Unknown compliance state.", + "No applicable OS policies were found for the instance. This state is only applicable to the instance." + ], + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceComplianceExecResourceOutput": { + "description": "ExecResource specific output.", + "id": "OSPolicyResourceComplianceExecResourceOutput", + "properties": { + "enforcementOutput": { + "description": "Output from Enforcement phase output file (if run). Output size is limited to 100K bytes.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceConfigStep": { + "description": "Step performed by the OS Config agent for configuring an `OSPolicyResource` to its desired state.", + "id": "OSPolicyResourceConfigStep", + "properties": { + "errorMessage": { + "description": "An error message recorded during the execution of this step. Only populated when outcome is FAILED.", + "type": "string" + }, + "outcome": { + "description": "Outcome of the configuration step.", + "enum": [ + "OUTCOME_UNSPECIFIED", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The step succeeded.", + "The step failed." + ], + "type": "string" + }, + "type": { + "description": "Configuration step type.", + "enum": [ + "TYPE_UNSPECIFIED", + "VALIDATION", + "DESIRED_STATE_CHECK", + "DESIRED_STATE_ENFORCEMENT", + "DESIRED_STATE_CHECK_POST_ENFORCEMENT" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Validation to detect resource conflicts, schema errors, etc.", + "Check the current desired state status of the resource.", + "Enforce the desired state for a resource that is not in desired state.", + "Re-check desired state status for a resource after enforcement of all resources in the current configuration run. This step is used to determine the final desired state status for the resource. It accounts for any resources that might have drifted from their desired state due to side effects from configuring other resources during the current configuration run." + ], + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceExecResource": { + "description": "A resource that allows executing scripts on the VM. The `ExecResource` has 2 stages: `validate` and `enforce` and both stages accept a script as an argument to execute. When the `ExecResource` is applied by the agent, it first executes the script in the `validate` stage. The `validate` stage can signal that the `ExecResource` is already in the desired state by returning an exit code of `100`. If the `ExecResource` is not in the desired state, it should return an exit code of `101`. Any other exit code returned by this stage is considered an error. If the `ExecResource` is not in the desired state based on the exit code from the `validate` stage, the agent proceeds to execute the script from the `enforce` stage. If the `ExecResource` is already in the desired state, the `enforce` stage will not be run. Similar to `validate` stage, the `enforce` stage should return an exit code of `100` to indicate that the resource in now in its desired state. Any other exit code is considered an error. NOTE: An exit code of `100` was chosen over `0` (and `101` vs `1`) to have an explicit indicator of `in desired state`, `not in desired state` and errors. Because, for example, Powershell will always return an exit code of `0` unless an `exit` statement is provided in the script. So, for reasons of consistency and being explicit, exit codes `100` and `101` were chosen.", + "id": "OSPolicyResourceExecResource", + "properties": { + "enforce": { + "$ref": "OSPolicyResourceExecResourceExec", + "description": "What to run to bring this resource into the desired state. An exit code of 100 indicates \"success\", any other exit code indicates a failure running enforce." + }, + "validate": { + "$ref": "OSPolicyResourceExecResourceExec", + "description": "Required. What to run to validate this resource is in the desired state. An exit code of 100 indicates \"in desired state\", and exit code of 101 indicates \"not in desired state\". Any other exit code indicates a failure running validate." + } + }, + "type": "object" + }, + "OSPolicyResourceExecResourceExec": { + "description": "A file or script to execute.", + "id": "OSPolicyResourceExecResourceExec", + "properties": { + "args": { + "description": "Optional arguments to pass to the source during execution.", + "items": { + "type": "string" + }, + "type": "array" + }, + "file": { + "$ref": "OSPolicyResourceFile", + "description": "A remote or local file." + }, + "interpreter": { + "description": "Required. The script interpreter to use.", + "enum": [ + "INTERPRETER_UNSPECIFIED", + "NONE", + "SHELL", + "POWERSHELL" + ], + "enumDescriptions": [ + "Invalid value, the request will return validation error.", + "If an interpreter is not specified, the source is executed directly. This execution, without an interpreter, only succeeds for executables and scripts that have shebang lines.", + "Indicates that the script runs with `/bin/sh` on Linux and `cmd.exe` on Windows.", + "Indicates that the script runs with PowerShell." + ], + "type": "string" + }, + "outputFilePath": { + "description": "Only recorded for enforce Exec. Path to an output file (that is created by this Exec) whose content will be recorded in OSPolicyResourceCompliance after a successful run. Absence or failure to read this file will result in this ExecResource being non-compliant. Output file size is limited to 100K bytes.", + "type": "string" + }, + "script": { + "description": "An inline script. The size of the script is limited to 1024 characters.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceFile": { + "description": "A remote or local file.", + "id": "OSPolicyResourceFile", + "properties": { + "allowInsecure": { + "description": "Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.", + "type": "boolean" + }, + "gcs": { + "$ref": "OSPolicyResourceFileGcs", + "description": "A Cloud Storage object." + }, + "localPath": { + "description": "A local path within the VM to use.", + "type": "string" + }, + "remote": { + "$ref": "OSPolicyResourceFileRemote", + "description": "A generic remote file." + } + }, + "type": "object" + }, + "OSPolicyResourceFileGcs": { + "description": "Specifies a file available as a Cloud Storage Object.", + "id": "OSPolicyResourceFileGcs", + "properties": { + "bucket": { + "description": "Required. Bucket of the Cloud Storage object.", + "type": "string" + }, + "generation": { + "description": "Generation number of the Cloud Storage object.", + "format": "int64", + "type": "string" + }, + "object": { + "description": "Required. Name of the Cloud Storage object.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceFileRemote": { + "description": "Specifies a file available via some URI.", + "id": "OSPolicyResourceFileRemote", + "properties": { + "sha256Checksum": { + "description": "SHA256 checksum of the remote file.", + "type": "string" + }, + "uri": { + "description": "Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceFileResource": { + "description": "A resource that manages the state of a file.", + "id": "OSPolicyResourceFileResource", + "properties": { + "content": { + "description": "A a file with this content. The size of the content is limited to 1024 characters.", + "type": "string" + }, + "file": { + "$ref": "OSPolicyResourceFile", + "description": "A remote or local source." + }, + "path": { + "description": "Required. The absolute path of the file within the VM.", + "type": "string" + }, + "permissions": { + "description": "Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4", + "type": "string" + }, + "state": { + "description": "Required. Desired state of the file.", + "enum": [ + "DESIRED_STATE_UNSPECIFIED", + "PRESENT", + "ABSENT", + "CONTENTS_MATCH" + ], + "enumDescriptions": [ + "Unspecified is invalid.", + "Ensure file at path is present.", + "Ensure file at path is absent.", + "Ensure the contents of the file at path matches. If the file does not exist it will be created." + ], + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceGroup": { + "description": "Resource groups provide a mechanism to group OS policy resources. Resource groups enable OS policy authors to create a single OS policy to be applied to VMs running different operating Systems. When the OS policy is applied to a target VM, the appropriate resource group within the OS policy is selected based on the `OSFilter` specified within the resource group.", + "id": "OSPolicyResourceGroup", + "properties": { + "inventoryFilters": { + "description": "List of inventory filters for the resource group. The resources in this resource group are applied to the target VM if it satisfies at least one of the following inventory filters. For example, to apply this resource group to VMs running either `RHEL` or `CentOS` operating systems, specify 2 items for the list with following values: inventory_filters[0].os_short_name='rhel' and inventory_filters[1].os_short_name='centos' If the list is empty, this resource group will be applied to the target VM unconditionally.", + "items": { + "$ref": "OSPolicyInventoryFilter" + }, + "type": "array" + }, + "osFilter": { + "$ref": "OSPolicyOSFilter", + "description": "Deprecated. Use the `inventory_filters` field instead. Used to specify the OS filter for a resource group" + }, + "resources": { + "description": "Required. List of resources configured for this resource group. The resources are executed in the exact order specified here.", + "items": { + "$ref": "OSPolicyResource" + }, + "type": "array" + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResource": { + "description": "A resource that manages a system package.", + "id": "OSPolicyResourcePackageResource", + "properties": { + "apt": { + "$ref": "OSPolicyResourcePackageResourceAPT", + "description": "A package managed by Apt." + }, + "deb": { + "$ref": "OSPolicyResourcePackageResourceDeb", + "description": "A deb package file." + }, + "desiredState": { + "description": "Required. The desired state the agent should maintain for this package.", + "enum": [ + "DESIRED_STATE_UNSPECIFIED", + "INSTALLED", + "REMOVED" + ], + "enumDescriptions": [ + "Unspecified is invalid.", + "Ensure that the package is installed.", + "The agent ensures that the package is not installed and uninstalls it if detected." + ], + "type": "string" + }, + "googet": { + "$ref": "OSPolicyResourcePackageResourceGooGet", + "description": "A package managed by GooGet." + }, + "msi": { + "$ref": "OSPolicyResourcePackageResourceMSI", + "description": "An MSI package." + }, + "rpm": { + "$ref": "OSPolicyResourcePackageResourceRPM", + "description": "An rpm package file." + }, + "yum": { + "$ref": "OSPolicyResourcePackageResourceYUM", + "description": "A package managed by YUM." + }, + "zypper": { + "$ref": "OSPolicyResourcePackageResourceZypper", + "description": "A package managed by Zypper." + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResourceAPT": { + "description": "A package managed by APT. - install: `apt-get update && apt-get -y install [name]` - remove: `apt-get -y remove [name]`", + "id": "OSPolicyResourcePackageResourceAPT", + "properties": { + "name": { + "description": "Required. Package name.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResourceDeb": { + "description": "A deb package file. dpkg packages only support INSTALLED state.", + "id": "OSPolicyResourcePackageResourceDeb", + "properties": { + "pullDeps": { + "description": "Whether dependencies should also be installed. - install when false: `dpkg -i package` - install when true: `apt-get update && apt-get -y install package.deb`", + "type": "boolean" + }, + "source": { + "$ref": "OSPolicyResourceFile", + "description": "Required. A deb package." + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResourceGooGet": { + "description": "A package managed by GooGet. - install: `googet -noconfirm install package` - remove: `googet -noconfirm remove package`", + "id": "OSPolicyResourcePackageResourceGooGet", + "properties": { + "name": { + "description": "Required. Package name.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResourceMSI": { + "description": "An MSI package. MSI packages only support INSTALLED state.", + "id": "OSPolicyResourcePackageResourceMSI", + "properties": { + "properties": { + "description": "Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of `ACTION=INSTALL REBOOT=ReallySuppress`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "$ref": "OSPolicyResourceFile", + "description": "Required. The MSI package." + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResourceRPM": { + "description": "An RPM package file. RPM packages only support INSTALLED state.", + "id": "OSPolicyResourcePackageResourceRPM", + "properties": { + "pullDeps": { + "description": "Whether dependencies should also be installed. - install when false: `rpm --upgrade --replacepkgs package.rpm` - install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`", + "type": "boolean" + }, + "source": { + "$ref": "OSPolicyResourceFile", + "description": "Required. An rpm package." + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResourceYUM": { + "description": "A package managed by YUM. - install: `yum -y install package` - remove: `yum -y remove package`", + "id": "OSPolicyResourcePackageResourceYUM", + "properties": { + "name": { + "description": "Required. Package name.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResourceZypper": { + "description": "A package managed by Zypper. - install: `zypper -y install package` - remove: `zypper -y rm package`", + "id": "OSPolicyResourcePackageResourceZypper", + "properties": { + "name": { + "description": "Required. Package name.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceRepositoryResource": { + "description": "A resource that manages a package repository.", + "id": "OSPolicyResourceRepositoryResource", + "properties": { + "apt": { + "$ref": "OSPolicyResourceRepositoryResourceAptRepository", + "description": "An Apt Repository." + }, + "goo": { + "$ref": "OSPolicyResourceRepositoryResourceGooRepository", + "description": "A Goo Repository." + }, + "yum": { + "$ref": "OSPolicyResourceRepositoryResourceYumRepository", + "description": "A Yum Repository." + }, + "zypper": { + "$ref": "OSPolicyResourceRepositoryResourceZypperRepository", + "description": "A Zypper Repository." + } + }, + "type": "object" + }, + "OSPolicyResourceRepositoryResourceAptRepository": { + "description": "Represents a single apt package repository. These will be added to a repo file that will be managed at `/etc/apt/sources.list.d/google_osconfig.list`.", + "id": "OSPolicyResourceRepositoryResourceAptRepository", + "properties": { + "archiveType": { + "description": "Required. Type of archive files in this repository.", + "enum": [ + "ARCHIVE_TYPE_UNSPECIFIED", + "DEB", + "DEB_SRC" + ], + "enumDescriptions": [ + "Unspecified is invalid.", + "Deb indicates that the archive contains binary files.", + "Deb-src indicates that the archive contains source files." + ], + "type": "string" + }, + "components": { + "description": "Required. List of components for this repository. Must contain at least one item.", + "items": { + "type": "string" + }, + "type": "array" + }, + "distribution": { + "description": "Required. Distribution of this repository.", + "type": "string" + }, + "gpgKey": { + "description": "URI of the key file for this repository. The agent maintains a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg`.", + "type": "string" + }, + "uri": { + "description": "Required. URI for this repository.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceRepositoryResourceGooRepository": { + "description": "Represents a Goo package repository. These are added to a repo file that is managed at `C:/ProgramData/GooGet/repos/google_osconfig.repo`.", + "id": "OSPolicyResourceRepositoryResourceGooRepository", + "properties": { + "name": { + "description": "Required. The name of the repository.", + "type": "string" + }, + "url": { + "description": "Required. The url of the repository.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceRepositoryResourceYumRepository": { + "description": "Represents a single yum package repository. These are added to a repo file that is managed at `/etc/yum.repos.d/google_osconfig.repo`.", + "id": "OSPolicyResourceRepositoryResourceYumRepository", + "properties": { + "baseUrl": { + "description": "Required. The location of the repository directory.", + "type": "string" + }, + "displayName": { + "description": "The display name of the repository.", + "type": "string" + }, + "gpgKeys": { + "description": "URIs of GPG keys.", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "Required. A one word, unique name for this repository. This is the `repo id` in the yum config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for resource conflicts.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceRepositoryResourceZypperRepository": { + "description": "Represents a single zypper package repository. These are added to a repo file that is managed at `/etc/zypp/repos.d/google_osconfig.repo`.", + "id": "OSPolicyResourceRepositoryResourceZypperRepository", + "properties": { + "baseUrl": { + "description": "Required. The location of the repository directory.", + "type": "string" + }, + "displayName": { + "description": "The display name of the repository.", + "type": "string" + }, + "gpgKeys": { + "description": "URIs of GPG keys.", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "Required. A one word, unique name for this repository. This is the `repo id` in the zypper config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for GuestPolicy conflicts.", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal 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" + }, + "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" + }, + "VulnerabilityReport": { + "description": "This API resource represents the vulnerability report for a specified Compute Engine virtual machine (VM) instance at a given point in time. For more information, see [Vulnerability reports](https://cloud.google.com/compute/docs/instances/os-inventory-management#vulnerability-reports).", + "id": "VulnerabilityReport", + "properties": { + "name": { + "description": "Output only. The `vulnerabilityReport` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/vulnerabilityReport`", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp for when the last vulnerability report was generated for the VM.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "vulnerabilities": { + "description": "Output only. List of vulnerabilities affecting the VM.", + "items": { + "$ref": "VulnerabilityReportVulnerability" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "VulnerabilityReportVulnerability": { + "description": "A vulnerability affecting the VM instance.", + "id": "VulnerabilityReportVulnerability", + "properties": { + "availableInventoryItemIds": { + "description": "Corresponds to the `AVAILABLE_PACKAGE` inventory item on the VM. If the vulnerability report was not updated after the VM inventory update, these values might not display in VM inventory. If there is no available fix, the field is empty. The `inventory_item` value specifies the latest `SoftwarePackage` available to the VM that fixes the vulnerability.", + "items": { + "type": "string" + }, + "type": "array" + }, + "createTime": { + "description": "The timestamp for when the vulnerability was first detected.", + "format": "google-datetime", + "type": "string" + }, + "details": { + "$ref": "VulnerabilityReportVulnerabilityDetails", + "description": "Contains metadata as per the upstream feed of the operating system and NVD." + }, + "installedInventoryItemIds": { + "description": "Corresponds to the `INSTALLED_PACKAGE` inventory item on the VM. This field displays the inventory items affected by this vulnerability. If the vulnerability report was not updated after the VM inventory update, these values might not display in VM inventory. For some distros, this field may be empty.", + "items": { + "type": "string" + }, + "type": "array" + }, + "items": { + "description": "List of items affected by the vulnerability.", + "items": { + "$ref": "VulnerabilityReportVulnerabilityItem" + }, + "type": "array" + }, + "updateTime": { + "description": "The timestamp for when the vulnerability was last modified.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "VulnerabilityReportVulnerabilityDetails": { + "description": "Contains metadata information for the vulnerability. This information is collected from the upstream feed of the operating system.", + "id": "VulnerabilityReportVulnerabilityDetails", + "properties": { + "cve": { + "description": "The CVE of the vulnerability. CVE cannot be empty and the combination of should be unique across vulnerabilities for a VM.", + "type": "string" + }, + "cvssV2Score": { + "description": "The CVSS V2 score of this vulnerability. CVSS V2 score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity.", + "format": "float", + "type": "number" + }, + "cvssV3": { + "$ref": "CVSSv3", + "description": "The full description of the CVSSv3 for this vulnerability from NVD." + }, + "description": { + "description": "The note or description describing the vulnerability from the distro.", + "type": "string" + }, + "references": { + "description": "Corresponds to the references attached to the `VulnerabilityDetails`.", + "items": { + "$ref": "VulnerabilityReportVulnerabilityDetailsReference" + }, + "type": "array" + }, + "severity": { + "description": "Assigned severity/impact ranking from the distro.", + "type": "string" + } + }, + "type": "object" + }, + "VulnerabilityReportVulnerabilityDetailsReference": { + "description": "A reference for this vulnerability.", + "id": "VulnerabilityReportVulnerabilityDetailsReference", + "properties": { + "source": { + "description": "The source of the reference e.g. NVD.", + "type": "string" + }, + "url": { + "description": "The url of the reference.", + "type": "string" + } + }, + "type": "object" + }, + "VulnerabilityReportVulnerabilityItem": { + "description": "OS inventory item that is affected by a vulnerability or fixed as a result of a vulnerability.", + "id": "VulnerabilityReportVulnerabilityItem", + "properties": { + "availableInventoryItemId": { + "description": "Corresponds to the `AVAILABLE_PACKAGE` inventory item on the VM. If the vulnerability report was not updated after the VM inventory update, these values might not display in VM inventory. If there is no available fix, the field is empty. The `inventory_item` value specifies the latest `SoftwarePackage` available to the VM that fixes the vulnerability.", + "type": "string" + }, + "fixedCpeUri": { + "description": "The recommended [CPE URI](https://cpe.mitre.org/specification/) update that contains a fix for this vulnerability.", + "type": "string" + }, + "installedInventoryItemId": { + "description": "Corresponds to the `INSTALLED_PACKAGE` inventory item on the VM. This field displays the inventory items affected by this vulnerability. If the vulnerability report was not updated after the VM inventory update, these values might not display in VM inventory. For some operating systems, this field might be empty.", + "type": "string" + }, + "upstreamFix": { + "description": "The upstream OS patch, packages or KB that fixes the vulnerability.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "OS Config API", + "version": "v1alpha", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/osconfig/v1beta/osconfig-api.json b/etc/api/osconfig/v1beta/osconfig-api.json index e05962344b..a0e460b4aa 100644 --- a/etc/api/osconfig/v1beta/osconfig-api.json +++ b/etc/api/osconfig/v1beta/osconfig-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -14,7 +14,7 @@ "canonicalName": "OS Config", "description": "OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances.", "discoveryVersion": "v1", - "documentationLink": "https://cloud.google.com/compute/docs/manage-os", + "documentationLink": "https://cloud.google.com/compute/docs/osconfig/rest", "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -384,6 +384,96 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "patch": { + "description": "Update an OS Config patch deployment.", + "flatPath": "v1beta/projects/{projectsId}/patchDeployments/{patchDeploymentsId}", + "httpMethod": "PATCH", + "id": "osconfig.projects.patchDeployments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Unique name for the patch deployment resource in a project. The patch deployment name is in the form: `projects/{project_id}/patchDeployments/{patch_deployment_id}`. This field is ignored when you create a new patch deployment.", + "location": "path", + "pattern": "^projects/[^/]+/patchDeployments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask that controls which fields of the patch deployment should be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "PatchDeployment" + }, + "response": { + "$ref": "PatchDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "pause": { + "description": "Change state of patch deployment to \"PAUSED\". Patch deployment in paused state doesn't generate patch jobs.", + "flatPath": "v1beta/projects/{projectsId}/patchDeployments/{patchDeploymentsId}:pause", + "httpMethod": "POST", + "id": "osconfig.projects.patchDeployments.pause", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the patch deployment in the form `projects/*/patchDeployments/*`.", + "location": "path", + "pattern": "^projects/[^/]+/patchDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:pause", + "request": { + "$ref": "PausePatchDeploymentRequest" + }, + "response": { + "$ref": "PatchDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "resume": { + "description": "Change state of patch deployment back to \"ACTIVE\". Patch deployment in active state continues to generate patch jobs.", + "flatPath": "v1beta/projects/{projectsId}/patchDeployments/{patchDeploymentsId}:resume", + "httpMethod": "POST", + "id": "osconfig.projects.patchDeployments.resume", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the patch deployment in the form `projects/*/patchDeployments/*`.", + "location": "path", + "pattern": "^projects/[^/]+/patchDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:resume", + "request": { + "$ref": "ResumePatchDeploymentRequest" + }, + "response": { + "$ref": "PatchDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } }, @@ -599,7 +689,7 @@ } } }, - "revision": "20210322", + "revision": "20220301", "rootUrl": "https://osconfig.googleapis.com/", "schemas": { "AptRepository": { @@ -872,13 +962,15 @@ "description": "The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\\(Unix\\)).", "enum": [ "INTERPRETER_UNSPECIFIED", + "NONE", "SHELL", "POWERSHELL" ], "enumDescriptions": [ - "Invalid for a Windows ExecStepConfig. For a Linux ExecStepConfig, the interpreter will be parsed from the shebang line of the script if unspecified.", - "Indicates that the script is run with `/bin/sh` on Linux and `cmd` on Windows.", - "Indicates that the file is run with PowerShell flags `-NonInteractive`, `-NoProfile`, and `-ExecutionPolicy Bypass`." + "If the interpreter is not specified, the value defaults to `NONE`.", + "Indicates that the file is run as follows on each operating system: + For Linux VMs, the file is ran as an executable and the interpreter might be parsed from the [shebang line](https://wikipedia.org/wiki/Shebang_(Unix)) of the file. + For Windows VM, this value is not supported.", + "Indicates that the file is run with `/bin/sh` on Linux and `cmd` on Windows.", + "Indicates that the file is run with PowerShell." ], "type": "string" }, @@ -983,6 +1075,61 @@ "properties": {}, "type": "object" }, + "GoogleCloudOsconfigV1__OSPolicyAssignmentOperationMetadata": { + "description": "OS policy assignment operation metadata provided by OS policy assignment API methods that return long running operations.", + "id": "GoogleCloudOsconfigV1__OSPolicyAssignmentOperationMetadata", + "properties": { + "apiMethod": { + "description": "The OS policy assignment API method.", + "enum": [ + "API_METHOD_UNSPECIFIED", + "CREATE", + "UPDATE", + "DELETE" + ], + "enumDescriptions": [ + "Invalid value", + "Create OS policy assignment API method", + "Update OS policy assignment API method", + "Delete OS policy assignment API method" + ], + "type": "string" + }, + "osPolicyAssignment": { + "description": "Reference to the `OSPolicyAssignment` API resource. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}`", + "type": "string" + }, + "rolloutStartTime": { + "description": "Rollout start time", + "format": "google-datetime", + "type": "string" + }, + "rolloutState": { + "description": "State of the rollout", + "enum": [ + "ROLLOUT_STATE_UNSPECIFIED", + "IN_PROGRESS", + "CANCELLING", + "CANCELLED", + "SUCCEEDED" + ], + "enumDescriptions": [ + "Invalid value", + "The rollout is in progress.", + "The rollout is being cancelled.", + "The rollout is cancelled.", + "The rollout has completed successfully." + ], + "type": "string" + }, + "rolloutUpdateTime": { + "description": "Rollout update time", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GuestPolicy": { "description": "An OS Config resource representing a guest configuration policy. These policies represent the desired state for VM instance guest environments including packages to install or remove, package repository configurations, and software to install.", "id": "GuestPolicy", @@ -1146,6 +1293,61 @@ }, "type": "object" }, + "OSPolicyAssignmentOperationMetadata": { + "description": "OS policy assignment operation metadata provided by OS policy assignment API methods that return long running operations.", + "id": "OSPolicyAssignmentOperationMetadata", + "properties": { + "apiMethod": { + "description": "The OS policy assignment API method.", + "enum": [ + "API_METHOD_UNSPECIFIED", + "CREATE", + "UPDATE", + "DELETE" + ], + "enumDescriptions": [ + "Invalid value", + "Create OS policy assignment API method", + "Update OS policy assignment API method", + "Delete OS policy assignment API method" + ], + "type": "string" + }, + "osPolicyAssignment": { + "description": "Reference to the `OSPolicyAssignment` API resource. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}`", + "type": "string" + }, + "rolloutStartTime": { + "description": "Rollout start time", + "format": "google-datetime", + "type": "string" + }, + "rolloutState": { + "description": "State of the rollout", + "enum": [ + "ROLLOUT_STATE_UNSPECIFIED", + "IN_PROGRESS", + "CANCELLING", + "CANCELLED", + "SUCCEEDED" + ], + "enumDescriptions": [ + "Invalid value", + "The rollout is in progress.", + "The rollout is being cancelled.", + "The rollout is cancelled.", + "The rollout has completed successfully." + ], + "type": "string" + }, + "rolloutUpdateTime": { + "description": "Rollout update time", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "OneTimeSchedule": { "description": "Sets the time for a one time patch deployment. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", "id": "OneTimeSchedule", @@ -1240,6 +1442,10 @@ "$ref": "GooSettings", "description": "Goo update settings. Use this setting to override the default `goo` patch rules." }, + "migInstancesAllowed": { + "description": "Allows the patch job to run on Managed instance groups (MIGs).", + "type": "boolean" + }, "postStep": { "$ref": "ExecStep", "description": "The `ExecStep` to run after the patch update." @@ -1328,6 +1534,21 @@ "$ref": "PatchRollout", "description": "Optional. Rollout strategy of the patch job." }, + "state": { + "description": "Output only. Current state of the patch deployment.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "PAUSED" + ], + "enumDescriptions": [ + "The default value. This value is used if the state is omitted.", + "Active value means that patch deployment generates Patch Jobs.", + "Paused value means that patch deployment does not generate Patch jobs. Requires user action to move in and out from this state." + ], + "readOnly": true, + "type": "string" + }, "updateTime": { "description": "Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", "format": "google-datetime", @@ -1653,6 +1874,12 @@ }, "type": "object" }, + "PausePatchDeploymentRequest": { + "description": "A request message for pausing a patch deployment.", + "id": "PausePatchDeploymentRequest", + "properties": {}, + "type": "object" + }, "RecurringSchedule": { "description": "Sets the time for recurring patch deployments.", "id": "RecurringSchedule", @@ -1667,12 +1894,14 @@ "enum": [ "FREQUENCY_UNSPECIFIED", "WEEKLY", - "MONTHLY" + "MONTHLY", + "DAILY" ], "enumDescriptions": [ "Invalid. A frequency must be specified.", - "Indicates that the frequency should be expressed in terms of weeks.", - "Indicates that the frequency should be expressed in terms of months." + "Indicates that the frequency of recurrence should be expressed in terms of weeks.", + "Indicates that the frequency of recurrence should be expressed in terms of months.", + "Indicates that the frequency of recurrence should be expressed in terms of days." ], "type": "string" }, @@ -1712,6 +1941,12 @@ }, "type": "object" }, + "ResumePatchDeploymentRequest": { + "description": "A request message for resuming a patch deployment.", + "id": "ResumePatchDeploymentRequest", + "properties": {}, + "type": "object" + }, "SoftwareRecipe": { "description": "A software recipe is a set of instructions for installing and configuring a piece of software. It consists of a set of artifacts that are downloaded, and a set of steps that install, configure, and/or update the software. Recipes support installing and updating software from artifacts in the following formats: Zip archive, Tar archive, Windows MSI, Debian package, and RPM package. Additionally, recipes support executing a script (either defined in a file or directly in this api) in bash, sh, cmd, and powershell. Updating a software recipe If a recipe is assigned to an instance and there is a recipe with the same name but a lower version already installed and the assigned state of the recipe is `UPDATED`, then the recipe is updated to the new version. Script Working Directories Each script or execution step is run in its own temporary directory which is deleted after completing the step.", "id": "SoftwareRecipe", @@ -2098,6 +2333,11 @@ ], "type": "string" }, + "dayOffset": { + "description": "Optional. Represents the number of days before or after the given week day of month that the patch deployment is scheduled for. For example if `week_ordinal` and `day_of_week` values point to the second day of the month and this `day_offset` value is set to `3`, the patch deployment takes place three days after the second Tuesday of the month. If this value is negative, for example -5, the patches are deployed five days before before the second Tuesday of the month. Allowed values are in range [-30, 30].", + "format": "int32", + "type": "integer" + }, "weekOrdinal": { "description": "Required. Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1 indicates the last week of the month.", "format": "int32", diff --git a/etc/api/oslogin/v1/oslogin-api.json b/etc/api/oslogin/v1/oslogin-api.json index 81a5b4909c..8e910ce66e 100644 --- a/etc/api/oslogin/v1/oslogin-api.json +++ b/etc/api/oslogin/v1/oslogin-api.json @@ -3,10 +3,16 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "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" } } } @@ -143,7 +149,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, "importSshPublicKey": { @@ -214,6 +222,35 @@ }, "sshPublicKeys": { "methods": { + "create": { + "description": "Create an SSH public key", + "flatPath": "v1/users/{usersId}/sshPublicKeys", + "httpMethod": "POST", + "id": "oslogin.users.sshPublicKeys.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The unique ID for the user in format `users/{user}`.", + "location": "path", + "pattern": "^users/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/sshPublicKeys", + "request": { + "$ref": "SshPublicKey" + }, + "response": { + "$ref": "SshPublicKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "delete": { "description": "Deletes an SSH public key.", "flatPath": "v1/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", @@ -306,7 +343,7 @@ } } }, - "revision": "20210316", + "revision": "20220228", "rootUrl": "https://oslogin.googleapis.com/", "schemas": { "Empty": { diff --git a/etc/api/oslogin/v1alpha/oslogin-api.json b/etc/api/oslogin/v1alpha/oslogin-api.json index fac27eb38c..3e16aa9891 100644 --- a/etc/api/oslogin/v1alpha/oslogin-api.json +++ b/etc/api/oslogin/v1alpha/oslogin-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "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 Platform services" + "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" @@ -156,6 +156,21 @@ "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", @@ -189,6 +204,21 @@ "description": "The project ID of the Google Cloud Platform project.", "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/{+parent}:importSshPublicKey", @@ -252,6 +282,35 @@ }, "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}", @@ -344,7 +403,7 @@ } } }, - "revision": "20210316", + "revision": "20220228", "rootUrl": "https://oslogin.googleapis.com/", "schemas": { "Empty": { @@ -383,6 +442,13 @@ }, "type": "array" }, + "securityKeys": { + "description": "The registered security key credentials for a user.", + "items": { + "$ref": "SecurityKey" + }, + "type": "array" + }, "sshPublicKeys": { "additionalProperties": { "$ref": "SshPublicKey" @@ -458,6 +524,29 @@ }, "type": "object" }, + "SecurityKey": { + "description": "The credential information for a Google registered security key.", + "id": "SecurityKey", + "properties": { + "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" + }, "SshPublicKey": { "description": "The SSH public key information associated with a Google account.", "id": "SshPublicKey", @@ -483,6 +572,28 @@ } }, "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": "", diff --git a/etc/api/oslogin/v1beta/oslogin-api.json b/etc/api/oslogin/v1beta/oslogin-api.json index f04606c513..4b8ff5dec8 100644 --- a/etc/api/oslogin/v1beta/oslogin-api.json +++ b/etc/api/oslogin/v1beta/oslogin-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "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 Platform services" + "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" @@ -141,6 +141,21 @@ "description": "A system ID for filtering the results of the request.", "location": "query", "type": "string" + }, + "view": { + "description": "The view configures whether to retrieve security keys information.", + "enum": [ + "LOGIN_PROFILE_VIEW_UNSPECIFIED", + "BASIC", + "SECURITY_KEY" + ], + "enumDescriptions": [ + "The default login profile view. The API defaults to the BASIC view.", + "Includes POSIX and SSH key information.", + "Include security key information for the user." + ], + "location": "query", + "type": "string" } }, "path": "v1beta/{+name}/loginProfile", @@ -174,6 +189,21 @@ "description": "The project ID of the Google Cloud Platform project.", "location": "query", "type": "string" + }, + "view": { + "description": "The view configures whether to retrieve security keys information.", + "enum": [ + "LOGIN_PROFILE_VIEW_UNSPECIFIED", + "BASIC", + "SECURITY_KEY" + ], + "enumDescriptions": [ + "The default login profile view. The API defaults to the BASIC view.", + "Includes POSIX and SSH key information.", + "Include security key information for the user." + ], + "location": "query", + "type": "string" } }, "path": "v1beta/{+parent}:importSshPublicKey", @@ -222,6 +252,35 @@ }, "sshPublicKeys": { "methods": { + "create": { + "description": "Create an SSH public key", + "flatPath": "v1beta/users/{usersId}/sshPublicKeys", + "httpMethod": "POST", + "id": "oslogin.users.sshPublicKeys.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The unique ID for the user in format `users/{user}`.", + "location": "path", + "pattern": "^users/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/sshPublicKeys", + "request": { + "$ref": "SshPublicKey" + }, + "response": { + "$ref": "SshPublicKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "delete": { "description": "Deletes an SSH public key.", "flatPath": "v1beta/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", @@ -314,7 +373,7 @@ } } }, - "revision": "20210316", + "revision": "20220228", "rootUrl": "https://oslogin.googleapis.com/", "schemas": { "Empty": { @@ -353,6 +412,13 @@ }, "type": "array" }, + "securityKeys": { + "description": "The registered security key credentials for a user.", + "items": { + "$ref": "SecurityKey" + }, + "type": "array" + }, "sshPublicKeys": { "additionalProperties": { "$ref": "SshPublicKey" @@ -428,6 +494,29 @@ }, "type": "object" }, + "SecurityKey": { + "description": "The credential information for a Google registered security key.", + "id": "SecurityKey", + "properties": { + "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" + }, "SshPublicKey": { "description": "The SSH public key information associated with a Google account.", "id": "SshPublicKey", @@ -453,6 +542,28 @@ } }, "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": "", diff --git a/etc/api/pagespeedonline/v5/pagespeedonline-api.json b/etc/api/pagespeedonline/v5/pagespeedonline-api.json index 979c284d6e..27a8eae256 100644 --- a/etc/api/pagespeedonline/v5/pagespeedonline-api.json +++ b/etc/api/pagespeedonline/v5/pagespeedonline-api.json @@ -193,13 +193,17 @@ } } }, - "revision": "20210330", + "revision": "20220302", "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" @@ -208,6 +212,13 @@ "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", @@ -370,6 +381,10 @@ "description": "The audit's id.", "type": "string" }, + "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", @@ -599,6 +614,10 @@ "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" @@ -607,6 +626,38 @@ "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" @@ -615,12 +666,16 @@ "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 explaning that the network can vary.", + "description": "The disclaimer shown under performance explaining that the network can vary.", "type": "string" }, "manualAuditsGroupTitle": { @@ -643,10 +698,90 @@ "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" @@ -655,6 +790,14 @@ "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" diff --git a/etc/api/paymentsresellersubscription/v1/paymentsresellersubscription-api.json b/etc/api/paymentsresellersubscription/v1/paymentsresellersubscription-api.json new file mode 100644 index 0000000000..ae167b5326 --- /dev/null +++ b/etc/api/paymentsresellersubscription/v1/paymentsresellersubscription-api.json @@ -0,0 +1,904 @@ +{ + "basePath": "", + "baseUrl": "https://paymentsresellersubscription.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Payments Reseller Subscription", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/payments/reseller/subscription/", + "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": "paymentsresellersubscription:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://paymentsresellersubscription.mtls.googleapis.com/", + "name": "paymentsresellersubscription", + "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": { + "partners": { + "resources": { + "products": { + "methods": { + "list": { + "description": "Used by partners to list products that can be resold to their customers. It should be called directly by the partner using service accounts.", + "flatPath": "v1/partners/{partnersId}/products", + "httpMethod": "GET", + "id": "paymentsresellersubscription.partners.products.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of products to return. The service may return fewer than this value. If unspecified, at most 50 products 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 `ListProducts` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListProducts` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, the partner that can resell. Format: partners/{partner}", + "location": "path", + "pattern": "^partners/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/products", + "response": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1ListProductsResponse" + } + } + } + }, + "promotions": { + "methods": { + "list": { + "description": "Used by partners to list promotions, such as free trial, that can be applied on subscriptions. It should be called directly by the partner using service accounts.", + "flatPath": "v1/partners/{partnersId}/promotions", + "httpMethod": "GET", + "id": "paymentsresellersubscription.partners.promotions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Specifies the filters for the promotion results. The syntax defined in the EBNF grammar: https://google.aip.dev/assets/misc/ebnf-filtering.txt. Examples: - applicable_products: \"sku1\" - region_codes: \"US\" - applicable_products: \"sku1\" AND region_codes: \"US\"", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of promotions to return. The service may return fewer than this value. If unspecified, at most 50 products 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 `ListPromotions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPromotions` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, the partner that can resell. Format: partners/{partner}", + "location": "path", + "pattern": "^partners/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/promotions", + "response": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1ListPromotionsResponse" + } + } + } + }, + "subscriptions": { + "methods": { + "cancel": { + "description": "Used by partners to cancel a subscription service either immediately or by the end of the current billing cycle for their customers. It should be called directly by the partner using service accounts.", + "flatPath": "v1/partners/{partnersId}/subscriptions/{subscriptionsId}:cancel", + "httpMethod": "POST", + "id": "paymentsresellersubscription.partners.subscriptions.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the subscription resource to be cancelled. It will have the format of \"partners/{partner_id}/subscriptions/{subscription_id}\"", + "location": "path", + "pattern": "^partners/[^/]+/subscriptions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequest" + }, + "response": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionResponse" + } + }, + "create": { + "description": "Used by partners to create a subscription for their customers. The created subscription is associated with the end user inferred from the end user credentials. This API must be authorized by the end user using OAuth.", + "flatPath": "v1/partners/{partnersId}/subscriptions", + "httpMethod": "POST", + "id": "paymentsresellersubscription.partners.subscriptions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name, which is the identifier of the partner. It will have the format of \"partners/{partner_id}\".", + "location": "path", + "pattern": "^partners/[^/]+$", + "required": true, + "type": "string" + }, + "subscriptionId": { + "description": "Required. Identifies the subscription resource on the Partner side. The value is restricted to 63 ASCII characters at the maximum. If a subscription was previously created with the same subscription_id, we will directly return that one.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/subscriptions", + "request": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Subscription" + }, + "response": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Subscription" + } + }, + "entitle": { + "description": "Used by partners to entitle a previously provisioned subscription to the current end user. The end user identity is inferred from the authorized credential of the request. This API must be authorized by the end user using OAuth.", + "flatPath": "v1/partners/{partnersId}/subscriptions/{subscriptionsId}:entitle", + "httpMethod": "POST", + "id": "paymentsresellersubscription.partners.subscriptions.entitle", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the subscription resource that is entitled to the current end user. It will have the format of \"partners/{partner_id}/subscriptions/{subscription_id}\"", + "location": "path", + "pattern": "^partners/[^/]+/subscriptions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:entitle", + "request": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequest" + }, + "response": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionResponse" + } + }, + "extend": { + "description": "Used by partners to extend a subscription service for their customers on an ongoing basis for the subscription to remain active and renewable. It should be called directly by the partner using service accounts.", + "flatPath": "v1/partners/{partnersId}/subscriptions/{subscriptionsId}:extend", + "httpMethod": "POST", + "id": "paymentsresellersubscription.partners.subscriptions.extend", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the subscription resource to be extended. It will have the format of \"partners/{partner_id}/subscriptions/{subscription_id}\".", + "location": "path", + "pattern": "^partners/[^/]+/subscriptions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:extend", + "request": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionRequest" + }, + "response": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionResponse" + } + }, + "get": { + "description": "Used by partners to get a subscription by id. It should be called directly by the partner using service accounts.", + "flatPath": "v1/partners/{partnersId}/subscriptions/{subscriptionsId}", + "httpMethod": "GET", + "id": "paymentsresellersubscription.partners.subscriptions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the subscription resource to retrieve. It will have the format of \"partners/{partner_id}/subscriptions/{subscription_id}\"", + "location": "path", + "pattern": "^partners/[^/]+/subscriptions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Subscription" + } + }, + "provision": { + "description": "Used by partners to provision a subscription for their customers. This creates a subscription without associating it with the end user account. EntitleSubscription must be called separately using OAuth in order for the end user account to be associated with the subscription. It should be called directly by the partner using service accounts.", + "flatPath": "v1/partners/{partnersId}/subscriptions:provision", + "httpMethod": "POST", + "id": "paymentsresellersubscription.partners.subscriptions.provision", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name, which is the identifier of the partner. It will have the format of \"partners/{partner_id}\".", + "location": "path", + "pattern": "^partners/[^/]+$", + "required": true, + "type": "string" + }, + "subscriptionId": { + "description": "Required. Identifies the subscription resource on the Partner side. The value is restricted to 63 ASCII characters at the maximum. If a subscription was previously created with the same subscription_id, we will directly return that one.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/subscriptions:provision", + "request": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Subscription" + }, + "response": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Subscription" + } + }, + "undoCancel": { + "description": "Used by partners to revoke the pending cancellation of a subscription, which is currently in `STATE_CANCEL_AT_END_OF_CYCLE` state. If the subscription is already cancelled, the request will fail. It should be called directly by the partner using service accounts.", + "flatPath": "v1/partners/{partnersId}/subscriptions/{subscriptionsId}:undoCancel", + "httpMethod": "POST", + "id": "paymentsresellersubscription.partners.subscriptions.undoCancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the subscription resource whose pending cancellation needs to be undone. It will have the format of \"partners/{partner_id}/subscriptions/{subscription_id}\"", + "location": "path", + "pattern": "^partners/[^/]+/subscriptions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:undoCancel", + "request": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionRequest" + }, + "response": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionResponse" + } + } + } + } + } + } + }, + "revision": "20220307", + "rootUrl": "https://paymentsresellersubscription.googleapis.com/", + "schemas": { + "GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequest": { + "id": "GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequest", + "properties": { + "cancelImmediately": { + "description": "Optional. If true, the subscription will be cancelled immediately. Otherwise, the subscription will be cancelled at renewal_time, and therefore no prorated refund will be issued for the rest of the cycle.", + "type": "boolean" + }, + "cancellationReason": { + "description": "Specifies the reason for the cancellation.", + "enum": [ + "CANCELLATION_REASON_UNSPECIFIED", + "CANCELLATION_REASON_FRAUD", + "CANCELLATION_REASON_REMORSE", + "CANCELLATION_REASON_ACCIDENTAL_PURCHASE", + "CANCELLATION_REASON_PAST_DUE", + "CANCELLATION_REASON_ACCOUNT_CLOSED", + "CANCELLATION_REASON_UPGRADE_DOWNGRADE", + "CANCELLATION_REASON_USER_DELINQUENCY", + "CANCELLATION_REASON_OTHER" + ], + "enumDescriptions": [ + "Reason is unspecified.", + "Fraudualant transaction.", + "Buyer's remorse.", + "Accidential purchase.", + "Payment is past due.", + "User account closed.", + "Used for notification only, do not use in Cancel API. Cancellation due to upgrade or downgrade.", + "Cancellation due to user delinquency", + "Other reason." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionResponse": { + "id": "GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionResponse", + "properties": { + "subscription": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Subscription", + "description": "The cancelled subscription resource." + } + }, + "type": "object" + }, + "GoogleCloudPaymentsResellerSubscriptionV1Duration": { + "description": "Describes the length of a period of a time.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1Duration", + "properties": { + "count": { + "description": "number of duration units to be included.", + "format": "int32", + "type": "integer" + }, + "unit": { + "description": "The unit used for the duration", + "enum": [ + "UNIT_UNSPECIFIED", + "MONTH", + "DAY" + ], + "enumDescriptions": [ + "Default value.", + "Unit of a calendar month.", + "Unit of a day." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequest": { + "description": "Partner request for entitling the previously provisioned subscription to an end user. The end user identity is inferred from the request OAuth context.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionResponse": { + "id": "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionResponse", + "properties": { + "subscription": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Subscription", + "description": "The subscription that has user linked to it." + } + }, + "type": "object" + }, + "GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionRequest": { + "description": "Request message for extending a Subscription resource. A new recurrence will be made based on the subscription schedule defined by the original product.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionRequest", + "properties": { + "extension": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Extension", + "description": "Required. Specifies details of the extension. Currently, the duration of the extension must be exactly one billing cycle of the original subscription." + }, + "requestId": { + "description": "Required. Restricted to 36 ASCII characters. A random UUID is recommended. The idempotency key for the request. The ID generation logic is controlled by the partner. request_id should be the same as on retries of the same request. A different request_id must be used for a extension of a different cycle. A random UUID is recommended.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionResponse": { + "id": "GoogleCloudPaymentsResellerSubscriptionV1ExtendSubscriptionResponse", + "properties": { + "cycleEndTime": { + "description": "The time at which the subscription is expected to be extended, in ISO 8061 format. UTC timezone. Example, \"cycleEndTime\":\"2019-08-31T17:28:54.564Z\"", + "format": "google-datetime", + "type": "string" + }, + "freeTrialEndTime": { + "description": "End of the free trial period, in ISO 8061 format. UTC timezone. Example, \"freeTrialEndTime\":\"2019-08-31T17:28:54.564Z\" This time will be set the same as initial subscription creation time if no free trial period is offered to the partner.", + "format": "google-datetime", + "type": "string" + }, + "renewalTime": { + "description": "Output only. The time at which the subscription is expected to be renewed by Google - a new charge will be incurred and the service entitlement will be renewed. A non-immediate cancellation will take place at this time too, before which, the service entitlement for the end user will remain valid. UTC timezone in ISO 8061 format. For example: \"2019-08-31T17:28:54.564Z\"", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudPaymentsResellerSubscriptionV1Extension": { + "description": "Describes the details of an extension request.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1Extension", + "properties": { + "duration": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Duration", + "description": "Specifies the period of access the subscription should grant." + }, + "partnerUserToken": { + "description": "Required. Identifier of the end-user in partner\u2019s system.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudPaymentsResellerSubscriptionV1ListProductsResponse": { + "id": "GoogleCloudPaymentsResellerSubscriptionV1ListProductsResponse", + "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" + }, + "products": { + "description": "The products for the specified partner.", + "items": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Product" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudPaymentsResellerSubscriptionV1ListPromotionsResponse": { + "id": "GoogleCloudPaymentsResellerSubscriptionV1ListPromotionsResponse", + "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" + }, + "promotions": { + "description": "The promotions for the specified partner.", + "items": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Promotion" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudPaymentsResellerSubscriptionV1Location": { + "description": "Describes a location of an end user.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1Location", + "properties": { + "postalCode": { + "description": "The postal code this location refers to. Ex. \"94043\"", + "type": "string" + }, + "regionCode": { + "description": "2-letter ISO region code for current content region. Ex. \u201cUS\u201d Please refers to: https://en.wikipedia.org/wiki/ISO_3166-1", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudPaymentsResellerSubscriptionV1Product": { + "description": "A Product resource that defines a subscription service that can be resold.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1Product", + "properties": { + "name": { + "description": "Output only. Response only. Resource name of the subscription. It will have the format of \"partners/{partner_id}/products/{product_id}\"", + "readOnly": true, + "type": "string" + }, + "regionCodes": { + "description": "Output only. 2-letter ISO region code where the product is available in. Ex. \"US\" Please refers to: https://en.wikipedia.org/wiki/ISO_3166-1", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "subscriptionBillingCycleDuration": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Duration", + "description": "Output only. Specifies the length of the billing cycle of the subscription.", + "readOnly": true + }, + "titles": { + "description": "Output only. Localized human readable name of the product.", + "items": { + "$ref": "GoogleTypeLocalizedText" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudPaymentsResellerSubscriptionV1Promotion": { + "description": "A Promotion resource that defines a promotion for a subscription that can be resold.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1Promotion", + "properties": { + "applicableProducts": { + "description": "Output only. The product ids this promotion can be applied to.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "endTime": { + "description": "Optional. Specifies the end time (exclusive) of the period that the promotion is available in. If unset, the promotion is available indefinitely.", + "format": "google-datetime", + "type": "string" + }, + "freeTrialDuration": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Duration", + "description": "Optional. Specifies the duration of the free trial of the subscription when promotion_type is PROMOTION_TYPE_FREE_TRIAL" + }, + "introductoryPricingDetails": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetails", + "description": "Optional. Specifies the introductory pricing details when the promotion_type is PROMOTION_TYPE_INTRODUCTORY_PRICING." + }, + "name": { + "description": "Output only. Response only. Resource name of the subscription promotion. It will have the format of \"partners/{partner_id}/promotion/{promotion_id}\"", + "readOnly": true, + "type": "string" + }, + "promotionType": { + "description": "Output only. Output Only. Specifies the type of the promotion.", + "enum": [ + "PROMOTION_TYPE_UNSPECIFIED", + "PROMOTION_TYPE_FREE_TRIAL", + "PROMOTION_TYPE_INTRODUCTORY_PRICING" + ], + "enumDescriptions": [ + "The promotion type is unspecified.", + "The promotion is a free trial.", + "The promotion is a reduced introductory pricing." + ], + "readOnly": true, + "type": "string" + }, + "regionCodes": { + "description": "Output only. 2-letter ISO region code where the promotion is available in. Ex. \"US\" Please refers to: https://en.wikipedia.org/wiki/ISO_3166-1", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "startTime": { + "description": "Optional. Specifies the start time (inclusive) of the period that the promotion is available in.", + "format": "google-datetime", + "type": "string" + }, + "titles": { + "description": "Output only. Localized human readable name of the promotion.", + "items": { + "$ref": "GoogleTypeLocalizedText" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetails": { + "description": "The details of a introductory pricing promotion.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetails", + "properties": { + "introductoryPricingSpecs": { + "description": "Specifies the introductory pricing periods.", + "items": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec": { + "description": "The duration of an introductory pricing promotion.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1PromotionIntroductoryPricingDetailsIntroductoryPricingSpec", + "properties": { + "recurrenceCount": { + "description": "Output only. Output Only. The duration of an introductory offer in billing cycles.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudPaymentsResellerSubscriptionV1Subscription": { + "description": "A Subscription resource managed by 3P Partners.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1Subscription", + "properties": { + "cancellationDetails": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionCancellationDetails", + "description": "Output only. Describes the details of a cancelled subscription. Only applicable to subscription of state `STATE_CANCELLED`.", + "readOnly": true + }, + "createTime": { + "description": "Output only. System generated timestamp when the subscription is created. UTC timezone.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "cycleEndTime": { + "description": "Output only. The time at which the subscription is expected to be extended, in ISO 8061 format. UTC timezone. For example: \"2019-08-31T17:28:54.564Z\"", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endUserEntitled": { + "description": "Output only. Indicates if the subscription is entitled to the end user.", + "readOnly": true, + "type": "boolean" + }, + "freeTrialEndTime": { + "description": "Output only. End of the free trial period, in ISO 8061 format. For example, \"2019-08-31T17:28:54.564Z\". It will be set the same as createTime if no free trial promotion is specified.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Response only. Resource name of the subscription. It will have the format of \"partners/{partner_id}/subscriptions/{subscription_id}\"", + "readOnly": true, + "type": "string" + }, + "partnerUserToken": { + "description": "Required. Identifier of the end-user in partner\u2019s system. The value is restricted to 63 ASCII characters at the maximum.", + "type": "string" + }, + "processingState": { + "description": "Output only. Describes the processing state of the subscription. See more details at [the lifecycle of a subscription](/payments/reseller/subscription/reference/index/Receive.Notifications#payments-subscription-lifecycle).", + "enum": [ + "PROCESSING_STATE_UNSPECIFIED", + "PROCESSING_STATE_CANCELLING", + "PROCESSING_STATE_RECURRING" + ], + "enumDescriptions": [ + "The processing state is unspecified.", + "The subscription is being cancelled.", + "The subscription is recurring." + ], + "readOnly": true, + "type": "string" + }, + "products": { + "description": "Required. Resource name that identifies one or more subscription products. The format will be 'partners/{partner_id}/products/{product_id}'.", + "items": { + "type": "string" + }, + "type": "array" + }, + "promotions": { + "description": "Optional. Resource name that identifies one or more promotions that can be applied on the product. A typical promotion for a subscription is Free trial. The format will be 'partners/{partner_id}/promotions/{promotion_id}'.", + "items": { + "type": "string" + }, + "type": "array" + }, + "redirectUri": { + "description": "Output only. The place where partners should redirect the end-user to after creation. This field might also be populated when creation failed. However, Partners should always prepare a default URL to redirect the user in case this field is empty.", + "readOnly": true, + "type": "string" + }, + "renewalTime": { + "description": "Output only. The time at which the subscription is expected to be renewed by Google - a new charge will be incurred and the service entitlement will be renewed. A non-immediate cancellation will take place at this time too, before which, the service entitlement for the end user will remain valid. UTC timezone in ISO 8061 format. For example: \"2019-08-31T17:28:54.564Z\"", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "serviceLocation": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Location", + "description": "Required. The location that the service is provided as indicated by the partner." + }, + "state": { + "description": "Output only. Describes the state of the subscription. See more details at [the lifecycle of a subscription](/payments/reseller/subscription/reference/index/Receive.Notifications#payments-subscription-lifecycle).", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_CREATED", + "STATE_ACTIVE", + "STATE_CANCELLED", + "STATE_IN_GRACE_PERIOD", + "STATE_CANCEL_AT_END_OF_CYCLE" + ], + "enumDescriptions": [ + "The state is unspecified.", + "The subscription is created, a state before it is moved to STATE_ACTIVE.", + "The subscription is active.", + "The subscription is cancelled.", + "The subscription has not been extended by the partner after the end of current cycle.", + "The subscription is waiting to be cancelled by the next recurrence cycle." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. System generated timestamp when the subscription is most recently updated. UTC timezone.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "upgradeDowngradeDetails": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetails", + "description": "Optional. Details about the previous subscription that this new subscription upgrades/downgrades from. Only populated if this subscription is an upgrade/downgrade from another subscription." + } + }, + "type": "object" + }, + "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionCancellationDetails": { + "description": "Describes the details of a cancelled or cancelling subscription.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionCancellationDetails", + "properties": { + "reason": { + "description": "The reason of the cancellation.", + "enum": [ + "CANCELLATION_REASON_UNSPECIFIED", + "CANCELLATION_REASON_FRAUD", + "CANCELLATION_REASON_REMORSE", + "CANCELLATION_REASON_ACCIDENTAL_PURCHASE", + "CANCELLATION_REASON_PAST_DUE", + "CANCELLATION_REASON_ACCOUNT_CLOSED", + "CANCELLATION_REASON_UPGRADE_DOWNGRADE", + "CANCELLATION_REASON_USER_DELINQUENCY", + "CANCELLATION_REASON_OTHER" + ], + "enumDescriptions": [ + "Reason is unspecified.", + "Fraudualant transaction.", + "Buyer's remorse.", + "Accidential purchase.", + "Payment is past due.", + "User account closed.", + "Used for notification only, do not use in Cancel API. Cancellation due to upgrade or downgrade.", + "Cancellation due to user delinquency", + "Other reason." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetails": { + "description": "Details about the previous subscription that this new subscription upgrades/downgrades from.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetails", + "properties": { + "billingCycleSpec": { + "description": "Required. Specifies the billing cycle spec for the new upgraded/downgraded subscription.", + "enum": [ + "BILLING_CYCLE_SPEC_UNSPECIFIED", + "BILLING_CYCLE_SPEC_ALIGN_WITH_PREVIOUS_SUBSCRIPTION", + "BILLING_CYCLE_SPEC_START_IMMEDIATELY" + ], + "enumDescriptions": [ + "Billing cycle spec is not specified.", + "The billing cycle of the new subscription aligns with the previous subscription it upgrades or downgrades from.", + "The billing cycle of the new subscription starts immediately." + ], + "type": "string" + }, + "previousSubscriptionId": { + "description": "Required. The previous subscription id to be replaced. This is not the full resource name, use the subscription_id segment only.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionRequest": { + "description": "Request to revoke a cancellation request.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionResponse": { + "description": "Response that contains the updated subscription resource.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionResponse", + "properties": { + "subscription": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Subscription", + "description": "The updated subscription resource." + } + }, + "type": "object" + }, + "GoogleTypeLocalizedText": { + "description": "Localized variant of a text in a particular language.", + "id": "GoogleTypeLocalizedText", + "properties": { + "languageCode": { + "description": "The text's BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", + "type": "string" + }, + "text": { + "description": "Localized string in the language corresponding to `language_code' below.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Payments Reseller Subscription API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/people/v1/people-api.json b/etc/api/people/v1/people-api.json index 1f2ac85058..7e85135444 100644 --- a/etc/api/people/v1/people-api.json +++ b/etc/api/people/v1/people-api.json @@ -159,7 +159,7 @@ "type": "integer" }, "resourceNames": { - "description": "Required. The resource names of the contact groups to get.", + "description": "Required. The resource names of the contact groups to get. There is a maximum of 200 resource names.", "location": "query", "repeated": true, "type": "string" @@ -175,7 +175,7 @@ ] }, "create": { - "description": "Create a new contact group owned by the authenticated user.", + "description": "Create a new contact group owned by the authenticated user. Created contact group names must be unique to the users contact groups. Attempting to create a group with a duplicate name will return a HTTP 409 error. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures.", "flatPath": "v1/contactGroups", "httpMethod": "POST", "id": "people.contactGroups.create", @@ -193,7 +193,7 @@ ] }, "delete": { - "description": "Delete an existing contact group owned by the authenticated user by specifying a contact group resource name.", + "description": "Delete an existing contact group owned by the authenticated user by specifying a contact group resource name. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures.", "flatPath": "v1/contactGroups/{contactGroupsId}", "httpMethod": "DELETE", "id": "people.contactGroups.delete", @@ -300,7 +300,7 @@ ] }, "update": { - "description": "Update the name of an existing contact group owned by the authenticated user.", + "description": "Update the name of an existing contact group owned by the authenticated user. Updated contact group names must be unique to the users contact groups. Attempting to create a group with a duplicate name will return a HTTP 409 error. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures.", "flatPath": "v1/contactGroups/{contactGroupsId}", "httpMethod": "PUT", "id": "people.contactGroups.update", @@ -366,7 +366,7 @@ "otherContacts": { "methods": { "copyOtherContactToMyContactsGroup": { - "description": "Copies an \"Other contact\" to a new contact in the user's \"myContacts\" group", + "description": "Copies an \"Other contact\" to a new contact in the user's \"myContacts\" group Mutate requests for the same user should be sent sequentially to avoid increased latency and failures.", "flatPath": "v1/otherContacts/{otherContactsId}:copyOtherContactToMyContactsGroup", "httpMethod": "POST", "id": "people.otherContacts.copyOtherContactToMyContactsGroup", @@ -395,7 +395,7 @@ ] }, "list": { - "description": "List all \"Other contacts\", that is contacts that are not in a contact group. \"Other contacts\" are typically auto created contacts from interactions.", + "description": "List all \"Other contacts\", that is contacts that are not in a contact group. \"Other contacts\" are typically auto created contacts from interactions. Sync tokens expire 7 days after the full sync. A request with an expired sync token will result in a 410 error. In the case of such an error clients should make a full sync request without a `sync_token`. The first page of a full sync request has an additional quota. If the quota is exceeded, a 429 error will be returned. This quota is fixed and can not be increased. When the `sync_token` is specified, resources deleted since the last sync will be returned as a person with `PersonMetadata.deleted` set to true. When the `page_token` or `sync_token` is specified, all other request parameters must match the first call. Writes may have a propagation delay of several minutes for sync requests. Incremental syncs are not intended for read-after-write use cases. See example usage at [List the user's other contacts that have changed](/people/v1/other-contacts#list_the_users_other_contacts_that_have_changed).", "flatPath": "v1/otherContacts", "httpMethod": "GET", "id": "people.otherContacts.list", @@ -408,23 +408,41 @@ "type": "integer" }, "pageToken": { - "description": "Optional. A page token, received from a previous `ListOtherContacts` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListOtherContacts` must match the call that provided the page token.", + "description": "Optional. A page token, received from a previous response `next_page_token`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `otherContacts.list` must match the first call that provided the page token.", "location": "query", "type": "string" }, "readMask": { - "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * emailAddresses * names * phoneNumbers", + "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. What values are valid depend on what ReadSourceType is used. If READ_SOURCE_TYPE_CONTACT is used, valid values are: * emailAddresses * metadata * names * phoneNumbers * photos If READ_SOURCE_TYPE_PROFILE is used, valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined", "format": "google-fieldmask", "location": "query", "type": "string" }, "requestSyncToken": { - "description": "Optional. Whether the response should include `next_sync_token`, which can be used to get all changes since the last request. For subsequent sync requests use the `sync_token` param instead. Initial sync requests that specify `request_sync_token` have an additional rate limit.", + "description": "Optional. Whether the response should return `next_sync_token` on the last page of results. It can be used to get incremental changes since the last request by setting it on the request `sync_token`. More details about sync behavior at `otherContacts.list`.", "location": "query", "type": "boolean" }, + "sources": { + "description": "Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT if not set.", + "enum": [ + "READ_SOURCE_TYPE_UNSPECIFIED", + "READ_SOURCE_TYPE_PROFILE", + "READ_SOURCE_TYPE_CONTACT", + "READ_SOURCE_TYPE_DOMAIN_CONTACT" + ], + "enumDescriptions": [ + "Unspecified.", + "Returns SourceType.ACCOUNT, SourceType.DOMAIN_PROFILE, and SourceType.PROFILE.", + "Returns SourceType.CONTACT.", + "Returns SourceType.DOMAIN_CONTACT." + ], + "location": "query", + "repeated": true, + "type": "string" + }, "syncToken": { - "description": "Optional. A sync token, received from a previous `ListOtherContacts` call. Provide this to retrieve only the resources changed since the last request. Sync requests that specify `sync_token` have an additional rate limit. When syncing, all other parameters provided to `ListOtherContacts` must match the call that provided the sync token.", + "description": "Optional. A sync token, received from a previous response `next_sync_token` Provide this to retrieve only the resources changed since the last request. When syncing, all other parameters provided to `otherContacts.list` must match the first call that provided the sync token. More details about sync behavior at `otherContacts.list`.", "location": "query", "type": "string" } @@ -438,14 +456,14 @@ ] }, "search": { - "description": "Provides a list of contacts in the authenticated user's other contacts that matches the search query. The query matches on a contact's `names`, `emailAddresses`, and `phoneNumbers` fields that are from the OTHER_CONTACT source.", + "description": "Provides a list of contacts in the authenticated user's other contacts that matches the search query. The query matches on a contact's `names`, `emailAddresses`, and `phoneNumbers` fields that are from the OTHER_CONTACT source. **IMPORTANT**: Before searching, clients should send a warmup request with an empty query to update the cache. See https://developers.google.com/people/v1/other-contacts#search_the_users_other_contacts", "flatPath": "v1/otherContacts:search", "httpMethod": "GET", "id": "people.otherContacts.search", "parameterOrder": [], "parameters": { "pageSize": { - "description": "Optional. The number of results to return. Defaults to 10 if field is not set, or set to 0.", + "description": "Optional. The number of results to return. Defaults to 10 if field is not set, or set to 0. Values greater than 30 will be capped to 30.", "format": "int32", "location": "query", "type": "integer" @@ -456,7 +474,7 @@ "type": "string" }, "readMask": { - "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * emailAddresses * names * phoneNumbers", + "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * emailAddresses * metadata * names * phoneNumbers", "format": "google-fieldmask", "location": "query", "type": "string" @@ -475,7 +493,7 @@ "people": { "methods": { "batchCreateContacts": { - "description": "Create a batch of new contacts and return the PersonResponses for the newly created contacts. Limited to 10 parallel requests per user.", + "description": "Create a batch of new contacts and return the PersonResponses for the newly Mutate requests for the same user should be sent sequentially to avoid increased latency and failures.", "flatPath": "v1/people:batchCreateContacts", "httpMethod": "POST", "id": "people.people.batchCreateContacts", @@ -493,7 +511,7 @@ ] }, "batchDeleteContacts": { - "description": "Delete a batch of contacts. Any non-contact data will not be deleted. Limited to 10 parallel requests per user.", + "description": "Delete a batch of contacts. Any non-contact data will not be deleted. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures.", "flatPath": "v1/people:batchDeleteContacts", "httpMethod": "POST", "id": "people.people.batchDeleteContacts", @@ -511,7 +529,7 @@ ] }, "batchUpdateContacts": { - "description": "Update a batch of contacts and return a map of resource names to PersonResponses for the updated contacts. Limited to 10 parallel requests per user.", + "description": "Update a batch of contacts and return a map of resource names to PersonResponses for the updated contacts. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures.", "flatPath": "v1/people:batchUpdateContacts", "httpMethod": "POST", "id": "people.people.batchUpdateContacts", @@ -529,7 +547,7 @@ ] }, "createContact": { - "description": "Create a new contact and return the person resource for that contact. The request returns a 400 error if more than one field is specified on a field that is a singleton for contact sources: * biographies * birthdays * genders * names", + "description": "Create a new contact and return the person resource for that contact. The request returns a 400 error if more than one field is specified on a field that is a singleton for contact sources: * biographies * birthdays * genders * names Mutate requests for the same user should be sent sequentially to avoid increased latency and failures.", "flatPath": "v1/people:createContact", "httpMethod": "POST", "id": "people.people.createContact", @@ -572,7 +590,7 @@ ] }, "deleteContact": { - "description": "Delete a contact person. Any non-contact data will not be deleted.", + "description": "Delete a contact person. Any non-contact data will not be deleted. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures.", "flatPath": "v1/people/{peopleId}:deleteContact", "httpMethod": "DELETE", "id": "people.people.deleteContact", @@ -597,7 +615,7 @@ ] }, "deleteContactPhoto": { - "description": "Delete a contact's photo.", + "description": "Delete a contact's photo. Mutate requests for the same user should be done sequentially to avoid // lock contention.", "flatPath": "v1/people/{peopleId}:deleteContactPhoto", "httpMethod": "DELETE", "id": "people.people.deleteContactPhoto", @@ -667,7 +685,7 @@ "type": "string" }, "resourceName": { - "description": "Required. The resource name of the person to provide information about. - To get information about the authenticated user, specify `people/me`. - To get information about a google account, specify `people/{account_id}`. - To get information about a contact, specify the resource name that identifies the contact as returned by [`people.connections.list`](/people/api/rest/v1/people.connections/list).", + "description": "Required. The resource name of the person to provide information about. - To get information about the authenticated user, specify `people/me`. - To get information about a google account, specify `people/{account_id}`. - To get information about a contact, specify the resource name that identifies the contact as returned by `people.connections.list`.", "location": "path", "pattern": "^people/[^/]+$", "required": true, @@ -730,7 +748,7 @@ "type": "string" }, "resourceNames": { - "description": "Required. The resource names of the people to provide information about. It's repeatable. The URL query parameter should be resourceNames=&resourceNames=&... - To get information about the authenticated user, specify `people/me`. - To get information about a google account, specify `people/{account_id}`. - To get information about a contact, specify the resource name that identifies the contact as returned by [`people.connections.list`](/people/api/rest/v1/people.connections/list). You can include up to 50 resource names in one request.", + "description": "Required. The resource names of the people to provide information about. It's repeatable. The URL query parameter should be resourceNames=&resourceNames=&... - To get information about the authenticated user, specify `people/me`. - To get information about a google account, specify `people/{account_id}`. - To get information about a contact, specify the resource name that identifies the contact as returned by `people.connections.list`. There is a maximum of 200 resource names.", "location": "query", "repeated": true, "type": "string" @@ -773,7 +791,7 @@ ] }, "listDirectoryPeople": { - "description": "Provides a list of domain profiles and domain contacts in the authenticated user's domain directory.", + "description": "Provides a list of domain profiles and domain contacts in the authenticated user's domain directory. When the `sync_token` is specified, resources deleted since the last sync will be returned as a person with `PersonMetadata.deleted` set to true. When the `page_token` or `sync_token` is specified, all other request parameters must match the first call. Writes may have a propagation delay of several minutes for sync requests. Incremental syncs are not intended for read-after-write use cases. See example usage at [List the directory people that have changed](/people/v1/directory#list_the_directory_people_that_have_changed).", "flatPath": "v1/people:listDirectoryPeople", "httpMethod": "GET", "id": "people.people.listDirectoryPeople", @@ -800,7 +818,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. A page token, received from a previous `ListDirectoryPeople` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDirectoryPeople` must match the call that provided the page token.", + "description": "Optional. A page token, received from a previous response `next_page_token`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `people.listDirectoryPeople` must match the first call that provided the page token.", "location": "query", "type": "string" }, @@ -811,7 +829,7 @@ "type": "string" }, "requestSyncToken": { - "description": "Optional. Whether the response should include `next_sync_token`, which can be used to get all changes since the last request. For subsequent sync requests use the `sync_token` param instead.", + "description": "Optional. Whether the response should return `next_sync_token`. It can be used to get incremental changes since the last request by setting it on the request `sync_token`. More details about sync behavior at `people.listDirectoryPeople`.", "location": "query", "type": "boolean" }, @@ -824,15 +842,15 @@ ], "enumDescriptions": [ "Unspecified.", - "G Suite domain shared contact.", - "G Suite domain profile." + "Google Workspace domain shared contact.", + "Google Workspace domain profile." ], "location": "query", "repeated": true, "type": "string" }, "syncToken": { - "description": "Optional. A sync token, received from a previous `ListDirectoryPeople` call. Provide this to retrieve only the resources changed since the last request. When syncing, all other parameters provided to `ListDirectoryPeople` must match the call that provided the sync token.", + "description": "Optional. A sync token, received from a previous response `next_sync_token` Provide this to retrieve only the resources changed since the last request. When syncing, all other parameters provided to `people.listDirectoryPeople` must match the first call that provided the sync token. More details about sync behavior at `people.listDirectoryPeople`.", "location": "query", "type": "string" } @@ -846,14 +864,14 @@ ] }, "searchContacts": { - "description": "Provides a list of contacts in the authenticated user's grouped contacts that matches the search query. The query matches on a contact's `names`, `nickNames`, `emailAddresses`, `phoneNumbers`, and `organizations` fields that are from the CONTACT\" source.", + "description": "Provides a list of contacts in the authenticated user's grouped contacts that matches the search query. The query matches on a contact's `names`, `nickNames`, `emailAddresses`, `phoneNumbers`, and `organizations` fields that are from the CONTACT source. **IMPORTANT**: Before searching, clients should send a warmup request with an empty query to update the cache. See https://developers.google.com/people/v1/contacts#search_the_users_contacts", "flatPath": "v1/people:searchContacts", "httpMethod": "GET", "id": "people.people.searchContacts", "parameterOrder": [], "parameters": { "pageSize": { - "description": "Optional. The number of results to return.", + "description": "Optional. The number of results to return. Defaults to 10 if field is not set, or set to 0. Values greater than 30 will be capped to 30.", "format": "int32", "location": "query", "type": "integer" @@ -868,6 +886,24 @@ "format": "google-fieldmask", "location": "query", "type": "string" + }, + "sources": { + "description": "Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT if not set.", + "enum": [ + "READ_SOURCE_TYPE_UNSPECIFIED", + "READ_SOURCE_TYPE_PROFILE", + "READ_SOURCE_TYPE_CONTACT", + "READ_SOURCE_TYPE_DOMAIN_CONTACT" + ], + "enumDescriptions": [ + "Unspecified.", + "Returns SourceType.ACCOUNT, SourceType.DOMAIN_PROFILE, and SourceType.PROFILE.", + "Returns SourceType.CONTACT.", + "Returns SourceType.DOMAIN_CONTACT." + ], + "location": "query", + "repeated": true, + "type": "string" } }, "path": "v1/people:searchContacts", @@ -907,7 +943,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. A page token, received from a previous `SearchDirectoryPeople` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchDirectoryPeople` must match the call that provided the page token.", + "description": "Optional. A page token, received from a previous response `next_page_token`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchDirectoryPeople` must match the first call that provided the page token.", "location": "query", "type": "string" }, @@ -931,8 +967,8 @@ ], "enumDescriptions": [ "Unspecified.", - "G Suite domain shared contact.", - "G Suite domain profile." + "Google Workspace domain shared contact.", + "Google Workspace domain profile." ], "location": "query", "repeated": true, @@ -948,7 +984,7 @@ ] }, "updateContact": { - "description": "Update contact data for an existing contact person. Any non-contact data will not be modified. Any non-contact data in the person to update will be ignored. All fields specified in the `update_mask` will be replaced. The server returns a 400 error if `person.metadata.sources` is not specified for the contact to be updated or if there is no contact source. The server returns a 400 error with reason `\"failedPrecondition\"` if `person.metadata.sources.etag` is different than the contact's etag, which indicates the contact has changed since its data was read. Clients should get the latest person and merge their updates into the latest person. The server returns a 400 error if `memberships` are being updated and there are no contact group memberships specified on the person. The server returns a 400 error if more than one field is specified on a field that is a singleton for contact sources: * biographies * birthdays * genders * names", + "description": "Update contact data for an existing contact person. Any non-contact data will not be modified. Any non-contact data in the person to update will be ignored. All fields specified in the `update_mask` will be replaced. The server returns a 400 error if `person.metadata.sources` is not specified for the contact to be updated or if there is no contact source. The server returns a 400 error with reason `\"failedPrecondition\"` if `person.metadata.sources.etag` is different than the contact's etag, which indicates the contact has changed since its data was read. Clients should get the latest person and merge their updates into the latest person. The server returns a 400 error if `memberships` are being updated and there are no contact group memberships specified on the person. The server returns a 400 error if more than one field is specified on a field that is a singleton for contact sources: * biographies * birthdays * genders * names Mutate requests for the same user should be sent sequentially to avoid increased latency and failures.", "flatPath": "v1/people/{peopleId}:updateContact", "httpMethod": "PATCH", "id": "people.people.updateContact", @@ -1006,7 +1042,7 @@ ] }, "updateContactPhoto": { - "description": "Update a contact's photo.", + "description": "Update a contact's photo. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures.", "flatPath": "v1/people/{peopleId}:updateContactPhoto", "httpMethod": "PATCH", "id": "people.people.updateContactPhoto", @@ -1038,7 +1074,7 @@ "connections": { "methods": { "list": { - "description": "Provides a list of the authenticated user's contacts. The request returns a 400 error if `personFields` is not specified. The request returns a 410 error if `sync_token` is specified and is expired. Sync tokens expire after 7 days to prevent data drift between clients and the server. To handle a sync token expired error, a request should be sent without `sync_token` to get all contacts.", + "description": "Provides a list of the authenticated user's contacts. Sync tokens expire 7 days after the full sync. A request with an expired sync token will result in a 410 error. In the case of such an error clients should make a full sync request without a `sync_token`. The first page of a full sync request has an additional quota. If the quota is exceeded, a 429 error will be returned. This quota is fixed and can not be increased. When the `sync_token` is specified, resources deleted since the last sync will be returned as a person with `PersonMetadata.deleted` set to true. When the `page_token` or `sync_token` is specified, all other request parameters must match the first call. Writes may have a propagation delay of several minutes for sync requests. Incremental syncs are not intended for read-after-write use cases. See example usage at [List the user's contacts that have changed](/people/v1/contacts#list_the_users_contacts_that_have_changed).", "flatPath": "v1/people/{peopleId}/connections", "httpMethod": "GET", "id": "people.people.connections.list", @@ -1053,7 +1089,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. A page token, received from a previous `ListConnections` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListConnections` must match the call that provided the page token.", + "description": "Optional. A page token, received from a previous response `next_page_token`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `people.connections.list` must match the first call that provided the page token.", "location": "query", "type": "string" }, @@ -1070,7 +1106,7 @@ "type": "string" }, "requestSyncToken": { - "description": "Optional. Whether the response should include `next_sync_token` on the last page, which can be used to get all changes since the last request. For subsequent sync requests use the `sync_token` param instead. Initial full sync requests that specify `request_sync_token` and do not specify `sync_token` have an additional rate limit per user. Each client should generally only be doing a full sync once every few days per user and so should not hit this limit.", + "description": "Optional. Whether the response should return `next_sync_token` on the last page of results. It can be used to get incremental changes since the last request by setting it on the request `sync_token`. More details about sync behavior at `people.connections.list`.", "location": "query", "type": "boolean" }, @@ -1117,7 +1153,7 @@ "type": "string" }, "syncToken": { - "description": "Optional. A sync token, received from a previous `ListConnections` call. Provide this to retrieve only the resources changed since the last request. When syncing, all other parameters provided to `ListConnections` except `page_size` and `page_token` must match the initial call that provided the sync token. Sync tokens expire after seven days, after which a full sync request without a `sync_token` should be made.", + "description": "Optional. A sync token, received from a previous response `next_sync_token` Provide this to retrieve only the resources changed since the last request. When syncing, all other parameters provided to `people.connections.list` must match the first call that provided the sync token. More details about sync behavior at `people.connections.list`.", "location": "query", "type": "string" } @@ -1136,7 +1172,7 @@ } } }, - "revision": "20210330", + "revision": "20220303", "rootUrl": "https://people.googleapis.com/", "schemas": { "Address": { @@ -1261,7 +1297,7 @@ "type": "object" }, "BatchCreateContactsResponse": { - "description": "The response to a request to create a batch of contacts.", + "description": "If not successful, returns BatchCreateContactsErrorDetails which contains a list of errors for each invalid contact. The response to a request to create a batch of contacts.", "id": "BatchCreateContactsResponse", "properties": { "createdPeople": { @@ -1346,7 +1382,7 @@ "type": "object" }, "BatchUpdateContactsResponse": { - "description": "The response to a request to create a batch of contacts.", + "description": "If not successful, returns BatchUpdateContactsErrorDetails, a list of errors corresponding to each contact. The response to a request to update a batch of contacts.", "id": "BatchUpdateContactsResponse", "properties": { "updateResult": { @@ -1389,19 +1425,19 @@ "type": "object" }, "Birthday": { - "description": "A person's birthday. At least one of the `date` and `text` fields are specified. The `date` and `text` fields typically represent the same date, but are not guaranteed to.", + "description": "A person's birthday. At least one of the `date` and `text` fields are specified. The `date` and `text` fields typically represent the same date, but are not guaranteed to. Clients should always set the `date` field when mutating birthdays.", "id": "Birthday", "properties": { "date": { "$ref": "Date", - "description": "The date of the birthday." + "description": "The structured date of the birthday." }, "metadata": { "$ref": "FieldMetadata", "description": "Metadata about the birthday." }, "text": { - "description": "A free-form string representing the user's birthday.", + "description": "Prefer to use the `date` field if set. A free-form string representing the user's birthday. This value is not validated.", "type": "string" } }, @@ -1520,7 +1556,7 @@ "readOnly": true }, "name": { - "description": "The contact group name set by the group owner or a system provided name for system groups.", + "description": "The contact group name set by the group owner or a system provided name for system groups. For [`contactGroups.create`](/people/api/rest/v1/contactGroups/create) or [`contactGroups.update`](/people/api/rest/v1/contactGroups/update) the name must be unique to the users contact groups. Attempting to create a group with a duplicate name will return a HTTP 409 error.", "type": "string" }, "resourceName": { @@ -1666,7 +1702,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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": { @@ -1699,11 +1735,11 @@ "type": "object" }, "DomainMembership": { - "description": "A G Suite Domain membership.", + "description": "A Google Workspace Domain membership.", "id": "DomainMembership", "properties": { "inViewerDomain": { - "description": "True if the person is in the viewer's G Suite domain.", + "description": "True if the person is in the viewer's Google Workspace domain.", "type": "boolean" } }, @@ -1796,13 +1832,18 @@ "id": "FieldMetadata", "properties": { "primary": { - "description": "True if the field is the primary field; false if the field is a secondary field.", + "description": "Output only. True if the field is the primary field for all sources in the person. Each person will have at most one field with `primary` set to true.", + "readOnly": true, "type": "boolean" }, "source": { "$ref": "Source", "description": "The source of the field." }, + "sourcePrimary": { + "description": "True if the field is the primary field for the source. Each source must have at most one field with `source_primary` set to true.", + "type": "boolean" + }, "verified": { "description": "Output only. True if the field is verified; false if the field is unverified. A verified field is typically a name, email address, phone number, or website that has been confirmed to be owned by the person.", "readOnly": true, @@ -1831,7 +1872,7 @@ "id": "Gender", "properties": { "addressMeAs": { - "description": "The type of pronouns that should be used to address the person. The value can be custom or one of these predefined values: * `male` * `female` * `other`", + "description": "Free form text field for pronouns that should be used to address the person. Common values are: * `he`/`him` * `she`/`her` * `they`/`them`", "type": "string" }, "formattedValue": { @@ -2026,6 +2067,11 @@ "$ref": "Person" }, "type": "array" + }, + "totalSize": { + "description": "The total number of other contacts in the list without pagination.", + "format": "int32", + "type": "integer" } }, "type": "object" @@ -2323,6 +2369,10 @@ "description": "A person's past or current organization. Overlapping date ranges are permitted.", "id": "Organization", "properties": { + "costCenter": { + "description": "The person's cost center at the organization.", + "type": "string" + }, "current": { "description": "True if the organization is the person's current organization; false if the organization is a past organization.", "type": "boolean" @@ -2344,6 +2394,11 @@ "readOnly": true, "type": "string" }, + "fullTimeEquivalentMillipercent": { + "description": "The person's full-time equivalent millipercent within the organization (100000 = 100%).", + "format": "int32", + "type": "integer" + }, "jobDescription": { "description": "The person's job description at the organization.", "type": "string" @@ -2463,7 +2518,7 @@ "type": "array" }, "emailAddresses": { - "description": "The person's email addresses.", + "description": "The person's email addresses. For `people.connections.list` and `otherContacts.list` the number of email addresses is limited to 100. If a Person has more email addresses the entire set can be obtained by calling GetPeople.", "items": { "$ref": "EmailAddress" }, @@ -2577,7 +2632,7 @@ "type": "array" }, "phoneNumbers": { - "description": "The person's phone numbers.", + "description": "The person's phone numbers. For `people.connections.list` and `otherContacts.list` the number of phone numbers is limited to 100. If a Person has more phone numbers the entire set can be obtained by calling GetPeople.", "items": { "$ref": "PhoneNumber" }, @@ -2669,7 +2724,7 @@ "id": "PersonMetadata", "properties": { "deleted": { - "description": "Output only. True if the person resource has been deleted. Populated only for [`connections.list`](/people/api/rest/v1/people.connections/list) requests that include a sync token.", + "description": "Output only. True if the person resource has been deleted. Populated only for `people.connections.list` and `otherContacts.list` sync requests.", "readOnly": true, "type": "boolean" }, @@ -2691,13 +2746,13 @@ "enumDescriptions": [ "Unspecified.", "Person.", - "[Currents Page.](https://gsuite.google.com/products/currents/)" + "[Currents Page.](https://workspace.google.com/products/currents/)" ], "readOnly": true, "type": "string" }, "previousResourceNames": { - "description": "Output only. Any former resource names this person has had. Populated only for [`connections.list`](/people/api/rest/v1/people.connections/list) requests that include a sync token. The resource name may change when adding or removing fields that link a contact and profile such as a verified email, verified phone number, or profile URL.", + "description": "Output only. Any former resource names this person has had. Populated only for `people.connections.list` requests that include a sync token. The resource name may change when adding or removing fields that link a contact and profile such as a verified email, verified phone number, or profile URL.", "items": { "type": "string" }, @@ -2800,7 +2855,7 @@ "enumDescriptions": [ "Unspecified.", "Person.", - "[Currents Page.](https://gsuite.google.com/products/currents/)" + "[Currents Page.](https://workspace.google.com/products/currents/)" ], "readOnly": true, "type": "string" @@ -2818,7 +2873,7 @@ "The user type is not known.", "The user is a Google user.", "The user is a Currents user.", - "The user is a G Suite user." + "The user is a Google Workspace user." ], "type": "string" }, @@ -3030,10 +3085,10 @@ "Unspecified.", "[Google Account](https://accounts.google.com).", "[Google profile](https://profiles.google.com). You can view the profile at [https://profiles.google.com/](https://profiles.google.com/){id}, where {id} is the source id.", - "[G Suite domain profile](https://support.google.com/a/answer/1628008).", + "[Google Workspace domain profile](https://support.google.com/a/answer/1628008).", "[Google contact](https://contacts.google.com). You can view the contact at [https://contact.google.com/](https://contact.google.com/){id}, where {id} is the source id.", "[Google \"Other contact\"](https://contacts.google.com/other).", - "[G Suite domain shared contact](https://support.google.com/a/answer/9281635)." + "[Google Workspace domain shared contact](https://support.google.com/a/answer/9281635)." ], "type": "string" }, diff --git a/etc/api/photoslibrary/v1/photoslibrary-api.json b/etc/api/photoslibrary/v1/photoslibrary-api.json index 46b2d69db2..0240e505d3 100644 --- a/etc/api/photoslibrary/v1/photoslibrary-api.json +++ b/etc/api/photoslibrary/v1/photoslibrary-api.json @@ -641,7 +641,7 @@ } } }, - "revision": "20210331", + "revision": "20220303", "rootUrl": "https://photoslibrary.googleapis.com/", "schemas": { "AddEnrichmentToAlbumRequest": { @@ -1141,7 +1141,7 @@ "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 must conform to the WGS84 standard. Values must be within normalized ranges.", + "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": { @@ -1279,7 +1279,7 @@ }, "contributorInfo": { "$ref": "ContributorInfo", - "description": "Information about the user who created this media item." + "description": "Information about the user who added this media item. Note that this is only included when using mediaItems.search with the ID of a shared album. The album must be created by your app and you must have the sharing scope." }, "description": { "description": "Description of the media item. This is shown to the user in the item's info section in the Google Photos app.", @@ -1302,7 +1302,7 @@ "type": "string" }, "productUrl": { - "description": "Google Photos URL for the media item. This link is available to the user only if they're signed in.", + "description": "Google Photos URL for the media item. This link is available to the user only if they're signed in. When retrieved from an album search, the URL points to the item inside the album.", "type": "string" } }, @@ -1354,7 +1354,7 @@ "type": "object" }, "MediaTypeFilter": { - "description": "This filter defines the type of media items to be returned, for example, videos or photos. All the specified media types are treated as an OR when used together.", + "description": "This filter defines the type of media items to be returned, for example, videos or photos. Only one media type is supported.", "id": "MediaTypeFilter", "properties": { "mediaTypes": { @@ -1477,6 +1477,10 @@ "$ref": "Filters", "description": "Filters to apply to the request. Can't be set in conjunction with an `albumId`." }, + "orderBy": { + "description": "An optional field to specify the sort order of the search results. The `orderBy` field only works when a dateFilter is used. When this field is not specified, results are displayed newest first, oldest last by their creationTime. Providing `MediaMetadata.creation_time` displays search results in the opposite order, oldest first then newest last. To display results newest first then oldest last, include the `desc` argument as follows: `MediaMetadata.creation_time desc`. The only additional filters that can be used with this parameter are includeArchivedMedia and excludeNonAppCreatedData. No other filters are supported.", + "type": "string" + }, "pageSize": { "description": "Maximum number of media items to return in the response. Fewer media items might be returned than the specified number. The default `pageSize` is 25, the maximum is 100.", "format": "int32", @@ -1668,7 +1672,7 @@ "enumDescriptions": [ "Video processing status is unknown.", "Video is being processed. The user sees an icon for this video in the Google Photos app; however, it isn't playable yet.", - "Video processing is complete and it is now ready for viewing.", + "Video processing is complete and it is now ready for viewing. Important: attempting to download a video not in the READY state may fail.", "Something has gone wrong and the video has failed to process." ], "type": "string" diff --git a/etc/api/playcustomapp/v1/playcustomapp-api.json b/etc/api/playcustomapp/v1/playcustomapp-api.json index d0a7588ff3..a1d2fcb58f 100644 --- a/etc/api/playcustomapp/v1/playcustomapp-api.json +++ b/etc/api/playcustomapp/v1/playcustomapp-api.json @@ -158,7 +158,7 @@ } } }, - "revision": "20210331", + "revision": "20220305", "rootUrl": "https://playcustomapp.googleapis.com/", "schemas": { "CustomApp": { @@ -169,6 +169,13 @@ "description": "Default listing language in BCP 47 format.", "type": "string" }, + "organizations": { + "description": "Organizations to which the custom app should be made available. If the request contains any organizations, then the app will be restricted to only these organizations. To support the organization linked to the developer account, the organization ID should be provided explicitly together with other organizations. If no organizations are provided, then the app is only available to the organization linked to the developer account.", + "items": { + "$ref": "Organization" + }, + "type": "array" + }, "packageName": { "description": "Output only. Package name of the created Android app. Only present in the API response.", "readOnly": true, @@ -180,6 +187,21 @@ } }, "type": "object" + }, + "Organization": { + "description": "Represents an organization that can access a custom app.", + "id": "Organization", + "properties": { + "organizationId": { + "description": "Required. ID of the organization.", + "type": "string" + }, + "organizationName": { + "description": "Optional. A human-readable name of the organization, to help recognize the organization.", + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/etc/api/playintegrity/v1/playintegrity-api.json b/etc/api/playintegrity/v1/playintegrity-api.json new file mode 100644 index 0000000000..078c9a8118 --- /dev/null +++ b/etc/api/playintegrity/v1/playintegrity-api.json @@ -0,0 +1,319 @@ +{ + "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": "Play Integrity", + "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": { + "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": "20220305", + "rootUrl": "https://playintegrity.googleapis.com/", + "schemas": { + "AccountDetails": { + "description": "Contains the account information such as the licensing status for the user in the scope.", + "id": "AccountDetails", + "properties": { + "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" + }, + "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": "Hex fingerprint of the application signing certificate. e.g. \u201cABCE1F....\u201d 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" + }, + "DeviceIntegrity": { + "description": "Contains the device attestation information.", + "id": "DeviceIntegrity", + "properties": { + "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" + } + }, + "type": "object" + }, + "RequestDetails": { + "description": "Contains the integrity request information.", + "id": "RequestDetails", + "properties": { + "nonce": { + "description": "Required. Nonce that was provided in the request (which is base64 web-safe no-wrap).", + "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." + }, + "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" + } + }, + "servicePath": "", + "title": "Google Play Integrity API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/policyanalyzer/v1/policyanalyzer-api.json b/etc/api/policyanalyzer/v1/policyanalyzer-api.json new file mode 100644 index 0000000000..2c669da3d1 --- /dev/null +++ b/etc/api/policyanalyzer/v1/policyanalyzer-api.json @@ -0,0 +1,235 @@ +{ + "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:v1", + "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": { + "projects": { + "resources": { + "locations": { + "resources": { + "activityTypes": { + "resources": { + "activities": { + "methods": { + "query": { + "description": "Queries policy activities on Google Cloud resources.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/activityTypes/{activityTypesId}/activities:query", + "httpMethod": "GET", + "id": "policyanalyzer.projects.locations.activityTypes.activities.query", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter expression to restrict the activities returned. For serviceAccountLastAuthentication activities, supported filters are: - `activities.full_resource_name {=} [STRING]` - `activities.fullResourceName {=} [STRING]` where `[STRING]` is the full resource name of the service account. For serviceAccountKeyLastAuthentication activities, supported filters are: - `activities.full_resource_name {=} [STRING]` - `activities.fullResourceName {=} [STRING]` where `[STRING]` is the full resource name of the service account key.", + "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 Google Cloud Locations: https://cloud.google.com/about/locations/", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/activityTypes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/activities:query", + "response": { + "$ref": "GoogleCloudPolicyanalyzerV1QueryActivityResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20220227", + "rootUrl": "https://policyanalyzer.googleapis.com/", + "schemas": { + "GoogleCloudPolicyanalyzerV1Activity": { + "id": "GoogleCloudPolicyanalyzerV1Activity", + "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": "GoogleCloudPolicyanalyzerV1ObservationPeriod", + "description": "The data observation period to build the activity." + } + }, + "type": "object" + }, + "GoogleCloudPolicyanalyzerV1ObservationPeriod": { + "description": "Represents data observation period.", + "id": "GoogleCloudPolicyanalyzerV1ObservationPeriod", + "properties": { + "endTime": { + "description": "The observation end time. The time in this timestamp is always `07:00:00Z`.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "The observation start time. The time in this timestamp is always `07:00:00Z`.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudPolicyanalyzerV1QueryActivityResponse": { + "description": "Response to the `QueryActivity` method.", + "id": "GoogleCloudPolicyanalyzerV1QueryActivityResponse", + "properties": { + "activities": { + "description": "The set of activities that match the filter included in the request.", + "items": { + "$ref": "GoogleCloudPolicyanalyzerV1Activity" + }, + "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": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/policyanalyzer/v1beta1/policyanalyzer-api.json b/etc/api/policyanalyzer/v1beta1/policyanalyzer-api.json new file mode 100644 index 0000000000..0769720fe7 --- /dev/null +++ b/etc/api/policyanalyzer/v1beta1/policyanalyzer-api.json @@ -0,0 +1,235 @@ +{ + "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": { + "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": "20220227", + "rootUrl": "https://policyanalyzer.googleapis.com/", + "schemas": { + "GoogleCloudPolicyanalyzerV1beta1Activity": { + "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/etc/api/policysimulator/v1/policysimulator-api.json b/etc/api/policysimulator/v1/policysimulator-api.json index 6f05610a26..0854676c04 100644 --- a/etc/api/policysimulator/v1/policysimulator-api.json +++ b/etc/api/policysimulator/v1/policysimulator-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -493,15 +493,15 @@ } } }, - "revision": "20210330", + "revision": "20220227", "rootUrl": "https://policysimulator.googleapis.com/", "schemas": { "GoogleCloudPolicysimulatorV1AccessStateDiff": { - "description": "A summary and comparison of the member's access under the current (baseline) policies and the proposed (simulated) policies for a single access tuple.", + "description": "A summary and comparison of the principal's access under the current (baseline) policies and the proposed (simulated) policies for a single access tuple.", "id": "GoogleCloudPolicysimulatorV1AccessStateDiff", "properties": { "accessChange": { - "description": "How the member's access, specified in the AccessState field, changed between the current (baseline) policies and proposed (simulated) policies.", + "description": "How the principal's access, specified in the AccessState field, changed between the current (baseline) policies and proposed (simulated) policies.", "enum": [ "ACCESS_CHANGE_TYPE_UNSPECIFIED", "NO_CHANGE", @@ -512,13 +512,13 @@ "ACCESS_MAYBE_GAINED" ], "enumDescriptions": [ - "The access change is unspecified.", - "The member's access did not change. This includes the case where both baseline and simulated are UNKNOWN, but the unknown information is equivalent.", - "The member's access under both the current policies and the proposed policies is `UNKNOWN`, but the unknown information differs between them.", - "The member had access under the current policies (`GRANTED`), but will no longer have access after the proposed changes (`NOT_GRANTED`).", - "The member did not have access under the current policies (`NOT_GRANTED`), but will have access after the proposed changes (`GRANTED`).", - "This result can occur for the following reasons: * The member had access under the current policies (`GRANTED`), but their access after the proposed changes is `UNKNOWN`. * The member's access under the current policies is `UNKNOWN`, but they will not have access after the proposed changes (`NOT_GRANTED`).", - "This result can occur for the following reasons: * The member did not have access under the current policies (`NOT_GRANTED`), but their access after the proposed changes is `UNKNOWN`. * The member's access under the current policies is `UNKNOWN`, but they will have access after the proposed changes (`GRANTED`)." + "Default value. This value is unused.", + "The principal's access did not change. This includes the case where both baseline and simulated are UNKNOWN, but the unknown information is equivalent.", + "The principal's access under both the current policies and the proposed policies is `UNKNOWN`, but the unknown information differs between them.", + "The principal had access under the current policies (`GRANTED`), but will no longer have access after the proposed changes (`NOT_GRANTED`).", + "The principal did not have access under the current policies (`NOT_GRANTED`), but will have access after the proposed changes (`GRANTED`).", + "This result can occur for the following reasons: * The principal had access under the current policies (`GRANTED`), but their access after the proposed changes is `UNKNOWN`. * The principal's access under the current policies is `UNKNOWN`, but they will not have access after the proposed changes (`NOT_GRANTED`).", + "This result can occur for the following reasons: * The principal did not have access under the current policies (`NOT_GRANTED`), but their access after the proposed changes is `UNKNOWN`. * The principal's access under the current policies is `UNKNOWN`, but they will have access after the proposed changes (`GRANTED`)." ], "type": "string" }, @@ -534,7 +534,7 @@ "type": "object" }, "GoogleCloudPolicysimulatorV1AccessTuple": { - "description": "Information about the member, resource, and permission to check.", + "description": "Information about the principal, resource, and permission to check.", "id": "GoogleCloudPolicysimulatorV1AccessTuple", "properties": { "fullResourceName": { @@ -542,22 +542,22 @@ "type": "string" }, "permission": { - "description": "Required. The IAM permission to check for the specified member and resource. For a complete list of IAM permissions, see https://cloud.google.com/iam/help/permissions/reference. For a complete list of predefined IAM roles and the permissions in each role, see https://cloud.google.com/iam/help/roles/reference.", + "description": "Required. The IAM permission to check for the specified principal and resource. For a complete list of IAM permissions, see https://cloud.google.com/iam/help/permissions/reference. For a complete list of predefined IAM roles and the permissions in each role, see https://cloud.google.com/iam/help/roles/reference.", "type": "string" }, "principal": { - "description": "Required. The member, or principal, whose access you want to check, in the form of the email address that represents that member. For example, `alice@example.com` or `my-service-account@my-project.iam.gserviceaccount.com`. The member must be a Google Account or a service account. Other types of members are not supported.", + "description": "Required. The principal whose access you want to check, in the form of the email address that represents that principal. For example, `alice@example.com` or `my-service-account@my-project.iam.gserviceaccount.com`. The principal must be a Google Account or a service account. Other types of principals are not supported.", "type": "string" } }, "type": "object" }, "GoogleCloudPolicysimulatorV1BindingExplanation": { - "description": "Details about how a binding in a policy affects a member's ability to use a permission.", + "description": "Details about how a binding in a policy affects a principal's ability to use a permission.", "id": "GoogleCloudPolicysimulatorV1BindingExplanation", "properties": { "access": { - "description": "Required. Indicates whether _this binding_ provides the specified permission to the specified member for the specified resource. This field does _not_ indicate whether the member actually has the permission for the resource. There might be another binding that overrides this binding. To determine whether the member actually has the permission, use the `access` field in the TroubleshootIamPolicyResponse.", + "description": "Required. Indicates whether _this binding_ provides the specified permission to the specified principal for the specified resource. This field does _not_ indicate whether the principal actually has the permission for the resource. There might be another binding that overrides this binding. To determine whether the principal actually has the permission, use the `access` field in the TroubleshootIamPolicyResponse.", "enum": [ "ACCESS_STATE_UNSPECIFIED", "GRANTED", @@ -566,10 +566,10 @@ "UNKNOWN_INFO_DENIED" ], "enumDescriptions": [ - "The access state is not specified.", - "The member has the permission.", - "The member does not have the permission.", - "The member has the permission only if a condition expression evaluates to `true`.", + "Default value. This value is unused.", + "The principal has the permission.", + "The principal does not have the permission.", + "The principal has the permission only if a condition expression evaluates to `true`.", "The user who created the Replay does not have access to all of the policies that Policy Simulator needs to evaluate." ], "type": "string" @@ -582,7 +582,7 @@ "additionalProperties": { "$ref": "GoogleCloudPolicysimulatorV1BindingExplanationAnnotatedMembership" }, - "description": "Indicates whether each member in the binding includes the member specified in the request, either directly or indirectly. Each key identifies a member in the binding, and each value indicates whether the member in the binding includes the member in the request. For example, suppose that a binding includes the following members: * `user:alice@example.com` * `group:product-eng@example.com` The member in the replayed access tuple is `user:bob@example.com`. This user is a member of the group `group:product-eng@example.com`. For the first member in the binding, the key is `user:alice@example.com`, and the `membership` field in the value is set to `MEMBERSHIP_NOT_INCLUDED`. For the second member in the binding, the key is `group:product-eng@example.com`, and the `membership` field in the value is set to `MEMBERSHIP_INCLUDED`.", + "description": "Indicates whether each principal in the binding includes the principal specified in the request, either directly or indirectly. Each key identifies a principal in the binding, and each value indicates whether the principal in the binding includes the principal in the request. For example, suppose that a binding includes the following principals: * `user:alice@example.com` * `group:product-eng@example.com` The principal in the replayed access tuple is `user:bob@example.com`. This user is a principal of the group `group:product-eng@example.com`. For the first principal in the binding, the key is `user:alice@example.com`, and the `membership` field in the value is set to `MEMBERSHIP_NOT_INCLUDED`. For the second principal in the binding, the key is `group:product-eng@example.com`, and the `membership` field in the value is set to `MEMBERSHIP_INCLUDED`.", "type": "object" }, "relevance": { @@ -593,7 +593,7 @@ "HIGH" ], "enumDescriptions": [ - "Reserved for future use.", + "Default value. This value is unused.", "The data point has a limited effect on the result. Changing the data point is unlikely to affect the overall determination.", "The data point has a strong effect on the result. Changing the data point is likely to affect the overall determination." ], @@ -612,7 +612,7 @@ "ROLE_PERMISSION_UNKNOWN_INFO_DENIED" ], "enumDescriptions": [ - "The inclusion of the permission is not specified.", + "Default value. This value is unused.", "The permission is included in the role.", "The permission is not included in the role.", "The user who created the Replay is not allowed to access the binding." @@ -627,7 +627,7 @@ "HIGH" ], "enumDescriptions": [ - "Reserved for future use.", + "Default value. This value is unused.", "The data point has a limited effect on the result. Changing the data point is unlikely to affect the overall determination.", "The data point has a strong effect on the result. Changing the data point is likely to affect the overall determination." ], @@ -637,11 +637,11 @@ "type": "object" }, "GoogleCloudPolicysimulatorV1BindingExplanationAnnotatedMembership": { - "description": "Details about whether the binding includes the member.", + "description": "Details about whether the binding includes the principal.", "id": "GoogleCloudPolicysimulatorV1BindingExplanationAnnotatedMembership", "properties": { "membership": { - "description": "Indicates whether the binding includes the member.", + "description": "Indicates whether the binding includes the principal.", "enum": [ "MEMBERSHIP_UNSPECIFIED", "MEMBERSHIP_INCLUDED", @@ -650,23 +650,23 @@ "MEMBERSHIP_UNKNOWN_UNSUPPORTED" ], "enumDescriptions": [ - "The membership is not specified.", - "The binding includes the member. The member can be included directly or indirectly. For example: * A member is included directly if that member is listed in the binding. * A member is included indirectly if that member is in a Google group or Google Workspace domain that is listed in the binding.", - "The binding does not include the member.", + "Default value. This value is unused.", + "The binding includes the principal. The principal can be included directly or indirectly. For example: * A principal is included directly if that principal is listed in the binding. * A principal is included indirectly if that principal is in a Google group or Google Workspace domain that is listed in the binding.", + "The binding does not include the principal.", "The user who created the Replay is not allowed to access the binding.", - "The member is an unsupported type. Only Google Accounts and service accounts are supported." + "The principal is an unsupported type. Only Google Accounts and service accounts are supported." ], "type": "string" }, "relevance": { - "description": "The relevance of the member's status to the overall determination for the binding.", + "description": "The relevance of the principal's status to the overall determination for the binding.", "enum": [ "HEURISTIC_RELEVANCE_UNSPECIFIED", "NORMAL", "HIGH" ], "enumDescriptions": [ - "Reserved for future use.", + "Default value. This value is unused.", "The data point has a limited effect on the result. Changing the data point is unlikely to affect the overall determination.", "The data point has a strong effect on the result. Changing the data point is likely to affect the overall determination." ], @@ -680,7 +680,7 @@ "id": "GoogleCloudPolicysimulatorV1ExplainedAccess", "properties": { "accessState": { - "description": "Whether the member in the access tuple has permission to access the resource in the access tuple under the given policies.", + "description": "Whether the principal in the access tuple has permission to access the resource in the access tuple under the given policies.", "enum": [ "ACCESS_STATE_UNSPECIFIED", "GRANTED", @@ -689,10 +689,10 @@ "UNKNOWN_INFO_DENIED" ], "enumDescriptions": [ - "The access state is not specified.", - "The member has the permission.", - "The member does not have the permission.", - "The member has the permission only if a condition expression evaluates to `true`.", + "Default value. This value is unused.", + "The principal has the permission.", + "The principal does not have the permission.", + "The principal has the permission only if a condition expression evaluates to `true`.", "The user who created the Replay does not have access to all of the policies that Policy Simulator needs to evaluate." ], "type": "string" @@ -719,7 +719,7 @@ "id": "GoogleCloudPolicysimulatorV1ExplainedPolicy", "properties": { "access": { - "description": "Indicates whether _this policy_ provides the specified permission to the specified member for the specified resource. This field does _not_ indicate whether the member actually has the permission for the resource. There might be another policy that overrides this policy. To determine whether the member actually has the permission, use the `access` field in the TroubleshootIamPolicyResponse.", + "description": "Indicates whether _this policy_ provides the specified permission to the specified principal for the specified resource. This field does _not_ indicate whether the principal actually has the permission for the resource. There might be another policy that overrides this policy. To determine whether the principal actually has the permission, use the `access` field in the TroubleshootIamPolicyResponse.", "enum": [ "ACCESS_STATE_UNSPECIFIED", "GRANTED", @@ -728,16 +728,16 @@ "UNKNOWN_INFO_DENIED" ], "enumDescriptions": [ - "The access state is not specified.", - "The member has the permission.", - "The member does not have the permission.", - "The member has the permission only if a condition expression evaluates to `true`.", + "Default value. This value is unused.", + "The principal has the permission.", + "The principal does not have the permission.", + "The principal has the permission only if a condition expression evaluates to `true`.", "The user who created the Replay does not have access to all of the policies that Policy Simulator needs to evaluate." ], "type": "string" }, "bindingExplanations": { - "description": "Details about how each binding in the policy affects the member's ability, or inability, to use the permission for the resource. If the user who created the Replay does not have access to the policy, this field is omitted.", + "description": "Details about how each binding in the policy affects the principal's ability, or inability, to use the permission for the resource. If the user who created the Replay does not have access to the policy, this field is omitted.", "items": { "$ref": "GoogleCloudPolicysimulatorV1BindingExplanation" }, @@ -759,7 +759,7 @@ "HIGH" ], "enumDescriptions": [ - "Reserved for future use.", + "Default value. This value is unused.", "The data point has a limited effect on the result. Changing the data point is unlikely to affect the overall determination.", "The data point has a strong effect on the result. Changing the data point is likely to affect the overall determination." ], @@ -814,7 +814,7 @@ "FAILED" ], "enumDescriptions": [ - "The state is unspecified.", + "Default value. This value is unused.", "The `Replay` has not started yet.", "The `Replay` is currently running.", "The `Replay` has successfully completed.", @@ -853,12 +853,12 @@ "type": "object" }, "GoogleCloudPolicysimulatorV1ReplayDiff": { - "description": "The difference between the results of evaluating an access tuple under the current (baseline) policies and under the proposed (simulated) policies. This difference explains how a member's access could change if the proposed policies were applied.", + "description": "The difference between the results of evaluating an access tuple under the current (baseline) policies and under the proposed (simulated) policies. This difference explains how a principal's access could change if the proposed policies were applied.", "id": "GoogleCloudPolicysimulatorV1ReplayDiff", "properties": { "accessDiff": { "$ref": "GoogleCloudPolicysimulatorV1AccessStateDiff", - "description": "A summary and comparison of the member's access under the current (baseline) policies and the proposed (simulated) policies for a single access tuple. The evaluation of the member's access is reported in the AccessState field." + "description": "A summary and comparison of the principal's access under the current (baseline) policies and the proposed (simulated) policies for a single access tuple. The evaluation of the principal's access is reported in the AccessState field." } }, "type": "object" @@ -881,11 +881,11 @@ "properties": { "accessTuple": { "$ref": "GoogleCloudPolicysimulatorV1AccessTuple", - "description": "The access tuple that was replayed. This field includes information about the member, resource, and permission that were involved in the access attempt." + "description": "The access tuple that was replayed. This field includes information about the principal, resource, and permission that were involved in the access attempt." }, "diff": { "$ref": "GoogleCloudPolicysimulatorV1ReplayDiff", - "description": "The difference between the member's access under the current (baseline) policies and the member's access under the proposed (simulated) policies. This field is only included for access tuples that were successfully replayed and had different results under the current policies and the proposed policies." + "description": "The difference between the principal's access under the current (baseline) policies and the principal's access under the proposed (simulated) policies. This field is only included for access tuples that were successfully replayed and had different results under the current policies and the proposed policies." }, "error": { "$ref": "GoogleRpcStatus", @@ -1103,29 +1103,29 @@ "type": "object" }, "GoogleIamV1Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "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" }, "GoogleIamV1Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` 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/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "GoogleIamV1Policy", "properties": { "auditConfigs": { @@ -1136,7 +1136,7 @@ "type": "array" }, "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.", + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", "items": { "$ref": "GoogleIamV1Binding" }, @@ -1236,7 +1236,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "GoogleTypeDate", "properties": { "day": { diff --git a/etc/api/policysimulator/v1beta1/policysimulator-api.json b/etc/api/policysimulator/v1beta1/policysimulator-api.json index 76984895c3..250ce15796 100644 --- a/etc/api/policysimulator/v1beta1/policysimulator-api.json +++ b/etc/api/policysimulator/v1beta1/policysimulator-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -493,7 +493,7 @@ } } }, - "revision": "20210330", + "revision": "20220227", "rootUrl": "https://policysimulator.googleapis.com/", "schemas": { "GoogleCloudPolicysimulatorV1Replay": { @@ -524,7 +524,7 @@ "FAILED" ], "enumDescriptions": [ - "The state is unspecified.", + "Default value. This value is unused.", "The `Replay` has not started yet.", "The `Replay` is currently running.", "The `Replay` has successfully completed.", @@ -647,7 +647,7 @@ "type": "object" }, "GoogleCloudPolicysimulatorV1beta1AccessTuple": { - "description": "Information about the member, resource, and permission to check.", + "description": "Information about the principal, resource, and permission to check.", "id": "GoogleCloudPolicysimulatorV1beta1AccessTuple", "properties": { "fullResourceName": { @@ -655,22 +655,22 @@ "type": "string" }, "permission": { - "description": "Required. The IAM permission to check for the specified member and resource. For a complete list of IAM permissions, see https://cloud.google.com/iam/help/permissions/reference. For a complete list of predefined IAM roles and the permissions in each role, see https://cloud.google.com/iam/help/roles/reference.", + "description": "Required. The IAM permission to check for the specified principal and resource. For a complete list of IAM permissions, see https://cloud.google.com/iam/help/permissions/reference. For a complete list of predefined IAM roles and the permissions in each role, see https://cloud.google.com/iam/help/roles/reference.", "type": "string" }, "principal": { - "description": "Required. The member, or principal, whose access you want to check, in the form of the email address that represents that member. For example, `alice@example.com` or `my-service-account@my-project.iam.gserviceaccount.com`. The member must be a Google Account or a service account. Other types of members are not supported.", + "description": "Required. The principal whose access you want to check, in the form of the email address that represents that principal. For example, `alice@example.com` or `my-service-account@my-project.iam.gserviceaccount.com`. The principal must be a Google Account or a service account. Other types of principals are not supported.", "type": "string" } }, "type": "object" }, "GoogleCloudPolicysimulatorV1beta1BindingExplanation": { - "description": "Details about how a binding in a policy affects a member's ability to use a permission.", + "description": "Details about how a binding in a policy affects a principal's ability to use a permission.", "id": "GoogleCloudPolicysimulatorV1beta1BindingExplanation", "properties": { "access": { - "description": "Required. Indicates whether _this binding_ provides the specified permission to the specified member for the specified resource. This field does _not_ indicate whether the member actually has the permission for the resource. There might be another binding that overrides this binding. To determine whether the member actually has the permission, use the `access` field in the TroubleshootIamPolicyResponse.", + "description": "Required. Indicates whether _this binding_ provides the specified permission to the specified principal for the specified resource. This field does _not_ indicate whether the principal actually has the permission for the resource. There might be another binding that overrides this binding. To determine whether the principal actually has the permission, use the `access` field in the TroubleshootIamPolicyResponse.", "enum": [ "ACCESS_STATE_UNSPECIFIED", "GRANTED", @@ -679,10 +679,10 @@ "UNKNOWN_INFO_DENIED" ], "enumDescriptions": [ - "The access state is not specified.", - "The member has the permission.", - "The member does not have the permission.", - "The member has the permission only if a condition expression evaluates to `true`.", + "Default value. This value is unused.", + "The principal has the permission.", + "The principal does not have the permission.", + "The principal has the permission only if a condition expression evaluates to `true`.", "The user who created the Replay does not have access to all of the policies that Policy Simulator needs to evaluate." ], "type": "string" @@ -695,7 +695,7 @@ "additionalProperties": { "$ref": "GoogleCloudPolicysimulatorV1beta1BindingExplanationAnnotatedMembership" }, - "description": "Indicates whether each member in the binding includes the member specified in the request, either directly or indirectly. Each key identifies a member in the binding, and each value indicates whether the member in the binding includes the member in the request. For example, suppose that a binding includes the following members: * `user:alice@example.com` * `group:product-eng@example.com` The member in the replayed access tuple is `user:bob@example.com`. This user is a member of the group `group:product-eng@example.com`. For the first member in the binding, the key is `user:alice@example.com`, and the `membership` field in the value is set to `MEMBERSHIP_NOT_INCLUDED`. For the second member in the binding, the key is `group:product-eng@example.com`, and the `membership` field in the value is set to `MEMBERSHIP_INCLUDED`.", + "description": "Indicates whether each principal in the binding includes the principal specified in the request, either directly or indirectly. Each key identifies a principal in the binding, and each value indicates whether the principal in the binding includes the principal in the request. For example, suppose that a binding includes the following principals: * `user:alice@example.com` * `group:product-eng@example.com` The principal in the replayed access tuple is `user:bob@example.com`. This user is a principal of the group `group:product-eng@example.com`. For the first principal in the binding, the key is `user:alice@example.com`, and the `membership` field in the value is set to `MEMBERSHIP_NOT_INCLUDED`. For the second principal in the binding, the key is `group:product-eng@example.com`, and the `membership` field in the value is set to `MEMBERSHIP_INCLUDED`.", "type": "object" }, "relevance": { @@ -706,7 +706,7 @@ "HIGH" ], "enumDescriptions": [ - "Reserved for future use.", + "Default value. This value is unused.", "The data point has a limited effect on the result. Changing the data point is unlikely to affect the overall determination.", "The data point has a strong effect on the result. Changing the data point is likely to affect the overall determination." ], @@ -725,7 +725,7 @@ "ROLE_PERMISSION_UNKNOWN_INFO_DENIED" ], "enumDescriptions": [ - "The inclusion of the permission is not specified.", + "Default value. This value is unused.", "The permission is included in the role.", "The permission is not included in the role.", "The user who created the Replay is not allowed to access the binding." @@ -740,7 +740,7 @@ "HIGH" ], "enumDescriptions": [ - "Reserved for future use.", + "Default value. This value is unused.", "The data point has a limited effect on the result. Changing the data point is unlikely to affect the overall determination.", "The data point has a strong effect on the result. Changing the data point is likely to affect the overall determination." ], @@ -750,11 +750,11 @@ "type": "object" }, "GoogleCloudPolicysimulatorV1beta1BindingExplanationAnnotatedMembership": { - "description": "Details about whether the binding includes the member.", + "description": "Details about whether the binding includes the principal.", "id": "GoogleCloudPolicysimulatorV1beta1BindingExplanationAnnotatedMembership", "properties": { "membership": { - "description": "Indicates whether the binding includes the member.", + "description": "Indicates whether the binding includes the principal.", "enum": [ "MEMBERSHIP_UNSPECIFIED", "MEMBERSHIP_INCLUDED", @@ -763,23 +763,23 @@ "MEMBERSHIP_UNKNOWN_UNSUPPORTED" ], "enumDescriptions": [ - "The membership is not specified.", - "The binding includes the member. The member can be included directly or indirectly. For example: * A member is included directly if that member is listed in the binding. * A member is included indirectly if that member is in a Google group or Google Workspace domain that is listed in the binding.", - "The binding does not include the member.", + "Default value. This value is unused.", + "The binding includes the principal. The principal can be included directly or indirectly. For example: * A principal is included directly if that principal is listed in the binding. * A principal is included indirectly if that principal is in a Google group or Google Workspace domain that is listed in the binding.", + "The binding does not include the principal.", "The user who created the Replay is not allowed to access the binding.", - "The member is an unsupported type. Only Google Accounts and service accounts are supported." + "The principal is an unsupported type. Only Google Accounts and service accounts are supported." ], "type": "string" }, "relevance": { - "description": "The relevance of the member's status to the overall determination for the binding.", + "description": "The relevance of the principal's status to the overall determination for the binding.", "enum": [ "HEURISTIC_RELEVANCE_UNSPECIFIED", "NORMAL", "HIGH" ], "enumDescriptions": [ - "Reserved for future use.", + "Default value. This value is unused.", "The data point has a limited effect on the result. Changing the data point is unlikely to affect the overall determination.", "The data point has a strong effect on the result. Changing the data point is likely to affect the overall determination." ], @@ -802,10 +802,10 @@ "UNKNOWN_INFO_DENIED" ], "enumDescriptions": [ - "The access state is not specified.", - "The member has the permission.", - "The member does not have the permission.", - "The member has the permission only if a condition expression evaluates to `true`.", + "Default value. This value is unused.", + "The principal has the permission.", + "The principal does not have the permission.", + "The principal has the permission only if a condition expression evaluates to `true`.", "The user who created the Replay does not have access to all of the policies that Policy Simulator needs to evaluate." ], "type": "string" @@ -832,7 +832,7 @@ "id": "GoogleCloudPolicysimulatorV1beta1ExplainedPolicy", "properties": { "access": { - "description": "Indicates whether _this policy_ provides the specified permission to the specified member for the specified resource. This field does _not_ indicate whether the member actually has the permission for the resource. There might be another policy that overrides this policy. To determine whether the member actually has the permission, use the `access` field in the TroubleshootIamPolicyResponse.", + "description": "Indicates whether _this policy_ provides the specified permission to the specified principal for the specified resource. This field does _not_ indicate whether the principal actually has the permission for the resource. There might be another policy that overrides this policy. To determine whether the principal actually has the permission, use the `access` field in the TroubleshootIamPolicyResponse.", "enum": [ "ACCESS_STATE_UNSPECIFIED", "GRANTED", @@ -841,16 +841,16 @@ "UNKNOWN_INFO_DENIED" ], "enumDescriptions": [ - "The access state is not specified.", - "The member has the permission.", - "The member does not have the permission.", - "The member has the permission only if a condition expression evaluates to `true`.", + "Default value. This value is unused.", + "The principal has the permission.", + "The principal does not have the permission.", + "The principal has the permission only if a condition expression evaluates to `true`.", "The user who created the Replay does not have access to all of the policies that Policy Simulator needs to evaluate." ], "type": "string" }, "bindingExplanations": { - "description": "Details about how each binding in the policy affects the member's ability, or inability, to use the permission for the resource. If the user who created the Replay does not have access to the policy, this field is omitted.", + "description": "Details about how each binding in the policy affects the principal's ability, or inability, to use the permission for the resource. If the user who created the Replay does not have access to the policy, this field is omitted.", "items": { "$ref": "GoogleCloudPolicysimulatorV1beta1BindingExplanation" }, @@ -872,7 +872,7 @@ "HIGH" ], "enumDescriptions": [ - "Reserved for future use.", + "Default value. This value is unused.", "The data point has a limited effect on the result. Changing the data point is unlikely to affect the overall determination.", "The data point has a strong effect on the result. Changing the data point is likely to affect the overall determination." ], @@ -1103,29 +1103,29 @@ "type": "object" }, "GoogleIamV1Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "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" }, "GoogleIamV1Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` 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/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "GoogleIamV1Policy", "properties": { "auditConfigs": { @@ -1136,7 +1136,7 @@ "type": "array" }, "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.", + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", "items": { "$ref": "GoogleIamV1Binding" }, @@ -1236,7 +1236,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "GoogleTypeDate", "properties": { "day": { diff --git a/etc/api/policytroubleshooter/v1/policytroubleshooter-api.json b/etc/api/policytroubleshooter/v1/policytroubleshooter-api.json index 154ba80287..7ea9280e38 100644 --- a/etc/api/policytroubleshooter/v1/policytroubleshooter-api.json +++ b/etc/api/policytroubleshooter/v1/policytroubleshooter-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -108,7 +108,7 @@ "iam": { "methods": { "troubleshoot": { - "description": "Checks whether a member has a specific permission for a specific resource, and explains why the member does or does not have that permission.", + "description": "Checks whether a principal has a specific permission for a specific resource, and explains why the principal does or does not have that permission.", "flatPath": "v1/iam:troubleshoot", "httpMethod": "POST", "id": "policytroubleshooter.iam.troubleshoot", @@ -128,11 +128,11 @@ } } }, - "revision": "20210329", + "revision": "20220227", "rootUrl": "https://policytroubleshooter.googleapis.com/", "schemas": { "GoogleCloudPolicytroubleshooterV1AccessTuple": { - "description": "Information about the member, resource, and permission to check.", + "description": "Information about the principal, resource, and permission to check.", "id": "GoogleCloudPolicytroubleshooterV1AccessTuple", "properties": { "fullResourceName": { @@ -140,22 +140,22 @@ "type": "string" }, "permission": { - "description": "Required. The IAM permission to check for the specified member and resource. For a complete list of IAM permissions, see https://cloud.google.com/iam/help/permissions/reference. For a complete list of predefined IAM roles and the permissions in each role, see https://cloud.google.com/iam/help/roles/reference.", + "description": "Required. The IAM permission to check for the specified principal and resource. For a complete list of IAM permissions, see https://cloud.google.com/iam/help/permissions/reference. For a complete list of predefined IAM roles and the permissions in each role, see https://cloud.google.com/iam/help/roles/reference.", "type": "string" }, "principal": { - "description": "Required. The member, or principal, whose access you want to check, in the form of the email address that represents that member. For example, `alice@example.com` or `my-service-account@my-project.iam.gserviceaccount.com`. The member must be a Google Account or a service account. Other types of members are not supported.", + "description": "Required. The principal whose access you want to check, in the form of the email address that represents that principal. For example, `alice@example.com` or `my-service-account@my-project.iam.gserviceaccount.com`. The principal must be a Google Account or a service account. Other types of principals are not supported.", "type": "string" } }, "type": "object" }, "GoogleCloudPolicytroubleshooterV1BindingExplanation": { - "description": "Details about how a binding in a policy affects a member's ability to use a permission.", + "description": "Details about how a binding in a policy affects a principal's ability to use a permission.", "id": "GoogleCloudPolicytroubleshooterV1BindingExplanation", "properties": { "access": { - "description": "Required. Indicates whether _this binding_ provides the specified permission to the specified member for the specified resource. This field does _not_ indicate whether the member actually has the permission for the resource. There might be another binding that overrides this binding. To determine whether the member actually has the permission, use the `access` field in the TroubleshootIamPolicyResponse.", + "description": "Required. Indicates whether _this binding_ provides the specified permission to the specified principal for the specified resource. This field does _not_ indicate whether the principal actually has the permission for the resource. There might be another binding that overrides this binding. To determine whether the principal actually has the permission, use the `access` field in the TroubleshootIamPolicyResponse.", "enum": [ "ACCESS_STATE_UNSPECIFIED", "GRANTED", @@ -164,23 +164,23 @@ "UNKNOWN_INFO_DENIED" ], "enumDescriptions": [ - "Reserved for future use.", - "The member has the permission.", - "The member does not have the permission.", - "The member has the permission only if a condition expression evaluates to `true`.", + "Default value. This value is unused.", + "The principal has the permission.", + "The principal does not have the permission.", + "The principal has the permission only if a condition expression evaluates to `true`.", "The sender of the request does not have access to all of the policies that Policy Troubleshooter needs to evaluate." ], "type": "string" }, "condition": { "$ref": "GoogleTypeExpr", - "description": "A condition expression that prevents access unless the expression evaluates to `true`. To learn about IAM Conditions, see http://cloud.google.com/iam/help/conditions/overview." + "description": "A condition expression that prevents this binding from granting access unless the expression evaluates to `true`. To learn about IAM Conditions, see https://cloud.google.com/iam/help/conditions/overview." }, "memberships": { "additionalProperties": { "$ref": "GoogleCloudPolicytroubleshooterV1BindingExplanationAnnotatedMembership" }, - "description": "Indicates whether each member in the binding includes the member specified in the request, either directly or indirectly. Each key identifies a member in the binding, and each value indicates whether the member in the binding includes the member in the request. For example, suppose that a binding includes the following members: * `user:alice@example.com` * `group:product-eng@example.com` You want to troubleshoot access for `user:bob@example.com`. This user is a member of the group `group:product-eng@example.com`. For the first member in the binding, the key is `user:alice@example.com`, and the `membership` field in the value is set to `MEMBERSHIP_NOT_INCLUDED`. For the second member in the binding, the key is `group:product-eng@example.com`, and the `membership` field in the value is set to `MEMBERSHIP_INCLUDED`.", + "description": "Indicates whether each principal in the binding includes the principal specified in the request, either directly or indirectly. Each key identifies a principal in the binding, and each value indicates whether the principal in the binding includes the principal in the request. For example, suppose that a binding includes the following principals: * `user:alice@example.com` * `group:product-eng@example.com` You want to troubleshoot access for `user:bob@example.com`. This user is a principal of the group `group:product-eng@example.com`. For the first principal in the binding, the key is `user:alice@example.com`, and the `membership` field in the value is set to `MEMBERSHIP_NOT_INCLUDED`. For the second principal in the binding, the key is `group:product-eng@example.com`, and the `membership` field in the value is set to `MEMBERSHIP_INCLUDED`.", "type": "object" }, "relevance": { @@ -191,7 +191,7 @@ "HIGH" ], "enumDescriptions": [ - "Reserved for future use.", + "Default value. This value is unused.", "The data point has a limited effect on the result. Changing the data point is unlikely to affect the overall determination.", "The data point has a strong effect on the result. Changing the data point is likely to affect the overall determination." ], @@ -210,7 +210,7 @@ "ROLE_PERMISSION_UNKNOWN_INFO_DENIED" ], "enumDescriptions": [ - "Reserved for future use.", + "Default value. This value is unused.", "The permission is included in the role.", "The permission is not included in the role.", "The sender of the request is not allowed to access the binding." @@ -225,7 +225,7 @@ "HIGH" ], "enumDescriptions": [ - "Reserved for future use.", + "Default value. This value is unused.", "The data point has a limited effect on the result. Changing the data point is unlikely to affect the overall determination.", "The data point has a strong effect on the result. Changing the data point is likely to affect the overall determination." ], @@ -235,11 +235,11 @@ "type": "object" }, "GoogleCloudPolicytroubleshooterV1BindingExplanationAnnotatedMembership": { - "description": "Details about whether the binding includes the member.", + "description": "Details about whether the binding includes the principal.", "id": "GoogleCloudPolicytroubleshooterV1BindingExplanationAnnotatedMembership", "properties": { "membership": { - "description": "Indicates whether the binding includes the member.", + "description": "Indicates whether the binding includes the principal.", "enum": [ "MEMBERSHIP_UNSPECIFIED", "MEMBERSHIP_INCLUDED", @@ -248,23 +248,23 @@ "MEMBERSHIP_UNKNOWN_UNSUPPORTED" ], "enumDescriptions": [ - "Reserved for future use.", - "The binding includes the member. The member can be included directly or indirectly. For example: * A member is included directly if that member is listed in the binding. * A member is included indirectly if that member is in a Google group or G Suite domain that is listed in the binding.", - "The binding does not include the member.", + "Default value. This value is unused.", + "The binding includes the principal. The principal can be included directly or indirectly. For example: * A principal is included directly if that principal is listed in the binding. * A principal is included indirectly if that principal is in a Google group or Google Workspace domain that is listed in the binding.", + "The binding does not include the principal.", "The sender of the request is not allowed to access the binding.", - "The member is an unsupported type. Only Google Accounts and service accounts are supported." + "The principal is an unsupported type. Only Google Accounts and service accounts are supported." ], "type": "string" }, "relevance": { - "description": "The relevance of the member's status to the overall determination for the binding.", + "description": "The relevance of the principal's status to the overall determination for the binding.", "enum": [ "HEURISTIC_RELEVANCE_UNSPECIFIED", "NORMAL", "HIGH" ], "enumDescriptions": [ - "Reserved for future use.", + "Default value. This value is unused.", "The data point has a limited effect on the result. Changing the data point is unlikely to affect the overall determination.", "The data point has a strong effect on the result. Changing the data point is likely to affect the overall determination." ], @@ -278,7 +278,7 @@ "id": "GoogleCloudPolicytroubleshooterV1ExplainedPolicy", "properties": { "access": { - "description": "Indicates whether _this policy_ provides the specified permission to the specified member for the specified resource. This field does _not_ indicate whether the member actually has the permission for the resource. There might be another policy that overrides this policy. To determine whether the member actually has the permission, use the `access` field in the TroubleshootIamPolicyResponse.", + "description": "Indicates whether _this policy_ provides the specified permission to the specified principal for the specified resource. This field does _not_ indicate whether the principal actually has the permission for the resource. There might be another policy that overrides this policy. To determine whether the principal actually has the permission, use the `access` field in the TroubleshootIamPolicyResponse.", "enum": [ "ACCESS_STATE_UNSPECIFIED", "GRANTED", @@ -287,16 +287,16 @@ "UNKNOWN_INFO_DENIED" ], "enumDescriptions": [ - "Reserved for future use.", - "The member has the permission.", - "The member does not have the permission.", - "The member has the permission only if a condition expression evaluates to `true`.", + "Default value. This value is unused.", + "The principal has the permission.", + "The principal does not have the permission.", + "The principal has the permission only if a condition expression evaluates to `true`.", "The sender of the request does not have access to all of the policies that Policy Troubleshooter needs to evaluate." ], "type": "string" }, "bindingExplanations": { - "description": "Details about how each binding in the policy affects the member's ability, or inability, to use the permission for the resource. If the sender of the request does not have access to the policy, this field is omitted.", + "description": "Details about how each binding in the policy affects the principal's ability, or inability, to use the permission for the resource. If the sender of the request does not have access to the policy, this field is omitted.", "items": { "$ref": "GoogleCloudPolicytroubleshooterV1BindingExplanation" }, @@ -318,7 +318,7 @@ "HIGH" ], "enumDescriptions": [ - "Reserved for future use.", + "Default value. This value is unused.", "The data point has a limited effect on the result. Changing the data point is unlikely to affect the overall determination.", "The data point has a strong effect on the result. Changing the data point is likely to affect the overall determination." ], @@ -333,7 +333,7 @@ "properties": { "accessTuple": { "$ref": "GoogleCloudPolicytroubleshooterV1AccessTuple", - "description": "The information to use for checking whether a member has a permission for a resource." + "description": "The information to use for checking whether a principal has a permission for a resource." } }, "type": "object" @@ -343,7 +343,7 @@ "id": "GoogleCloudPolicytroubleshooterV1TroubleshootIamPolicyResponse", "properties": { "access": { - "description": "Indicates whether the member has the specified permission for the specified resource, based on evaluating all of the applicable IAM policies.", + "description": "Indicates whether the principal has the specified permission for the specified resource, based on evaluating all of the applicable IAM policies.", "enum": [ "ACCESS_STATE_UNSPECIFIED", "GRANTED", @@ -352,16 +352,16 @@ "UNKNOWN_INFO_DENIED" ], "enumDescriptions": [ - "Reserved for future use.", - "The member has the permission.", - "The member does not have the permission.", - "The member has the permission only if a condition expression evaluates to `true`.", + "Default value. This value is unused.", + "The principal has the permission.", + "The principal does not have the permission.", + "The principal has the permission only if a condition expression evaluates to `true`.", "The sender of the request does not have access to all of the policies that Policy Troubleshooter needs to evaluate." ], "type": "string" }, "explainedPolicies": { - "description": "List of IAM policies that were evaluated to check the member's permissions, with annotations to indicate how each policy contributed to the final result. The list of policies can include the policy for the resource itself. It can also include policies that are inherited from higher levels of the resource hierarchy, including the organization, the folder, and the project. To learn more about the resource hierarchy, see https://cloud.google.com/iam/help/resource-hierarchy.", + "description": "List of IAM policies that were evaluated to check the principal's permissions, with annotations to indicate how each policy contributed to the final result. The list of policies can include the policy for the resource itself. It can also include policies that are inherited from higher levels of the resource hierarchy, including the organization, the folder, and the project. To learn more about the resource hierarchy, see https://cloud.google.com/iam/help/resource-hierarchy.", "items": { "$ref": "GoogleCloudPolicytroubleshooterV1ExplainedPolicy" }, @@ -419,29 +419,29 @@ "type": "object" }, "GoogleIamV1Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "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" }, "GoogleIamV1Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` 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/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "GoogleIamV1Policy", "properties": { "auditConfigs": { @@ -452,7 +452,7 @@ "type": "array" }, "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.", + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", "items": { "$ref": "GoogleIamV1Binding" }, diff --git a/etc/api/policytroubleshooter/v1beta/policytroubleshooter-api.json b/etc/api/policytroubleshooter/v1beta/policytroubleshooter-api.json index ae4bc2ddf8..f1e64f81af 100644 --- a/etc/api/policytroubleshooter/v1beta/policytroubleshooter-api.json +++ b/etc/api/policytroubleshooter/v1beta/policytroubleshooter-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -128,7 +128,7 @@ } } }, - "revision": "20210329", + "revision": "20220227", "rootUrl": "https://policytroubleshooter.googleapis.com/", "schemas": { "GoogleCloudPolicytroubleshooterV1betaAccessTuple": { @@ -174,7 +174,7 @@ }, "condition": { "$ref": "GoogleTypeExpr", - "description": "A condition expression that prevents access unless the expression evaluates to `true`. To learn about IAM Conditions, see http://cloud.google.com/iam/help/conditions/overview." + "description": "A condition expression that prevents access unless the expression evaluates to `true`. To learn about IAM Conditions, see https://cloud.google.com/iam/help/conditions/overview." }, "memberships": { "additionalProperties": { @@ -419,29 +419,29 @@ "type": "object" }, "GoogleIamV1Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "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" }, "GoogleIamV1Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` 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/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "GoogleIamV1Policy", "properties": { "auditConfigs": { @@ -452,7 +452,7 @@ "type": "array" }, "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.", + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", "items": { "$ref": "GoogleIamV1Binding" }, diff --git a/etc/api/poly/v1/poly-api.json b/etc/api/poly/v1/poly-api.json index fc215e6a21..6e07ad692e 100644 --- a/etc/api/poly/v1/poly-api.json +++ b/etc/api/poly/v1/poly-api.json @@ -302,7 +302,7 @@ } } }, - "revision": "20201208", + "revision": "20210817", "rootUrl": "https://poly.googleapis.com/", "schemas": { "Asset": { diff --git a/etc/api/privateca/v1/privateca-api.json b/etc/api/privateca/v1/privateca-api.json new file mode 100644 index 0000000000..27ff23d7fd --- /dev/null +++ b/etc/api/privateca/v1/privateca-api.json @@ -0,0 +1,3395 @@ +{ + "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 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}/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": { + "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 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" + ] + }, + "fetchCaCerts": { + "description": "FetchCaCerts returns the current trust anchor for the CaPool. This will include CA certificate chains for all ACTIVE CertificateAuthority resources in the CaPool.", + "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 the operation documentation 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": "Output only. 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 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" + }, + "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 the operation documentation 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 the operation documentation 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 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}/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" + }, + "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 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" + ] + }, + "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": "Output only. 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 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" + }, + "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 the operation documentation 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": "Output only. 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 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" + }, + "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 the operation documentation 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 the operation documentation 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": "Output only. 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 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" + }, + "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 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}/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 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": "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 the operation documentation 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": "Output only. 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 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" + }, + "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 the operation documentation 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 the operation documentation 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`. 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": "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": "20220209", + "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 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" + }, + "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 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 the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "CaOptions": { + "description": "Describes values that are relevant in a CA certificate.", + "id": "CaOptions", + "properties": { + "isCa": { + "description": "Optional. Refers to the \"CA\" X.509 extension, which is a boolean value. When this value is missing, the extension will be omitted from the CA certificate.", + "type": "boolean" + }, + "maxIssuerPathLength": { + "description": "Optional. Refers to the path length restriction 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 CA 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": "Output only. The resource name for this CaPool in the format `projects/*/locations/*/caPools/*`.", + "readOnly": true, + "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": "Output only. The resource name for this Certificate in the format `projects/*/locations/*/caPools/*/certificates/*`.", + "readOnly": true, + "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 or more 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": "Output only. The resource name for this CertificateAuthority in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.", + "readOnly": true, + "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" + }, + "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." + }, + "x509Config": { + "$ref": "X509Parameters", + "description": "Required. Describes how some of the technical X.509 fields in a certificate should be populated." + } + }, + "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." + }, + "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" + ], + "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." + ], + "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": "Output only. The resource name for this CertificateRevocationList in the format `projects/*/locations/*/caPools/*certificateAuthorities/*/ certificateRevocationLists/*`.", + "readOnly": true, + "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" + }, + "name": { + "description": "Output only. The resource name for this CertificateTemplate in the format `projects/*/locations/*/certificateTemplates/*`.", + "readOnly": true, + "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": { + "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 t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + } + }, + "type": "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); } The JSON representation for `Empty` is empty JSON object `{}`.", + "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 t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + } + }, + "type": "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 t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + } + }, + "type": "object" + }, + "FetchCaCertsResponse": { + "description": "Response message for CertificateAuthorityService.FetchCaCerts.", + "id": "FetchCaCertsResponse", + "properties": { + "caCerts": { + "description": "The PEM encoded CA certificate chains of all ACTIVE CertificateAuthority resources in this CaPool.", + "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'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.next_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.next_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.next_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.next_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.next_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 Google Cloud Platform 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" + }, + "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 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" + }, + "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" + }, + "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": { + "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": { + "description": "DEPRECATED. Use exclusive_action instead.", + "type": "boolean" + }, + "exclusiveAction": { + "enum": [ + "UNKNOWN_REPAIR_ACTION", + "DELETE", + "RETRY" + ], + "enumDescriptions": [ + "", + "The resource has to be deleted. When using this bit, the CLH should fail the operation.", + "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 t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + } + }, + "type": "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 Cloud Platform 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": "Required. 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 t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + } + }, + "type": "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." + }, + "keyUsage": { + "$ref": "KeyUsage", + "description": "Optional. Indicates the intended use for keys that correspond to a certificate." + }, + "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/etc/api/privateca/v1beta1/privateca-api.json b/etc/api/privateca/v1beta1/privateca-api.json index 7e42dc19db..71af64b3e1 100644 --- a/etc/api/privateca/v1beta1/privateca-api.json +++ b/etc/api/privateca/v1beta1/privateca-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -12,7 +12,7 @@ "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.\" ", + "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, @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -361,7 +361,7 @@ ], "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).", + "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" @@ -618,7 +618,7 @@ ], "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).", + "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" @@ -1124,7 +1124,7 @@ ], "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).", + "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" @@ -1254,7 +1254,7 @@ } } }, - "revision": "20210322", + "revision": "20220209", "rootUrl": "https://privateca.googleapis.com/", "schemas": { "AccessUrls": { @@ -1317,7 +1317,7 @@ "type": "boolean" }, "allowedDnsNames": { - "description": "Optional. Contains valid, fully-qualified host names. Glob patterns are also supported. To allow an explicit wildcard certificate, escape with backlash (i.e. \"\\*\"). E.g. for globbed entries: '*bar.com' will allow 'foo.bar.com', but not '*.bar.com', unless the allow_globbing_dns_wildcards field is set. E.g. for wildcard entries: '\\*.bar.com' will allow '*.bar.com', but not 'foo.bar.com'.", + "description": "Optional. Contains valid, fully-qualified host names. Glob patterns are also supported. To allow an explicit wildcard certificate, escape with backlash (i.e. `\\*`). E.g. for globbed entries: `*bar.com` will allow `foo.bar.com`, but not `*.bar.com`, unless the allow_globbing_dns_wildcards field is set. E.g. for wildcard entries: `\\*.bar.com` will allow `*.bar.com`, but not `foo.bar.com`.", "items": { "type": "string" }, @@ -1396,22 +1396,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -2329,7 +2329,7 @@ "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/).", + "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": { @@ -2340,7 +2340,7 @@ "type": "array" }, "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.", + "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" }, @@ -2390,8 +2390,21 @@ "id": "ReconciliationOperationMetadata", "properties": { "deleteResource": { - "description": "If set to TRUE, the resource has to be deleted. When using this bit, the CLH should fail the operation.", + "description": "DEPRECATED. Use exclusive_action instead.", "type": "boolean" + }, + "exclusiveAction": { + "enum": [ + "UNKNOWN_REPAIR_ACTION", + "DELETE", + "RETRY" + ], + "enumDescriptions": [ + "", + "The resource has to be deleted. When using this bit, the CLH should fail the operation.", + "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" @@ -2810,7 +2823,7 @@ "id": "SubordinateConfig", "properties": { "certificateAuthority": { - "description": "Required. This can refer to a CertificateAuthority in the same project 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/*/certificateAuthorities/*`.", + "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/*/certificateAuthorities/*`.", "type": "string" }, "pemIssuerChain": { diff --git a/etc/api/prod_tt_sasportal/v1alpha1/prod_tt_sasportal-api.json b/etc/api/prod_tt_sasportal/v1alpha1/prod_tt_sasportal-api.json index 3f890a0fb2..2da74b5129 100644 --- a/etc/api/prod_tt_sasportal/v1alpha1/prod_tt_sasportal-api.json +++ b/etc/api/prod_tt_sasportal/v1alpha1/prod_tt_sasportal-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/userinfo.email": { - "description": "View your email address" + "description": "See your primary Google Account email address" } } } @@ -2484,7 +2484,7 @@ } } }, - "revision": "20210330", + "revision": "20220303", "rootUrl": "https://prod-tt-sasportal.googleapis.com/", "schemas": { "SasPortalAssignment": { @@ -2563,41 +2563,18 @@ "description": "The Deployment.", "id": "SasPortalDeployment", "properties": { - "allowedBillingModes": { - "description": "The allowed billing modes under this deployment.", - "items": { - "enum": [ - "BILLING_MODE_UNSPECIFIED", - "MOBILE", - "FIXED_WIRELESS" - ], - "enumDescriptions": [ - "Billing mode has not been specified.", - "Price is based on category of CBSD: Category A, Category B registered with SAS.", - "Price is based on type of CBSD: Base station or CPE." - ], - "type": "string" - }, - "type": "array" - }, - "defaultBillingMode": { - "description": "Default billing mode for the deployment and devices under it.", - "enum": [ - "BILLING_MODE_UNSPECIFIED", - "MOBILE", - "FIXED_WIRELESS" - ], - "enumDescriptions": [ - "Billing mode has not been specified.", - "Price is based on category of CBSD: Category A, Category B registered with SAS.", - "Price is based on type of CBSD: Base station or CPE." - ], - "type": "string" - }, "displayName": { "description": "The deployment's display name.", "type": "string" }, + "frns": { + "description": "Output only. The FRNs copied from its direct parent.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, "name": { "description": "Output only. Resource name.", "readOnly": true, @@ -2879,7 +2856,30 @@ "SasPortalDeviceMetadata": { "description": "Device data overridable by both SAS Portal and registration requests.", "id": "SasPortalDeviceMetadata", - "properties": {}, + "properties": { + "antennaModel": { + "description": "If populated, the Antenna Model Pattern to use. Format is: RecordCreatorId:PatternId", + "type": "string" + }, + "commonChannelGroup": { + "description": "CCG. A group of CBSDs in the same ICG requesting a common primary channel assignment. See CBRSA-TS-2001 V3.0.0 for more details.", + "type": "string" + }, + "interferenceCoordinationGroup": { + "description": "ICG. A group of CBSDs that manage their own interference with the group. See CBRSA-TS-2001 V3.0.0 for more details.", + "type": "string" + }, + "nrqzValidated": { + "description": "Output only. Whether a CPI has validated to have coordinated with the National Quiet Zone office.", + "readOnly": true, + "type": "boolean" + }, + "nrqzValidation": { + "$ref": "SasPortalNrqzValidation", + "description": "Output only. National Radio Quiet Zone validation info.", + "readOnly": true + } + }, "type": "object" }, "SasPortalDeviceModel": { @@ -3185,6 +3185,31 @@ }, "type": "object" }, + "SasPortalNrqzValidation": { + "description": "Information about National Radio Quiet Zone validation. The presence of the field indicates the device has been validated.", + "id": "SasPortalNrqzValidation", + "properties": { + "caseId": { + "description": "Validation case id.", + "type": "string" + }, + "cpiId": { + "description": "CPI who signed the validation.", + "type": "string" + }, + "latitude": { + "description": "Device latitude associated with the validation.", + "format": "double", + "type": "number" + }, + "longitude": { + "description": "Device longitude associated with the validation.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "SasPortalOperation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "SasPortalOperation", @@ -3243,6 +3268,10 @@ "description": "Request message for `SetPolicy` method.", "id": "SasPortalSetPolicyRequest", "properties": { + "disableNotification": { + "description": "Optional. Set the field as true when we would like to disable the onboarding notification.", + "type": "boolean" + }, "policy": { "$ref": "SasPortalPolicy", "description": "Required. The policy to be applied to the `resource`." diff --git a/etc/api/pubsub/v1/pubsub-api.json b/etc/api/pubsub/v1/pubsub-api.json index 5fa9491257..61b893af73 100644 --- a/etc/api/pubsub/v1/pubsub-api.json +++ b/etc/api/pubsub/v1/pubsub-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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" @@ -188,7 +188,7 @@ "type": "string" }, "view": { - "description": "The set of fields to return in the response. If not set, returns a Schema with `name` and `type`, but not `definition`. Set to `FULL` to retrieve all fields.", + "description": "The set of fields to return in the response. If not set, returns a Schema with all fields filled out. Set to `BASIC` to omit the `definition`.", "enum": [ "SCHEMA_VIEW_UNSPECIFIED", "BASIC", @@ -222,7 +222,7 @@ ], "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).", + "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" @@ -507,7 +507,7 @@ ], "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).", + "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" @@ -803,7 +803,7 @@ ], "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).", + "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" @@ -1160,7 +1160,7 @@ ], "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).", + "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" @@ -1424,7 +1424,7 @@ } } }, - "revision": "20210322", + "revision": "20220221", "rootUrl": "https://pubsub.googleapis.com/", "schemas": { "AcknowledgeRequest": { @@ -1442,22 +1442,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -1712,11 +1712,11 @@ "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/).", + "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` 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.", + "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" }, @@ -2015,13 +2015,17 @@ "description": "Indicates whether the subscription is detached from its topic. Detached subscriptions don't receive messages from their topic and don't retain any backlog. `Pull` and `StreamingPull` requests will return FAILED_PRECONDITION. If the subscription is a push subscription, pushes to the endpoint will not be made.", "type": "boolean" }, + "enableExactlyOnceDelivery": { + "description": "If true, Pub/Sub provides the following guarantees for the delivery of a message with a given value of `message_id` on this subscription: * The message sent to a subscriber is guaranteed not to be resent before the message's acknowledgement deadline expires. * An acknowledged message will not be resent to a subscriber. Note that subscribers may still receive multiple copies of a message when `enable_exactly_once_delivery` is true if the message was published multiple times by a publisher client. These copies are considered distinct by Pub/Sub and have distinct `message_id` values.", + "type": "boolean" + }, "enableMessageOrdering": { "description": "If true, messages published with the same `ordering_key` in `PubsubMessage` will be delivered to the subscribers in the order in which they are received by the Pub/Sub system. Otherwise, they may be delivered in any order.", "type": "boolean" }, "expirationPolicy": { "$ref": "ExpirationPolicy", - "description": "A policy that specifies the conditions for this subscription's expiration. A subscription is considered active as long as any connected subscriber is successfully consuming messages from the subscription or is issuing operations on the subscription. If `expiration_policy` is not set, a *default policy* with `ttl` of 31 days will be used. The minimum allowed value for `expiration_policy.ttl` is 1 day." + "description": "A policy that specifies the conditions for this subscription's expiration. A subscription is considered active as long as any connected subscriber is successfully consuming messages from the subscription or is issuing operations on the subscription. If `expiration_policy` is not set, a *default policy* with `ttl` of 31 days will be used. The minimum allowed value for `expiration_policy.ttl` is 1 day. If `expiration_policy` is set, but `expiration_policy.ttl` is not set, the subscription never expires." }, "filter": { "description": "An expression written in the Pub/Sub [filter language](https://cloud.google.com/pubsub/docs/filtering). If non-empty, then only `PubsubMessage`s whose `attributes` field matches the filter are delivered on this subscription. If empty, then no messages are filtered out.", @@ -2045,7 +2049,7 @@ }, "pushConfig": { "$ref": "PushConfig", - "description": "If push delivery is used with this subscription, this field is used to configure it. An empty `pushConfig` signifies that the subscriber will pull and ack messages using API methods." + "description": "If push delivery is used with this subscription, this field is used to configure it. At most one of `pushConfig` and `bigQueryConfig` can be set. If both are empty, then the subscriber will pull and ack messages using API methods." }, "retainAckedMessages": { "description": "Indicates whether to retain acknowledged messages. If true, then messages are not expunged from the subscription's backlog, even if they are acknowledged, until they fall out of the `message_retention_duration` window. This must be true if you would like to [`Seek` to a timestamp] (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) in the past to replay previously-acknowledged messages.", @@ -2055,9 +2059,30 @@ "$ref": "RetryPolicy", "description": "A policy that specifies how Pub/Sub retries message delivery for this subscription. If not set, the default retry policy is applied. This generally implies that messages will be retried as soon as possible for healthy subscribers. RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded events for a given message." }, + "state": { + "description": "Output only. An output-only field indicating whether or not the subscription can receive messages.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "RESOURCE_ERROR" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The subscription can actively receive messages", + "The subscription cannot receive messages because of an error with the resource to which it pushes messages. See the more detailed error state in the corresponding configuration." + ], + "readOnly": true, + "type": "string" + }, "topic": { "description": "Required. The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`. The value of this field will be `_deleted-topic_` if the topic has been deleted.", "type": "string" + }, + "topicMessageRetentionDuration": { + "description": "Output only. Indicates the minimum duration for which a message is retained after it is published to the subscription's topic. If this field is set, messages published to the subscription's topic in the last `topic_message_retention_duration` are always available to subscribers. See the `message_retention_duration` field in `Topic`. This field is set only in responses from the server; it is ignored if it is set in any requests.", + "format": "google-duration", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -2105,6 +2130,11 @@ "description": "See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels).", "type": "object" }, + "messageRetentionDuration": { + "description": "Indicates the minimum duration to retain a message after it is published to the topic. If this field is set, messages published to the topic in the last `message_retention_duration` are always available to subscribers. For instance, it allows any attached subscription to [seek to a timestamp](https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) that is up to `message_retention_duration` in the past. If this field is not set, message retention is controlled by settings on individual subscriptions. Cannot be more than 31 days or less than 10 minutes.", + "format": "google-duration", + "type": "string" + }, "messageStoragePolicy": { "$ref": "MessageStoragePolicy", "description": "Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored. If not present, then no constraints are in effect." diff --git a/etc/api/pubsub/v1beta1a/pubsub-api.json b/etc/api/pubsub/v1beta1a/pubsub-api.json index e2d262b331..4917295355 100644 --- a/etc/api/pubsub/v1beta1a/pubsub-api.json +++ b/etc/api/pubsub/v1beta1a/pubsub-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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" @@ -457,7 +457,7 @@ } } }, - "revision": "20210322", + "revision": "20220221", "rootUrl": "https://pubsub.googleapis.com/", "schemas": { "AcknowledgeRequest": { diff --git a/etc/api/pubsub/v1beta2/pubsub-api.json b/etc/api/pubsub/v1beta2/pubsub-api.json index c40b09eed4..569d1fff42 100644 --- a/etc/api/pubsub/v1beta2/pubsub-api.json +++ b/etc/api/pubsub/v1beta2/pubsub-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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" @@ -231,7 +231,7 @@ ], "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).", + "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" @@ -530,7 +530,7 @@ ], "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).", + "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" @@ -724,7 +724,7 @@ } } }, - "revision": "20210322", + "revision": "20220221", "rootUrl": "https://pubsub.googleapis.com/", "schemas": { "AcknowledgeRequest": { @@ -742,22 +742,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -896,11 +896,11 @@ "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/).", + "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` 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.", + "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" }, diff --git a/etc/api/pubsublite/v1/pubsublite-api.json b/etc/api/pubsublite/v1/pubsublite-api.json index f04ea4c6e5..c6f404dd7b 100644 --- a/etc/api/pubsublite/v1/pubsublite-api.json +++ b/etc/api/pubsublite/v1/pubsublite-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -111,6 +111,328 @@ "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": "v1/admin/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "pubsublite.admin.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/admin/{+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/admin/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "pubsublite.admin.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/admin/{+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/admin/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "pubsublite.admin.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/admin/{+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`. 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": "v1/admin/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "pubsublite.admin.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/admin/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "reservations": { + "methods": { + "create": { + "description": "Creates a new reservation.", + "flatPath": "v1/admin/projects/{projectsId}/locations/{locationsId}/reservations", + "httpMethod": "POST", + "id": "pubsublite.admin.projects.locations.reservations.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent location in which to create the reservation. Structured like `projects/{project_number}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "reservationId": { + "description": "Required. The ID to use for the reservation, which will become the final component of the reservation's name. This value is structured like: `my-reservation-name`.", + "location": "query", + "type": "string" + } + }, + "path": "v1/admin/{+parent}/reservations", + "request": { + "$ref": "Reservation" + }, + "response": { + "$ref": "Reservation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified reservation.", + "flatPath": "v1/admin/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}", + "httpMethod": "DELETE", + "id": "pubsublite.admin.projects.locations.reservations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the reservation to delete. Structured like: projects/{project_number}/locations/{location}/reservations/{reservation_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/admin/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the reservation configuration.", + "flatPath": "v1/admin/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}", + "httpMethod": "GET", + "id": "pubsublite.admin.projects.locations.reservations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the reservation whose configuration to return. Structured like: projects/{project_number}/locations/{location}/reservations/{reservation_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/admin/{+name}", + "response": { + "$ref": "Reservation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns the list of reservations for the given project.", + "flatPath": "v1/admin/projects/{projectsId}/locations/{locationsId}/reservations", + "httpMethod": "GET", + "id": "pubsublite.admin.projects.locations.reservations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of reservations to return. The service may return fewer than this value. If unset or zero, all reservations for the parent will be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListReservations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReservations` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent whose reservations are to be listed. Structured like `projects/{project_number}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/admin/{+parent}/reservations", + "response": { + "$ref": "ListReservationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates properties of the specified reservation.", + "flatPath": "v1/admin/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}", + "httpMethod": "PATCH", + "id": "pubsublite.admin.projects.locations.reservations.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the reservation. Structured like: projects/{project_number}/locations/{location}/reservations/{reservation_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. A mask specifying the reservation fields to change.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/admin/{+name}", + "request": { + "$ref": "Reservation" + }, + "response": { + "$ref": "Reservation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "topics": { + "methods": { + "list": { + "description": "Lists the topics attached to the specified reservation.", + "flatPath": "v1/admin/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/topics", + "httpMethod": "GET", + "id": "pubsublite.admin.projects.locations.reservations.topics.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the reservation whose topics to list. Structured like: projects/{project_number}/locations/{location}/reservations/{reservation_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of topics to return. The service may return fewer than this value. If unset or zero, all topics for the given reservation will be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListReservationTopics` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReservationTopics` must match the call that provided the page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/admin/{+name}/topics", + "response": { + "$ref": "ListReservationTopicsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, "subscriptions": { "methods": { "create": { @@ -270,6 +592,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "seek": { + "description": "Performs an out-of-band seek for a subscription to a specified target, which may be timestamps or named positions within the message backlog. Seek translates these targets to cursors for each partition and orchestrates subscribers to start consuming messages from these seek cursors. If an operation is returned, the seek has been registered and subscribers will eventually receive messages from the seek cursors (i.e. eventual consistency), as long as they are using a minimum supported client library version and not a system that tracks cursors independently of Pub/Sub Lite (e.g. Apache Beam, Dataflow, Spark). The seek operation will fail for unsupported clients. If clients would like to know when subscribers react to the seek (or not), they can poll the operation. The seek operation will succeed and complete once subscribers are ready to receive messages from the seek cursors for all partitions of the topic. This means that the seek operation will not complete until all subscribers come online. If the previous seek operation has not yet completed, it will be aborted and the new invocation of seek will supersede it.", + "flatPath": "v1/admin/projects/{projectsId}/locations/{locationsId}/subscriptions/{subscriptionsId}:seek", + "httpMethod": "POST", + "id": "pubsublite.admin.projects.locations.subscriptions.seek", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the subscription to seek.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/subscriptions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/admin/{+name}:seek", + "request": { + "$ref": "SeekSubscriptionRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } }, @@ -510,6 +860,36 @@ "locations": { "resources": { "subscriptions": { + "methods": { + "commitCursor": { + "description": "Updates the committed cursor.", + "flatPath": "v1/cursor/projects/{projectsId}/locations/{locationsId}/subscriptions/{subscriptionsId}:commitCursor", + "httpMethod": "POST", + "id": "pubsublite.cursor.projects.locations.subscriptions.commitCursor", + "parameterOrder": [ + "subscription" + ], + "parameters": { + "subscription": { + "description": "The subscription for which to update the cursor.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/subscriptions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/cursor/{+subscription}:commitCursor", + "request": { + "$ref": "CommitCursorRequest" + }, + "response": { + "$ref": "CommitCursorResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, "resources": { "cursors": { "methods": { @@ -622,6 +1002,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "computeTimeCursor": { + "description": "Compute the corresponding cursor for a publish or event time in a topic partition.", + "flatPath": "v1/topicStats/projects/{projectsId}/locations/{locationsId}/topics/{topicsId}:computeTimeCursor", + "httpMethod": "POST", + "id": "pubsublite.topicStats.projects.locations.topics.computeTimeCursor", + "parameterOrder": [ + "topic" + ], + "parameters": { + "topic": { + "description": "Required. The topic for which we should compute the cursor.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/topics/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/topicStats/{+topic}:computeTimeCursor", + "request": { + "$ref": "ComputeTimeCursorRequest" + }, + "response": { + "$ref": "ComputeTimeCursorResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } } @@ -632,9 +1040,15 @@ } } }, - "revision": "20210322", + "revision": "20220301", "rootUrl": "https://pubsublite.googleapis.com/", "schemas": { + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, "Capacity": { "description": "The throughput capacity configuration for each partition.", "id": "Capacity", @@ -652,6 +1066,28 @@ }, "type": "object" }, + "CommitCursorRequest": { + "description": "Request for CommitCursor.", + "id": "CommitCursorRequest", + "properties": { + "cursor": { + "$ref": "Cursor", + "description": "The new value for the committed cursor." + }, + "partition": { + "description": "The partition for which to update the cursor. Partitions are zero indexed, so `partition` must be in the range [0, topic.num_partitions).", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CommitCursorResponse": { + "description": "Response for CommitCursor.", + "id": "CommitCursorResponse", + "properties": {}, + "type": "object" + }, "ComputeHeadCursorRequest": { "description": "Compute the current head cursor for a partition.", "id": "ComputeHeadCursorRequest", @@ -722,6 +1158,33 @@ }, "type": "object" }, + "ComputeTimeCursorRequest": { + "description": "Compute the corresponding cursor for a publish or event time in a topic partition.", + "id": "ComputeTimeCursorRequest", + "properties": { + "partition": { + "description": "Required. The partition for which we should compute the cursor.", + "format": "int64", + "type": "string" + }, + "target": { + "$ref": "TimeTarget", + "description": "Required. The target publish or event time. Specifying a future time will return an unset cursor." + } + }, + "type": "object" + }, + "ComputeTimeCursorResponse": { + "description": "Response containing the cursor corresponding to a publish or event time in a topic partition.", + "id": "ComputeTimeCursorResponse", + "properties": { + "cursor": { + "$ref": "Cursor", + "description": "If present, the cursor references the first message with time greater than or equal to the specified target time. If such a message cannot be found, the cursor will be unset (i.e. `cursor` is not present)." + } + }, + "type": "object" + }, "Cursor": { "description": "A cursor that describes the position of a message within a topic partition.", "id": "Cursor", @@ -761,6 +1224,24 @@ "properties": {}, "type": "object" }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, "ListPartitionCursorsResponse": { "description": "Response for ListPartitionCursors", "id": "ListPartitionCursorsResponse", @@ -779,6 +1260,42 @@ }, "type": "object" }, + "ListReservationTopicsResponse": { + "description": "Response for ListReservationTopics.", + "id": "ListReservationTopicsResponse", + "properties": { + "nextPageToken": { + "description": "A token that can be sent as `page_token` to retrieve the next page of results. If this field is omitted, there are no more results.", + "type": "string" + }, + "topics": { + "description": "The names of topics attached to the reservation. The order of the topics is unspecified.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListReservationsResponse": { + "description": "Response for ListReservations.", + "id": "ListReservationsResponse", + "properties": { + "nextPageToken": { + "description": "A token that can be sent as `page_token` to retrieve the next page of results. If this field is omitted, there are no more results.", + "type": "string" + }, + "reservations": { + "description": "The list of reservation in the requested parent. The order of the reservations is unspecified.", + "items": { + "$ref": "Reservation" + }, + "type": "array" + } + }, + "type": "object" + }, "ListSubscriptionsResponse": { "description": "Response for ListSubscriptions.", "id": "ListSubscriptionsResponse", @@ -833,6 +1350,66 @@ }, "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": "Metadata for long running operations.", + "id": "OperationMetadata", + "properties": { + "createTime": { + "description": "The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "The time the operation finished running. Not set if the operation has not completed.", + "format": "google-datetime", + "type": "string" + }, + "target": { + "description": "Resource path for the target of the operation. For example, targets of seeks are subscription resources, structured like: projects/{project_number}/locations/{location}/subscriptions/{subscription_id}", + "type": "string" + }, + "verb": { + "description": "Name of the verb executed by the operation.", + "type": "string" + } + }, + "type": "object" + }, "PartitionConfig": { "description": "The settings for a topic's partitions.", "id": "PartitionConfig", @@ -870,6 +1447,33 @@ }, "type": "object" }, + "Reservation": { + "description": "Metadata about a reservation resource.", + "id": "Reservation", + "properties": { + "name": { + "description": "The name of the reservation. Structured like: projects/{project_number}/locations/{location}/reservations/{reservation_id}", + "type": "string" + }, + "throughputCapacity": { + "description": "The reserved throughput capacity. Every unit of throughput capacity is equivalent to 1 MiB/s of published messages or 2 MiB/s of subscribed messages. Any topics which are declared as using capacity from a Reservation will consume resources from this reservation instead of being charged individually.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ReservationConfig": { + "description": "The settings for this topic's Reservation usage.", + "id": "ReservationConfig", + "properties": { + "throughputReservation": { + "description": "The Reservation to use for this topic's throughput capacity. Structured like: projects/{project_number}/locations/{location}/reservations/{reservation_id}", + "type": "string" + } + }, + "type": "object" + }, "RetentionConfig": { "description": "The settings for a topic's message retention.", "id": "RetentionConfig", @@ -887,6 +1491,64 @@ }, "type": "object" }, + "SeekSubscriptionRequest": { + "description": "Request for SeekSubscription.", + "id": "SeekSubscriptionRequest", + "properties": { + "namedTarget": { + "description": "Seek to a named position with respect to the message backlog.", + "enum": [ + "NAMED_TARGET_UNSPECIFIED", + "TAIL", + "HEAD" + ], + "enumDescriptions": [ + "Unspecified named target. Do not use.", + "Seek to the oldest retained message.", + "Seek past all recently published messages, skipping the entire message backlog." + ], + "type": "string" + }, + "timeTarget": { + "$ref": "TimeTarget", + "description": "Seek to the first message whose publish or event time is greater than or equal to the specified query time. If no such message can be located, will seek to the end of the message backlog." + } + }, + "type": "object" + }, + "SeekSubscriptionResponse": { + "description": "Response for SeekSubscription long running operation.", + "id": "SeekSubscriptionResponse", + "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" + }, "Subscription": { "description": "Metadata about a subscription resource.", "id": "Subscription", @@ -906,6 +1568,23 @@ }, "type": "object" }, + "TimeTarget": { + "description": "A target publish or event time. Can be used for seeking to or retrieving the corresponding cursor.", + "id": "TimeTarget", + "properties": { + "eventTime": { + "description": "Request the cursor of the first message with event time greater than or equal to `event_time`. If messages are missing an event time, the publish time is used as a fallback. As event times are user supplied, subsequent messages may have event times less than `event_time` and should be filtered by the client, if necessary.", + "format": "google-datetime", + "type": "string" + }, + "publishTime": { + "description": "Request the cursor of the first message with publish time greater than or equal to `publish_time`. All messages thereafter are guaranteed to have publish times >= `publish_time`.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "Topic": { "description": "Metadata about a topic resource.", "id": "Topic", @@ -918,6 +1597,10 @@ "$ref": "PartitionConfig", "description": "The settings for this topic's partitions." }, + "reservationConfig": { + "$ref": "ReservationConfig", + "description": "The settings for this topic's Reservation usage." + }, "retentionConfig": { "$ref": "RetentionConfig", "description": "The settings for this topic's message retention." diff --git a/etc/api/realtimebidding/v1/realtimebidding-api.json b/etc/api/realtimebidding/v1/realtimebidding-api.json index ca17adcfd4..a4bc5fcdf9 100644 --- a/etc/api/realtimebidding/v1/realtimebidding-api.json +++ b/etc/api/realtimebidding/v1/realtimebidding-api.json @@ -184,7 +184,7 @@ "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.", + "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" }, @@ -311,6 +311,40 @@ "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" + ] } } }, @@ -864,7 +898,7 @@ "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.", + "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" }, @@ -1140,7 +1174,7 @@ } } }, - "revision": "20210331", + "revision": "20220307", "rootUrl": "https://realtimebidding.googleapis.com/", "schemas": { "ActivatePretargetingConfigRequest": { @@ -1804,7 +1838,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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": { @@ -2395,6 +2429,10 @@ "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" diff --git a/etc/api/realtimebidding/v1alpha/realtimebidding-api.json b/etc/api/realtimebidding/v1alpha/realtimebidding-api.json index c7cec3a751..9f950e523d 100644 --- a/etc/api/realtimebidding/v1alpha/realtimebidding-api.json +++ b/etc/api/realtimebidding/v1alpha/realtimebidding-api.json @@ -109,6 +109,62 @@ "resources": { "biddingFunctions": { "methods": { + "activate": { + "description": "Activates an existing bidding function. An activated function is available for invocation for the server-side TURTLEDOVE simulations.", + "flatPath": "v1alpha/bidders/{biddersId}/biddingFunctions/{biddingFunctionsId}:activate", + "httpMethod": "POST", + "id": "realtimebidding.bidders.biddingFunctions.activate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the bidding function to activate. Format: `bidders/{bidder_account_id}/biddingFunction/{bidding_function_name}`", + "location": "path", + "pattern": "^bidders/[^/]+/biddingFunctions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}:activate", + "request": { + "$ref": "ActivateBiddingFunctionRequest" + }, + "response": { + "$ref": "BiddingFunction" + }, + "scopes": [ + "https://www.googleapis.com/auth/realtime-bidding" + ] + }, + "archive": { + "description": "Archives an existing bidding function. An archived function will not be available for function invocation for the server-side TURTLEDOVE simulations unless it is activated.", + "flatPath": "v1alpha/bidders/{biddersId}/biddingFunctions/{biddingFunctionsId}:archive", + "httpMethod": "POST", + "id": "realtimebidding.bidders.biddingFunctions.archive", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the bidding function to archive. Format: `bidders/{bidder_account_id}/biddingFunction/{bidding_function_name}`", + "location": "path", + "pattern": "^bidders/[^/]+/biddingFunctions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}:archive", + "request": { + "$ref": "ArchiveBiddingFunctionRequest" + }, + "response": { + "$ref": "BiddingFunction" + }, + "scopes": [ + "https://www.googleapis.com/auth/realtime-bidding" + ] + }, "create": { "description": "Creates a new bidding function.", "flatPath": "v1alpha/bidders/{biddersId}/biddingFunctions", @@ -178,20 +234,61 @@ } } }, - "revision": "20210331", + "revision": "20220307", "rootUrl": "https://realtimebidding.googleapis.com/", "schemas": { + "ActivateBiddingFunctionRequest": { + "description": "The request to activate a bidding function.", + "id": "ActivateBiddingFunctionRequest", + "properties": {}, + "type": "object" + }, + "ArchiveBiddingFunctionRequest": { + "description": "A request to archive a bidding function.", + "id": "ArchiveBiddingFunctionRequest", + "properties": {}, + "type": "object" + }, "BiddingFunction": { "description": "The bidding function to be executed as part of the TURTLEDOVE simulation experiment bidding flow.", "id": "BiddingFunction", "properties": { "biddingFunction": { - "description": "The raw Javascript source code of the bidding function. The function takes in a Javascript object, `inputs`, that contains the following named fields: `openrtbContextualBidRequest` OR `googleContextualBidRequest`, `customContextualSignal`, `interestBasedBidData`, `interestGroupData`, `recentImpressionAges`, and returns the bid price CPM (double). Example: ``` /* Returns a bid price CPM (double). * * @param {Object} inputs an object with the * following named fields: * - openrtbContextualBidRequest * OR googleContextualBidRequest * - customContextualSignal * - interestBasedBidData * - interestGroupData * - recentImpressionAges */ function biddingFunction(inputs) { ... return inputs.interestBasedBidData.cpm * inputs.customContextualSignals.placementMultiplier; } ```", + "description": "The raw Javascript source code of the bidding function.", "type": "string" }, "name": { "description": "The name of the bidding function that must follow the pattern: `bidders/{bidder_account_id}/biddingFunctions/{bidding_function_name}`.", "type": "string" + }, + "state": { + "description": "Output only. The state of the bidding function.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "ARCHIVED" + ], + "enumDescriptions": [ + "Default value that should not be used.", + "An active function. Only `ACTIVE` bidding functions or ad scoring functions are made available for the server-side TURTLEDOVE simulations. Every account is limited to 10 active bidding functions per account.", + "A function that is no longer made available for invocation in a simulation and instead archived. An archived function can later be made active by activating the function via `ActivateBiddingFunction`." + ], + "readOnly": true, + "type": "string" + }, + "type": { + "description": "The type of the bidding function to be created.", + "enum": [ + "FUNCTION_TYPE_UNSPECIFIED", + "TURTLEDOVE_SIMULATION_BIDDING_FUNCTION", + "FLEDGE_BIDDING_FUNCTION" + ], + "enumDescriptions": [ + "Default value that should not be used.", + "Bidding function that can be used by Authorized Buyers in the original TURTLEDOVE simulation. See documentation on the TURTLEDOVE simulation at https://developers.google.com/authorized-buyers/rtb/turtledove. The function takes in a Javascript object, `inputs`, that contains the following named fields: `openrtbContextualBidRequest` OR `googleContextualBidRequest`, `customContextualSignal`, `interestBasedBidData`, `interestGroupData`, and returns the bid price CPM. Example: ``` /* Returns a bid price CPM. * * @param {Object} inputs an object with the * following named fields: * - openrtbContextualBidRequest * OR googleContextualBidRequest * - customContextualSignal * - interestBasedBidData * - interestGroupData */ function biddingFunction(inputs) { ... return inputs.interestBasedBidData.cpm * inputs.customContextualSignals.placementMultiplier; } ```", + "Buyer's interest group bidding function that can be used by Authorized Buyers in the FLEDGE simulation. See the FLEDGE explainer at https://github.com/WICG/turtledove/blob/main/FLEDGE.md#32-on-device-bidding. The function takes one argument, `inputs`, that contains an object with the following named fields of the form: ``` { \"interestGroup\" : { \"ad\" : [ \"buyerCreativeId\": \"...\", # Ad creative ID \"adData\": { # JSON object } ], \"userBiddingSignals\": { . # JSON object } }, \"auctionSignals\": { \"url\": # string, \"slotVisibility\": # enum value, \"slotDimensions\": [ { \"height\": # number value \"width\": # number value } ] }, \"perBuyerSignals\": { # JSON object }, \"trustedBiddingSignals\": { # JSON object }, \"browserSignals\": { \"recent_impression_ages_secs\": [ # Array of integers. Not yet populated. ] } } ``` `interestGroup`: An object containing a list of `ad` objects, which contain the following named fields: - `buyerCreativeId`: The ad creative ID string. - `adData`: Any JSON value of the bidder's choosing to contain data associated with an ad provided in `BidResponse.ad.adslot.ad_data` for the Google Authorized Buyers protocol and `BidResponse.seatbid.bid.ext.ad_data` for the OpenRTB protocol. - `userBiddingSignals`: Any JSON value of the bidder's choosing containing interest group data that corresponds to user_bidding_signals (as in FLEDGE). This field will be populated from `BidResponse.interest_group_map.user_bidding_signals` for Google Authorized Buyers protocol and `BidResponse.ext.interest_group_map.user_bidding_signals` for the OpenRTB protocol. `auctionSignals`: Contains data from the seller. It corresponds to the auction signals data described in the FLEDGE proposal. It is an object containing the following named fields: - `url`: The string URL of the page with parameters removed. - `slotVisibility`: Enum of one of the following potential values: - NO_DETECTION = 0 - ABOVE_THE_FOLD = 1 - BELOW_THE_FOLD = 2 - `slotDimensions`: A list of objects containing containing width and height pairs in `width` and `height` fields, respectively, from `BidRequest.adslot.width` and `BidRequest.adslot.height` for the Google Authorized Buyers protocol and `BidRequest.imp.banner.format.w` and `BidRequest.imp.banner.format.h` for the OpenRTB protocol. `perBuyerSignals`: The contextual signals from the bid response that are populated in `BidResponse.interest_group_bidding.interest_group_buyers.per_buyer_signals` for the Google Authorized Buyers protocol and `BidResponse.ext.interest_group_bidding.interest_group_buyers.per_buyer_signals` for the OpenRTB protocol. These signals can be of any JSON format of your choosing, however, the buyer's domain name must match between: - the interest group response in `BidResponse.interest_group_map.buyer_domain` for the Google Authorized Buyers protocol or in `BidResponse.ext.interest_group_map.buyer_domain` for the OpenRTB protocol. - the contextual response as a key to the map in `BidResponse.interest_group_bidding.interest_group_buyers` for the Google Authorized Buyers protocol or in `BidResponse.ext.interest_group_bidding.interest_group_buyers` for the OpenRTB protocol. In other words, there must be a match between the buyer domain of the contextual per_buyer_signals and the domain of an interest group. `trustedBiddingSignals`: The trusted bidding signals that corresponds to the trusted_bidding_signals in the FLEDGE proposal. It is provided in the interest group response as `BidResponse.interest_group_map.user_bidding_signals` for the Google Authorized Buyers protocol and `BidResponse.ext.interest_group_map.user_bidding_signals` for the OpenRTB protocol. This field can be any JSON format of your choosing. `browserSignals`: An object of simulated browser-provider signals. It is an object with a single named field, `recent_impression_ages_secs`, that contains a list of estimated number value recent impression ages in seconds for a given interest group. `recent_impression_ages_secs` is not yet populated. The function returns the string creative ID of the selected ad, the bid price CPM, and (optionally) selected product IDs. In addition, the bidding function may populate an optional debug string that may be used for remote debugging and troubleshooting of a bidder-provided bidding function. The debug string should not contain a user identifier. The maximum length of the debug string is 200 bytes. This debug string is available in `BidResponseFeedback` (https://developers.google.com/authorized-buyers/rtb/realtime-bidding-guide#bidresponsefeedback-object) and `BidFeedback` (https://developers.google.com/authorized-buyers/rtb/openrtb-guide#bidfeedback), for the Google protocol and OpenRTB protocol respectively. In addition, the debug string can be inserted into the creative HTML snippet via macro substitution if the following string is included in the snippet: \u201c%%DEBUG_STRING%%\u201d. Please ensure the debug string complies with [Platform Program Policies](https://support.google.com/platformspolicy/answer/3013851). Sample Bidding Function: ``` function biddingFunction(inputs) { ... return { \"buyerCreativeId\": \"ad_creative_id_1\", \"bidPriceCpm\": 0.3, \"productIds\": [\"product_id_1\", \"product_id_2\", \"product_id_3\"] \"debugString\": \"Bidding function executed successfully!\" } } ```" + ], + "type": "string" } }, "type": "object" diff --git a/etc/api/recaptchaenterprise/v1/recaptchaenterprise-api.json b/etc/api/recaptchaenterprise/v1/recaptchaenterprise-api.json new file mode 100644 index 0000000000..4ac546fd95 --- /dev/null +++ b/etc/api/recaptchaenterprise/v1/recaptchaenterprise-api.json @@ -0,0 +1,1157 @@ +{ + "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://recaptchaenterprise.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Recaptcha Enterprise", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/recaptcha-enterprise/", + "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": "recaptchaenterprise:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://recaptchaenterprise.mtls.googleapis.com/", + "name": "recaptchaenterprise", + "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": { + "assessments": { + "methods": { + "annotate": { + "description": "Annotates a previously created Assessment to provide additional information on whether the event turned out to be authentic or fraudulent.", + "flatPath": "v1/projects/{projectsId}/assessments/{assessmentsId}:annotate", + "httpMethod": "POST", + "id": "recaptchaenterprise.projects.assessments.annotate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the Assessment, in the format \"projects/{project}/assessments/{assessment}\".", + "location": "path", + "pattern": "^projects/[^/]+/assessments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:annotate", + "request": { + "$ref": "GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentRequest" + }, + "response": { + "$ref": "GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates an Assessment of the likelihood an event is legitimate.", + "flatPath": "v1/projects/{projectsId}/assessments", + "httpMethod": "POST", + "id": "recaptchaenterprise.projects.assessments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the project in which the assessment will be created, in the format \"projects/{project}\".", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/assessments", + "request": { + "$ref": "GoogleCloudRecaptchaenterpriseV1Assessment" + }, + "response": { + "$ref": "GoogleCloudRecaptchaenterpriseV1Assessment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "keys": { + "methods": { + "create": { + "description": "Creates a new reCAPTCHA Enterprise key.", + "flatPath": "v1/projects/{projectsId}/keys", + "httpMethod": "POST", + "id": "recaptchaenterprise.projects.keys.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the project in which the key will be created, in the format \"projects/{project}\".", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/keys", + "request": { + "$ref": "GoogleCloudRecaptchaenterpriseV1Key" + }, + "response": { + "$ref": "GoogleCloudRecaptchaenterpriseV1Key" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified key.", + "flatPath": "v1/projects/{projectsId}/keys/{keysId}", + "httpMethod": "DELETE", + "id": "recaptchaenterprise.projects.keys.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the key to be deleted, in the format \"projects/{project}/keys/{key}\".", + "location": "path", + "pattern": "^projects/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the specified key.", + "flatPath": "v1/projects/{projectsId}/keys/{keysId}", + "httpMethod": "GET", + "id": "recaptchaenterprise.projects.keys.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the requested key, in the format \"projects/{project}/keys/{key}\".", + "location": "path", + "pattern": "^projects/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudRecaptchaenterpriseV1Key" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getMetrics": { + "description": "Get some aggregated metrics for a Key. This data can be used to build dashboards.", + "flatPath": "v1/projects/{projectsId}/keys/{keysId}/metrics", + "httpMethod": "GET", + "id": "recaptchaenterprise.projects.keys.getMetrics", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the requested metrics, in the format \"projects/{project}/keys/{key}/metrics\".", + "location": "path", + "pattern": "^projects/[^/]+/keys/[^/]+/metrics$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudRecaptchaenterpriseV1Metrics" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns the list of all keys that belong to a project.", + "flatPath": "v1/projects/{projectsId}/keys", + "httpMethod": "GET", + "id": "recaptchaenterprise.projects.keys.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of keys to return. Default is 10. Max limit is 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous. ListKeysRequest, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the project that contains the keys that will be listed, in the format \"projects/{project}\".", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/keys", + "response": { + "$ref": "GoogleCloudRecaptchaenterpriseV1ListKeysResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "migrate": { + "description": "Migrates an existing key from reCAPTCHA to reCAPTCHA Enterprise. Once a key is migrated, it can be used from either product. SiteVerify requests are billed as CreateAssessment calls. You must be authenticated as one of the current owners of the reCAPTCHA Site Key, and your user must have the reCAPTCHA Enterprise Admin IAM role in the destination project.", + "flatPath": "v1/projects/{projectsId}/keys/{keysId}:migrate", + "httpMethod": "POST", + "id": "recaptchaenterprise.projects.keys.migrate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the key to be migrated, in the format \"projects/{project}/keys/{key}\".", + "location": "path", + "pattern": "^projects/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:migrate", + "request": { + "$ref": "GoogleCloudRecaptchaenterpriseV1MigrateKeyRequest" + }, + "response": { + "$ref": "GoogleCloudRecaptchaenterpriseV1Key" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified key.", + "flatPath": "v1/projects/{projectsId}/keys/{keysId}", + "httpMethod": "PATCH", + "id": "recaptchaenterprise.projects.keys.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name for the Key in the format \"projects/{project}/keys/{key}\".", + "location": "path", + "pattern": "^projects/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The mask to control which fields of the key get updated. If the mask is not present, all fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudRecaptchaenterpriseV1Key" + }, + "response": { + "$ref": "GoogleCloudRecaptchaenterpriseV1Key" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "relatedaccountgroupmemberships": { + "methods": { + "search": { + "description": "Search group memberships related to a given account.", + "flatPath": "v1/projects/{projectsId}/relatedaccountgroupmemberships:search", + "httpMethod": "POST", + "id": "recaptchaenterprise.projects.relatedaccountgroupmemberships.search", + "parameterOrder": [ + "project" + ], + "parameters": { + "project": { + "description": "Required. The name of the project to search related account group memberships from, in the format \"projects/{project}\".", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+project}/relatedaccountgroupmemberships:search", + "request": { + "$ref": "GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsRequest" + }, + "response": { + "$ref": "GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "relatedaccountgroups": { + "methods": { + "list": { + "description": "List groups of related accounts.", + "flatPath": "v1/projects/{projectsId}/relatedaccountgroups", + "httpMethod": "GET", + "id": "recaptchaenterprise.projects.relatedaccountgroups.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of groups to return. The service may return fewer than this value. If unspecified, at most 50 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": "Optional. A page token, received from a previous `ListRelatedAccountGroups` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRelatedAccountGroups` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the project to list related account groups from, in the format \"projects/{project}\".", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/relatedaccountgroups", + "response": { + "$ref": "GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "memberships": { + "methods": { + "list": { + "description": "Get the memberships in a group of related accounts.", + "flatPath": "v1/projects/{projectsId}/relatedaccountgroups/{relatedaccountgroupsId}/memberships", + "httpMethod": "GET", + "id": "recaptchaenterprise.projects.relatedaccountgroups.memberships.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of accounts to return. The service may return fewer than this value. If unspecified, at most 50 accounts 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 `ListRelatedAccountGroupMemberships` call. When paginating, all other parameters provided to `ListRelatedAccountGroupMemberships` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name for the related account group in the format `projects/{project}/relatedaccountgroups/{relatedaccountgroup}`.", + "location": "path", + "pattern": "^projects/[^/]+/relatedaccountgroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/memberships", + "response": { + "$ref": "GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupMembershipsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20220226", + "rootUrl": "https://recaptchaenterprise.googleapis.com/", + "schemas": { + "GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment": { + "description": "Account Defender risk assessment.", + "id": "GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment", + "properties": { + "labels": { + "description": "Labels for this request.", + "items": { + "enum": [ + "ACCOUNT_DEFENDER_LABEL_UNSPECIFIED", + "PROFILE_MATCH", + "SUSPICIOUS_LOGIN_ACTIVITY", + "SUSPICIOUS_ACCOUNT_CREATION", + "RELATED_ACCOUNTS_NUMBER_HIGH" + ], + "enumDescriptions": [ + "Default unspecified type.", + "The request matches a known good profile for the user.", + "The request is potentially a suspicious login event and should be further verified either via multi-factor authentication or another system.", + "The request matched a profile that previously had suspicious account creation behavior. This could mean this is a fake account.", + "The account in the request has a high number of related accounts. It does not necessarily imply that the account is bad but could require investigating." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1AndroidKeySettings": { + "description": "Settings specific to keys that can be used by Android apps.", + "id": "GoogleCloudRecaptchaenterpriseV1AndroidKeySettings", + "properties": { + "allowAllPackageNames": { + "description": "If set to true, allowed_package_names are not enforced.", + "type": "boolean" + }, + "allowedPackageNames": { + "description": "Android package names of apps allowed to use the key. Example: 'com.companyname.appname'", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentRequest": { + "description": "The request message to annotate an Assessment.", + "id": "GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentRequest", + "properties": { + "annotation": { + "description": "Optional. The annotation that will be assigned to the Event. This field can be left empty to provide reasons that apply to an event without concluding whether the event is legitimate or fraudulent.", + "enum": [ + "ANNOTATION_UNSPECIFIED", + "LEGITIMATE", + "FRAUDULENT", + "PASSWORD_CORRECT", + "PASSWORD_INCORRECT" + ], + "enumDescriptions": [ + "Default unspecified type.", + "Provides information that the event turned out to be legitimate.", + "Provides information that the event turned out to be fraudulent.", + "Provides information that the event was related to a login event in which the user typed the correct password. Deprecated, prefer indicating CORRECT_PASSWORD through the reasons field instead.", + "Provides information that the event was related to a login event in which the user typed the incorrect password. Deprecated, prefer indicating INCORRECT_PASSWORD through the reasons field instead." + ], + "type": "string" + }, + "hashedAccountId": { + "description": "Optional. Optional unique stable hashed user identifier to apply to the assessment. This is an alternative to setting the hashed_account_id in CreateAssessment, for example when the account identifier is not yet known in the initial request. It is recommended that the identifier is hashed using hmac-sha256 with stable secret.", + "format": "byte", + "type": "string" + }, + "reasons": { + "description": "Optional. Optional reasons for the annotation that will be assigned to the Event.", + "items": { + "enum": [ + "REASON_UNSPECIFIED", + "CHARGEBACK", + "CHARGEBACK_FRAUD", + "CHARGEBACK_DISPUTE", + "PAYMENT_HEURISTICS", + "INITIATED_TWO_FACTOR", + "PASSED_TWO_FACTOR", + "FAILED_TWO_FACTOR", + "CORRECT_PASSWORD", + "INCORRECT_PASSWORD" + ], + "enumDescriptions": [ + "Default unspecified reason.", + "Indicates a chargeback issued for the transaction with no other details. When possible, specify the type by using CHARGEBACK_FRAUD or CHARGEBACK_DISPUTE instead.", + "Indicates a chargeback related to an alleged unauthorized transaction from the cardholder's perspective (for example, the card number was stolen).", + "Indicates a chargeback related to the cardholder having provided their card details but allegedly not being satisfied with the purchase (for example, misrepresentation, attempted cancellation).", + "Indicates the transaction associated with the assessment is suspected of being fraudulent based on the payment method, billing details, shipping address or other transaction information.", + "Indicates that the user was served a 2FA challenge. An old assessment with `ENUM_VALUES.INITIATED_TWO_FACTOR` reason that has not been overwritten with `PASSED_TWO_FACTOR` is treated as an abandoned 2FA flow. This is equivalent to `FAILED_TWO_FACTOR`.", + "Indicates that the user passed a 2FA challenge.", + "Indicates that the user failed a 2FA challenge.", + "Indicates the user provided the correct password.", + "Indicates the user provided an incorrect password." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentResponse": { + "description": "Empty response for AnnotateAssessment.", + "id": "GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1Assessment": { + "description": "A recaptcha assessment resource.", + "id": "GoogleCloudRecaptchaenterpriseV1Assessment", + "properties": { + "accountDefenderAssessment": { + "$ref": "GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment", + "description": "Assessment returned by Account Defender when a hashed_account_id is provided." + }, + "event": { + "$ref": "GoogleCloudRecaptchaenterpriseV1Event", + "description": "The event being assessed." + }, + "name": { + "description": "Output only. The resource name for the Assessment in the format \"projects/{project}/assessments/{assessment}\".", + "readOnly": true, + "type": "string" + }, + "riskAnalysis": { + "$ref": "GoogleCloudRecaptchaenterpriseV1RiskAnalysis", + "description": "Output only. The risk analysis result for the event being assessed.", + "readOnly": true + }, + "tokenProperties": { + "$ref": "GoogleCloudRecaptchaenterpriseV1TokenProperties", + "description": "Output only. Properties of the provided event token.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1ChallengeMetrics": { + "description": "Metrics related to challenges.", + "id": "GoogleCloudRecaptchaenterpriseV1ChallengeMetrics", + "properties": { + "failedCount": { + "description": "Count of submitted challenge solutions that were incorrect or otherwise deemed suspicious such that a subsequent challenge was triggered.", + "format": "int64", + "type": "string" + }, + "nocaptchaCount": { + "description": "Count of nocaptchas (successful verification without a challenge) issued.", + "format": "int64", + "type": "string" + }, + "pageloadCount": { + "description": "Count of reCAPTCHA checkboxes or badges rendered. This is mostly equivalent to a count of pageloads for pages that include reCAPTCHA.", + "format": "int64", + "type": "string" + }, + "passedCount": { + "description": "Count of nocaptchas (successful verification without a challenge) plus submitted challenge solutions that were correct and resulted in verification.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1Event": { + "id": "GoogleCloudRecaptchaenterpriseV1Event", + "properties": { + "expectedAction": { + "description": "Optional. The expected action for this type of event. This should be the same action provided at token generation time on client-side platforms already integrated with recaptcha enterprise.", + "type": "string" + }, + "hashedAccountId": { + "description": "Optional. Optional unique stable hashed user identifier for the request. The identifier should ideally be hashed using sha256 with stable secret.", + "format": "byte", + "type": "string" + }, + "siteKey": { + "description": "Optional. The site key that was used to invoke reCAPTCHA on your site and generate the token.", + "type": "string" + }, + "token": { + "description": "Optional. The user response token provided by the reCAPTCHA client-side integration on your site.", + "type": "string" + }, + "userAgent": { + "description": "Optional. The user agent present in the request from the user's device related to this event.", + "type": "string" + }, + "userIpAddress": { + "description": "Optional. The IP address in the request from the user's device related to this event.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1IOSKeySettings": { + "description": "Settings specific to keys that can be used by iOS apps.", + "id": "GoogleCloudRecaptchaenterpriseV1IOSKeySettings", + "properties": { + "allowAllBundleIds": { + "description": "If set to true, allowed_bundle_ids are not enforced.", + "type": "boolean" + }, + "allowedBundleIds": { + "description": "iOS bundle ids of apps allowed to use the key. Example: 'com.companyname.productname.appname'", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1Key": { + "description": "A key used to identify and configure applications (web and/or mobile) that use reCAPTCHA Enterprise.", + "id": "GoogleCloudRecaptchaenterpriseV1Key", + "properties": { + "androidSettings": { + "$ref": "GoogleCloudRecaptchaenterpriseV1AndroidKeySettings", + "description": "Settings for keys that can be used by Android apps." + }, + "createTime": { + "description": "The timestamp corresponding to the creation of this Key.", + "format": "google-datetime", + "type": "string" + }, + "displayName": { + "description": "Human-readable display name of this key. Modifiable by user.", + "type": "string" + }, + "iosSettings": { + "$ref": "GoogleCloudRecaptchaenterpriseV1IOSKeySettings", + "description": "Settings for keys that can be used by iOS apps." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "See Creating and managing labels.", + "type": "object" + }, + "name": { + "description": "The resource name for the Key in the format \"projects/{project}/keys/{key}\".", + "type": "string" + }, + "testingOptions": { + "$ref": "GoogleCloudRecaptchaenterpriseV1TestingOptions", + "description": "Options for user acceptance testing." + }, + "wafSettings": { + "$ref": "GoogleCloudRecaptchaenterpriseV1WafSettings", + "description": "Settings for WAF" + }, + "webSettings": { + "$ref": "GoogleCloudRecaptchaenterpriseV1WebKeySettings", + "description": "Settings for keys that can be used by websites." + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1ListKeysResponse": { + "description": "Response to request to list keys in a project.", + "id": "GoogleCloudRecaptchaenterpriseV1ListKeysResponse", + "properties": { + "keys": { + "description": "Key details.", + "items": { + "$ref": "GoogleCloudRecaptchaenterpriseV1Key" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results. It is set to empty if no keys remain in results.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupMembershipsResponse": { + "description": "The response to a `ListRelatedAccountGroupMemberships` call.", + "id": "GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupMembershipsResponse", + "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" + }, + "relatedAccountGroupMemberships": { + "description": "The memberships listed by the query.", + "items": { + "$ref": "GoogleCloudRecaptchaenterpriseV1RelatedAccountGroupMembership" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupsResponse": { + "description": "The response to a `ListRelatedAccountGroups` call.", + "id": "GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupsResponse", + "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" + }, + "relatedAccountGroups": { + "description": "The groups of related accounts listed by the query.", + "items": { + "$ref": "GoogleCloudRecaptchaenterpriseV1RelatedAccountGroup" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1Metrics": { + "description": "Metrics for a single Key.", + "id": "GoogleCloudRecaptchaenterpriseV1Metrics", + "properties": { + "challengeMetrics": { + "description": "Metrics will be continuous and in order by dates, and in the granularity of day. Only challenge-based keys (CHECKBOX, INVISIBLE), will have challenge-based data.", + "items": { + "$ref": "GoogleCloudRecaptchaenterpriseV1ChallengeMetrics" + }, + "type": "array" + }, + "name": { + "description": "Output only. The name of the metrics, in the format \"projects/{project}/keys/{key}/metrics\".", + "readOnly": true, + "type": "string" + }, + "scoreMetrics": { + "description": "Metrics will be continuous and in order by dates, and in the granularity of day. All Key types should have score-based data.", + "items": { + "$ref": "GoogleCloudRecaptchaenterpriseV1ScoreMetrics" + }, + "type": "array" + }, + "startTime": { + "description": "Inclusive start time aligned to a day (UTC).", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1MigrateKeyRequest": { + "description": "The migrate key request message.", + "id": "GoogleCloudRecaptchaenterpriseV1MigrateKeyRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1RelatedAccountGroup": { + "description": "A group of related accounts.", + "id": "GoogleCloudRecaptchaenterpriseV1RelatedAccountGroup", + "properties": { + "name": { + "description": "Required. The resource name for the related account group in the format `projects/{project}/relatedaccountgroups/{related_account_group}`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1RelatedAccountGroupMembership": { + "description": "A membership in a group of related accounts.", + "id": "GoogleCloudRecaptchaenterpriseV1RelatedAccountGroupMembership", + "properties": { + "hashedAccountId": { + "description": "The unique stable hashed user identifier of the member. The identifier corresponds to a `hashed_account_id` provided in a previous CreateAssessment or AnnotateAssessment call.", + "format": "byte", + "type": "string" + }, + "name": { + "description": "Required. The resource name for this membership in the format `projects/{project}/relatedaccountgroups/{relatedaccountgroup}/memberships/{membership}`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1RiskAnalysis": { + "description": "Risk analysis result for an event.", + "id": "GoogleCloudRecaptchaenterpriseV1RiskAnalysis", + "properties": { + "reasons": { + "description": "Reasons contributing to the risk analysis verdict.", + "items": { + "enum": [ + "CLASSIFICATION_REASON_UNSPECIFIED", + "AUTOMATION", + "UNEXPECTED_ENVIRONMENT", + "TOO_MUCH_TRAFFIC", + "UNEXPECTED_USAGE_PATTERNS", + "LOW_CONFIDENCE_SCORE" + ], + "enumDescriptions": [ + "Default unspecified type.", + "Interactions matched the behavior of an automated agent.", + "The event originated from an illegitimate environment.", + "Traffic volume from the event source is higher than normal.", + "Interactions with the site were significantly different than expected patterns.", + "Too little traffic has been received from this site thus far to generate quality risk analysis." + ], + "type": "string" + }, + "type": "array" + }, + "score": { + "description": "Legitimate event score from 0.0 to 1.0. (1.0 means very likely legitimate traffic while 0.0 means very likely non-legitimate traffic).", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1ScoreDistribution": { + "description": "Score distribution.", + "id": "GoogleCloudRecaptchaenterpriseV1ScoreDistribution", + "properties": { + "scoreBuckets": { + "additionalProperties": { + "format": "int64", + "type": "string" + }, + "description": "Map key is score value multiplied by 100. The scores are discrete values between [0, 1]. The maximum number of buckets is on order of a few dozen, but typically much lower (ie. 10).", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1ScoreMetrics": { + "description": "Metrics related to scoring.", + "id": "GoogleCloudRecaptchaenterpriseV1ScoreMetrics", + "properties": { + "actionMetrics": { + "additionalProperties": { + "$ref": "GoogleCloudRecaptchaenterpriseV1ScoreDistribution" + }, + "description": "Action-based metrics. The map key is the action name which specified by the site owners at time of the \"execute\" client-side call. Populated only for SCORE keys.", + "type": "object" + }, + "overallMetrics": { + "$ref": "GoogleCloudRecaptchaenterpriseV1ScoreDistribution", + "description": "Aggregated score metrics for all traffic." + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsRequest": { + "description": "The request message to search related account group memberships.", + "id": "GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsRequest", + "properties": { + "hashedAccountId": { + "description": "Optional. The unique stable hashed user identifier we should search connections to. The identifier should correspond to a `hashed_account_id` provided in a previous CreateAssessment or AnnotateAssessment call.", + "format": "byte", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of groups to return. The service may return fewer than this value. If unspecified, at most 50 groups will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `SearchRelatedAccountGroupMemberships` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchRelatedAccountGroupMemberships` must match the call that provided the page token.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsResponse": { + "description": "The response to a `SearchRelatedAccountGroupMemberships` call.", + "id": "GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsResponse", + "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" + }, + "relatedAccountGroupMemberships": { + "description": "The queried memberships.", + "items": { + "$ref": "GoogleCloudRecaptchaenterpriseV1RelatedAccountGroupMembership" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1TestingOptions": { + "description": "Options for user acceptance testing.", + "id": "GoogleCloudRecaptchaenterpriseV1TestingOptions", + "properties": { + "testingChallenge": { + "description": "For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site will return nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE.", + "enum": [ + "TESTING_CHALLENGE_UNSPECIFIED", + "NOCAPTCHA", + "UNSOLVABLE_CHALLENGE" + ], + "enumDescriptions": [ + "Perform the normal risk analysis and return either nocaptcha or a challenge depending on risk and trust factors.", + "Challenge requests for this key always return a nocaptcha, which does not require a solution.", + "Challenge requests for this key always return an unsolvable challenge." + ], + "type": "string" + }, + "testingScore": { + "description": "All assessments for this Key will return this score. Must be between 0 (likely not legitimate) and 1 (likely legitimate) inclusive.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1TokenProperties": { + "id": "GoogleCloudRecaptchaenterpriseV1TokenProperties", + "properties": { + "action": { + "description": "Action name provided at token generation.", + "type": "string" + }, + "createTime": { + "description": "The timestamp corresponding to the generation of the token.", + "format": "google-datetime", + "type": "string" + }, + "hostname": { + "description": "The hostname of the page on which the token was generated.", + "type": "string" + }, + "invalidReason": { + "description": "Reason associated with the response when valid = false.", + "enum": [ + "INVALID_REASON_UNSPECIFIED", + "UNKNOWN_INVALID_REASON", + "MALFORMED", + "EXPIRED", + "DUPE", + "MISSING", + "BROWSER_ERROR" + ], + "enumDescriptions": [ + "Default unspecified type.", + "If the failure reason was not accounted for.", + "The provided user verification token was malformed.", + "The user verification token had expired.", + "The user verification had already been seen.", + "The user verification token was not present.", + "A retriable error (such as network failure) occurred on the browser. Could easily be simulated by an attacker." + ], + "type": "string" + }, + "valid": { + "description": "Whether the provided user response token is valid. When valid = false, the reason could be specified in invalid_reason or it could also be due to a user failing to solve a challenge or a sitekey mismatch (i.e the sitekey used to generate the token was different than the one specified in the assessment).", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1WafSettings": { + "description": "Settings specific to keys that can be used for WAF (Web Application Firewall).", + "id": "GoogleCloudRecaptchaenterpriseV1WafSettings", + "properties": { + "wafFeature": { + "description": "Required. The WAF feature for which this key is enabled.", + "enum": [ + "WAF_FEATURE_UNSPECIFIED", + "CHALLENGE_PAGE", + "SESSION_TOKEN", + "ACTION_TOKEN" + ], + "enumDescriptions": [ + "Undefined feature.", + "Redirects suspicious traffic to reCAPTCHA.", + "Use reCAPTCHA session-tokens to protect the whole user session on the site's domain.", + "Use reCAPTCHA action-tokens to protect user actions." + ], + "type": "string" + }, + "wafService": { + "description": "Required. The WAF service that uses this key.", + "enum": [ + "WAF_SERVICE_UNSPECIFIED", + "CA" + ], + "enumDescriptions": [ + "Undefined WAF", + "Cloud Armor" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRecaptchaenterpriseV1WebKeySettings": { + "description": "Settings specific to keys that can be used by websites.", + "id": "GoogleCloudRecaptchaenterpriseV1WebKeySettings", + "properties": { + "allowAllDomains": { + "description": "If set to true, it means allowed_domains will not be enforced.", + "type": "boolean" + }, + "allowAmpTraffic": { + "description": "If set to true, the key can be used on AMP (Accelerated Mobile Pages) websites. This is supported only for the SCORE integration type.", + "type": "boolean" + }, + "allowedDomains": { + "description": "Domains or subdomains of websites allowed to use the key. All subdomains of an allowed domain are automatically allowed. A valid domain requires a host and must not include any path, port, query or fragment. Examples: 'example.com' or 'subdomain.example.com'", + "items": { + "type": "string" + }, + "type": "array" + }, + "challengeSecurityPreference": { + "description": "Settings for the frequency and difficulty at which this key triggers captcha challenges. This should only be specified for IntegrationTypes CHECKBOX and INVISIBLE.", + "enum": [ + "CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED", + "USABILITY", + "BALANCE", + "SECURITY" + ], + "enumDescriptions": [ + "Default type that indicates this enum hasn't been specified.", + "Key tends to show fewer and easier challenges.", + "Key tends to show balanced (in amount and difficulty) challenges.", + "Key tends to show more and harder challenges." + ], + "type": "string" + }, + "integrationType": { + "description": "Required. Describes how this key is integrated with the website.", + "enum": [ + "INTEGRATION_TYPE_UNSPECIFIED", + "SCORE", + "CHECKBOX", + "INVISIBLE" + ], + "enumDescriptions": [ + "Default type that indicates this enum hasn't been specified. This is not a valid IntegrationType, one of the other types must be specified instead.", + "Only used to produce scores. It doesn't display the \"I'm not a robot\" checkbox and never shows captcha challenges.", + "Displays the \"I'm not a robot\" checkbox and may show captcha challenges after it is checked.", + "Doesn't display the \"I'm not a robot\" checkbox, but may show captcha challenges after risk analysis." + ], + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", + "id": "GoogleProtobufEmpty", + "properties": {}, + "type": "object" + } + }, + "servicePath": "", + "title": "reCAPTCHA Enterprise API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/recommendationengine/v1beta1/recommendationengine-api.json b/etc/api/recommendationengine/v1beta1/recommendationengine-api.json index e414b7b83b..d42c4c2979 100644 --- a/etc/api/recommendationengine/v1beta1/recommendationengine-api.json +++ b/etc/api/recommendationengine/v1beta1/recommendationengine-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -195,7 +195,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent catalog resource name, such as \"projects/*/locations/global/catalogs/default_catalog\".", + "description": "Required. The parent catalog resource name, such as `projects/*/locations/global/catalogs/default_catalog`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", "required": true, @@ -223,7 +223,7 @@ ], "parameters": { "name": { - "description": "Required. Full resource name of catalog item, such as \"projects/*/locations/global/catalogs/default_catalog/catalogItems/some_catalog_item_id\".", + "description": "Required. Full resource name of catalog item, such as `projects/*/locations/global/catalogs/default_catalog/catalogItems/some_catalog_item_id`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/catalogItems/.*$", "required": true, @@ -248,7 +248,7 @@ ], "parameters": { "name": { - "description": "Required. Full resource name of catalog item, such as \"projects/*/locations/global/catalogs/default_catalog/catalogitems/some_catalog_item_id\".", + "description": "Required. Full resource name of catalog item, such as `projects/*/locations/global/catalogs/default_catalog/catalogitems/some_catalog_item_id`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/catalogItems/.*$", "required": true, @@ -273,7 +273,7 @@ ], "parameters": { "parent": { - "description": "Required. \"projects/1234/locations/global/catalogs/default_catalog\" If no updateMask is specified, requires catalogItems.create permission. If updateMask is specified, requires catalogItems.update permission.", + "description": "Required. `projects/1234/locations/global/catalogs/default_catalog` If no updateMask is specified, requires catalogItems.create permission. If updateMask is specified, requires catalogItems.update permission.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", "required": true, @@ -301,7 +301,7 @@ ], "parameters": { "filter": { - "description": "Optional. A filter to apply on the list results.", + "description": "Optional. Use of this field is not supported by version v1beta1.", "location": "query", "type": "string" }, @@ -317,7 +317,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent catalog resource name, such as \"projects/*/locations/global/catalogs/default_catalog\".", + "description": "Required. The parent catalog resource name, such as `projects/*/locations/global/catalogs/default_catalog`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", "required": true, @@ -342,7 +342,7 @@ ], "parameters": { "name": { - "description": "Required. Full resource name of catalog item, such as \"projects/*/locations/global/catalogs/default_catalog/catalogItems/some_catalog_item_id\".", + "description": "Required. Full resource name of catalog item, such as `projects/*/locations/global/catalogs/default_catalog/catalogItems/some_catalog_item_id`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/catalogItems/.*$", "required": true, @@ -452,7 +452,7 @@ ], "parameters": { "name": { - "description": "Required. Full resource name of the format: {name=projects/*/locations/global/catalogs/default_catalog/eventStores/default_event_store/placements/*} The id of the recommendation engine placement. This id is used to identify the set of models that will be used to make the prediction. We currently support three placements with the following IDs by default: * `shopping_cart`: Predicts items frequently bought together with one or more catalog items in the same shopping session. Commonly displayed after `add-to-cart` events, on product detail pages, or on the shopping cart page. * `home_page`: Predicts the next product that a user will most likely engage with or purchase based on the shopping or viewing history of the specified `userId` or `visitorId`. For example - Recommendations for you. * `product_detail`: Predicts the next product that a user will most likely engage with or purchase. The prediction is based on the shopping or viewing history of the specified `userId` or `visitorId` and its relevance to a specified `CatalogItem`. Typically used on product detail pages. For example - More items like this. * `recently_viewed_default`: Returns up to 75 items recently viewed by the specified `userId` or `visitorId`, most recent ones first. Returns nothing if neither of them has viewed any items yet. For example - Recently viewed. The full list of available placements can be seen at https://console.cloud.google.com/recommendation/datafeeds/default_catalog/dashboard", + "description": "Required. Full resource name of the format: `{name=projects/*/locations/global/catalogs/default_catalog/eventStores/default_event_store/placements/*}` The id of the recommendation engine placement. This id is used to identify the set of models that will be used to make the prediction. We currently support three placements with the following IDs by default: * `shopping_cart`: Predicts items frequently bought together with one or more catalog items in the same shopping session. Commonly displayed after `add-to-cart` events, on product detail pages, or on the shopping cart page. * `home_page`: Predicts the next product that a user will most likely engage with or purchase based on the shopping or viewing history of the specified `userId` or `visitorId`. For example - Recommendations for you. * `product_detail`: Predicts the next product that a user will most likely engage with or purchase. The prediction is based on the shopping or viewing history of the specified `userId` or `visitorId` and its relevance to a specified `CatalogItem`. Typically used on product detail pages. For example - More items like this. * `recently_viewed_default`: Returns up to 75 items recently viewed by the specified `userId` or `visitorId`, most recent ones first. Returns nothing if neither of them has viewed any items yet. For example - Recently viewed. The full list of available placements can be seen at https://console.cloud.google.com/recommendation/datafeeds/default_catalog/dashboard", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/eventStores/[^/]+/placements/[^/]+$", "required": true, @@ -484,7 +484,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource path. \"projects/*/locations/global/catalogs/default_catalog/eventStores/default_event_store\".", + "description": "Required. The parent resource path. `projects/*/locations/global/catalogs/default_catalog/eventStores/default_event_store`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/eventStores/[^/]+$", "required": true, @@ -512,7 +512,7 @@ ], "parameters": { "name": { - "description": "Required. The API key to unregister including full resource path. \"projects/*/locations/global/catalogs/default_catalog/eventStores/default_event_store/predictionApiKeyRegistrations/\"", + "description": "Required. The API key to unregister including full resource path. `projects/*/locations/global/catalogs/default_catalog/eventStores/default_event_store/predictionApiKeyRegistrations/`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/eventStores/[^/]+/predictionApiKeyRegistrations/[^/]+$", "required": true, @@ -548,7 +548,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent placement resource name such as \"projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store\"", + "description": "Required. The parent placement resource name such as `projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/eventStores/[^/]+$", "required": true, @@ -583,7 +583,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent eventStore name, such as \"projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store\".", + "description": "Required. The parent eventStore name, such as `projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/eventStores/[^/]+$", "required": true, @@ -618,7 +618,7 @@ ], "parameters": { "parent": { - "description": "Required. \"projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store\"", + "description": "Required. `projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/eventStores/[^/]+$", "required": true, @@ -662,7 +662,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent eventStore resource name, such as \"projects/*/locations/*/catalogs/default_catalog/eventStores/default_event_store\".", + "description": "Required. The parent eventStore resource name, such as `projects/*/locations/*/catalogs/default_catalog/eventStores/default_event_store`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/eventStores/[^/]+$", "required": true, @@ -687,7 +687,7 @@ ], "parameters": { "parent": { - "description": "Required. The resource name of the event_store under which the events are created. The format is \"projects/${projectId}/locations/global/catalogs/${catalogId}/eventStores/${eventStoreId}\"", + "description": "Required. The resource name of the event_store under which the events are created. The format is `projects/${projectId}/locations/global/catalogs/${catalogId}/eventStores/${eventStoreId}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/eventStores/[^/]+$", "required": true, @@ -715,7 +715,7 @@ ], "parameters": { "parent": { - "description": "Required. Full resource name of user event, such as \"projects/*/locations/*/catalogs/default_catalog/eventStores/default_event_store\".", + "description": "Required. Full resource name of user event, such as `projects/*/locations/*/catalogs/default_catalog/eventStores/default_event_store`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/eventStores/[^/]+$", "required": true, @@ -842,7 +842,7 @@ } } }, - "revision": "20210319", + "revision": "20220224", "rootUrl": "https://recommendationengine.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -1169,7 +1169,7 @@ "id": "GoogleCloudRecommendationengineV1beta1GcsSource", "properties": { "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 catalog information](/recommendations-ai/docs/upload-catalog) for the expected file format and setup instructions.", + "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 catalog information](/recommendations-ai/docs/upload-catalog) for the expected file format and setup instructions.", "items": { "type": "string" }, @@ -1433,7 +1433,7 @@ "id": "GoogleCloudRecommendationengineV1beta1PredictRequest", "properties": { "dryRun": { - "description": "Optional. Use dryRun mode for this prediction query. If set to true, a dummy model will be used that returns arbitrary catalog items. Note that the dryRun mode should only be used for testing the API, or if the model is not ready.", + "description": "Optional. Use dryRun mode for this prediction query. If set to true, a fake model will be used that returns arbitrary catalog items. Note that the dryRun mode should only be used for testing the API, or if the model is not ready.", "type": "boolean" }, "filter": { @@ -1460,7 +1460,7 @@ "additionalProperties": { "type": "any" }, - "description": "Optional. Additional domain specific parameters for the predictions. Allowed values: * `returnCatalogItem`: Boolean. If set to true, the associated catalogItem object will be returned in the `PredictResponse.PredictionResult.itemMetadata` object in the method response. * `returnItemScore`: Boolean. If set to true, the prediction 'score' corresponding to each returned item will be set in the `metadata` field in the prediction response. The given 'score' indicates the probability of an item 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 items instead of empty if your filter blocks all prediction results.", + "description": "Optional. Additional domain specific parameters for the predictions. Allowed values: * `returnCatalogItem`: Boolean. If set to true, the associated catalogItem object will be returned in the `PredictResponse.PredictionResult.itemMetadata` object in the method response. * `returnItemScore`: Boolean. If set to true, the prediction 'score' corresponding to each returned item will be set in the `metadata` field in the prediction response. The given 'score' indicates the probability of an item 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 items 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 adjust 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 adjust prediction results based on product category.", "type": "object" }, "userEvent": { @@ -1949,7 +1949,7 @@ "type": "string" }, "visitorId": { - "description": "Required. A unique identifier for tracking visitors with a length limit of 128 bytes. For example, this could be implemented with a 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. Maximum length 128 bytes. Cannot be empty.", + "description": "Required. A unique identifier for tracking visitors with a length limit of 128 bytes. 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. Maximum length 128 bytes. Cannot be empty.", "type": "string" } }, diff --git a/etc/api/recommender/v1/recommender-api.json b/etc/api/recommender/v1/recommender-api.json index 8a712fb524..7a8cafa4bb 100644 --- a/etc/api/recommender/v1/recommender-api.json +++ b/etc/api/recommender/v1/recommender-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -139,7 +139,7 @@ ] }, "list": { - "description": "Lists insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.", + "description": "Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.", "flatPath": "v1/billingAccounts/{billingAccountsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights", "httpMethod": "GET", "id": "recommender.billingAccounts.locations.insightTypes.insights.list", @@ -148,7 +148,7 @@ ], "parameters": { "filter": { - "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:\"DISMISSED\" or state:\"ACTIVE\"", + "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)", "location": "query", "type": "string" }, @@ -164,7 +164,7 @@ "type": "string" }, "parent": { - "description": "Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.)", + "description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.", "location": "path", "pattern": "^billingAccounts/[^/]+/locations/[^/]+/insightTypes/[^/]+$", "required": true, @@ -241,7 +241,7 @@ ] }, "list": { - "description": "Lists recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.", + "description": "Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.", "flatPath": "v1/billingAccounts/{billingAccountsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations", "httpMethod": "GET", "id": "recommender.billingAccounts.locations.recommenders.recommendations.list", @@ -250,7 +250,7 @@ ], "parameters": { "filter": { - "description": "Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:\"DISMISSED\" or state_info.state:\"FAILED\"", + "description": "Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)", "location": "query", "type": "string" }, @@ -266,7 +266,7 @@ "type": "string" }, "parent": { - "description": "Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.", + "description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.", "location": "path", "pattern": "^billingAccounts/[^/]+/locations/[^/]+/recommenders/[^/]+$", "required": true, @@ -407,7 +407,7 @@ ] }, "list": { - "description": "Lists insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.", + "description": "Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.", "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights", "httpMethod": "GET", "id": "recommender.folders.locations.insightTypes.insights.list", @@ -416,7 +416,7 @@ ], "parameters": { "filter": { - "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:\"DISMISSED\" or state:\"ACTIVE\"", + "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)", "location": "query", "type": "string" }, @@ -432,7 +432,7 @@ "type": "string" }, "parent": { - "description": "Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.)", + "description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/insightTypes/[^/]+$", "required": true, @@ -509,7 +509,7 @@ ] }, "list": { - "description": "Lists recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.", + "description": "Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.", "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations", "httpMethod": "GET", "id": "recommender.folders.locations.recommenders.recommendations.list", @@ -518,7 +518,7 @@ ], "parameters": { "filter": { - "description": "Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:\"DISMISSED\" or state_info.state:\"FAILED\"", + "description": "Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)", "location": "query", "type": "string" }, @@ -534,7 +534,7 @@ "type": "string" }, "parent": { - "description": "Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.", + "description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/recommenders/[^/]+$", "required": true, @@ -675,7 +675,7 @@ ] }, "list": { - "description": "Lists insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.", + "description": "Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights", "httpMethod": "GET", "id": "recommender.organizations.locations.insightTypes.insights.list", @@ -684,7 +684,7 @@ ], "parameters": { "filter": { - "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:\"DISMISSED\" or state:\"ACTIVE\"", + "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)", "location": "query", "type": "string" }, @@ -700,7 +700,7 @@ "type": "string" }, "parent": { - "description": "Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.)", + "description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/insightTypes/[^/]+$", "required": true, @@ -777,7 +777,7 @@ ] }, "list": { - "description": "Lists recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.", + "description": "Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations", "httpMethod": "GET", "id": "recommender.organizations.locations.recommenders.recommendations.list", @@ -786,7 +786,7 @@ ], "parameters": { "filter": { - "description": "Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:\"DISMISSED\" or state_info.state:\"FAILED\"", + "description": "Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)", "location": "query", "type": "string" }, @@ -802,7 +802,7 @@ "type": "string" }, "parent": { - "description": "Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.", + "description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/recommenders/[^/]+$", "required": true, @@ -943,7 +943,7 @@ ] }, "list": { - "description": "Lists insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.", + "description": "Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights", "httpMethod": "GET", "id": "recommender.projects.locations.insightTypes.insights.list", @@ -952,7 +952,7 @@ ], "parameters": { "filter": { - "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:\"DISMISSED\" or state:\"ACTIVE\"", + "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)", "location": "query", "type": "string" }, @@ -968,7 +968,7 @@ "type": "string" }, "parent": { - "description": "Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.)", + "description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/insightTypes/[^/]+$", "required": true, @@ -1045,7 +1045,7 @@ ] }, "list": { - "description": "Lists recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.", + "description": "Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations", "httpMethod": "GET", "id": "recommender.projects.locations.recommenders.recommendations.list", @@ -1054,7 +1054,7 @@ ], "parameters": { "filter": { - "description": "Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:\"DISMISSED\" or state_info.state:\"FAILED\"", + "description": "Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)", "location": "query", "type": "string" }, @@ -1070,7 +1070,7 @@ "type": "string" }, "parent": { - "description": "Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.", + "description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+$", "required": true, @@ -1178,7 +1178,7 @@ } } }, - "revision": "20210319", + "revision": "20220228", "rootUrl": "https://recommender.googleapis.com/", "schemas": { "GoogleCloudRecommenderV1CostProjection": { @@ -1187,7 +1187,7 @@ "properties": { "cost": { "$ref": "GoogleTypeMoney", - "description": "An approximate projection on amount saved or amount incurred. Negative cost units indicate cost savings and positive cost units indicate increase. See google.type.Money documentation for positive/negative units." + "description": "An approximate projection on amount saved or amount incurred. Negative cost units indicate cost savings and positive cost units indicate increase. See google.type.Money documentation for positive/negative units. A user's permissions may affect whether the cost is computed using list prices or custom contract prices." }, "duration": { "description": "Duration for which this cost applies.", @@ -1222,6 +1222,10 @@ "costProjection": { "$ref": "GoogleCloudRecommenderV1CostProjection", "description": "Use with CategoryType.COST" + }, + "securityProjection": { + "$ref": "GoogleCloudRecommenderV1SecurityProjection", + "description": "Use with CategoryType.SECURITY" } }, "type": "object" @@ -1289,6 +1293,24 @@ "format": "google-duration", "type": "string" }, + "severity": { + "description": "Insight's severity.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "LOW", + "MEDIUM", + "HIGH", + "CRITICAL" + ], + "enumDescriptions": [ + "Insight has unspecified severity.", + "Insight has low severity.", + "Insight has medium severity.", + "Insight has high severity.", + "Insight has critical severity." + ], + "type": "string" + }, "stateInfo": { "$ref": "GoogleCloudRecommenderV1InsightStateInfo", "description": "Information state and metadata." @@ -1410,7 +1432,7 @@ "additionalProperties": { "type": "string" }, - "description": "State properties to include with this state. Overwrites any existing `state_metadata`. Keys must match the regex /^a-z0-9{0,62}$/. Values must match the regex /^[a-zA-Z0-9_./-]{0,255}$/.", + "description": "State properties to include with this state. Overwrites any existing `state_metadata`. Keys must match the regex `/^a-z0-9{0,62}$/`. Values must match the regex `/^[a-zA-Z0-9_./-]{0,255}$/`.", "type": "object" } }, @@ -1428,7 +1450,7 @@ "additionalProperties": { "type": "string" }, - "description": "State properties to include with this state. Overwrites any existing `state_metadata`. Keys must match the regex /^a-z0-9{0,62}$/. Values must match the regex /^[a-zA-Z0-9_./-]{0,255}$/.", + "description": "State properties to include with this state. Overwrites any existing `state_metadata`. Keys must match the regex `/^a-z0-9{0,62}$/`. Values must match the regex `/^[a-zA-Z0-9_./-]{0,255}$/`.", "type": "object" } }, @@ -1446,7 +1468,7 @@ "additionalProperties": { "type": "string" }, - "description": "State properties to include with this state. Overwrites any existing `state_metadata`. Keys must match the regex /^a-z0-9{0,62}$/. Values must match the regex /^[a-zA-Z0-9_./-]{0,255}$/.", + "description": "State properties to include with this state. Overwrites any existing `state_metadata`. Keys must match the regex `/^a-z0-9{0,62}$/`. Values must match the regex `/^[a-zA-Z0-9_./-]{0,255}$/`.", "type": "object" } }, @@ -1457,7 +1479,7 @@ "id": "GoogleCloudRecommenderV1Operation", "properties": { "action": { - "description": "Type of this operation. Contains one of 'and', 'remove', 'replace', 'move', 'copy', 'test' and custom operations. This field is case-insensitive and always populated.", + "description": "Type of this operation. Contains one of 'add', 'remove', 'replace', 'move', 'copy', 'test' and custom operations. This field is case-insensitive and always populated.", "type": "string" }, "path": { @@ -1468,7 +1490,7 @@ "additionalProperties": { "type": "any" }, - "description": "Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { \"/versions/*/name\" : \"it-123\" \"/versions/*/targetSize/percent\": 20 } * Example: { \"/bindings/*/role\": \"roles/owner\" \"/bindings/*/condition\" : null } * Example: { \"/bindings/*/role\": \"roles/owner\" \"/bindings/*/members/*\" : [\"x@example.com\", \"y@example.com\"] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.", + "description": "Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: ``` { \"/versions/*/name\" : \"it-123\" \"/versions/*/targetSize/percent\": 20 } ``` * Example: ``` { \"/bindings/*/role\": \"roles/owner\" \"/bindings/*/condition\" : null } ``` * Example: ``` { \"/bindings/*/role\": \"roles/owner\" \"/bindings/*/members/*\" : [\"x@example.com\", \"y@example.com\"] } ``` When both path_filters and path_value_matchers are set, an implicit AND must be performed.", "type": "object" }, "pathValueMatchers": { @@ -1562,6 +1584,24 @@ "$ref": "GoogleCloudRecommenderV1Impact", "description": "The primary impact that this recommendation can have while trying to optimize for one category." }, + "priority": { + "description": "Recommendation's priority.", + "enum": [ + "PRIORITY_UNSPECIFIED", + "P4", + "P3", + "P2", + "P1" + ], + "enumDescriptions": [ + "Recommendation has unspecified priority.", + "Recommendation has P4 priority (lowest priority).", + "Recommendation has P3 priority (second lowest priority).", + "Recommendation has P2 priority (second highest priority).", + "Recommendation has P1 priority (highest priority)." + ], + "type": "string" + }, "recommenderSubtype": { "description": "Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = \"google.iam.policy.Recommender\", recommender_subtype can be one of \"REMOVE_ROLE\"/\"REPLACE_ROLE\"", "type": "string" @@ -1569,6 +1609,10 @@ "stateInfo": { "$ref": "GoogleCloudRecommenderV1RecommendationStateInfo", "description": "Information for state. Contains state and metadata." + }, + "xorGroupId": { + "description": "Corresponds to a mutually exclusive group ID within a recommender. A non-empty ID indicates that the recommendation belongs to a mutually exclusive group. This means that only one recommendation within the group is suggested to be applied.", + "type": "string" } }, "type": "object" @@ -1583,6 +1627,14 @@ "$ref": "GoogleCloudRecommenderV1OperationGroup" }, "type": "array" + }, + "overview": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Condensed overview information about the recommendation.", + "type": "object" } }, "type": "object" @@ -1632,6 +1684,21 @@ }, "type": "object" }, + "GoogleCloudRecommenderV1SecurityProjection": { + "description": "Contains various ways of describing the impact on Security.", + "id": "GoogleCloudRecommenderV1SecurityProjection", + "properties": { + "details": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Additional security impact details that is provided by the recommender.", + "type": "object" + } + }, + "type": "object" + }, "GoogleCloudRecommenderV1ValueMatcher": { "description": "Contains various matching options for values for a GCP resource field.", "id": "GoogleCloudRecommenderV1ValueMatcher", diff --git a/etc/api/recommender/v1beta1/recommender-api.json b/etc/api/recommender/v1beta1/recommender-api.json index 5f9c0da8ae..93d3f2e0b5 100644 --- a/etc/api/recommender/v1beta1/recommender-api.json +++ b/etc/api/recommender/v1beta1/recommender-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -139,7 +139,7 @@ ] }, "list": { - "description": "Lists insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.", + "description": "Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.", "flatPath": "v1beta1/billingAccounts/{billingAccountsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights", "httpMethod": "GET", "id": "recommender.billingAccounts.locations.insightTypes.insights.list", @@ -148,7 +148,7 @@ ], "parameters": { "filter": { - "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:\"DISMISSED\" or state:\"ACTIVE\"", + "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)", "location": "query", "type": "string" }, @@ -164,7 +164,7 @@ "type": "string" }, "parent": { - "description": "Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.", + "description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.", "location": "path", "pattern": "^billingAccounts/[^/]+/locations/[^/]+/insightTypes/[^/]+$", "required": true, @@ -241,7 +241,7 @@ ] }, "list": { - "description": "Lists recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.", + "description": "Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.", "flatPath": "v1beta1/billingAccounts/{billingAccountsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations", "httpMethod": "GET", "id": "recommender.billingAccounts.locations.recommenders.recommendations.list", @@ -250,7 +250,7 @@ ], "parameters": { "filter": { - "description": "Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:\"DISMISSED\" or state_info.state:\"FAILED\"", + "description": "Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)", "location": "query", "type": "string" }, @@ -266,7 +266,7 @@ "type": "string" }, "parent": { - "description": "Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.", + "description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.", "location": "path", "pattern": "^billingAccounts/[^/]+/locations/[^/]+/recommenders/[^/]+$", "required": true, @@ -407,7 +407,7 @@ ] }, "list": { - "description": "Lists insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.", + "description": "Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.", "flatPath": "v1beta1/folders/{foldersId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights", "httpMethod": "GET", "id": "recommender.folders.locations.insightTypes.insights.list", @@ -416,7 +416,7 @@ ], "parameters": { "filter": { - "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:\"DISMISSED\" or state:\"ACTIVE\"", + "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)", "location": "query", "type": "string" }, @@ -432,7 +432,7 @@ "type": "string" }, "parent": { - "description": "Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.", + "description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/insightTypes/[^/]+$", "required": true, @@ -509,7 +509,7 @@ ] }, "list": { - "description": "Lists recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.", + "description": "Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.", "flatPath": "v1beta1/folders/{foldersId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations", "httpMethod": "GET", "id": "recommender.folders.locations.recommenders.recommendations.list", @@ -518,7 +518,7 @@ ], "parameters": { "filter": { - "description": "Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:\"DISMISSED\" or state_info.state:\"FAILED\"", + "description": "Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)", "location": "query", "type": "string" }, @@ -534,7 +534,7 @@ "type": "string" }, "parent": { - "description": "Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.", + "description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/recommenders/[^/]+$", "required": true, @@ -646,6 +646,72 @@ "locations": { "resources": { "insightTypes": { + "methods": { + "config": { + "description": "Updates an InsightTypeConfig change. This will create a new revision of the config.", + "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/insightTypes/{insightTypesId}/config", + "httpMethod": "POST", + "id": "recommender.organizations.locations.insightTypes.config", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of insight type config. Eg, projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/insightTypes/[^/]+/config$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "If true, validate the request and preview the change, but do not actually update it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "GoogleCloudRecommenderV1beta1InsightTypeConfig" + }, + "response": { + "$ref": "GoogleCloudRecommenderV1beta1InsightTypeConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getConfig": { + "description": "Gets the requested InsightTypeConfig. There is only one instance of the config for each InsightType.", + "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/insightTypes/{insightTypesId}/config", + "httpMethod": "GET", + "id": "recommender.organizations.locations.insightTypes.getConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the InsightTypeConfig to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config` * `projects/[PROJECT_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config` * `organizations/[ORGANIZATION_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/insightTypes/[^/]+/config$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleCloudRecommenderV1beta1InsightTypeConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, "resources": { "insights": { "methods": { @@ -675,7 +741,7 @@ ] }, "list": { - "description": "Lists insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.", + "description": "Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.", "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights", "httpMethod": "GET", "id": "recommender.organizations.locations.insightTypes.insights.list", @@ -684,7 +750,7 @@ ], "parameters": { "filter": { - "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:\"DISMISSED\" or state:\"ACTIVE\"", + "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)", "location": "query", "type": "string" }, @@ -700,7 +766,7 @@ "type": "string" }, "parent": { - "description": "Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.", + "description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/insightTypes/[^/]+$", "required": true, @@ -748,6 +814,72 @@ } }, "recommenders": { + "methods": { + "config": { + "description": "Updates a Recommender Config. This will create a new revision of the config.", + "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/recommenders/{recommendersId}/config", + "httpMethod": "POST", + "id": "recommender.organizations.locations.recommenders.config", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of recommender config. Eg, projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/recommenders/[^/]+/config$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "If true, validate the request and preview the change, but do not actually update it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "GoogleCloudRecommenderV1beta1RecommenderConfig" + }, + "response": { + "$ref": "GoogleCloudRecommenderV1beta1RecommenderConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getConfig": { + "description": "Gets the requested Recommender Config. There is only one instance of the config for each Recommender.", + "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/recommenders/{recommendersId}/config", + "httpMethod": "GET", + "id": "recommender.organizations.locations.recommenders.getConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the Recommendation Config to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config`", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/recommenders/[^/]+/config$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleCloudRecommenderV1beta1RecommenderConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, "resources": { "recommendations": { "methods": { @@ -777,7 +909,7 @@ ] }, "list": { - "description": "Lists recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.", + "description": "Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.", "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations", "httpMethod": "GET", "id": "recommender.organizations.locations.recommenders.recommendations.list", @@ -786,7 +918,7 @@ ], "parameters": { "filter": { - "description": "Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:\"DISMISSED\" or state_info.state:\"FAILED\"", + "description": "Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)", "location": "query", "type": "string" }, @@ -802,7 +934,7 @@ "type": "string" }, "parent": { - "description": "Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.", + "description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/recommenders/[^/]+$", "required": true, @@ -914,6 +1046,72 @@ "locations": { "resources": { "insightTypes": { + "methods": { + "getConfig": { + "description": "Gets the requested InsightTypeConfig. There is only one instance of the config for each InsightType.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/insightTypes/{insightTypesId}/config", + "httpMethod": "GET", + "id": "recommender.projects.locations.insightTypes.getConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the InsightTypeConfig to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config` * `projects/[PROJECT_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config` * `organizations/[ORGANIZATION_ID]/locations/global/recommenders/[INSIGHT_TYPE_ID]/config`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/insightTypes/[^/]+/config$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleCloudRecommenderV1beta1InsightTypeConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateConfig": { + "description": "Updates an InsightTypeConfig change. This will create a new revision of the config.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/insightTypes/{insightTypesId}/config", + "httpMethod": "PATCH", + "id": "recommender.projects.locations.insightTypes.updateConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of insight type config. Eg, projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/insightTypes/[^/]+/config$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "If true, validate the request and preview the change, but do not actually update it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "GoogleCloudRecommenderV1beta1InsightTypeConfig" + }, + "response": { + "$ref": "GoogleCloudRecommenderV1beta1InsightTypeConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, "resources": { "insights": { "methods": { @@ -943,7 +1141,7 @@ ] }, "list": { - "description": "Lists insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.", + "description": "Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/insightTypes/{insightTypesId}/insights", "httpMethod": "GET", "id": "recommender.projects.locations.insightTypes.insights.list", @@ -952,7 +1150,7 @@ ], "parameters": { "filter": { - "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:\"DISMISSED\" or state:\"ACTIVE\"", + "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)", "location": "query", "type": "string" }, @@ -968,7 +1166,7 @@ "type": "string" }, "parent": { - "description": "Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.", + "description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/insightTypes/[^/]+$", "required": true, @@ -1016,6 +1214,72 @@ } }, "recommenders": { + "methods": { + "getConfig": { + "description": "Gets the requested Recommender Config. There is only one instance of the config for each Recommender.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/config", + "httpMethod": "GET", + "id": "recommender.projects.locations.recommenders.getConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the Recommendation Config to get. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+/config$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleCloudRecommenderV1beta1RecommenderConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateConfig": { + "description": "Updates a Recommender Config. This will create a new revision of the config.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/config", + "httpMethod": "PATCH", + "id": "recommender.projects.locations.recommenders.updateConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of recommender config. Eg, projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+/config$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "If true, validate the request and preview the change, but do not actually update it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "GoogleCloudRecommenderV1beta1RecommenderConfig" + }, + "response": { + "$ref": "GoogleCloudRecommenderV1beta1RecommenderConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, "resources": { "recommendations": { "methods": { @@ -1045,7 +1309,7 @@ ] }, "list": { - "description": "Lists recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.", + "description": "Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/recommenders/{recommendersId}/recommendations", "httpMethod": "GET", "id": "recommender.projects.locations.recommenders.recommendations.list", @@ -1054,7 +1318,7 @@ ], "parameters": { "filter": { - "description": "Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:\"DISMISSED\" or state_info.state:\"FAILED\"", + "description": "Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)", "location": "query", "type": "string" }, @@ -1070,7 +1334,7 @@ "type": "string" }, "parent": { - "description": "Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.", + "description": "Required. The container resource on which to execute the request. Acceptable formats: * `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `projects/[PROJECT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/recommenders/[^/]+$", "required": true, @@ -1178,7 +1442,7 @@ } } }, - "revision": "20210319", + "revision": "20220228", "rootUrl": "https://recommender.googleapis.com/", "schemas": { "GoogleCloudRecommenderV1beta1CostProjection": { @@ -1187,7 +1451,7 @@ "properties": { "cost": { "$ref": "GoogleTypeMoney", - "description": "An approximate projection on amount saved or amount incurred. Negative cost units indicate cost savings and positive cost units indicate increase. See google.type.Money documentation for positive/negative units." + "description": "An approximate projection on amount saved or amount incurred. Negative cost units indicate cost savings and positive cost units indicate increase. See google.type.Money documentation for positive/negative units. A user's permissions may affect whether the cost is computed using list prices or custom contract prices." }, "duration": { "description": "Duration for which this cost applies.", @@ -1208,20 +1472,30 @@ "COST", "SECURITY", "PERFORMANCE", - "MANAGEABILITY" + "MANAGEABILITY", + "SUSTAINABILITY" ], "enumDescriptions": [ "Default unspecified category. Don't use directly.", "Indicates a potential increase or decrease in cost.", "Indicates a potential increase or decrease in security.", "Indicates a potential increase or decrease in performance.", - "Indicates a potential increase or decrease in manageability." + "Indicates a potential increase or decrease in manageability.", + "Indicates a potential increase or decrease in sustainability." ], "type": "string" }, "costProjection": { "$ref": "GoogleCloudRecommenderV1beta1CostProjection", "description": "Use with CategoryType.COST" + }, + "securityProjection": { + "$ref": "GoogleCloudRecommenderV1beta1SecurityProjection", + "description": "Use with CategoryType.SECURITY" + }, + "sustainabilityProjection": { + "$ref": "GoogleCloudRecommenderV1beta1SustainabilityProjection", + "description": "Use with CategoryType.SUSTAINABILITY" } }, "type": "object" @@ -1289,6 +1563,24 @@ "format": "google-duration", "type": "string" }, + "severity": { + "description": "Insight's severity.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "LOW", + "MEDIUM", + "HIGH", + "CRITICAL" + ], + "enumDescriptions": [ + "Insight has unspecified severity.", + "Insight has low severity.", + "Insight has medium severity.", + "Insight has high severity.", + "Insight has critical severity." + ], + "type": "string" + }, "stateInfo": { "$ref": "GoogleCloudRecommenderV1beta1InsightStateInfo", "description": "Information state and metadata." @@ -1344,6 +1636,61 @@ }, "type": "object" }, + "GoogleCloudRecommenderV1beta1InsightTypeConfig": { + "description": "Configuration for an InsightType.", + "id": "GoogleCloudRecommenderV1beta1InsightTypeConfig", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Allows clients to store small amounts of arbitrary data. Annotations must follow the Kubernetes syntax. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.", + "type": "object" + }, + "displayName": { + "description": "A user-settable field to provide a human-readable name to be used in user interfaces.", + "type": "string" + }, + "etag": { + "description": "Fingerprint of the InsightTypeConfig. Provides optimistic locking when updating.", + "type": "string" + }, + "insightTypeGenerationConfig": { + "$ref": "GoogleCloudRecommenderV1beta1InsightTypeGenerationConfig", + "description": "InsightTypeGenerationConfig which configures the generation of insights for this insight type." + }, + "name": { + "description": "Name of insight type config. Eg, projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/config", + "type": "string" + }, + "revisionId": { + "description": "Output only. Immutable. The revision ID of the config. A new revision is committed whenever the config is changed in any way. The format is an 8-character hexadecimal string.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Last time when the config was updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRecommenderV1beta1InsightTypeGenerationConfig": { + "description": "A configuration to customize the generation of insights. Eg, customizing the lookback period considered when generating a insight.", + "id": "GoogleCloudRecommenderV1beta1InsightTypeGenerationConfig", + "properties": { + "params": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Parameters for this InsightTypeGenerationConfig. These configs can be used by or are applied to all subtypes.", + "type": "object" + } + }, + "type": "object" + }, "GoogleCloudRecommenderV1beta1ListInsightsResponse": { "description": "Response to the `ListInsights` method.", "id": "GoogleCloudRecommenderV1beta1ListInsightsResponse", @@ -1410,7 +1757,7 @@ "additionalProperties": { "type": "string" }, - "description": "State properties to include with this state. Overwrites any existing `state_metadata`. Keys must match the regex /^a-z0-9{0,62}$/. Values must match the regex /^[a-zA-Z0-9_./-]{0,255}$/.", + "description": "State properties to include with this state. Overwrites any existing `state_metadata`. Keys must match the regex `/^a-z0-9{0,62}$/`. Values must match the regex `/^[a-zA-Z0-9_./-]{0,255}$/`.", "type": "object" } }, @@ -1428,7 +1775,7 @@ "additionalProperties": { "type": "string" }, - "description": "State properties to include with this state. Overwrites any existing `state_metadata`. Keys must match the regex /^a-z0-9{0,62}$/. Values must match the regex /^[a-zA-Z0-9_./-]{0,255}$/.", + "description": "State properties to include with this state. Overwrites any existing `state_metadata`. Keys must match the regex `/^a-z0-9{0,62}$/`. Values must match the regex `/^[a-zA-Z0-9_./-]{0,255}$/`.", "type": "object" } }, @@ -1446,7 +1793,7 @@ "additionalProperties": { "type": "string" }, - "description": "State properties to include with this state. Overwrites any existing `state_metadata`. Keys must match the regex /^a-z0-9{0,62}$/. Values must match the regex /^[a-zA-Z0-9_./-]{0,255}$/.", + "description": "State properties to include with this state. Overwrites any existing `state_metadata`. Keys must match the regex `/^a-z0-9{0,62}$/`. Values must match the regex `/^[a-zA-Z0-9_./-]{0,255}$/`.", "type": "object" } }, @@ -1457,7 +1804,7 @@ "id": "GoogleCloudRecommenderV1beta1Operation", "properties": { "action": { - "description": "Type of this operation. Contains one of 'and', 'remove', 'replace', 'move', 'copy', 'test' and 'custom' operations. This field is case-insensitive and always populated.", + "description": "Type of this operation. Contains one of 'add', 'remove', 'replace', 'move', 'copy', 'test' and 'custom' operations. This field is case-insensitive and always populated.", "type": "string" }, "path": { @@ -1468,7 +1815,7 @@ "additionalProperties": { "type": "any" }, - "description": "Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { \"/versions/*/name\" : \"it-123\" \"/versions/*/targetSize/percent\": 20 } * Example: { \"/bindings/*/role\": \"roles/owner\" \"/bindings/*/condition\" : null } * Example: { \"/bindings/*/role\": \"roles/owner\" \"/bindings/*/members/*\" : [\"x@example.com\", \"y@example.com\"] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.", + "description": "Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: ``` { \"/versions/*/name\" : \"it-123\" \"/versions/*/targetSize/percent\": 20 } ``` * Example: ``` { \"/bindings/*/role\": \"roles/owner\" \"/bindings/*/condition\" : null } ``` * Example: ``` { \"/bindings/*/role\": \"roles/owner\" \"/bindings/*/members/*\" : [\"x@example.com\", \"y@example.com\"] } ``` When both path_filters and path_value_matchers are set, an implicit AND must be performed.", "type": "object" }, "pathValueMatchers": { @@ -1562,6 +1909,24 @@ "$ref": "GoogleCloudRecommenderV1beta1Impact", "description": "The primary impact that this recommendation can have while trying to optimize for one category." }, + "priority": { + "description": "Recommendation's priority.", + "enum": [ + "PRIORITY_UNSPECIFIED", + "P4", + "P3", + "P2", + "P1" + ], + "enumDescriptions": [ + "Recommendation has unspecified priority.", + "Recommendation has P4 priority (lowest priority).", + "Recommendation has P3 priority (second lowest priority).", + "Recommendation has P2 priority (second highest priority).", + "Recommendation has P1 priority (highest priority)." + ], + "type": "string" + }, "recommenderSubtype": { "description": "Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = \"google.iam.policy.Recommender\", recommender_subtype can be one of \"REMOVE_ROLE\"/\"REPLACE_ROLE\"", "type": "string" @@ -1569,6 +1934,10 @@ "stateInfo": { "$ref": "GoogleCloudRecommenderV1beta1RecommendationStateInfo", "description": "Information for state. Contains state and metadata." + }, + "xorGroupId": { + "description": "Corresponds to a mutually exclusive group ID within a recommender. A non-empty ID indicates that the recommendation belongs to a mutually exclusive group. This means that only one recommendation within the group is suggested to be applied.", + "type": "string" } }, "type": "object" @@ -1583,6 +1952,14 @@ "$ref": "GoogleCloudRecommenderV1beta1OperationGroup" }, "type": "array" + }, + "overview": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Condensed overview information about the recommendation.", + "type": "object" } }, "type": "object" @@ -1632,6 +2009,93 @@ }, "type": "object" }, + "GoogleCloudRecommenderV1beta1RecommenderConfig": { + "description": "Configuration for a Recommender.", + "id": "GoogleCloudRecommenderV1beta1RecommenderConfig", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Allows clients to store small amounts of arbitrary data. Annotations must follow the Kubernetes syntax. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.", + "type": "object" + }, + "displayName": { + "description": "A user-settable field to provide a human-readable name to be used in user interfaces.", + "type": "string" + }, + "etag": { + "description": "Fingerprint of the RecommenderConfig. Provides optimistic locking when updating.", + "type": "string" + }, + "name": { + "description": "Name of recommender config. Eg, projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]/config", + "type": "string" + }, + "recommenderGenerationConfig": { + "$ref": "GoogleCloudRecommenderV1beta1RecommenderGenerationConfig", + "description": "RecommenderGenerationConfig which configures the Generation of recommendations for this recommender." + }, + "revisionId": { + "description": "Output only. Immutable. The revision ID of the config. A new revision is committed whenever the config is changed in any way. The format is an 8-character hexadecimal string.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Last time when the config was updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRecommenderV1beta1RecommenderGenerationConfig": { + "description": "A Configuration to customize the generation of recommendations. Eg, customizing the lookback period considered when generating a recommendation.", + "id": "GoogleCloudRecommenderV1beta1RecommenderGenerationConfig", + "properties": { + "params": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Parameters for this RecommenderGenerationConfig. These configs can be used by or are applied to all subtypes.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudRecommenderV1beta1SecurityProjection": { + "description": "Contains various ways of describing the impact on Security.", + "id": "GoogleCloudRecommenderV1beta1SecurityProjection", + "properties": { + "details": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "This field can be used by the recommender to define details specific to security impact.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudRecommenderV1beta1SustainabilityProjection": { + "description": "Contains metadata about how much sustainability a recommendation can save or incur.", + "id": "GoogleCloudRecommenderV1beta1SustainabilityProjection", + "properties": { + "duration": { + "description": "Duration for which this sustanability applies.", + "format": "google-duration", + "type": "string" + }, + "kgCO2e": { + "description": "Carbon Footprint generated in kg of CO2 equivalent. Chose kg_c_o2e so that the name renders correctly in camelCase (kgCO2e).", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "GoogleCloudRecommenderV1beta1ValueMatcher": { "description": "Contains various matching options for values for a GCP resource field.", "id": "GoogleCloudRecommenderV1beta1ValueMatcher", diff --git a/etc/api/redis/v1/redis-api.json b/etc/api/redis/v1/redis-api.json index 0e6ce02c60..f0e9919b28 100644 --- a/etc/api/redis/v1/redis-api.json +++ b/etc/api/redis/v1/redis-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -424,7 +424,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Mask of fields to update. At least one path must be supplied in this field. The elements of the repeated paths field may only include these fields from Instance: * `displayName` * `labels` * `memorySizeGb` * `redisConfig`", + "description": "Required. Mask of fields to update. At least one path must be supplied in this field. The elements of the repeated paths field may only include these fields from Instance: * `displayName` * `labels` * `memorySizeGb` * `redisConfig` * `replica_count`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -441,6 +441,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "rescheduleMaintenance": { + "description": "Reschedule maintenance for a given instance in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:rescheduleMaintenance", + "httpMethod": "POST", + "id": "redis.projects.locations.instances.rescheduleMaintenance", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Redis instance resource name using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` where `location_id` refers to a GCP region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:rescheduleMaintenance", + "request": { + "$ref": "RescheduleMaintenanceRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "upgrade": { "description": "Upgrades Redis instance to the newer Redis version specified in the request.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:upgrade", @@ -596,7 +624,7 @@ } } }, - "revision": "20210325", + "revision": "20220301", "rootUrl": "https://redis.googleapis.com/", "schemas": { "Empty": { @@ -740,11 +768,11 @@ "type": "object" }, "Instance": { - "description": "A Google Cloud Redis instance.", + "description": "A Memorystore for Redis instance.", "id": "Instance", "properties": { "alternativeLocationId": { - "description": "Optional. Only applicable to STANDARD_HA tier which protects the instance against zonal failures by provisioning it across two zones. If provided, it must be a different zone from the one provided in location_id.", + "description": "Optional. If specified, at least one node will be provisioned in this zone in addition to the zone specified in location_id. Only applicable to standard tier. If provided, it must be a different zone from the one provided in [location_id]. Additional nodes beyond the first 2 will be placed in zones selected by the service.", "type": "string" }, "authEnabled": { @@ -776,7 +804,7 @@ "type": "string" }, "currentLocationId": { - "description": "Output only. The current zone where the Redis endpoint is placed. For Basic Tier instances, this will always be the same as the location_id provided by the user at creation time. For Standard Tier instances, this can be either location_id or alternative_location_id and can change after a failover event.", + "description": "Output only. The current zone where the Redis primary node is located. In basic tier, this will always be the same as [location_id]. In standard tier, this can be the zone of any node in the instance.", "readOnly": true, "type": "string" }, @@ -797,9 +825,18 @@ "type": "object" }, "locationId": { - "description": "Optional. The zone where the instance will be provisioned. If not provided, the service will choose a zone for the instance. For STANDARD_HA tier, instances will be created across two zones for protection against zonal failures. If alternative_location_id is also provided, it must be different from location_id.", + "description": "Optional. The zone where the instance will be provisioned. If not provided, the service will choose a zone from the specified region for the instance. For standard tier, additional nodes will be added across multiple zones for protection against zonal failures. If specified, at least one node will be provisioned in this zone.", "type": "string" }, + "maintenancePolicy": { + "$ref": "MaintenancePolicy", + "description": "Optional. The maintenance policy for the instance. If not provided, maintenance events can be performed at any time." + }, + "maintenanceSchedule": { + "$ref": "MaintenanceSchedule", + "description": "Output only. Date and time of upcoming maintenance events which have been scheduled.", + "readOnly": true + }, "memorySizeGb": { "description": "Required. Redis memory size in GiB.", "format": "int32", @@ -809,6 +846,18 @@ "description": "Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` Note: Redis instances are managed and addressed at regional level so location_id here refers to a GCP region; however, users may choose which specific zone (or collection of zones for cross-zone instances) an instance should be provisioned in. Refer to location_id and alternative_location_id fields for more details.", "type": "string" }, + "nodes": { + "description": "Output only. Info per node.", + "items": { + "$ref": "NodeInfo" + }, + "readOnly": true, + "type": "array" + }, + "persistenceConfig": { + "$ref": "PersistenceConfig", + "description": "Optional. Persistence configuration parameters" + }, "persistenceIamIdentity": { "description": "Output only. Cloud IAM identity used by import / export operations to transfer data to/from Cloud Storage. Format is \"serviceAccount:\". The value may change over time for a given instance so should be checked before each import/export operation.", "readOnly": true, @@ -820,6 +869,31 @@ "readOnly": true, "type": "integer" }, + "readEndpoint": { + "description": "Output only. Hostname or IP address of the exposed readonly Redis endpoint. Standard tier only. Targets all healthy replica nodes in instance. Replication is asynchronous and replica nodes will exhibit some lag behind the primary. Write requests must target 'host'.", + "readOnly": true, + "type": "string" + }, + "readEndpointPort": { + "description": "Output only. The port number of the exposed readonly redis endpoint. Standard tier only. Write requests should target 'port'.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "readReplicasMode": { + "description": "Optional. Read replicas mode for the instance. Defaults to READ_REPLICAS_DISABLED.", + "enum": [ + "READ_REPLICAS_MODE_UNSPECIFIED", + "READ_REPLICAS_DISABLED", + "READ_REPLICAS_ENABLED" + ], + "enumDescriptions": [ + "If not set, Memorystore Redis backend will default to READ_REPLICAS_DISABLED.", + "If disabled, read endpoint will not be provided and the instance cannot scale up or down the number of replicas.", + "If enabled, read endpoint will be provided and the instance can scale up and down the number of replicas. Not valid for basic tier." + ], + "type": "string" + }, "redisConfigs": { "additionalProperties": { "type": "string" @@ -831,8 +905,17 @@ "description": "Optional. The version of Redis software. If not provided, latest supported version will be used. Currently, the supported values are: * `REDIS_3_2` for Redis 3.2 compatibility * `REDIS_4_0` for Redis 4.0 compatibility (default) * `REDIS_5_0` for Redis 5.0 compatibility * `REDIS_6_X` for Redis 6.x compatibility", "type": "string" }, + "replicaCount": { + "description": "Optional. The number of replica nodes. The valid range for the Standard Tier with read replicas enabled is [1-5] and defaults to 2. If read replicas are not enabled for a Standard Tier instance, the only valid value is 1 and the default is 1. The valid value for basic tier is 0 and the default is also 0.", + "format": "int32", + "type": "integer" + }, "reservedIpRange": { - "description": "Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses that are reserved for this instance. Range must be unique and non-overlapping with existing subnets in an authorized network. For PRIVATE_SERVICE_ACCESS mode, the name of one allocated IP address ranges associated with this private service access connection. If not provided, the service will choose an unused /29 block, for example, 10.0.0.0/29 or 192.168.0.0/29.", + "description": "Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses that are reserved for this instance. Range must be unique and non-overlapping with existing subnets in an authorized network. For PRIVATE_SERVICE_ACCESS mode, the name of one allocated IP address ranges associated with this private service access connection. If not provided, the service will choose an unused /29 block, for example, 10.0.0.0/29 or 192.168.0.0/29. For READ_REPLICAS_ENABLED the default block size is /28.", + "type": "string" + }, + "secondaryIpRange": { + "description": "Optional. Additional IP range for node placement. Required when enabling read replicas on an existing instance. For DIRECT_PEERING mode value must be a CIDR range of size /28, or \"auto\". For PRIVATE_SERVICE_ACCESS mode value must be the name of an allocated address range associated with the private service access connection, or \"auto\".", "type": "string" }, "serverCaCerts": { @@ -1012,6 +1095,82 @@ }, "type": "object" }, + "MaintenancePolicy": { + "description": "Maintenance policy for an instance.", + "id": "MaintenancePolicy", + "properties": { + "createTime": { + "description": "Output only. The time when the policy was created.", + "format": "google-datetime", + "readOnly": true, + "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" + }, + "updateTime": { + "description": "Output only. The time when the policy was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "weeklyMaintenanceWindow": { + "description": "Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.", + "items": { + "$ref": "WeeklyMaintenanceWindow" + }, + "type": "array" + } + }, + "type": "object" + }, + "MaintenanceSchedule": { + "description": "Upcoming maintenance schedule. If no maintenance is scheduled, fields are not populated.", + "id": "MaintenanceSchedule", + "properties": { + "canReschedule": { + "description": "If the scheduled maintenance can be rescheduled, default is true.", + "type": "boolean" + }, + "endTime": { + "description": "Output only. The end time of any upcoming scheduled maintenance for this instance.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "scheduleDeadlineTime": { + "description": "Output only. The deadline that the maintenance schedule start time can not go beyond, including reschedule.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. The start time of any upcoming scheduled maintenance for this instance.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "NodeInfo": { + "description": "Node specific properties.", + "id": "NodeInfo", + "properties": { + "id": { + "description": "Output only. Node identifying string. e.g. 'node-0', 'node-1'", + "readOnly": true, + "type": "string" + }, + "zone": { + "description": "Output only. Location of the node.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -1058,6 +1217,84 @@ }, "type": "object" }, + "PersistenceConfig": { + "description": "Configuration of the persistence functionality.", + "id": "PersistenceConfig", + "properties": { + "persistenceMode": { + "description": "Optional. Controls whether Persistence features are enabled. If not provided, the existing value will be used.", + "enum": [ + "PERSISTENCE_MODE_UNSPECIFIED", + "DISABLED", + "RDB" + ], + "enumDescriptions": [ + "Not set.", + "Persistence is disabled for the instance, and any existing snapshots are deleted.", + "RDB based Persistence is enabled." + ], + "type": "string" + }, + "rdbNextSnapshotTime": { + "description": "Output only. The next time that a snapshot attempt is scheduled to occur.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "rdbSnapshotPeriod": { + "description": "Optional. Period between RDB snapshots. Snapshots will be attempted every period starting from the provided snapshot start time. For example, a start time of 01/01/2033 06:45 and SIX_HOURS snapshot period will do nothing until 01/01/2033, and then trigger snapshots every day at 06:45, 12:45, 18:45, and 00:45 the next day, and so on. If not provided, TWENTY_FOUR_HOURS will be used as default.", + "enum": [ + "SNAPSHOT_PERIOD_UNSPECIFIED", + "ONE_HOUR", + "SIX_HOURS", + "TWELVE_HOURS", + "TWENTY_FOUR_HOURS" + ], + "enumDescriptions": [ + "Not set.", + "Snapshot every 1 hour.", + "Snapshot every 6 hours.", + "Snapshot every 12 hours.", + "Snapshot every 24 horus." + ], + "type": "string" + }, + "rdbSnapshotStartTime": { + "description": "Optional. Date and time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "RescheduleMaintenanceRequest": { + "description": "Request for RescheduleMaintenance.", + "id": "RescheduleMaintenanceRequest", + "properties": { + "rescheduleType": { + "description": "Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well.", + "enum": [ + "RESCHEDULE_TYPE_UNSPECIFIED", + "IMMEDIATE", + "NEXT_AVAILABLE_WINDOW", + "SPECIFIC_TIME" + ], + "enumDescriptions": [ + "Not set.", + "If the user wants to schedule the maintenance to happen now.", + "If the user wants to use the existing maintenance policy to find the next available window.", + "If the user wants to reschedule the maintenance to a specific time." + ], + "type": "string" + }, + "scheduleTime": { + "description": "Optional. Timestamp when the maintenance shall be rescheduled to if reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for example `2012-11-15T16:19:00.094Z`.", + "format": "google-datetime", + "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", @@ -1085,6 +1322,33 @@ }, "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 day in 24 hour format. Should be from 0 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 hour of day. Must be from 0 to 59.", + "format": "int32", + "type": "integer" + }, + "nanos": { + "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "format": "int32", + "type": "integer" + }, + "seconds": { + "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "TlsCertificate": { "description": "TlsCertificate Resource", "id": "TlsCertificate", @@ -1126,6 +1390,47 @@ } }, "type": "object" + }, + "WeeklyMaintenanceWindow": { + "description": "Time window in which disruptive maintenance updates occur. Non-disruptive updates can occur inside or outside this window.", + "id": "WeeklyMaintenanceWindow", + "properties": { + "day": { + "description": "Required. The day of week that maintenance updates occur.", + "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 maintenance window. The current window is fixed at 1 hour.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "startTime": { + "$ref": "TimeOfDay", + "description": "Required. Start time of the window in UTC time." + } + }, + "type": "object" } }, "servicePath": "", diff --git a/etc/api/redis/v1beta1/redis-api.json b/etc/api/redis/v1beta1/redis-api.json index 96ef036531..c04a2efb7f 100644 --- a/etc/api/redis/v1beta1/redis-api.json +++ b/etc/api/redis/v1beta1/redis-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -180,7 +180,7 @@ "instances": { "methods": { "create": { - "description": "Creates a Redis instance based on the specified tier and memory size. By default, the instance is accessible from the project's [default network](https://cloud.google.com/vpc/docs/vpc). The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis instance will be fully functional. Completed longrunning.Operation will contain the new instance object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.", + "description": "Creates a Redis instance based on the specified tier and memory size. By default, the instance is accessible from the project's [default network](https://cloud.google.com/vpc/docs/vpc). The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis instance will be fully functional. The completed longrunning.Operation will contain the new instance object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances", "httpMethod": "POST", "id": "redis.projects.locations.instances.create", @@ -424,7 +424,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Mask of fields to update. At least one path must be supplied in this field. The elements of the repeated paths field may only include these fields from Instance: * `displayName` * `labels` * `memorySizeGb` * `redisConfig`", + "description": "Required. Mask of fields to update. At least one path must be supplied in this field. The elements of the repeated paths field may only include these fields from Instance: * `displayName` * `labels` * `memorySizeGb` * `redisConfig` * `replica_count`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -441,6 +441,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "rescheduleMaintenance": { + "description": "Reschedule maintenance for a given instance in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:rescheduleMaintenance", + "httpMethod": "POST", + "id": "redis.projects.locations.instances.rescheduleMaintenance", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Redis instance resource name using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` where `location_id` refers to a GCP region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:rescheduleMaintenance", + "request": { + "$ref": "RescheduleMaintenanceRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "upgrade": { "description": "Upgrades Redis instance to the newer Redis version specified in the request.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:upgrade", @@ -596,7 +624,7 @@ } } }, - "revision": "20210325", + "revision": "20220301", "rootUrl": "https://redis.googleapis.com/", "schemas": { "Empty": { @@ -664,33 +692,40 @@ "id": "GoogleCloudCommonOperationMetadata", "properties": { "apiVersion": { - "description": "[Output only] API version used to start the operation.", + "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`.", + "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.", + "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.", + "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.", + "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.", + "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.", + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, "type": "string" } }, @@ -740,11 +775,11 @@ "type": "object" }, "Instance": { - "description": "A Google Cloud Redis instance.", + "description": "A Memorystore for Redis instance.", "id": "Instance", "properties": { "alternativeLocationId": { - "description": "Optional. Only applicable to STANDARD_HA tier which protects the instance against zonal failures by provisioning it across two zones. If provided, it must be a different zone from the one provided in location_id.", + "description": "Optional. If specified, at least one node will be provisioned in this zone in addition to the zone specified in location_id. Only applicable to standard tier. If provided, it must be a different zone from the one provided in [location_id]. Additional nodes beyond the first 2 will be placed in zones selected by the service.", "type": "string" }, "authEnabled": { @@ -765,7 +800,7 @@ "enumDescriptions": [ "Not set.", "Connect via direct peering to the Memorystore for Redis hosted service.", - "Connect your Memorystore for Redis instance using Private Services Access. Private services access provides an IP address range for multiple Google Cloud services, including Memorystore." + "Connect your Memorystore for Redis instance using Private Service Access. Private services access provides an IP address range for multiple Google Cloud services, including Memorystore." ], "type": "string" }, @@ -776,7 +811,7 @@ "type": "string" }, "currentLocationId": { - "description": "Output only. The current zone where the Redis endpoint is placed. For Basic Tier instances, this will always be the same as the location_id provided by the user at creation time. For Standard Tier instances, this can be either location_id or alternative_location_id and can change after a failover event.", + "description": "Output only. The current zone where the Redis primary node is located. In basic tier, this will always be the same as [location_id]. In standard tier, this can be the zone of any node in the instance.", "readOnly": true, "type": "string" }, @@ -797,9 +832,18 @@ "type": "object" }, "locationId": { - "description": "Optional. The zone where the instance will be provisioned. If not provided, the service will choose a zone for the instance. For STANDARD_HA tier, instances will be created across two zones for protection against zonal failures. If alternative_location_id is also provided, it must be different from location_id.", + "description": "Optional. The zone where the instance will be provisioned. If not provided, the service will choose a zone from the specified region for the instance. For standard tier, additional nodes will be added across multiple zones for protection against zonal failures. If specified, at least one node will be provisioned in this zone.", "type": "string" }, + "maintenancePolicy": { + "$ref": "MaintenancePolicy", + "description": "Optional. The maintenance policy for the instance. If not provided, maintenance events can be performed at any time." + }, + "maintenanceSchedule": { + "$ref": "MaintenanceSchedule", + "description": "Output only. Date and time of upcoming maintenance events which have been scheduled.", + "readOnly": true + }, "memorySizeGb": { "description": "Required. Redis memory size in GiB.", "format": "int32", @@ -809,6 +853,18 @@ "description": "Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` Note: Redis instances are managed and addressed at regional level so location_id here refers to a GCP region; however, users may choose which specific zone (or collection of zones for cross-zone instances) an instance should be provisioned in. Refer to location_id and alternative_location_id fields for more details.", "type": "string" }, + "nodes": { + "description": "Output only. Info per node.", + "items": { + "$ref": "NodeInfo" + }, + "readOnly": true, + "type": "array" + }, + "persistenceConfig": { + "$ref": "PersistenceConfig", + "description": "Optional. Persistence configuration parameters" + }, "persistenceIamIdentity": { "description": "Output only. Cloud IAM identity used by import / export operations to transfer data to/from Cloud Storage. Format is \"serviceAccount:\". The value may change over time for a given instance so should be checked before each import/export operation.", "readOnly": true, @@ -820,6 +876,31 @@ "readOnly": true, "type": "integer" }, + "readEndpoint": { + "description": "Output only. Hostname or IP address of the exposed readonly Redis endpoint. Standard tier only. Targets all healthy replica nodes in instance. Replication is asynchronous and replica nodes will exhibit some lag behind the primary. Write requests must target 'host'.", + "readOnly": true, + "type": "string" + }, + "readEndpointPort": { + "description": "Output only. The port number of the exposed readonly redis endpoint. Standard tier only. Write requests should target 'port'.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "readReplicasMode": { + "description": "Optional. Read replicas mode for the instance. Defaults to READ_REPLICAS_DISABLED.", + "enum": [ + "READ_REPLICAS_MODE_UNSPECIFIED", + "READ_REPLICAS_DISABLED", + "READ_REPLICAS_ENABLED" + ], + "enumDescriptions": [ + "If not set, Memorystore Redis backend will default to READ_REPLICAS_DISABLED.", + "If disabled, read endpoint will not be provided and the instance cannot scale up or down the number of replicas.", + "If enabled, read endpoint will be provided and the instance can scale up and down the number of replicas. Not valid for basic tier." + ], + "type": "string" + }, "redisConfigs": { "additionalProperties": { "type": "string" @@ -828,11 +909,20 @@ "type": "object" }, "redisVersion": { - "description": "Optional. The version of Redis software. If not provided, latest supported version will be used. Currently, the supported values are: * `REDIS_3_2` for Redis 3.2 compatibility * `REDIS_4_0` for Redis 4.0 compatibility (default) * `REDIS_5_0` for Redis 5.0 compatibility", + "description": "Optional. The version of Redis software. If not provided, latest supported version will be used. Currently, the supported values are: * `REDIS_3_2` for Redis 3.2 compatibility * `REDIS_4_0` for Redis 4.0 compatibility (default) * `REDIS_5_0` for Redis 5.0 compatibility * `REDIS_6_X` for Redis 6.x compatibility", "type": "string" }, + "replicaCount": { + "description": "Optional. The number of replica nodes. The valid range for the Standard Tier with read replicas enabled is [1-5] and defaults to 2. If read replicas are not enabled for a Standard Tier instance, the only valid value is 1 and the default is 1. The valid value for basic tier is 0 and the default is also 0.", + "format": "int32", + "type": "integer" + }, "reservedIpRange": { - "description": "Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses that are reserved for this instance. Range must be unique and non-overlapping with existing subnets in an authorized network. For PRIVATE_SERVICE_ACCESS mode, the name of one allocated IP address ranges associated with this private service access connection. If not provided, the service will choose an unused /29 block, for example, 10.0.0.0/29 or 192.168.0.0/29.", + "description": "Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses that are reserved for this instance. Range must be unique and non-overlapping with existing subnets in an authorized network. For PRIVATE_SERVICE_ACCESS mode, the name of one allocated IP address ranges associated with this private service access connection. If not provided, the service will choose an unused /29 block, for example, 10.0.0.0/29 or 192.168.0.0/29. For READ_REPLICAS_ENABLED the default block size is /28.", + "type": "string" + }, + "secondaryIpRange": { + "description": "Optional. Additional IP range for node placement. Required when enabling read replicas on an existing instance. For DIRECT_PEERING mode value must be a CIDR range of size /28, or \"auto\". For PRIVATE_SERVICE_ACCESS mode value must be the name of an allocated address range associated with the private service access connection, or \"auto\".", "type": "string" }, "serverCaCerts": { @@ -1012,6 +1102,82 @@ }, "type": "object" }, + "MaintenancePolicy": { + "description": "Maintenance policy for an instance.", + "id": "MaintenancePolicy", + "properties": { + "createTime": { + "description": "Output only. The time when the policy was created.", + "format": "google-datetime", + "readOnly": true, + "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" + }, + "updateTime": { + "description": "Output only. The time when the policy was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "weeklyMaintenanceWindow": { + "description": "Optional. Maintenance window that is applied to resources covered by this policy. Minimum 1. For the current version, the maximum number of weekly_window is expected to be one.", + "items": { + "$ref": "WeeklyMaintenanceWindow" + }, + "type": "array" + } + }, + "type": "object" + }, + "MaintenanceSchedule": { + "description": "Upcoming maintenance schedule. If no maintenance is scheduled, fields are not populated.", + "id": "MaintenanceSchedule", + "properties": { + "canReschedule": { + "description": "If the scheduled maintenance can be rescheduled, default is true.", + "type": "boolean" + }, + "endTime": { + "description": "Output only. The end time of any upcoming scheduled maintenance for this instance.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "scheduleDeadlineTime": { + "description": "Output only. The deadline that the maintenance schedule start time can not go beyond, including reschedule.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. The start time of any upcoming scheduled maintenance for this instance.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "NodeInfo": { + "description": "Node specific properties.", + "id": "NodeInfo", + "properties": { + "id": { + "description": "Output only. Node identifying string. e.g. 'node-0', 'node-1'", + "readOnly": true, + "type": "string" + }, + "zone": { + "description": "Output only. Location of the node.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -1058,6 +1224,84 @@ }, "type": "object" }, + "PersistenceConfig": { + "description": "Configuration of the persistence functionality.", + "id": "PersistenceConfig", + "properties": { + "persistenceMode": { + "description": "Optional. Controls whether Persistence features are enabled. If not provided, the existing value will be used.", + "enum": [ + "PERSISTENCE_MODE_UNSPECIFIED", + "DISABLED", + "RDB" + ], + "enumDescriptions": [ + "Not set.", + "Persistence is disabled for the instance, and any existing snapshots are deleted.", + "RDB based Persistence is enabled." + ], + "type": "string" + }, + "rdbNextSnapshotTime": { + "description": "Output only. The next time that a snapshot attempt is scheduled to occur.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "rdbSnapshotPeriod": { + "description": "Optional. Period between RDB snapshots. Snapshots will be attempted every period starting from the provided snapshot start time. For example, a start time of 01/01/2033 06:45 and SIX_HOURS snapshot period will do nothing until 01/01/2033, and then trigger snapshots every day at 06:45, 12:45, 18:45, and 00:45 the next day, and so on. If not provided, TWENTY_FOUR_HOURS will be used as default.", + "enum": [ + "SNAPSHOT_PERIOD_UNSPECIFIED", + "ONE_HOUR", + "SIX_HOURS", + "TWELVE_HOURS", + "TWENTY_FOUR_HOURS" + ], + "enumDescriptions": [ + "Not set.", + "Snapshot every 1 hour.", + "Snapshot every 6 hours.", + "Snapshot every 12 hours.", + "Snapshot every 24 horus." + ], + "type": "string" + }, + "rdbSnapshotStartTime": { + "description": "Optional. Date and time that the first snapshot was/will be attempted, and to which future snapshots will be aligned. If not provided, the current time will be used.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "RescheduleMaintenanceRequest": { + "description": "Request for RescheduleMaintenance.", + "id": "RescheduleMaintenanceRequest", + "properties": { + "rescheduleType": { + "description": "Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well.", + "enum": [ + "RESCHEDULE_TYPE_UNSPECIFIED", + "IMMEDIATE", + "NEXT_AVAILABLE_WINDOW", + "SPECIFIC_TIME" + ], + "enumDescriptions": [ + "Not set.", + "If the user wants to schedule the maintenance to happen now.", + "If the user wants to use the existing maintenance policy to find the next available window.", + "If the user wants to reschedule the maintenance to a specific time." + ], + "type": "string" + }, + "scheduleTime": { + "description": "Optional. Timestamp when the maintenance shall be rescheduled to if reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for example `2012-11-15T16:19:00.094Z`.", + "format": "google-datetime", + "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", @@ -1085,6 +1329,33 @@ }, "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 day in 24 hour format. Should be from 0 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 hour of day. Must be from 0 to 59.", + "format": "int32", + "type": "integer" + }, + "nanos": { + "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "format": "int32", + "type": "integer" + }, + "seconds": { + "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "TlsCertificate": { "description": "TlsCertificate Resource", "id": "TlsCertificate", @@ -1126,6 +1397,47 @@ } }, "type": "object" + }, + "WeeklyMaintenanceWindow": { + "description": "Time window in which disruptive maintenance updates occur. Non-disruptive updates can occur inside or outside this window.", + "id": "WeeklyMaintenanceWindow", + "properties": { + "day": { + "description": "Required. The day of week that maintenance updates occur.", + "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 maintenance window. The current window is fixed at 1 hour.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "startTime": { + "$ref": "TimeOfDay", + "description": "Required. Start time of the window in UTC time." + } + }, + "type": "object" } }, "servicePath": "", diff --git a/etc/api/reseller/v1/reseller-api.json b/etc/api/reseller/v1/reseller-api.json index 1587a4e075..93a6fb47ac 100644 --- a/etc/api/reseller/v1/reseller-api.json +++ b/etc/api/reseller/v1/reseller-api.json @@ -111,7 +111,7 @@ "customers": { "methods": { "get": { - "description": "Get a customer account. Use this operation to see a customer account already in your reseller management, or to see the minimal account information for an existing customer that you do not manage. For more information about the API response for existing customers, see [retrieving a customer account](/admin-sdk/reseller/v1/how-tos/manage_customers#get_customer).", + "description": "Gets a customer account. Use this operation to see a customer account already in your reseller management, or to see the minimal account information for an existing customer that you do not manage. For more information about the API response for existing customers, see [retrieving a customer account](/admin-sdk/reseller/v1/how-tos/manage_customers#get_customer).", "flatPath": "apps/reseller/v1/customers/{customerId}", "httpMethod": "GET", "id": "reseller.customers.get", @@ -120,7 +120,7 @@ ], "parameters": { "customerId": { - "description": "Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a `customerId` as a key for persistent data. If the domain name for a `customerId` is changed, the Google system automatically updates.", + "description": "This can be either the customer's primary domain name or the customer's unique identifier. If the domain name for a customer changes, the old domain name cannot be used to access the customer, but the customer's unique identifier (as returned by the API) can always be used. We recommend storing the unique identifier in your systems where applicable.", "location": "path", "required": true, "type": "string" @@ -136,7 +136,7 @@ ] }, "insert": { - "description": "Order a new customer's account. Before ordering a new customer account, establish whether the customer account already exists using the [`customers.get`](/admin-sdk/reseller/v1/reference/customers/get) If the customer account exists as a direct Google account or as a resold customer account from another reseller, use the `customerAuthToken\\` as described in [order a resold account for an existing customer](/admin-sdk/reseller/v1/how-tos/manage_customers#create_existing_customer). For more information about ordering a new customer account, see [order a new customer account](/admin-sdk/reseller/v1/how-tos/manage_customers#create_customer). After creating a new customer account, you must provision a user as an administrator. The customer's administrator is required to sign in to the Admin console and sign the G Suite via Reseller agreement to activate the account. Resellers are prohibited from signing the G Suite via Reseller agreement on the customer's behalf. For more information, see [order a new customer account](/admin-sdk/reseller/v1/how-tos/manage_customers#tos).", + "description": "Orders a new customer's account. Before ordering a new customer account, establish whether the customer account already exists using the [`customers.get`](/admin-sdk/reseller/v1/reference/customers/get) If the customer account exists as a direct Google account or as a resold customer account from another reseller, use the `customerAuthToken\\` as described in [order a resold account for an existing customer](/admin-sdk/reseller/v1/how-tos/manage_customers#create_existing_customer). For more information about ordering a new customer account, see [order a new customer account](/admin-sdk/reseller/v1/how-tos/manage_customers#create_customer). After creating a new customer account, you must provision a user as an administrator. The customer's administrator is required to sign in to the Admin console and sign the G Suite via Reseller agreement to activate the account. Resellers are prohibited from signing the G Suite via Reseller agreement on the customer's behalf. For more information, see [order a new customer account](/admin-sdk/reseller/v1/how-tos/manage_customers#tos).", "flatPath": "apps/reseller/v1/customers", "httpMethod": "POST", "id": "reseller.customers.insert", @@ -160,7 +160,7 @@ ] }, "patch": { - "description": "Update a customer account's settings. This method supports patch semantics.", + "description": "Updates a customer account's settings. This method supports patch semantics. You cannot update `customerType` via the Reseller API, but a `\"team\"` customer can verify their domain and become `customerType = \"domain\"`. For more information, see [Verify your domain to unlock Essentials features](https://support.google.com/a/answer/9122284).", "flatPath": "apps/reseller/v1/customers/{customerId}", "httpMethod": "PATCH", "id": "reseller.customers.patch", @@ -169,7 +169,7 @@ ], "parameters": { "customerId": { - "description": "Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a `customerId` as a key for persistent data. If the domain name for a `customerId` is changed, the Google system automatically updates.", + "description": "This can be either the customer's primary domain name or the customer's unique identifier. If the domain name for a customer changes, the old domain name cannot be used to access the customer, but the customer's unique identifier (as returned by the API) can always be used. We recommend storing the unique identifier in your systems where applicable.", "location": "path", "required": true, "type": "string" @@ -187,7 +187,7 @@ ] }, "update": { - "description": "Update a customer account's settings. For more information, see [update a customer's settings](/admin-sdk/reseller/v1/how-tos/manage_customers#update_customer).", + "description": "Updates a customer account's settings. You cannot update `customerType` via the Reseller API, but a `\"team\"` customer can verify their domain and become `customerType = \"domain\"`. For more information, see [update a customer's settings](/admin-sdk/reseller/v1/how-tos/manage_customers#update_customer).", "flatPath": "apps/reseller/v1/customers/{customerId}", "httpMethod": "PUT", "id": "reseller.customers.update", @@ -196,7 +196,7 @@ ], "parameters": { "customerId": { - "description": "Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a `customerId` as a key for persistent data. If the domain name for a `customerId` is changed, the Google system automatically updates.", + "description": "This can be either the customer's primary domain name or the customer's unique identifier. If the domain name for a customer changes, the old domain name cannot be used to access the customer, but the customer's unique identifier (as returned by the API) can always be used. We recommend storing the unique identifier in your systems where applicable.", "location": "path", "required": true, "type": "string" @@ -290,7 +290,7 @@ ], "parameters": { "customerId": { - "description": "Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a `customerId` as a key for persistent data. If the domain name for a `customerId` is changed, the Google system automatically updates.", + "description": "This can be either the customer's primary domain name or the customer's unique identifier. If the domain name for a customer changes, the old domain name cannot be used to access the customer, but the customer's unique identifier (as returned by the API) can always be used. We recommend storing the unique identifier in your systems where applicable.", "location": "path", "required": true, "type": "string" @@ -311,7 +311,7 @@ ] }, "changePlan": { - "description": "Update a subscription plan. Use this method to update a plan for a 30-day trial or a flexible plan subscription to an annual commitment plan with monthly or yearly payments. How a plan is updated differs depending on the plan and the products. For more information, see the description in [manage subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions#update_subscription_plan).", + "description": "Updates a subscription plan. Use this method to update a plan for a 30-day trial or a flexible plan subscription to an annual commitment plan with monthly or yearly payments. How a plan is updated differs depending on the plan and the products. For more information, see the description in [manage subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions#update_subscription_plan).", "flatPath": "apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/changePlan", "httpMethod": "POST", "id": "reseller.subscriptions.changePlan", @@ -321,7 +321,7 @@ ], "parameters": { "customerId": { - "description": "Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a `customerId` as a key for persistent data. If the domain name for a `customerId` is changed, the Google system automatically updates.", + "description": "This can be either the customer's primary domain name or the customer's unique identifier. If the domain name for a customer changes, the old domain name cannot be used to access the customer, but the customer's unique identifier (as returned by the API) can always be used. We recommend storing the unique identifier in your systems where applicable.", "location": "path", "required": true, "type": "string" @@ -345,7 +345,7 @@ ] }, "changeRenewalSettings": { - "description": "Update a user license's renewal settings. This is applicable for accounts with annual commitment plans only. For more information, see the description in [manage subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions#update_renewal).", + "description": "Updates a user license's renewal settings. This is applicable for accounts with annual commitment plans only. For more information, see the description in [manage subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions#update_renewal).", "flatPath": "apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/changeRenewalSettings", "httpMethod": "POST", "id": "reseller.subscriptions.changeRenewalSettings", @@ -355,7 +355,7 @@ ], "parameters": { "customerId": { - "description": "Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a `customerId` as a key for persistent data. If the domain name for a `customerId` is changed, the Google system automatically updates.", + "description": "This can be either the customer's primary domain name or the customer's unique identifier. If the domain name for a customer changes, the old domain name cannot be used to access the customer, but the customer's unique identifier (as returned by the API) can always be used. We recommend storing the unique identifier in your systems where applicable.", "location": "path", "required": true, "type": "string" @@ -379,7 +379,7 @@ ] }, "changeSeats": { - "description": "Update a subscription's user license settings. For more information about updating an annual commitment plan or a flexible plan subscription\u2019s licenses, see [Manage Subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions#update_subscription_seat).", + "description": "Updates a subscription's user license settings. For more information about updating an annual commitment plan or a flexible plan subscription\u2019s licenses, see [Manage Subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions#update_subscription_seat).", "flatPath": "apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/changeSeats", "httpMethod": "POST", "id": "reseller.subscriptions.changeSeats", @@ -389,7 +389,7 @@ ], "parameters": { "customerId": { - "description": "Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a `customerId` as a key for persistent data. If the domain name for a `customerId` is changed, the Google system automatically updates.", + "description": "This can be either the customer's primary domain name or the customer's unique identifier. If the domain name for a customer changes, the old domain name cannot be used to access the customer, but the customer's unique identifier (as returned by the API) can always be used. We recommend storing the unique identifier in your systems where applicable.", "location": "path", "required": true, "type": "string" @@ -413,7 +413,7 @@ ] }, "delete": { - "description": "Cancel, suspend, or transfer a subscription to direct.", + "description": "Cancels, suspends, or transfers a subscription to direct.", "flatPath": "apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}", "httpMethod": "DELETE", "id": "reseller.subscriptions.delete", @@ -424,7 +424,7 @@ ], "parameters": { "customerId": { - "description": "Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a `customerId` as a key for persistent data. If the domain name for a `customerId` is changed, the Google system automatically updates.", + "description": "This can be either the customer's primary domain name or the customer's unique identifier. If the domain name for a customer changes, the old domain name cannot be used to access the customer, but the customer's unique identifier (as returned by the API) can always be used. We recommend storing the unique identifier in your systems where applicable.", "location": "path", "required": true, "type": "string" @@ -458,7 +458,7 @@ ] }, "get": { - "description": "Get a specific subscription. The `subscriptionId` can be found using the [Retrieve all reseller subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions#get_all_subscriptions) method. For more information about retrieving a specific subscription, see the information descrived in [manage subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions#get_subscription).", + "description": "Gets a specific subscription. The `subscriptionId` can be found using the [Retrieve all reseller subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions#get_all_subscriptions) method. For more information about retrieving a specific subscription, see the information descrived in [manage subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions#get_subscription).", "flatPath": "apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}", "httpMethod": "GET", "id": "reseller.subscriptions.get", @@ -468,7 +468,7 @@ ], "parameters": { "customerId": { - "description": "Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a `customerId` as a key for persistent data. If the domain name for a `customerId` is changed, the Google system automatically updates.", + "description": "This can be either the customer's primary domain name or the customer's unique identifier. If the domain name for a customer changes, the old domain name cannot be used to access the customer, but the customer's unique identifier (as returned by the API) can always be used. We recommend storing the unique identifier in your systems where applicable.", "location": "path", "required": true, "type": "string" @@ -490,7 +490,7 @@ ] }, "insert": { - "description": "Create or transfer a subscription. Create a subscription for a customer's account that you ordered using the [Order a new customer account](/admin-sdk/reseller/v1/reference/customers/insert.html) method. For more information about creating a subscription for different payment plans, see [manage subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions#create_subscription).\\ If you did not order the customer's account using the customer insert method, use the customer's `customerAuthToken` when creating a subscription for that customer. If transferring a G Suite subscription with an associated Google Drive or Google Vault subscription, use the [batch operation](/admin-sdk/reseller/v1/how-tos/batch.html) to transfer all of these subscriptions. For more information, see how to [transfer subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions#transfer_a_subscription).", + "description": "Creates or transfer a subscription. Create a subscription for a customer's account that you ordered using the [Order a new customer account](/admin-sdk/reseller/v1/reference/customers/insert.html) method. For more information about creating a subscription for different payment plans, see [manage subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions#create_subscription).\\ If you did not order the customer's account using the customer insert method, use the customer's `customerAuthToken` when creating a subscription for that customer. If transferring a G Suite subscription with an associated Google Drive or Google Vault subscription, use the [batch operation](/admin-sdk/reseller/v1/how-tos/batch.html) to transfer all of these subscriptions. For more information, see how to [transfer subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions#transfer_a_subscription).", "flatPath": "apps/reseller/v1/customers/{customerId}/subscriptions", "httpMethod": "POST", "id": "reseller.subscriptions.insert", @@ -504,7 +504,7 @@ "type": "string" }, "customerId": { - "description": "Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a `customerId` as a key for persistent data. If the domain name for a `customerId` is changed, the Google system automatically updates.", + "description": "This can be either the customer's primary domain name or the customer's unique identifier. If the domain name for a customer changes, the old domain name cannot be used to access the customer, but the customer's unique identifier (as returned by the API) can always be used. We recommend storing the unique identifier in your systems where applicable.", "location": "path", "required": true, "type": "string" @@ -522,7 +522,7 @@ ] }, "list": { - "description": "List of subscriptions managed by the reseller. The list can be all subscriptions, all of a customer's subscriptions, or all of a customer's transferable subscriptions. Optionally, this method can filter the response by a `customerNamePrefix`. For more information, see [manage subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions).", + "description": "Lists of subscriptions managed by the reseller. The list can be all subscriptions, all of a customer's subscriptions, or all of a customer's transferable subscriptions. Optionally, this method can filter the response by a `customerNamePrefix`. For more information, see [manage subscriptions](/admin-sdk/reseller/v1/how-tos/manage_subscriptions).", "flatPath": "apps/reseller/v1/subscriptions", "httpMethod": "GET", "id": "reseller.subscriptions.list", @@ -534,7 +534,7 @@ "type": "string" }, "customerId": { - "description": "Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a `customerId` as a key for persistent data. If the domain name for a `customerId` is changed, the Google system automatically updates.", + "description": "This can be either the customer's primary domain name or the customer's unique identifier. If the domain name for a customer changes, the old domain name cannot be used to access the customer, but the customer's unique identifier (as returned by the API) can always be used. We recommend storing the unique identifier in your systems where applicable.", "location": "query", "type": "string" }, @@ -577,7 +577,7 @@ ], "parameters": { "customerId": { - "description": "Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a `customerId` as a key for persistent data. If the domain name for a `customerId` is changed, the Google system automatically updates.", + "description": "This can be either the customer's primary domain name or the customer's unique identifier. If the domain name for a customer changes, the old domain name cannot be used to access the customer, but the customer's unique identifier (as returned by the API) can always be used. We recommend storing the unique identifier in your systems where applicable.", "location": "path", "required": true, "type": "string" @@ -608,7 +608,7 @@ ], "parameters": { "customerId": { - "description": "Either the customer's primary domain name or the customer's unique identifier. If using the domain name, we do not recommend using a `customerId` as a key for persistent data. If the domain name for a `customerId` is changed, the Google system automatically updates.", + "description": "This can be either the customer's primary domain name or the customer's unique identifier. If the domain name for a customer changes, the old domain name cannot be used to access the customer, but the customer's unique identifier (as returned by the API) can always be used. We recommend storing the unique identifier in your systems where applicable.", "location": "path", "required": true, "type": "string" @@ -631,7 +631,7 @@ } } }, - "revision": "20210330", + "revision": "20220301", "rootUrl": "https://reseller.googleapis.com/", "schemas": { "Address": { @@ -715,7 +715,7 @@ "id": "Customer", "properties": { "alternateEmail": { - "description": "Like the \"Customer email\" in the reseller tools, this email is the secondary contact used if something happens to the customer's service such as service outage or a security issue. This property is required when creating a new customer and should not use the same domain as `customerDomain`.", + "description": "Like the \"Customer email\" in the reseller tools, this email is the secondary contact used if something happens to the customer's service such as service outage or a security issue. This property is required when creating a new \"domain\" customer and should not use the same domain as `customerDomain`. The `alternateEmail` field is not necessary to create a \"team\" customer.", "type": "string" }, "customerDomain": { @@ -730,6 +730,20 @@ "description": "This property will always be returned in a response as the unique identifier generated by Google. In a request, this property can be either the primary domain or the unique identifier generated by Google.", "type": "string" }, + "customerType": { + "description": "Identifies the type of the customer. Acceptable values include: * `domain`: Implies a domain-verified customer (default). * `team`: Implies an email-verified customer. For more information, see [managed teams](https://support.google.com/a/users/answer/9939479).", + "enum": [ + "customerTypeUnspecified", + "domain", + "team" + ], + "enumDescriptions": [ + "Customer type not known", + "Domained or domain-owning customers", + "Domainless or email-verified customers" + ], + "type": "string" + }, "kind": { "default": "reseller#customer", "description": "Identifies the resource as a customer. Value: `reseller#customer`", @@ -743,6 +757,10 @@ "$ref": "Address", "description": "A customer's address information. Each field has a limit of 255 charcters." }, + "primaryAdmin": { + "$ref": "PrimaryAdmin", + "description": "The first admin details of the customer, present in case of TEAM customer." + }, "resourceUiUrl": { "description": "URL to customer's Admin console dashboard. The read-only URL is generated by the API service. This is used if your client application requires the customer to complete a task in the Admin console.", "type": "string" @@ -750,6 +768,17 @@ }, "type": "object" }, + "PrimaryAdmin": { + "description": "JSON template for primary admin in case of TEAM customers", + "id": "PrimaryAdmin", + "properties": { + "primaryEmail": { + "description": "The business email of the primary administrator of the customer. The email verification link is sent to this email address at the time of customer creation. Primary administrators have access to the customer's Admin Console, including the ability to invite and evict users and manage the administrative needs of the customer.", + "type": "string" + } + }, + "type": "object" + }, "RenewalSettings": { "description": "JSON template for a subscription renewal settings.", "id": "RenewalSettings", @@ -815,7 +844,7 @@ "type": "integer" }, "numberOfSeats": { - "description": "This is a required property and is exclusive to subscriptions with `ANNUAL_MONTHLY_PAY` and `ANNUAL_YEARLY_PAY` plans. This property sets the maximum number of licenses assignable to users on a subscription. The reseller can add more licenses, but once set, the `numberOfSeats` cannot be reduced until renewal. The reseller is invoiced based on the `numberOfSeats` value regardless of how many of these user licenses are assigned. *Note: *G Suite subscriptions automatically assign a license to every user.", + "description": "This is a required property and is exclusive to subscriptions with `ANNUAL_MONTHLY_PAY` and `ANNUAL_YEARLY_PAY` plans. This property sets the maximum number of licenses assignable to users on a subscription. The reseller can add more licenses, but once set, the `numberOfSeats` cannot be reduced until renewal. The reseller is invoiced based on the `numberOfSeats` value regardless of how many of these user licenses are assigned. *Note: *Google Workspace subscriptions automatically assign a license to every user.", "format": "int32", "type": "integer" } @@ -925,7 +954,7 @@ "description": "Read-only transfer related information for the subscription. For more information, see retrieve transferable subscriptions for a customer.", "properties": { "currentLegacySkuId": { - "description": "Sku id of the current resold subscription. This is populated only when customer has subscription with legacy sku and the subscription resource is populated with recommeded sku for transfer in.", + "description": "The `skuId` of the current resold subscription. This is populated only when the customer has a subscription with a legacy SKU and the subscription resource is populated with the `skuId` of the SKU recommended for the transfer.", "type": "string" }, "minimumTransferableSeats": { diff --git a/etc/api/resourcesettings/v1/resourcesettings-api.json b/etc/api/resourcesettings/v1/resourcesettings-api.json new file mode 100644 index 0000000000..37d69547c2 --- /dev/null +++ b/etc/api/resourcesettings/v1/resourcesettings-api.json @@ -0,0 +1,673 @@ +{ + "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://resourcesettings.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Resource Settings", + "description": "The Resource Settings API allows users to control and modify the behavior of their GCP resources (e.g., VM, firewall, Project, etc.) across the Cloud Resource Hierarchy.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/resource-manager/docs/resource-settings/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": "resourcesettings:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://resourcesettings.mtls.googleapis.com/", + "name": "resourcesettings", + "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": { + "settings": { + "methods": { + "get": { + "description": "Returns a specified setting. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the setting does not exist.", + "flatPath": "v1/folders/{foldersId}/settings/{settingsId}", + "httpMethod": "GET", + "id": "resourcesettings.folders.settings.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the setting to get. See Setting for naming requirements.", + "location": "path", + "pattern": "^folders/[^/]+/settings/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "The SettingView for this request.", + "enum": [ + "SETTING_VIEW_UNSPECIFIED", + "SETTING_VIEW_BASIC", + "SETTING_VIEW_EFFECTIVE_VALUE", + "SETTING_VIEW_LOCAL_VALUE" + ], + "enumDescriptions": [ + "The default / unset value. The API will default to the SETTING_VIEW_BASIC view.", + "Include Setting.metadata, but nothing else. This is the default value (for both ListSettings and GetSetting).", + "Include Setting.effective_value, but nothing else.", + "Include Setting.local_value, but nothing else." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudResourcesettingsV1Setting" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all the settings that are available on the Cloud resource `parent`.", + "flatPath": "v1/folders/{foldersId}/settings", + "httpMethod": "GET", + "id": "resourcesettings.folders.settings.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Unused. The size of the page to be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Unused. A page token used to retrieve the next page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project, folder, or organization that is the parent resource for this setting. Must be in one of the following forms: * `projects/{project_number}` * `projects/{project_id}` * `folders/{folder_id}` * `organizations/{organization_id}`", + "location": "path", + "pattern": "^folders/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "The SettingView for this request.", + "enum": [ + "SETTING_VIEW_UNSPECIFIED", + "SETTING_VIEW_BASIC", + "SETTING_VIEW_EFFECTIVE_VALUE", + "SETTING_VIEW_LOCAL_VALUE" + ], + "enumDescriptions": [ + "The default / unset value. The API will default to the SETTING_VIEW_BASIC view.", + "Include Setting.metadata, but nothing else. This is the default value (for both ListSettings and GetSetting).", + "Include Setting.effective_value, but nothing else.", + "Include Setting.local_value, but nothing else." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/settings", + "response": { + "$ref": "GoogleCloudResourcesettingsV1ListSettingsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a specified setting. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the setting does not exist. Returns a `google.rpc.Status` with `google.rpc.Code.FAILED_PRECONDITION` if the setting is flagged as read only. Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` if the etag supplied in the request does not match the persisted etag of the setting value. On success, the response will contain only `name`, `local_value` and `etag`. The `metadata` and `effective_value` cannot be updated through this API. Note: the supplied setting will perform a full overwrite of the `local_value` field.", + "flatPath": "v1/folders/{foldersId}/settings/{settingsId}", + "httpMethod": "PATCH", + "id": "resourcesettings.folders.settings.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the setting. Must be in one of the following forms: * `projects/{project_number}/settings/{setting_name}` * `folders/{folder_id}/settings/{setting_name}` * `organizations/{organization_id}/settings/{setting_name}` For example, \"/projects/123/settings/gcp-enableMyFeature\"", + "location": "path", + "pattern": "^folders/[^/]+/settings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudResourcesettingsV1Setting" + }, + "response": { + "$ref": "GoogleCloudResourcesettingsV1Setting" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "organizations": { + "resources": { + "settings": { + "methods": { + "get": { + "description": "Returns a specified setting. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the setting does not exist.", + "flatPath": "v1/organizations/{organizationsId}/settings/{settingsId}", + "httpMethod": "GET", + "id": "resourcesettings.organizations.settings.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the setting to get. See Setting for naming requirements.", + "location": "path", + "pattern": "^organizations/[^/]+/settings/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "The SettingView for this request.", + "enum": [ + "SETTING_VIEW_UNSPECIFIED", + "SETTING_VIEW_BASIC", + "SETTING_VIEW_EFFECTIVE_VALUE", + "SETTING_VIEW_LOCAL_VALUE" + ], + "enumDescriptions": [ + "The default / unset value. The API will default to the SETTING_VIEW_BASIC view.", + "Include Setting.metadata, but nothing else. This is the default value (for both ListSettings and GetSetting).", + "Include Setting.effective_value, but nothing else.", + "Include Setting.local_value, but nothing else." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudResourcesettingsV1Setting" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all the settings that are available on the Cloud resource `parent`.", + "flatPath": "v1/organizations/{organizationsId}/settings", + "httpMethod": "GET", + "id": "resourcesettings.organizations.settings.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Unused. The size of the page to be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Unused. A page token used to retrieve the next page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project, folder, or organization that is the parent resource for this setting. Must be in one of the following forms: * `projects/{project_number}` * `projects/{project_id}` * `folders/{folder_id}` * `organizations/{organization_id}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "The SettingView for this request.", + "enum": [ + "SETTING_VIEW_UNSPECIFIED", + "SETTING_VIEW_BASIC", + "SETTING_VIEW_EFFECTIVE_VALUE", + "SETTING_VIEW_LOCAL_VALUE" + ], + "enumDescriptions": [ + "The default / unset value. The API will default to the SETTING_VIEW_BASIC view.", + "Include Setting.metadata, but nothing else. This is the default value (for both ListSettings and GetSetting).", + "Include Setting.effective_value, but nothing else.", + "Include Setting.local_value, but nothing else." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/settings", + "response": { + "$ref": "GoogleCloudResourcesettingsV1ListSettingsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a specified setting. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the setting does not exist. Returns a `google.rpc.Status` with `google.rpc.Code.FAILED_PRECONDITION` if the setting is flagged as read only. Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` if the etag supplied in the request does not match the persisted etag of the setting value. On success, the response will contain only `name`, `local_value` and `etag`. The `metadata` and `effective_value` cannot be updated through this API. Note: the supplied setting will perform a full overwrite of the `local_value` field.", + "flatPath": "v1/organizations/{organizationsId}/settings/{settingsId}", + "httpMethod": "PATCH", + "id": "resourcesettings.organizations.settings.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the setting. Must be in one of the following forms: * `projects/{project_number}/settings/{setting_name}` * `folders/{folder_id}/settings/{setting_name}` * `organizations/{organization_id}/settings/{setting_name}` For example, \"/projects/123/settings/gcp-enableMyFeature\"", + "location": "path", + "pattern": "^organizations/[^/]+/settings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudResourcesettingsV1Setting" + }, + "response": { + "$ref": "GoogleCloudResourcesettingsV1Setting" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "projects": { + "resources": { + "settings": { + "methods": { + "get": { + "description": "Returns a specified setting. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the setting does not exist.", + "flatPath": "v1/projects/{projectsId}/settings/{settingsId}", + "httpMethod": "GET", + "id": "resourcesettings.projects.settings.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the setting to get. See Setting for naming requirements.", + "location": "path", + "pattern": "^projects/[^/]+/settings/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "The SettingView for this request.", + "enum": [ + "SETTING_VIEW_UNSPECIFIED", + "SETTING_VIEW_BASIC", + "SETTING_VIEW_EFFECTIVE_VALUE", + "SETTING_VIEW_LOCAL_VALUE" + ], + "enumDescriptions": [ + "The default / unset value. The API will default to the SETTING_VIEW_BASIC view.", + "Include Setting.metadata, but nothing else. This is the default value (for both ListSettings and GetSetting).", + "Include Setting.effective_value, but nothing else.", + "Include Setting.local_value, but nothing else." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudResourcesettingsV1Setting" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all the settings that are available on the Cloud resource `parent`.", + "flatPath": "v1/projects/{projectsId}/settings", + "httpMethod": "GET", + "id": "resourcesettings.projects.settings.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Unused. The size of the page to be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Unused. A page token used to retrieve the next page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project, folder, or organization that is the parent resource for this setting. Must be in one of the following forms: * `projects/{project_number}` * `projects/{project_id}` * `folders/{folder_id}` * `organizations/{organization_id}`", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "The SettingView for this request.", + "enum": [ + "SETTING_VIEW_UNSPECIFIED", + "SETTING_VIEW_BASIC", + "SETTING_VIEW_EFFECTIVE_VALUE", + "SETTING_VIEW_LOCAL_VALUE" + ], + "enumDescriptions": [ + "The default / unset value. The API will default to the SETTING_VIEW_BASIC view.", + "Include Setting.metadata, but nothing else. This is the default value (for both ListSettings and GetSetting).", + "Include Setting.effective_value, but nothing else.", + "Include Setting.local_value, but nothing else." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/settings", + "response": { + "$ref": "GoogleCloudResourcesettingsV1ListSettingsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a specified setting. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the setting does not exist. Returns a `google.rpc.Status` with `google.rpc.Code.FAILED_PRECONDITION` if the setting is flagged as read only. Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` if the etag supplied in the request does not match the persisted etag of the setting value. On success, the response will contain only `name`, `local_value` and `etag`. The `metadata` and `effective_value` cannot be updated through this API. Note: the supplied setting will perform a full overwrite of the `local_value` field.", + "flatPath": "v1/projects/{projectsId}/settings/{settingsId}", + "httpMethod": "PATCH", + "id": "resourcesettings.projects.settings.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the setting. Must be in one of the following forms: * `projects/{project_number}/settings/{setting_name}` * `folders/{folder_id}/settings/{setting_name}` * `organizations/{organization_id}/settings/{setting_name}` For example, \"/projects/123/settings/gcp-enableMyFeature\"", + "location": "path", + "pattern": "^projects/[^/]+/settings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudResourcesettingsV1Setting" + }, + "response": { + "$ref": "GoogleCloudResourcesettingsV1Setting" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + }, + "revision": "20220305", + "rootUrl": "https://resourcesettings.googleapis.com/", + "schemas": { + "GoogleCloudResourcesettingsV1ListSettingsResponse": { + "description": "The response from ListSettings.", + "id": "GoogleCloudResourcesettingsV1ListSettingsResponse", + "properties": { + "nextPageToken": { + "description": "Unused. A page token used to retrieve the next page.", + "type": "string" + }, + "settings": { + "description": "A list of settings that are available at the specified Cloud resource.", + "items": { + "$ref": "GoogleCloudResourcesettingsV1Setting" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudResourcesettingsV1Setting": { + "description": "The schema for settings.", + "id": "GoogleCloudResourcesettingsV1Setting", + "properties": { + "effectiveValue": { + "$ref": "GoogleCloudResourcesettingsV1Value", + "description": "Output only. The effective value of the setting at the given parent resource, evaluated based on the resource hierarchy The effective value evaluates to one of the following options, in this order. If an option is not valid or doesn't exist, then the next option is used: 1. The local setting value on the given resource: Setting.local_value 2. If one of the given resource's ancestors in the resource hierarchy have a local setting value, the local value at the nearest such ancestor. 3. The setting's default value: SettingMetadata.default_value 4. An empty value, defined as a `Value` with all fields unset. The data type of Value must always be consistent with the data type defined in Setting.metadata.", + "readOnly": true + }, + "etag": { + "description": "A fingerprint used for optimistic concurrency. See UpdateSetting for more details.", + "type": "string" + }, + "localValue": { + "$ref": "GoogleCloudResourcesettingsV1Value", + "description": "The configured value of the setting at the given parent resource, ignoring the resource hierarchy. The data type of Value must always be consistent with the data type defined in Setting.metadata." + }, + "metadata": { + "$ref": "GoogleCloudResourcesettingsV1SettingMetadata", + "description": "Output only. Metadata about a setting which is not editable by the end user.", + "readOnly": true + }, + "name": { + "description": "The resource name of the setting. Must be in one of the following forms: * `projects/{project_number}/settings/{setting_name}` * `folders/{folder_id}/settings/{setting_name}` * `organizations/{organization_id}/settings/{setting_name}` For example, \"/projects/123/settings/gcp-enableMyFeature\"", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudResourcesettingsV1SettingMetadata": { + "description": "Metadata about a setting which is not editable by the end user.", + "id": "GoogleCloudResourcesettingsV1SettingMetadata", + "properties": { + "dataType": { + "description": "The data type for this setting.", + "enum": [ + "DATA_TYPE_UNSPECIFIED", + "BOOLEAN", + "STRING", + "STRING_SET", + "ENUM_VALUE", + "DURATION_VALUE", + "STRING_MAP" + ], + "enumDescriptions": [ + "Unspecified data type.", + "A boolean setting.", + "A string setting.", + "A string set setting.", + "A Enum setting", + "A Duration setting", + "A string->string map setting" + ], + "type": "string" + }, + "defaultValue": { + "$ref": "GoogleCloudResourcesettingsV1Value", + "description": "The value provided by Setting.effective_value if no setting value is explicitly set. Note: not all settings have a default value." + }, + "description": { + "description": "A detailed description of what this setting does.", + "type": "string" + }, + "displayName": { + "description": "The human readable name for this setting.", + "type": "string" + }, + "readOnly": { + "description": "A flag indicating that values of this setting cannot be modified. See documentation for the specific setting for updates and reasons.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudResourcesettingsV1Value": { + "description": "The data in a setting value.", + "id": "GoogleCloudResourcesettingsV1Value", + "properties": { + "booleanValue": { + "description": "Defines this value as being a boolean value.", + "type": "boolean" + }, + "durationValue": { + "description": "Defines this value as being a Duration.", + "format": "google-duration", + "type": "string" + }, + "enumValue": { + "$ref": "GoogleCloudResourcesettingsV1ValueEnumValue", + "description": "Defines this value as being a Enum." + }, + "stringMapValue": { + "$ref": "GoogleCloudResourcesettingsV1ValueStringMap", + "description": "Defines this value as being a StringMap." + }, + "stringSetValue": { + "$ref": "GoogleCloudResourcesettingsV1ValueStringSet", + "description": "Defines this value as being a StringSet." + }, + "stringValue": { + "description": "Defines this value as being a string value.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudResourcesettingsV1ValueEnumValue": { + "description": "A enum value that can hold any enum type setting values. Each enum type is represented by a number, this representation is stored in the definitions.", + "id": "GoogleCloudResourcesettingsV1ValueEnumValue", + "properties": { + "value": { + "description": "The value of this enum", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudResourcesettingsV1ValueStringMap": { + "description": "A string->string map value that can hold a map of string keys to string values. The maximum length of each string is 200 characters and there can be a maximum of 50 key-value pairs in the map.", + "id": "GoogleCloudResourcesettingsV1ValueStringMap", + "properties": { + "mappings": { + "additionalProperties": { + "type": "string" + }, + "description": "The key-value pairs in the map", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudResourcesettingsV1ValueStringSet": { + "description": "A string set value that can hold a set of strings. The maximum length of each string is 200 characters and there can be a maximum of 50 strings in the string set.", + "id": "GoogleCloudResourcesettingsV1ValueStringSet", + "properties": { + "values": { + "description": "The strings in the set", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Resource Settings API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/retail/v2/retail-api.json b/etc/api/retail/v2/retail-api.json index 281f6f55ec..68fdc77e3f 100644 --- a/etc/api/retail/v2/retail-api.json +++ b/etc/api/retail/v2/retail-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -111,6 +111,88 @@ "resources": { "catalogs": { "methods": { + "completeQuery": { + "description": "Completes the specified prefix with keyword suggestions. This feature is only available for users who have Retail Search enabled. Please submit a form [here](https://cloud.google.com/contact) to contact cloud sales if you are interested in using Retail Search.", + "flatPath": "v2/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 additional allowlisting. Before using cloud-retail, contact Cloud Retail support team first.", + "location": "query", + "type": "string" + }, + "deviceType": { + "description": "The device type context for completion suggestions. It is useful to 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" + }, + "languageCodes": { + "description": "The list of languages of the query. This is the BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47). The maximum number of allowed characters is 255. Only \"en-US\" is currently supported.", + "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": "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": "v2/{+catalog}:completeQuery", + "response": { + "$ref": "GoogleCloudRetailV2CompleteQueryResponse" + }, + "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": "v2/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": "v2/{+catalog}:getDefaultBranch", + "response": { + "$ref": "GoogleCloudRetailV2GetDefaultBranchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "Lists all the Catalogs associated with the project.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs", @@ -164,7 +246,7 @@ "type": "string" }, "updateMask": { - "description": "Indicates which fields in the provided Catalog to update. If not set, will only update the Catalog.product_level_config field, which is also the only currently supported field to update. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned.", + "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" @@ -180,6 +262,34 @@ "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": "v2/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": "v2/{+catalog}:setDefaultBranch", + "request": { + "$ref": "GoogleCloudRetailV2SetDefaultBranchRequest" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -216,6 +326,34 @@ }, "products": { "methods": { + "addFulfillmentPlaces": { + "description": "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 GetProduct or ListProducts. This feature is only available for users who have Retail Search enabled. Please submit a form [here](https://cloud.google.com/contact) to contact cloud sales if you are interested in using Retail Search.", + "flatPath": "v2/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": "v2/{+product}:addFulfillmentPlaces", + "request": { + "$ref": "GoogleCloudRetailV2AddFulfillmentPlacesRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "create": { "description": "Creates a Product.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products", @@ -327,6 +465,53 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "list": { + "description": "Gets a list of Products.", + "flatPath": "v2/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" + } + }, + "path": "v2/{+parent}/products", + "response": { + "$ref": "GoogleCloudRetailV2ListProductsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "patch": { "description": "Updates a Product.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}", @@ -342,7 +527,7 @@ "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`. The branch ID must be \"default_branch\".", + "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, @@ -365,11 +550,99 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "removeFulfillmentPlaces": { + "description": "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 GetProduct or ListProducts. This feature is only available for users who have Retail Search enabled. Please submit a form [here](https://cloud.google.com/contact) to contact cloud sales if you are interested in using Retail Search.", + "flatPath": "v2/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": "v2/{+product}:removeFulfillmentPlaces", + "request": { + "$ref": "GoogleCloudRetailV2RemoveFulfillmentPlacesRequest" + }, + "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 will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by GetProduct or ListProducts. When inventory is updated with CreateProduct and UpdateProduct, the specified inventory field value(s) will overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update time for the specified inventory fields will be overwritten to the time of the CreateProduct or UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product will be used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information will be preserved. Pre-existing inventory information can only be updated with SetInventory, AddFulfillmentPlaces, and RemoveFulfillmentPlaces. This feature is only available for users who have Retail Search enabled. Please submit a form [here](https://cloud.google.com/contact) to contact cloud sales if you are interested in using Retail Search.", + "flatPath": "v2/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": "v2/{+name}:setInventory", + "request": { + "$ref": "GoogleCloudRetailV2SetInventoryRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } } } }, + "completionData": { + "methods": { + "import": { + "description": "Bulk import of processed completion dataset. Request processing may be synchronous. Partial updating is not supported. This feature is only available for users who have Retail Search enabled. Please submit a form [here](https://cloud.google.com/contact) to contact cloud sales if you are interested in using Retail Search.", + "flatPath": "v2/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": "v2/{+parent}/completionData:import", + "request": { + "$ref": "GoogleCloudRetailV2ImportCompletionDataRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "operations": { "methods": { "get": { @@ -469,6 +742,34 @@ "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. Please submit a form [here](https://cloud.google.com/contact) to contact cloud sales if you are interested in using Retail Search.", + "flatPath": "v2/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 search engine placement, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving configuration name and the set of models that will be used to make the search.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/placements/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+placement}:search", + "request": { + "$ref": "GoogleCloudRetailV2SearchRequest" + }, + "response": { + "$ref": "GoogleCloudRetailV2SearchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } }, @@ -702,11 +1003,81 @@ } } } + }, + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v2/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": "v2/{+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`. 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": "v2/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": "v2/{+name}/operations", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } } }, - "revision": "20210319", + "revision": "20220224", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -815,7 +1186,7 @@ "type": "string" }, "gcsPath": { - "description": "GCS file path of the import source. Can be set for batch operation error.", + "description": "Cloud Storage file path of the import source. Can be set for batch operation error.", "type": "string" }, "lineNumber": { @@ -859,12 +1230,72 @@ }, "type": "object" }, + "GoogleCloudRetailV2AddFulfillmentPlacesMetadata": { + "description": "Metadata related to the progress of the AddFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the AddFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2AddFulfillmentPlacesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2AddFulfillmentPlacesRequest": { + "description": "Request message for AddFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2AddFulfillmentPlacesRequest", + "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" + }, + "GoogleCloudRetailV2AddFulfillmentPlacesResponse": { + "description": "Response of the AddFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the AddFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2AddFulfillmentPlacesResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2Audience": { + "description": "An intended audience of the Product for whom it's sold.", + "id": "GoogleCloudRetailV2Audience", + "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" + }, "GoogleCloudRetailV2BigQuerySource": { "description": "BigQuery source import data from.", "id": "GoogleCloudRetailV2BigQuerySource", "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?hl=en.", + "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`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846.", "type": "string" }, "datasetId": { @@ -875,8 +1306,12 @@ "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. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`." + }, "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.", + "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": { @@ -905,20 +1340,134 @@ }, "type": "object" }, + "GoogleCloudRetailV2ColorInfo": { + "description": "The color information of a Product.", + "id": "GoogleCloudRetailV2ColorInfo", + "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).", + "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 25 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" + }, + "GoogleCloudRetailV2CompleteQueryResponse": { + "description": "Response of the auto-complete query.", + "id": "GoogleCloudRetailV2CompleteQueryResponse", + "properties": { + "attributionToken": { + "description": "A unique complete token. This should be included in the SearchRequest 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": "GoogleCloudRetailV2CompleteQueryResponseCompletionResult" + }, + "type": "array" + }, + "recentSearchResults": { + "description": "Matched recent searches of this user. The maximum number of recent searches is 10. This field is a restricted feature. Contact Retail Search support team if you are interested in enabling it. 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 cases. * They are UTF-8 safe. Recent searches are deduplicated. More recent searches will be reserved when duplication happens.", + "items": { + "$ref": "GoogleCloudRetailV2CompleteQueryResponseRecentSearchResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2CompleteQueryResponseCompletionResult": { + "description": "Resource that represents completion results.", + "id": "GoogleCloudRetailV2CompleteQueryResponseCompletionResult", + "properties": { + "attributes": { + "additionalProperties": { + "$ref": "GoogleCloudRetailV2CustomAttribute" + }, + "description": "Additional custom attributes ingested through BigQuery.", + "type": "object" + }, + "suggestion": { + "description": "The suggestion for the query.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2CompleteQueryResponseRecentSearchResult": { + "description": "Recent search of this user.", + "id": "GoogleCloudRetailV2CompleteQueryResponseRecentSearchResult", + "properties": { + "recentSearch": { + "description": "The recent search query.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2CompletionDataInputConfig": { + "description": "The input config source for completion data.", + "id": "GoogleCloudRetailV2CompletionDataInputConfig", + "properties": { + "bigQuerySource": { + "$ref": "GoogleCloudRetailV2BigQuerySource", + "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" + }, + "GoogleCloudRetailV2CompletionDetail": { + "description": "Detailed completion information including completion attribution token and clicked completion info.", + "id": "GoogleCloudRetailV2CompletionDetail", + "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" + }, "GoogleCloudRetailV2CustomAttribute": { "description": "A custom attribute that is not explicitly modeled in Product.", "id": "GoogleCloudRetailV2CustomAttribute", "properties": { + "indexable": { + "description": "This field will only be used when AttributesConfig.attribute_config_level of the Catalog is 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG', if true, custom attribute values are indexed, so that it 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\". At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.", + "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": { + "description": "This field will only be used when AttributesConfig.attribute_config_level of the Catalog is 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG', 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\". 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. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.", + "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" }, @@ -927,16 +1476,34 @@ }, "type": "object" }, + "GoogleCloudRetailV2FulfillmentInfo": { + "description": "Fulfillment information, such as the store IDs for in-store pickup or region IDs for different shipping methods.", + "id": "GoogleCloudRetailV2FulfillmentInfo", + "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" + }, "GoogleCloudRetailV2GcsSource": { "description": "Google Cloud Storage location for input content. format.", "id": "GoogleCloudRetailV2GcsSource", "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#mcc). 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?hl=en.", + "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/recommendations-ai/docs/upload-catalog) for the expected file format and setup instructions.", + "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" }, @@ -945,6 +1512,26 @@ }, "type": "object" }, + "GoogleCloudRetailV2GetDefaultBranchResponse": { + "description": "Response message of CatalogService.GetDefaultBranch.", + "id": "GoogleCloudRetailV2GetDefaultBranchResponse", + "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" + }, "GoogleCloudRetailV2Image": { "description": "Product thumbnail/detail image.", "id": "GoogleCloudRetailV2Image", @@ -966,12 +1553,41 @@ }, "type": "object" }, + "GoogleCloudRetailV2ImportCompletionDataRequest": { + "description": "Request message for ImportCompletionData methods.", + "id": "GoogleCloudRetailV2ImportCompletionDataRequest", + "properties": { + "inputConfig": { + "$ref": "GoogleCloudRetailV2CompletionDataInputConfig", + "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 will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "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 path for import errors. This must be an empty, existing Cloud Storage bucket. Import errors will be written to a file in this bucket, one per line, as a JSON-encoded `google.rpc.Status` message.", + "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors will be written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", "type": "string" } }, @@ -991,6 +1607,14 @@ "format": "int64", "type": "string" }, + "notificationPubsubTopic": { + "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "type": "string" + }, + "requestId": { + "description": "Id of the request / operation. This is parroting back the requestId that was passed in the request.", + "type": "string" + }, "successCount": { "description": "Count of entries that were processed successfully.", "format": "int64", @@ -1016,6 +1640,28 @@ "$ref": "GoogleCloudRetailV2ProductInputConfig", "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 will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{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. Can only be set while using BigQuerySource. And the BigQuery dataset must be created in the data location \"us (multiple regions in United States)\", otherwise a PERMISSION_DENIED error is thrown. 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. This feature is only available for users who have Retail Search enabled. Please submit a form [here](https://cloud.google.com/contact) to contact cloud sales if you are interested in using Retail Search." + ], + "type": "string" + }, + "requestId": { + "description": "Unique identifier provided by client, within the ancestor dataset scope. Ensures idempotency and used for request deduplication. Server-generated if unspecified. Up to 128 characters long and must match the pattern: `[a-zA-Z0-9_]+`. This is returned as Operation.name in ImportMetadata. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`.", + "type": "string" + }, "updateMask": { "description": "Indicates which fields in the provided imported 'products' to update. If not set, will by default update all fields.", "format": "google-fieldmask", @@ -1079,6 +1725,33 @@ }, "type": "object" }, + "GoogleCloudRetailV2Interval": { + "description": "A floating point interval.", + "id": "GoogleCloudRetailV2Interval", + "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" + }, "GoogleCloudRetailV2ListCatalogsResponse": { "description": "Response for CatalogService.ListCatalogs method.", "id": "GoogleCloudRetailV2ListCatalogsResponse", @@ -1097,6 +1770,24 @@ }, "type": "object" }, + "GoogleCloudRetailV2ListProductsResponse": { + "description": "Response message for ProductService.ListProducts method.", + "id": "GoogleCloudRetailV2ListProductsResponse", + "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": "GoogleCloudRetailV2Product" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudRetailV2PredictRequest": { "description": "Request message for Predict method.", "id": "GoogleCloudRetailV2PredictRequest", @@ -1109,7 +1800,7 @@ "additionalProperties": { "type": "string" }, - "description": "The labels for the predict request. * Label keys can contain lowercase letters, digits and hyphens, must start with a letter, and must end with a letter or digit. * Non-zero label values can contain lowercase letters, digits and hyphens, must start with a letter, and must end with a letter or digit. * No more than 64 labels can be associated with a given request. See https://goo.gl/xmQnxf for more information on and examples of labels.", + "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": { @@ -1125,7 +1816,7 @@ "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 an 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.", + "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 an 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.", "type": "object" }, "userEvent": { @@ -1196,7 +1887,7 @@ "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.", + "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": { @@ -1205,9 +1896,39 @@ "type": "number" }, "price": { - "description": "Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).", + "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": "GoogleCloudRetailV2PriceInfoPriceRange", + "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" + }, + "GoogleCloudRetailV2PriceInfoPriceRange": { + "description": "The price range of all variant Product having the same Product.primary_product_id.", + "id": "GoogleCloudRetailV2PriceInfoPriceRange", + "properties": { + "originalPrice": { + "$ref": "GoogleCloudRetailV2Interval", + "description": "The inclusive Product.pricing_info.original_price internal of all variant Product having the same Product.primary_product_id." + }, + "price": { + "$ref": "GoogleCloudRetailV2Interval", + "description": "The inclusive Product.pricing_info.price interval of all variant Product having the same Product.primary_product_id." } }, "type": "object" @@ -1220,11 +1941,15 @@ "additionalProperties": { "$ref": "GoogleCloudRetailV2CustomAttribute" }, - "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: 150 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters.", + "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": "GoogleCloudRetailV2Audience", + "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. Google Merchant Center Property [availability](https://support.google.com/merchants/answer/6324448). Schema.org Property [Offer.availability](https://schema.org/availability).", + "description": "The online availability of the Product. Default to Availability.IN_STOCK. 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", @@ -1247,57 +1972,149 @@ "type": "integer" }, "availableTime": { - "description": "The timestamp when this Product becomes available for recommendation.", + "description": "The timestamp when this Product becomes available for SearchService.Search.", "format": "google-datetime", "type": "string" }, + "brands": { + "description": "The brands of the product. A maximum of 30 brands are allowed. 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, please 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. 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. 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", + "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, please 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. 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 and 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": "GoogleCloudRetailV2ColorInfo", + "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. Google Merchant Center property [description](https://support.google.com/merchants/answer/6324468). schema.org property [Product.description](https://schema.org/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": "The timestamp when this product becomes unavailable for SearchService.Search. If it is set, the Product is not available for SearchService.Search after expire_time. However, the product can still be retrieved by ProductService.GetProduct and ProductService.ListProducts. 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": "GoogleCloudRetailV2FulfillmentInfo" + }, + "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. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).", + "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.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).", + "description": "Product images for the product.Highly recommended to put the main image to the 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": "GoogleCloudRetailV2Image" }, "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`. The branch ID must be \"default_branch\".", + "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" }, + "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": "GoogleCloudRetailV2PriceInfo", - "description": "Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371)." + "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. Google Merchant Center Property [item_group_id](https://support.google.com/merchants/answer/6324507). Schema.org Property [Product.inProductGroupWithID](https://schema.org/inProductGroupWithID). This field must be enabled before it can be used. [Learn more](/recommendations-ai/docs/catalog#item-group-id).", + "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": "GoogleCloudRetailV2Promotion" + }, + "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": "GoogleCloudRetailV2Rating", + "description": "The rating of this product." + }, + "retrievableFields": { + "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 Maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is returned. Note: Returning more fields in SearchResponse may increase response payload size and serving latency.", + "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. Google Merchant Center property [custom_label_0\u20134](https://support.google.com/merchants/answer/6324473).", + "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. Google Merchant Center property [title](https://support.google.com/merchants/answer/6324415). Schema.org property [Product.name](https://schema.org/name).", + "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. 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. This field is output-only.", + "description": "Immutable. The type of the product. Default to Catalog.product_level_config.ingestion_product_type if unset.", "enum": [ "TYPE_UNSPECIFIED", "PRIMARY", @@ -1305,7 +2122,7 @@ "COLLECTION" ], "enumDescriptions": [ - "Default value. Default to Type.PRIMARY if unset.", + "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." @@ -1313,8 +2130,16 @@ "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. Google Merchant Center property [link](https://support.google.com/merchants/answer/6324416). Schema.org property [Offer.url](https://schema.org/url).", + "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": "GoogleCloudRetailV2Product" + }, + "readOnly": true, + "type": "array" } }, "type": "object" @@ -1325,7 +2150,7 @@ "properties": { "product": { "$ref": "GoogleCloudRetailV2Product", - "description": "Required. Product information. Only Product.id field is used when ingesting an event, all other product fields are ignored as we will look them up from the catalog." + "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.", @@ -1340,7 +2165,7 @@ "id": "GoogleCloudRetailV2ProductInlineSource", "properties": { "products": { - "description": "Required. A list of products to update/create. Each product must have a valid Product.id. Recommended max of 10k items.", + "description": "Required. A list of products to update/create. Each product must have a valid Product.id. Recommended max of 100 items.", "items": { "$ref": "GoogleCloudRetailV2Product" }, @@ -1373,11 +2198,22 @@ "id": "GoogleCloudRetailV2ProductLevelConfig", "properties": { "ingestionProductType": { - "description": "The type of Products allowed to be ingested into the catalog. Acceptable values are: * `primary` (default): You can only ingest Product.Type.PRIMARY Products. This means Product.primary_product_id can only be empty or set to the same value as Product.id. * `variant`: 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 [Using catalog levels](/retail/recommendations-ai/docs/catalog#catalog-levels) for more details.", + "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`: 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 [Using product levels](https://cloud.google.com/retail/recommendations-ai/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 [Using catalog levels](/retail/recommendations-ai/docs/catalog#catalog-levels) for more details.", + "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 [Using product levels](https://cloud.google.com/retail/recommendations-ai/docs/catalog#product-levels) for more details.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2Promotion": { + "description": "Promotion information.", + "id": "GoogleCloudRetailV2Promotion", + "properties": { + "promotionId": { + "description": "ID of the promotion. For example, \"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. Google Merchant Center property [promotion](https://support.google.com/merchants/answer/7050148).", "type": "string" } }, @@ -1446,6 +2282,31 @@ }, "type": "object" }, + "GoogleCloudRetailV2Rating": { + "description": "The rating of a Product.", + "id": "GoogleCloudRetailV2Rating", + "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" + }, "GoogleCloudRetailV2RejoinUserEventsMetadata": { "description": "Metadata for RejoinUserEvents method.", "id": "GoogleCloudRetailV2RejoinUserEventsMetadata", @@ -1485,6 +2346,529 @@ }, "type": "object" }, + "GoogleCloudRetailV2RemoveFulfillmentPlacesMetadata": { + "description": "Metadata related to the progress of the RemoveFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the RemoveFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2RemoveFulfillmentPlacesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2RemoveFulfillmentPlacesRequest": { + "description": "Request message for RemoveFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2RemoveFulfillmentPlacesRequest", + "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" + }, + "GoogleCloudRetailV2RemoveFulfillmentPlacesResponse": { + "description": "Response of the RemoveFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the RemoveFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2RemoveFulfillmentPlacesResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2SearchRequest": { + "description": "Request message for SearchService.Search method.", + "id": "GoogleCloudRetailV2SearchRequest", + "properties": { + "boostSpec": { + "$ref": "GoogleCloudRetailV2SearchRequestBoostSpec", + "description": "Boost specification to boost certain products. See more details at this [user guide](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 filter applied to every search request when quality improvement such as query expansion is needed. For example, if a query does not have enough results, an expanded query with SearchRequest.canonical_filter will be returned as a supplement of the original query. This field is strongly recommended to achieve high search quality. See SearchRequest.filter for more details about filter syntax.", + "type": "string" + }, + "dynamicFacetSpec": { + "$ref": "GoogleCloudRetailV2SearchRequestDynamicFacetSpec", + "description": "The specification for dynamically generated facets. Notice that only textual facets can be dynamically generated. This feature requires additional allowlisting. Contact Retail Search support team if you are interested in using dynamic facet feature." + }, + "facetSpecs": { + "description": "Facet specifications for faceted search. If empty, no facets are returned. A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error is returned.", + "items": { + "$ref": "GoogleCloudRetailV2SearchRequestFacetSpec" + }, + "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. See more details at this [user guide](https://cloud.google.com/retail/docs/filter-and-order#filter). If this field is unrecognizable, an INVALID_ARGUMENT is returned.", + "type": "string" + }, + "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. See more details at this [user guide](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. Required 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, please 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": "GoogleCloudRetailV2SearchRequestPersonalizationSpec", + "description": "The specification for personalization." + }, + "query": { + "description": "Raw search query.", + "type": "string" + }, + "queryExpansionSpec": { + "$ref": "GoogleCloudRetailV2SearchRequestQueryExpansionSpec", + "description": "The query expansion specification that specifies the conditions under which query expansion will occur. See more details at this [user guide](https://cloud.google.com/retail/docs/result-size#query_expansion)." + }, + "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_spec 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" + }, + "userInfo": { + "$ref": "GoogleCloudRetailV2UserInfo", + "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.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" + }, + "GoogleCloudRetailV2SearchRequestBoostSpec": { + "description": "Boost specification to boost certain items.", + "id": "GoogleCloudRetailV2SearchRequestBoostSpec", + "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 10.", + "items": { + "$ref": "GoogleCloudRetailV2SearchRequestBoostSpecConditionBoostSpec" + }, + "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" + }, + "GoogleCloudRetailV2SearchRequestBoostSpecConditionBoostSpec": { + "description": "Boost applies to products which match a condition.", + "id": "GoogleCloudRetailV2SearchRequestBoostSpecConditionBoostSpec", + "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" + }, + "GoogleCloudRetailV2SearchRequestDynamicFacetSpec": { + "description": "The specifications of dynamically generated facets.", + "id": "GoogleCloudRetailV2SearchRequestDynamicFacetSpec", + "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" + }, + "GoogleCloudRetailV2SearchRequestFacetSpec": { + "description": "A facet specification to perform faceted search.", + "id": "GoogleCloudRetailV2SearchRequestFacetSpec", + "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 will be ordered together with dynamic facets if dynamic facets is enabled. If set to false, the position of this facet in the response will be the same as in the request, and it will be 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 will be 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 will generate 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\" will always be ranked at 1st and 2nd position since their enable_dynamic_position 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. For example, suppose there are 100 products with color facet \"Red\" and 200 products with color facet \"Blue\". A query containing the filter \"colorFamilies:ANY(\"Red\")\" and have \"colorFamilies\" as FacetKey.key will by default return the \"Red\" with count 100. If this field contains \"colorFamilies\", then the query returns both the \"Red\" with count 100 and \"Blue\" with count 200, because the \"colorFamilies\" key is now excluded from the filter. A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error is returned.", + "items": { + "type": "string" + }, + "type": "array" + }, + "facetKey": { + "$ref": "GoogleCloudRetailV2SearchRequestFacetSpecFacetKey", + "description": "Required. The facet key specification." + }, + "limit": { + "description": "Maximum of facet values that should be returned for this facet. If unspecified, defaults to 20. 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" + }, + "GoogleCloudRetailV2SearchRequestFacetSpecFacetKey": { + "description": "Specifies how a facet is computed.", + "id": "GoogleCloudRetailV2SearchRequestFacetSpecFacetKey", + "properties": { + "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 will give 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 30.", + "items": { + "$ref": "GoogleCloudRetailV2Interval" + }, + "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 Facet.values are returned. Allowed values are: * \"count desc\", which means order by Facet.FacetValue.count descending. * \"value desc\", which means order by Facet.FacetValue.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 will give 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 will override 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, FacetValue.value will be always \"1\" and FacetValue.count will be the number of results that matches 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 will count 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 textual fields 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" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2SearchRequestPersonalizationSpec": { + "description": "The specification for personalization.", + "id": "GoogleCloudRetailV2SearchRequestPersonalizationSpec", + "properties": { + "mode": { + "description": "Defaults to Mode.AUTO.", + "enum": [ + "MODE_UNSPECIFIED", + "AUTO", + "DISABLED" + ], + "enumDescriptions": [ + "Default value. Defaults to Mode.AUTO.", + "Let CRS decide whether to use personalization.", + "Disable personalization." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2SearchRequestQueryExpansionSpec": { + "description": "Specification to determine under which conditions query expansion should occur.", + "id": "GoogleCloudRetailV2SearchRequestQueryExpansionSpec", + "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. This 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" + }, + "GoogleCloudRetailV2SearchResponse": { + "description": "Response message for SearchService.Search method.", + "id": "GoogleCloudRetailV2SearchResponse", + "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" + }, + "correctedQuery": { + "description": "If spell correction applies, the corrected query. Otherwise, empty.", + "type": "string" + }, + "facets": { + "description": "Results of facets requested by user.", + "items": { + "$ref": "GoogleCloudRetailV2SearchResponseFacet" + }, + "type": "array" + }, + "invalidConditionBoostSpecs": { + "description": "The invalid SearchRequest.BoostSpec.condition_boost_specs that are not applied during serving.", + "items": { + "$ref": "GoogleCloudRetailV2SearchRequestBoostSpecConditionBoostSpec" + }, + "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" + }, + "queryExpansionInfo": { + "$ref": "GoogleCloudRetailV2SearchResponseQueryExpansionInfo", + "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 will be performed, and only redirect_uri and attribution_token will be set in the response.", + "type": "string" + }, + "results": { + "description": "A list of matched items. The order represents the ranking.", + "items": { + "$ref": "GoogleCloudRetailV2SearchResponseSearchResult" + }, + "type": "array" + }, + "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" + }, + "GoogleCloudRetailV2SearchResponseFacet": { + "description": "A facet result.", + "id": "GoogleCloudRetailV2SearchResponseFacet", + "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": "GoogleCloudRetailV2SearchResponseFacetFacetValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2SearchResponseFacetFacetValue": { + "description": "A facet value which contains value names and their count.", + "id": "GoogleCloudRetailV2SearchResponseFacetFacetValue", + "properties": { + "count": { + "description": "Number of items that have this facet value.", + "format": "int64", + "type": "string" + }, + "interval": { + "$ref": "GoogleCloudRetailV2Interval", + "description": "Interval value for a facet, such as [10, 20) for facet \"price\"." + }, + "value": { + "description": "Text value of a facet, such as \"Black\" for facet \"colorFamilies\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2SearchResponseQueryExpansionInfo": { + "description": "Information describing query expansion including whether expansion has occurred.", + "id": "GoogleCloudRetailV2SearchResponseQueryExpansionInfo", + "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" + }, + "GoogleCloudRetailV2SearchResponseSearchResult": { + "description": "Represents the search results.", + "id": "GoogleCloudRetailV2SearchResponseSearchResult", + "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" + }, + "product": { + "$ref": "GoogleCloudRetailV2Product", + "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" + }, + "GoogleCloudRetailV2SetDefaultBranchRequest": { + "description": "Request message to set a specified branch as new default_branch.", + "id": "GoogleCloudRetailV2SetDefaultBranchRequest", + "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" + }, + "GoogleCloudRetailV2SetInventoryMetadata": { + "description": "Metadata related to the progress of the SetInventory operation. Currently empty because there is no meaningful metadata populated from the SetInventory method.", + "id": "GoogleCloudRetailV2SetInventoryMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2SetInventoryRequest": { + "description": "Request message for SetInventory method.", + "id": "GoogleCloudRetailV2SetInventoryRequest", + "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": "GoogleCloudRetailV2Product", + "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, 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" + }, + "GoogleCloudRetailV2SetInventoryResponse": { + "description": "Response of the SetInventoryRequest. Currently empty because there is no meaningful response populated from the SetInventory method.", + "id": "GoogleCloudRetailV2SetInventoryResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudRetailV2UserEvent": { "description": "UserEvent captures all metadata information Retail API needs to know about how end users interact with customers' website.", "id": "GoogleCloudRetailV2UserEvent", @@ -1493,17 +2877,21 @@ "additionalProperties": { "$ref": "GoogleCloudRetailV2CustomAttribute" }, - "description": "Extra user event features to include in the recommendation model. The key must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. For product recommendation, an example of extra user information is traffic_channel, i.e. how user arrives at the site. Users can arrive at the site by coming to the site directly, or coming through Google search, and etc.", + "description": "Extra user event features to include in the recommendation model. 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 recommendation, an example of extra user information is traffic_channel, i.e. how user arrives at the site. Users can arrive at the site by coming to the site directly, or coming through Google search, and etc.", "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. 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.", + "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.", + "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": "GoogleCloudRetailV2CompletionDetail", + "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." + }, "eventTime": { "description": "Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened.", "format": "google-datetime", @@ -1520,6 +2908,19 @@ }, "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, please 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": { @@ -1528,11 +2929,11 @@ "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.", + "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 required 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 broswing 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 broswing the whole page yet.", + "description": "The main product details related to the event. This field is required for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` * `search` 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": "GoogleCloudRetailV2ProductDetail" }, @@ -1547,7 +2948,11 @@ "type": "string" }, "searchQuery": { - "description": "The user's search query. 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.", + "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": { @@ -1559,7 +2964,7 @@ "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. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", + "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. 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 Analystics [Client ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) for this field.", "type": "string" } }, @@ -1624,11 +3029,11 @@ "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 using the JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.", + "description": "The end user's IP address. Required for getting SearchResponse.sponsored_results. 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 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.", + "description": "User agent as included in the HTTP header. Required for getting SearchResponse.sponsored_results. 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": { @@ -1638,6 +3043,30 @@ }, "type": "object" }, + "GoogleCloudRetailV2alphaAddFulfillmentPlacesMetadata": { + "description": "Metadata related to the progress of the AddFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the AddFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2alphaAddFulfillmentPlacesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2alphaAddFulfillmentPlacesResponse": { + "description": "Response of the AddFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the 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 AddLocalInventories method.", + "id": "GoogleCloudRetailV2alphaAddLocalInventoriesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2alphaAddLocalInventoriesResponse": { + "description": "Response of the AddLocalInventories API. Currently empty because there is no meaningful response populated from the AddLocalInventories method.", + "id": "GoogleCloudRetailV2alphaAddLocalInventoriesResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudRetailV2alphaExportErrorsConfig": { "description": "Configuration of destination for Export related errors.", "id": "GoogleCloudRetailV2alphaExportErrorsConfig", @@ -1702,12 +3131,26 @@ }, "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 path for import errors. This must be an empty, existing Cloud Storage bucket. Import errors will be written to a file in this bucket, one per line, as a JSON-encoded `google.rpc.Status` message.", + "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors will be written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", "type": "string" } }, @@ -1727,6 +3170,14 @@ "format": "int64", "type": "string" }, + "notificationPubsubTopic": { + "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "type": "string" + }, + "requestId": { + "description": "Id of the request / operation. This is parroting back the requestId that was passed in the request.", + "type": "string" + }, "successCount": { "description": "Count of entries that were processed successfully.", "format": "int64", @@ -1816,6 +3267,42 @@ }, "type": "object" }, + "GoogleCloudRetailV2alphaRemoveFulfillmentPlacesMetadata": { + "description": "Metadata related to the progress of the RemoveFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the RemoveFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2alphaRemoveFulfillmentPlacesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2alphaRemoveFulfillmentPlacesResponse": { + "description": "Response of the RemoveFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the 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 RemoveLocalInventories method.", + "id": "GoogleCloudRetailV2alphaRemoveLocalInventoriesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2alphaRemoveLocalInventoriesResponse": { + "description": "Response of the RemoveLocalInventories API. Currently empty because there is no meaningful response populated from the RemoveLocalInventories method.", + "id": "GoogleCloudRetailV2alphaRemoveLocalInventoriesResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2alphaSetInventoryMetadata": { + "description": "Metadata related to the progress of the SetInventory operation. Currently empty because there is no meaningful metadata populated from the SetInventory method.", + "id": "GoogleCloudRetailV2alphaSetInventoryMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2alphaSetInventoryResponse": { + "description": "Response of the SetInventoryRequest. Currently empty because there is no meaningful response populated from the SetInventory method.", + "id": "GoogleCloudRetailV2alphaSetInventoryResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudRetailV2alphaUserEventImportSummary": { "description": "A summary of import result. The UserEventImportSummary summarizes the import status for user events.", "id": "GoogleCloudRetailV2alphaUserEventImportSummary", @@ -1833,6 +3320,18 @@ }, "type": "object" }, + "GoogleCloudRetailV2betaAddFulfillmentPlacesMetadata": { + "description": "Metadata related to the progress of the AddFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the AddFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2betaAddFulfillmentPlacesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2betaAddFulfillmentPlacesResponse": { + "description": "Response of the AddFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the AddFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2betaAddFulfillmentPlacesResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudRetailV2betaExportErrorsConfig": { "description": "Configuration of destination for Export related errors.", "id": "GoogleCloudRetailV2betaExportErrorsConfig", @@ -1897,12 +3396,26 @@ }, "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 path for import errors. This must be an empty, existing Cloud Storage bucket. Import errors will be written to a file in this bucket, one per line, as a JSON-encoded `google.rpc.Status` message.", + "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors will be written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", "type": "string" } }, @@ -1922,6 +3435,14 @@ "format": "int64", "type": "string" }, + "notificationPubsubTopic": { + "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "type": "string" + }, + "requestId": { + "description": "Id of the request / operation. This is parroting back the requestId that was passed in the request.", + "type": "string" + }, "successCount": { "description": "Count of entries that were processed successfully.", "format": "int64", @@ -2011,6 +3532,30 @@ }, "type": "object" }, + "GoogleCloudRetailV2betaRemoveFulfillmentPlacesMetadata": { + "description": "Metadata related to the progress of the RemoveFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the RemoveFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2betaRemoveFulfillmentPlacesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2betaRemoveFulfillmentPlacesResponse": { + "description": "Response of the RemoveFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the RemoveFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2betaRemoveFulfillmentPlacesResponse", + "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 SetInventory method.", + "id": "GoogleCloudRetailV2betaSetInventoryMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2betaSetInventoryResponse": { + "description": "Response of the SetInventoryRequest. Currently empty because there is no meaningful response populated from the SetInventory method.", + "id": "GoogleCloudRetailV2betaSetInventoryResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudRetailV2betaUserEventImportSummary": { "description": "A summary of import result. The UserEventImportSummary summarizes the import status for user events.", "id": "GoogleCloudRetailV2betaUserEventImportSummary", @@ -2113,6 +3658,28 @@ } }, "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., 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": "", diff --git a/etc/api/retail/v2alpha/retail-api.json b/etc/api/retail/v2alpha/retail-api.json index c0556379f0..f94ece6a6a 100644 --- a/etc/api/retail/v2alpha/retail-api.json +++ b/etc/api/retail/v2alpha/retail-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -111,6 +111,113 @@ "resources": { "catalogs": { "methods": { + "completeQuery": { + "description": "Completes the specified prefix with keyword suggestions. This feature is only available for users who have Retail Search enabled. Please submit a form [here](https://cloud.google.com/contact) to contact cloud sales if you are interested in using Retail Search.", + "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 additional allowlisting. Before using cloud-retail, contact Cloud Retail support team first.", + "location": "query", + "type": "string" + }, + "deviceType": { + "description": "The device type context for completion suggestions. It is useful to 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" + }, + "languageCodes": { + "description": "The list of languages of the query. This is the BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47). The maximum number of allowed characters is 255. Only \"en-US\" is currently supported.", + "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": "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" + ] + }, + "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" + ] + }, + "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" + ] + }, "list": { "description": "Lists all the Catalogs associated with the project.", "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs", @@ -164,7 +271,7 @@ "type": "string" }, "updateMask": { - "description": "Indicates which fields in the provided Catalog to update. If not set, will only update the Catalog.product_level_config field, which is also the only currently supported field to update. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned.", + "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" @@ -180,9 +287,159 @@ "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" + ] } }, "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" + ] + }, + "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": { "resources": { "operations": { @@ -216,6 +473,62 @@ }, "products": { "methods": { + "addFulfillmentPlaces": { + "description": "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 GetProduct or ListProducts. This feature is only available for users who have Retail Search enabled. Please submit a form [here](https://cloud.google.com/contact) to contact cloud sales if you are interested in using Retail Search.", + "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 GetProduct or ListProducts. Local inventory information can only be modified using this method. CreateProduct and UpdateProduct has no effect on local inventories. This feature is only available for users who have Retail Search enabled. Please submit a form [here](https://cloud.google.com/contact) to contact Cloud sales if you are interested in using Retail Search.", + "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", @@ -327,6 +640,58 @@ "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}", @@ -342,7 +707,7 @@ "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`. The branch ID must be \"default_branch\".", + "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, @@ -365,11 +730,289 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "removeFulfillmentPlaces": { + "description": "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 GetProduct or ListProducts. This feature is only available for users who have Retail Search enabled. Please submit a form [here](https://cloud.google.com/contact) to contact cloud sales if you are interested in using Retail Search.", + "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 GetProduct or ListProducts. Local inventory information can only be removed using this method. CreateProduct and UpdateProduct has no effect on local inventories. This feature is only available for users who have Retail Search enabled. Please submit a form [here](https://cloud.google.com/contact) to contact Cloud sales if you are interested in using Retail Search.", + "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 will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by GetProduct or ListProducts. When inventory is updated with CreateProduct and UpdateProduct, the specified inventory field value(s) will overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update time for the specified inventory fields will be overwritten to the time of the CreateProduct or UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product will be used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information will be preserved. Pre-existing inventory information can only be updated with SetInventory, AddFulfillmentPlaces, and RemoveFulfillmentPlaces. This feature is only available for users who have Retail Search enabled. Please submit a form [here](https://cloud.google.com/contact) to contact cloud sales if you are interested in using Retail Search.", + "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 may be synchronous. Partial updating is not supported. This feature is only available for users who have Retail Search enabled. Please submit a form [here](https://cloud.google.com/contact) to contact cloud sales if you are interested in using Retail Search.", + "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 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": "GoogleCloudRetailV2alphaControl" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all Controls linked to this 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 delete 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" + ] + } + } + }, "operations": { "methods": { "get": { @@ -469,6 +1112,247 @@ "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. Please submit a form [here](https://cloud.google.com/contact) to contact cloud sales if you are interested in using Retail Search.", + "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 search engine placement, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving configuration name and the set of models that will be 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" + ] + }, + "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" + ] } } }, @@ -702,11 +1586,81 @@ } } } + }, + "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`. 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": "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" + ] + } + } } } } }, - "revision": "20210319", + "revision": "20220224", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -815,7 +1769,7 @@ "type": "string" }, "gcsPath": { - "description": "GCS file path of the import source. Can be set for batch operation error.", + "description": "Cloud Storage file path of the import source. Can be set for batch operation error.", "type": "string" }, "lineNumber": { @@ -859,12 +1813,38 @@ }, "type": "object" }, + "GoogleCloudRetailV2AddFulfillmentPlacesMetadata": { + "description": "Metadata related to the progress of the AddFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the AddFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2AddFulfillmentPlacesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2AddFulfillmentPlacesResponse": { + "description": "Response of the AddFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the AddFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2AddFulfillmentPlacesResponse", + "properties": {}, + "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 path for import errors. This must be an empty, existing Cloud Storage bucket. Import errors will be written to a file in this bucket, one per line, as a JSON-encoded `google.rpc.Status` message.", + "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors will be written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", "type": "string" } }, @@ -884,6 +1864,14 @@ "format": "int64", "type": "string" }, + "notificationPubsubTopic": { + "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "type": "string" + }, + "requestId": { + "description": "Id of the request / operation. This is parroting back the requestId that was passed in the request.", + "type": "string" + }, "successCount": { "description": "Count of entries that were processed successfully.", "format": "int64", @@ -973,6 +1961,30 @@ }, "type": "object" }, + "GoogleCloudRetailV2RemoveFulfillmentPlacesMetadata": { + "description": "Metadata related to the progress of the RemoveFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the RemoveFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2RemoveFulfillmentPlacesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2RemoveFulfillmentPlacesResponse": { + "description": "Response of the RemoveFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the RemoveFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2RemoveFulfillmentPlacesResponse", + "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 SetInventory method.", + "id": "GoogleCloudRetailV2SetInventoryMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2SetInventoryResponse": { + "description": "Response of the SetInventoryRequest. Currently empty because there is no meaningful response populated from the SetInventory method.", + "id": "GoogleCloudRetailV2SetInventoryResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudRetailV2UserEventImportSummary": { "description": "A summary of import result. The UserEventImportSummary summarizes the import status for user events.", "id": "GoogleCloudRetailV2UserEventImportSummary", @@ -990,12 +2002,167 @@ }, "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 AddFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2alphaAddFulfillmentPlacesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2alphaAddFulfillmentPlacesRequest": { + "description": "Request message for 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 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 AddLocalInventories method.", + "id": "GoogleCloudRetailV2alphaAddLocalInventoriesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2alphaAddLocalInventoriesRequest": { + "description": "Request message for 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 AddLocalInventories API. Currently empty because there is no meaningful response populated from the AddLocalInventories method.", + "id": "GoogleCloudRetailV2alphaAddLocalInventoriesResponse", + "properties": {}, + "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. Defaults to CATALOG_LEVEL_ATTRIBUTE_CONFIG.", + "At this level, we honor the attribute configurations set in Product.attribtues.", + "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" + }, "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`: Using https://support.google.com/analytics/answer/3437719?hl=en.", + "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`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846.", "type": "string" }, "datasetId": { @@ -1006,8 +2173,12 @@ "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. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`." + }, "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.", + "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": { @@ -1025,6 +2196,10 @@ "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. Once 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" @@ -1036,20 +2211,308 @@ }, "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.", + "enum": [ + "DYNAMIC_FACETABLE_OPTION_UNSPECIFIED", + "DYNAMIC_FACETABLE_ENABLED", + "DYNAMIC_FACETABLE_DISABLED" + ], + "enumDescriptions": [ + "Value used when unset. Defaults to DYNAMIC_FACETABLE_ENABLED.", + "Dynamic facetable option enabled for an attribute.", + "Dynamic facetable option disabled for an attribute." + ], + "type": "string" + }, + "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 AddCatalogAttribute, ImportCatalogAttributes, or UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only CatalogAttributes that are not in use by products can be deleted. CatalogAttributes that are in use by products 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.", + "enum": [ + "INDEXABLE_OPTION_UNSPECIFIED", + "INDEXABLE_ENABLED", + "INDEXABLE_DISABLED" + ], + "enumDescriptions": [ + "Value used when unset. Defaults to INDEXABLE_ENABLED.", + "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`.", + "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.", + "enum": [ + "SEARCHABLE_OPTION_UNSPECIFIED", + "SEARCHABLE_ENABLED", + "SEARCHABLE_DISABLED" + ], + "enumDescriptions": [ + "Value used when unset. Defaults to SEARCHABLE_DISABLED.", + "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" + }, + "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).", + "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 25 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 auto-complete query.", + "id": "GoogleCloudRetailV2alphaCompleteQueryResponse", + "properties": { + "attributionToken": { + "description": "A unique complete token. This should be included in the SearchRequest 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": { + "description": "Matched recent searches of this user. The maximum number of recent searches is 10. This field is a restricted feature. Contact Retail Search support team if you are interested in enabling it. 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 cases. * 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" + }, + "GoogleCloudRetailV2alphaCompleteQueryResponseCompletionResult": { + "description": "Resource that represents completion results.", + "id": "GoogleCloudRetailV2alphaCompleteQueryResponseCompletionResult", + "properties": { + "attributes": { + "additionalProperties": { + "$ref": "GoogleCloudRetailV2alphaCustomAttribute" + }, + "description": "Additional custom attributes ingested through BigQuery.", + "type": "object" + }, + "suggestion": { + "description": "The suggestion for the query.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2alphaCompleteQueryResponseRecentSearchResult": { + "description": "Recent search of this user.", + "id": "GoogleCloudRetailV2alphaCompleteQueryResponseRecentSearchResult", + "properties": { + "recentSearch": { + "description": "The recent search query.", + "type": "string" + } + }, + "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" + }, + "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. Example) \"a b c\" is 3 terms and allowed, \" a b c d\" is 4 terms and not allowed for 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 serving time metadata that is used to pre and post process search/recommendation model results.", + "id": "GoogleCloudRetailV2alphaControl", + "properties": { + "associatedServingConfigIds": { + "description": "Output only. List of serving configuration ids that that are associated with this control. Note the association is managed via the ServingConfig, this is an output only denormalizeed view. Assumed to be in the same catalog.", + "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", + "description": "A facet specification to perform faceted search." + }, + "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\"." + }, + "solutionTypes": { + "description": "Required. Immutable. The solution types that the serving config 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" + }, "GoogleCloudRetailV2alphaCustomAttribute": { "description": "A custom attribute that is not explicitly modeled in Product.", "id": "GoogleCloudRetailV2alphaCustomAttribute", "properties": { + "indexable": { + "description": "This field will only be used when AttributesConfig.attribute_config_level of the Catalog is 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG', if true, custom attribute values are indexed, so that it 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\". At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.", + "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": { + "description": "This field will only be used when AttributesConfig.attribute_config_level of the Catalog is 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG', 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\". 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. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.", + "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" }, @@ -1122,16 +2585,34 @@ }, "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" + }, "GoogleCloudRetailV2alphaGcsSource": { "description": "Google Cloud Storage location for input content. format.", "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#mcc). 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?hl=en.", + "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/recommendations-ai/docs/upload-catalog) for the expected file format and setup instructions.", + "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" }, @@ -1140,6 +2621,26 @@ }, "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 thumbnail/detail image.", "id": "GoogleCloudRetailV2alphaImage", @@ -1161,12 +2662,41 @@ }, "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 will be sent to specified Pub/Sub topic. The message data will be 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 path for import errors. This must be an empty, existing Cloud Storage bucket. Import errors will be written to a file in this bucket, one per line, as a JSON-encoded `google.rpc.Status` message.", + "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors will be written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", "type": "string" } }, @@ -1186,6 +2716,14 @@ "format": "int64", "type": "string" }, + "notificationPubsubTopic": { + "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "type": "string" + }, + "requestId": { + "description": "Id of the request / operation. This is parroting back the requestId that was passed in the request.", + "type": "string" + }, "successCount": { "description": "Count of entries that were processed successfully.", "format": "int64", @@ -1211,6 +2749,28 @@ "$ref": "GoogleCloudRetailV2alphaProductInputConfig", "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 will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{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. Can only be set while using BigQuerySource. And the BigQuery dataset must be created in the data location \"us (multiple regions in United States)\", otherwise a PERMISSION_DENIED error is thrown. 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. This feature is only available for users who have Retail Search enabled. Please submit a form [here](https://cloud.google.com/contact) to contact cloud sales if you are interested in using Retail Search." + ], + "type": "string" + }, + "requestId": { + "description": "Unique identifier provided by client, within the ancestor dataset scope. Ensures idempotency and used for request deduplication. Server-generated if unspecified. Up to 128 characters long and must match the pattern: `[a-zA-Z0-9_]+`. This is returned as Operation.name in ImportMetadata. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`.", + "type": "string" + }, "updateMask": { "description": "Indicates which fields in the provided imported 'products' to update. If not set, will by default update all fields.", "format": "google-fieldmask", @@ -1274,6 +2834,33 @@ }, "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" + }, "GoogleCloudRetailV2alphaListCatalogsResponse": { "description": "Response for CatalogService.ListCatalogs method.", "id": "GoogleCloudRetailV2alphaListCatalogsResponse", @@ -1292,6 +2879,132 @@ }, "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" + }, + "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": "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). * The max number of values per attribute is 10. * 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" + }, + "placeId": { + "description": "The place ID for the current set of inventory information.", + "type": "string" + }, + "priceInfo": { + "$ref": "GoogleCloudRetailV2alphaPriceInfo", + "description": "Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371)." + } + }, + "type": "object" + }, + "GoogleCloudRetailV2alphaMerchantCenterLink": { + "description": "Represents a link between a Merchant Center account and a branch. Once a link is established, products from the linked merchant center account will be 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 can be found here. [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" + }, + "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.", + "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" + }, "GoogleCloudRetailV2alphaPredictRequest": { "description": "Request message for Predict method.", "id": "GoogleCloudRetailV2alphaPredictRequest", @@ -1304,7 +3017,7 @@ "additionalProperties": { "type": "string" }, - "description": "The labels for the predict request. * Label keys can contain lowercase letters, digits and hyphens, must start with a letter, and must end with a letter or digit. * Non-zero label values can contain lowercase letters, digits and hyphens, must start with a letter, and must end with a letter or digit. * No more than 64 labels can be associated with a given request. See https://goo.gl/xmQnxf for more information on and examples of labels.", + "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": { @@ -1320,7 +3033,7 @@ "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 an 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.", + "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 an 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.", "type": "object" }, "userEvent": { @@ -1391,7 +3104,7 @@ "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.", + "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": { @@ -1400,9 +3113,39 @@ "type": "number" }, "price": { - "description": "Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).", + "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" @@ -1415,11 +3158,15 @@ "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: 150 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters.", + "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. Google Merchant Center Property [availability](https://support.google.com/merchants/answer/6324448). Schema.org Property [Offer.availability](https://schema.org/availability).", + "description": "The online availability of the Product. Default to Availability.IN_STOCK. 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", @@ -1442,57 +3189,149 @@ "type": "integer" }, "availableTime": { - "description": "The timestamp when this Product becomes available for recommendation.", + "description": "The timestamp when this Product becomes available for SearchService.Search.", "format": "google-datetime", "type": "string" }, + "brands": { + "description": "The brands of the product. A maximum of 30 brands are allowed. 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, please 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. 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. 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", + "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, please 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. 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 and 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. Google Merchant Center property [description](https://support.google.com/merchants/answer/6324468). schema.org property [Product.description](https://schema.org/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": "The timestamp when this product becomes unavailable for SearchService.Search. If it is set, the Product is not available for SearchService.Search after expire_time. However, the product can still be retrieved by ProductService.GetProduct and ProductService.ListProducts. 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. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).", + "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.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).", + "description": "Product images for the product.Highly recommended to put the main image to the 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" }, - "name": { - "description": "Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. The branch ID must be \"default_branch\".", + "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" }, + "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. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371)." + "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. Google Merchant Center Property [item_group_id](https://support.google.com/merchants/answer/6324507). Schema.org Property [Product.inProductGroupWithID](https://schema.org/inProductGroupWithID). This field must be enabled before it can be used. [Learn more](/recommendations-ai/docs/catalog#item-group-id).", + "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": { + "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 Maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is returned. Note: Returning more fields in SearchResponse may increase response payload size and serving latency.", + "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. Google Merchant Center property [custom_label_0\u20134](https://support.google.com/merchants/answer/6324473).", + "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. Google Merchant Center property [title](https://support.google.com/merchants/answer/6324415). Schema.org property [Product.name](https://schema.org/name).", + "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. 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. This field is output-only.", + "description": "Immutable. The type of the product. Default to Catalog.product_level_config.ingestion_product_type if unset.", "enum": [ "TYPE_UNSPECIFIED", "PRIMARY", @@ -1500,7 +3339,7 @@ "COLLECTION" ], "enumDescriptions": [ - "Default value. Default to Type.PRIMARY if unset.", + "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." @@ -1508,8 +3347,16 @@ "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. Google Merchant Center property [link](https://support.google.com/merchants/answer/6324416). Schema.org property [Offer.url](https://schema.org/url).", + "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" @@ -1520,7 +3367,7 @@ "properties": { "product": { "$ref": "GoogleCloudRetailV2alphaProduct", - "description": "Required. Product information. Only Product.id field is used when ingesting an event, all other product fields are ignored as we will look them up from the catalog." + "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.", @@ -1535,7 +3382,7 @@ "id": "GoogleCloudRetailV2alphaProductInlineSource", "properties": { "products": { - "description": "Required. A list of products to update/create. Each product must have a valid Product.id. Recommended max of 10k items.", + "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" }, @@ -1568,11 +3415,22 @@ "id": "GoogleCloudRetailV2alphaProductLevelConfig", "properties": { "ingestionProductType": { - "description": "The type of Products allowed to be ingested into the catalog. Acceptable values are: * `primary` (default): You can only ingest Product.Type.PRIMARY Products. This means Product.primary_product_id can only be empty or set to the same value as Product.id. * `variant`: 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 [Using catalog levels](/retail/recommendations-ai/docs/catalog#catalog-levels) for more details.", + "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`: 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 [Using product levels](https://cloud.google.com/retail/recommendations-ai/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 [Using catalog levels](/retail/recommendations-ai/docs/catalog#catalog-levels) for more details.", + "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 [Using product levels](https://cloud.google.com/retail/recommendations-ai/docs/catalog#product-levels) for more details.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2alphaPromotion": { + "description": "Promotion information.", + "id": "GoogleCloudRetailV2alphaPromotion", + "properties": { + "promotionId": { + "description": "ID of the promotion. For example, \"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. Google Merchant Center property [promotion](https://support.google.com/merchants/answer/7050148).", "type": "string" } }, @@ -1641,6 +3499,31 @@ }, "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", @@ -1680,6 +3563,922 @@ }, "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 RemoveFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2alphaRemoveFulfillmentPlacesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2alphaRemoveFulfillmentPlacesRequest": { + "description": "Request message for 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 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 RemoveLocalInventories method.", + "id": "GoogleCloudRetailV2alphaRemoveLocalInventoriesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2alphaRemoveLocalInventoriesRequest": { + "description": "Request message for 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 RemoveLocalInventories API. Currently empty because there is no meaningful response populated from the 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" + }, + "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 only boost rules are supported. Currently only supported by the search endpoint.", + "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." + }, + "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." + }, + "redirectAction": { + "$ref": "GoogleCloudRetailV2alphaRuleRedirectAction", + "description": "Redirects a shopper to a specific page." + }, + "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 provided is a global match. - 1 or more Condition provided is combined with OR operator. * Action Input: The request query and filter that will be 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. See more details at the Retail Search [user guide](/retail/search/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" + }, + "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" + }, + "GoogleCloudRetailV2alphaRuleRedirectAction": { + "description": "Redirects a shopper to a specific page. * Rule Condition: - Must specify Condition. * 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" + }, + "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. See more details at this [user guide](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 filter applied to every search request when quality improvement such as query expansion is needed. For example, if a query does not have enough results, an expanded query with SearchRequest.canonical_filter will be returned as a supplement of the original query. This field is strongly recommended to achieve high search quality. See SearchRequest.filter for more details about filter syntax.", + "type": "string" + }, + "dynamicFacetSpec": { + "$ref": "GoogleCloudRetailV2alphaSearchRequestDynamicFacetSpec", + "description": "The specification for dynamically generated facets. Notice that only textual facets can be dynamically generated. This feature requires additional allowlisting. Contact Retail Search support team if you are interested in using dynamic facet feature." + }, + "facetSpecs": { + "description": "Facet specifications for faceted search. If empty, no facets are returned. A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error is returned.", + "items": { + "$ref": "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. See more details at this [user guide](https://cloud.google.com/retail/docs/filter-and-order#filter). If this field is unrecognizable, an INVALID_ARGUMENT is returned.", + "type": "string" + }, + "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. See more details at this [user guide](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. Required 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, please 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." + }, + "query": { + "description": "Raw search query.", + "type": "string" + }, + "queryExpansionSpec": { + "$ref": "GoogleCloudRetailV2alphaSearchRequestQueryExpansionSpec", + "description": "The query expansion specification that specifies the conditions under which query expansion will occur. See more details at this [user guide](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. See more details at this [user guide](https://cloud.google.com/retail/docs/result-size#relevance_thresholding).", + "enum": [ + "RELEVANCE_THRESHOLD_UNSPECIFIED", + "HIGH", + "MEDIUM", + "LOW", + "LOWEST" + ], + "enumDescriptions": [ + "Default value. 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_spec 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" + }, + "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.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 10.", + "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" + }, + "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 will be ordered together with dynamic facets if dynamic facets is enabled. If set to false, the position of this facet in the response will be the same as in the request, and it will be 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 will be 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 will generate 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\" will always be ranked at 1st and 2nd position since their enable_dynamic_position 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. For example, suppose there are 100 products with color facet \"Red\" and 200 products with color facet \"Blue\". A query containing the filter \"colorFamilies:ANY(\"Red\")\" and have \"colorFamilies\" as FacetKey.key will by default return the \"Red\" with count 100. If this field contains \"colorFamilies\", then the query returns both the \"Red\" with count 100 and \"Blue\" with count 200, because the \"colorFamilies\" key is now excluded from the filter. 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 20. 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": { + "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 will give 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 30.", + "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 Facet.values are returned. Allowed values are: * \"count desc\", which means order by Facet.FacetValue.count descending. * \"value desc\", which means order by Facet.FacetValue.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 will give 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 will override 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, FacetValue.value will be always \"1\" and FacetValue.count will be the number of results that matches 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 will count 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 textual fields 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" + } + }, + "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. Defaults to Mode.AUTO.", + "Let CRS decide whether to use personalization.", + "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. This 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" + }, + "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" + }, + "correctedQuery": { + "description": "If spell correction applies, the corrected query. Otherwise, empty.", + "type": "string" + }, + "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" + }, + "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 will be performed, and only redirect_uri and attribution_token will be set in the response.", + "type": "string" + }, + "results": { + "description": "A list of matched items. The order represents the ranking.", + "items": { + "$ref": "GoogleCloudRetailV2alphaSearchResponseSearchResult" + }, + "type": "array" + }, + "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" + }, + "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\"." + }, + "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" + }, + "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" + }, + "GoogleCloudRetailV2alphaServingConfig": { + "description": "Configures metadata that is used to generate serving time results (e.g. search results or recommendation predictions). The ServingConfig is passed in the search and predict request and together with the Catalog.default_branch, generates results.", + "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" + }, + "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" + }, + "modelId": { + "description": "The id of the model 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" + }, + "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-raranking' * '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 SetInventory method.", + "id": "GoogleCloudRetailV2alphaSetInventoryMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2alphaSetInventoryRequest": { + "description": "Request message for 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, 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 SetInventory method.", + "id": "GoogleCloudRetailV2alphaSetInventoryResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudRetailV2alphaUserEvent": { "description": "UserEvent captures all metadata information Retail API needs to know about how end users interact with customers' website.", "id": "GoogleCloudRetailV2alphaUserEvent", @@ -1688,17 +4487,21 @@ "additionalProperties": { "$ref": "GoogleCloudRetailV2alphaCustomAttribute" }, - "description": "Extra user event features to include in the recommendation model. The key must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. For product recommendation, an example of extra user information is traffic_channel, i.e. how user arrives at the site. Users can arrive at the site by coming to the site directly, or coming through Google search, and etc.", + "description": "Extra user event features to include in the recommendation model. 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 recommendation, an example of extra user information is traffic_channel, i.e. how user arrives at the site. Users can arrive at the site by coming to the site directly, or coming through Google search, and etc.", "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. 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.", + "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.", + "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." + }, "eventTime": { "description": "Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened.", "format": "google-datetime", @@ -1715,6 +4518,19 @@ }, "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, please 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": { @@ -1723,11 +4539,11 @@ "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.", + "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 required 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 broswing 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 broswing the whole page yet.", + "description": "The main product details related to the event. This field is required for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` * `search` 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" }, @@ -1742,7 +4558,11 @@ "type": "string" }, "searchQuery": { - "description": "The user's search query. 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.", + "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": { @@ -1754,7 +4574,7 @@ "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. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", + "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. 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 Analystics [Client ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) for this field.", "type": "string" } }, @@ -1819,11 +4639,11 @@ "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 using the JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.", + "description": "The end user's IP address. Required for getting SearchResponse.sponsored_results. 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 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.", + "description": "User agent as included in the HTTP header. Required for getting SearchResponse.sponsored_results. 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": { @@ -1833,6 +4653,18 @@ }, "type": "object" }, + "GoogleCloudRetailV2betaAddFulfillmentPlacesMetadata": { + "description": "Metadata related to the progress of the AddFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the AddFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2betaAddFulfillmentPlacesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2betaAddFulfillmentPlacesResponse": { + "description": "Response of the AddFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the AddFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2betaAddFulfillmentPlacesResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudRetailV2betaExportErrorsConfig": { "description": "Configuration of destination for Export related errors.", "id": "GoogleCloudRetailV2betaExportErrorsConfig", @@ -1897,12 +4729,26 @@ }, "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 path for import errors. This must be an empty, existing Cloud Storage bucket. Import errors will be written to a file in this bucket, one per line, as a JSON-encoded `google.rpc.Status` message.", + "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors will be written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", "type": "string" } }, @@ -1922,6 +4768,14 @@ "format": "int64", "type": "string" }, + "notificationPubsubTopic": { + "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "type": "string" + }, + "requestId": { + "description": "Id of the request / operation. This is parroting back the requestId that was passed in the request.", + "type": "string" + }, "successCount": { "description": "Count of entries that were processed successfully.", "format": "int64", @@ -2011,6 +4865,30 @@ }, "type": "object" }, + "GoogleCloudRetailV2betaRemoveFulfillmentPlacesMetadata": { + "description": "Metadata related to the progress of the RemoveFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the RemoveFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2betaRemoveFulfillmentPlacesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2betaRemoveFulfillmentPlacesResponse": { + "description": "Response of the RemoveFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the RemoveFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2betaRemoveFulfillmentPlacesResponse", + "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 SetInventory method.", + "id": "GoogleCloudRetailV2betaSetInventoryMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2betaSetInventoryResponse": { + "description": "Response of the SetInventoryRequest. Currently empty because there is no meaningful response populated from the SetInventory method.", + "id": "GoogleCloudRetailV2betaSetInventoryResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudRetailV2betaUserEventImportSummary": { "description": "A summary of import result. The UserEventImportSummary summarizes the import status for user events.", "id": "GoogleCloudRetailV2betaUserEventImportSummary", @@ -2113,6 +4991,28 @@ } }, "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., 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": "", diff --git a/etc/api/retail/v2beta/retail-api.json b/etc/api/retail/v2beta/retail-api.json index 5ef799d4b7..1b164dbdb9 100644 --- a/etc/api/retail/v2beta/retail-api.json +++ b/etc/api/retail/v2beta/retail-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -111,6 +111,113 @@ "resources": { "catalogs": { "methods": { + "completeQuery": { + "description": "Completes the specified prefix with keyword suggestions. This feature is only available for users who have Retail Search enabled. Please submit a form [here](https://cloud.google.com/contact) to contact cloud sales if you are interested in using Retail Search.", + "flatPath": "v2beta/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 additional allowlisting. Before using cloud-retail, contact Cloud Retail support team first.", + "location": "query", + "type": "string" + }, + "deviceType": { + "description": "The device type context for completion suggestions. It is useful to 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" + }, + "languageCodes": { + "description": "The list of languages of the query. This is the BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47). The maximum number of allowed characters is 255. Only \"en-US\" is currently supported.", + "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": "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": "v2beta/{+catalog}:completeQuery", + "response": { + "$ref": "GoogleCloudRetailV2betaCompleteQueryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getAttributesConfig": { + "description": "Gets an AttributesConfig.", + "flatPath": "v2beta/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": "v2beta/{+name}", + "response": { + "$ref": "GoogleCloudRetailV2betaAttributesConfig" + }, + "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": "v2beta/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": "v2beta/{+catalog}:getDefaultBranch", + "response": { + "$ref": "GoogleCloudRetailV2betaGetDefaultBranchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "Lists all the Catalogs associated with the project.", "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs", @@ -164,7 +271,7 @@ "type": "string" }, "updateMask": { - "description": "Indicates which fields in the provided Catalog to update. If not set, will only update the Catalog.product_level_config field, which is also the only currently supported field to update. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned.", + "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" @@ -180,9 +287,159 @@ "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": "v2beta/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": "v2beta/{+catalog}:setDefaultBranch", + "request": { + "$ref": "GoogleCloudRetailV2betaSetDefaultBranchRequest" + }, + "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": "v2beta/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": "v2beta/{+name}", + "request": { + "$ref": "GoogleCloudRetailV2betaAttributesConfig" + }, + "response": { + "$ref": "GoogleCloudRetailV2betaAttributesConfig" + }, + "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": "v2beta/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": "v2beta/{+attributesConfig}:addCatalogAttribute", + "request": { + "$ref": "GoogleCloudRetailV2betaAddCatalogAttributeRequest" + }, + "response": { + "$ref": "GoogleCloudRetailV2betaAttributesConfig" + }, + "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": "v2beta/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": "v2beta/{+attributesConfig}:removeCatalogAttribute", + "request": { + "$ref": "GoogleCloudRetailV2betaRemoveCatalogAttributeRequest" + }, + "response": { + "$ref": "GoogleCloudRetailV2betaAttributesConfig" + }, + "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": "v2beta/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": "v2beta/{+attributesConfig}:replaceCatalogAttribute", + "request": { + "$ref": "GoogleCloudRetailV2betaReplaceCatalogAttributeRequest" + }, + "response": { + "$ref": "GoogleCloudRetailV2betaAttributesConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "branches": { "resources": { "operations": { @@ -216,6 +473,34 @@ }, "products": { "methods": { + "addFulfillmentPlaces": { + "description": "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 GetProduct or ListProducts. This feature is only available for users who have Retail Search enabled. Please submit a form [here](https://cloud.google.com/contact) to contact cloud sales if you are interested in using Retail Search.", + "flatPath": "v2beta/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": "v2beta/{+product}:addFulfillmentPlaces", + "request": { + "$ref": "GoogleCloudRetailV2betaAddFulfillmentPlacesRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "create": { "description": "Creates a Product.", "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products", @@ -327,6 +612,53 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "list": { + "description": "Gets a list of Products.", + "flatPath": "v2beta/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" + } + }, + "path": "v2beta/{+parent}/products", + "response": { + "$ref": "GoogleCloudRetailV2betaListProductsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "patch": { "description": "Updates a Product.", "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/branches/{branchesId}/products/{productsId}", @@ -342,7 +674,7 @@ "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`. The branch ID must be \"default_branch\".", + "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, @@ -365,11 +697,261 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "removeFulfillmentPlaces": { + "description": "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 GetProduct or ListProducts. This feature is only available for users who have Retail Search enabled. Please submit a form [here](https://cloud.google.com/contact) to contact cloud sales if you are interested in using Retail Search.", + "flatPath": "v2beta/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": "v2beta/{+product}:removeFulfillmentPlaces", + "request": { + "$ref": "GoogleCloudRetailV2betaRemoveFulfillmentPlacesRequest" + }, + "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 will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by GetProduct or ListProducts. When inventory is updated with CreateProduct and UpdateProduct, the specified inventory field value(s) will overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update time for the specified inventory fields will be overwritten to the time of the CreateProduct or UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product will be used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information will be preserved. Pre-existing inventory information can only be updated with SetInventory, AddFulfillmentPlaces, and RemoveFulfillmentPlaces. This feature is only available for users who have Retail Search enabled. Please submit a form [here](https://cloud.google.com/contact) to contact cloud sales if you are interested in using Retail Search.", + "flatPath": "v2beta/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": "v2beta/{+name}:setInventory", + "request": { + "$ref": "GoogleCloudRetailV2betaSetInventoryRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } } } }, + "completionData": { + "methods": { + "import": { + "description": "Bulk import of processed completion dataset. Request processing may be synchronous. Partial updating is not supported. This feature is only available for users who have Retail Search enabled. Please submit a form [here](https://cloud.google.com/contact) to contact cloud sales if you are interested in using Retail Search.", + "flatPath": "v2beta/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": "v2beta/{+parent}/completionData:import", + "request": { + "$ref": "GoogleCloudRetailV2betaImportCompletionDataRequest" + }, + "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": "v2beta/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": "v2beta/{+parent}/controls", + "request": { + "$ref": "GoogleCloudRetailV2betaControl" + }, + "response": { + "$ref": "GoogleCloudRetailV2betaControl" + }, + "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": "v2beta/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": "v2beta/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a Control.", + "flatPath": "v2beta/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 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": "v2beta/{+name}", + "response": { + "$ref": "GoogleCloudRetailV2betaControl" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all Controls linked to this catalog.", + "flatPath": "v2beta/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": "v2beta/{+parent}/controls", + "response": { + "$ref": "GoogleCloudRetailV2betaListControlsResponse" + }, + "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 delete does not exist, a NOT_FOUND error is returned.", + "flatPath": "v2beta/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": "v2beta/{+name}", + "request": { + "$ref": "GoogleCloudRetailV2betaControl" + }, + "response": { + "$ref": "GoogleCloudRetailV2betaControl" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "operations": { "methods": { "get": { @@ -469,6 +1051,247 @@ "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. Please submit a form [here](https://cloud.google.com/contact) to contact cloud sales if you are interested in using Retail Search.", + "flatPath": "v2beta/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 search engine placement, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving configuration name and the set of models that will be used to make the search.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/placements/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+placement}:search", + "request": { + "$ref": "GoogleCloudRetailV2betaSearchRequest" + }, + "response": { + "$ref": "GoogleCloudRetailV2betaSearchResponse" + }, + "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": "v2beta/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": "v2beta/{+servingConfig}:addControl", + "request": { + "$ref": "GoogleCloudRetailV2betaAddControlRequest" + }, + "response": { + "$ref": "GoogleCloudRetailV2betaServingConfig" + }, + "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": "v2beta/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": "v2beta/{+parent}/servingConfigs", + "request": { + "$ref": "GoogleCloudRetailV2betaServingConfig" + }, + "response": { + "$ref": "GoogleCloudRetailV2betaServingConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a ServingConfig. Returns a NotFound error if the ServingConfig does not exist.", + "flatPath": "v2beta/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": "v2beta/{+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": "v2beta/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": "v2beta/{+name}", + "response": { + "$ref": "GoogleCloudRetailV2betaServingConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all ServingConfigs linked to this catalog.", + "flatPath": "v2beta/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": "v2beta/{+parent}/servingConfigs", + "response": { + "$ref": "GoogleCloudRetailV2betaListServingConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a ServingConfig.", + "flatPath": "v2beta/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": "v2beta/{+name}", + "request": { + "$ref": "GoogleCloudRetailV2betaServingConfig" + }, + "response": { + "$ref": "GoogleCloudRetailV2betaServingConfig" + }, + "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": "v2beta/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": "v2beta/{+servingConfig}:removeControl", + "request": { + "$ref": "GoogleCloudRetailV2betaRemoveControlRequest" + }, + "response": { + "$ref": "GoogleCloudRetailV2betaServingConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } }, @@ -702,11 +1525,81 @@ } } } + }, + "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": "v2beta/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": "v2beta/{+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`. 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": "v2beta/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": "v2beta/{+name}/operations", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } } }, - "revision": "20210319", + "revision": "20220224", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -815,7 +1708,7 @@ "type": "string" }, "gcsPath": { - "description": "GCS file path of the import source. Can be set for batch operation error.", + "description": "Cloud Storage file path of the import source. Can be set for batch operation error.", "type": "string" }, "lineNumber": { @@ -859,12 +1752,38 @@ }, "type": "object" }, + "GoogleCloudRetailV2AddFulfillmentPlacesMetadata": { + "description": "Metadata related to the progress of the AddFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the AddFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2AddFulfillmentPlacesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2AddFulfillmentPlacesResponse": { + "description": "Response of the AddFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the AddFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2AddFulfillmentPlacesResponse", + "properties": {}, + "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 path for import errors. This must be an empty, existing Cloud Storage bucket. Import errors will be written to a file in this bucket, one per line, as a JSON-encoded `google.rpc.Status` message.", + "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors will be written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", "type": "string" } }, @@ -884,6 +1803,14 @@ "format": "int64", "type": "string" }, + "notificationPubsubTopic": { + "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "type": "string" + }, + "requestId": { + "description": "Id of the request / operation. This is parroting back the requestId that was passed in the request.", + "type": "string" + }, "successCount": { "description": "Count of entries that were processed successfully.", "format": "int64", @@ -973,6 +1900,30 @@ }, "type": "object" }, + "GoogleCloudRetailV2RemoveFulfillmentPlacesMetadata": { + "description": "Metadata related to the progress of the RemoveFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the RemoveFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2RemoveFulfillmentPlacesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2RemoveFulfillmentPlacesResponse": { + "description": "Response of the RemoveFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the RemoveFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2RemoveFulfillmentPlacesResponse", + "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 SetInventory method.", + "id": "GoogleCloudRetailV2SetInventoryMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2SetInventoryResponse": { + "description": "Response of the SetInventoryRequest. Currently empty because there is no meaningful response populated from the SetInventory method.", + "id": "GoogleCloudRetailV2SetInventoryResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudRetailV2UserEventImportSummary": { "description": "A summary of import result. The UserEventImportSummary summarizes the import status for user events.", "id": "GoogleCloudRetailV2UserEventImportSummary", @@ -990,6 +1941,30 @@ }, "type": "object" }, + "GoogleCloudRetailV2alphaAddFulfillmentPlacesMetadata": { + "description": "Metadata related to the progress of the AddFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the AddFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2alphaAddFulfillmentPlacesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2alphaAddFulfillmentPlacesResponse": { + "description": "Response of the AddFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the 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 AddLocalInventories method.", + "id": "GoogleCloudRetailV2alphaAddLocalInventoriesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2alphaAddLocalInventoriesResponse": { + "description": "Response of the AddLocalInventories API. Currently empty because there is no meaningful response populated from the AddLocalInventories method.", + "id": "GoogleCloudRetailV2alphaAddLocalInventoriesResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudRetailV2alphaExportErrorsConfig": { "description": "Configuration of destination for Export related errors.", "id": "GoogleCloudRetailV2alphaExportErrorsConfig", @@ -1054,12 +2029,26 @@ }, "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 path for import errors. This must be an empty, existing Cloud Storage bucket. Import errors will be written to a file in this bucket, one per line, as a JSON-encoded `google.rpc.Status` message.", + "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors will be written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", "type": "string" } }, @@ -1079,6 +2068,14 @@ "format": "int64", "type": "string" }, + "notificationPubsubTopic": { + "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "type": "string" + }, + "requestId": { + "description": "Id of the request / operation. This is parroting back the requestId that was passed in the request.", + "type": "string" + }, "successCount": { "description": "Count of entries that were processed successfully.", "format": "int64", @@ -1168,6 +2165,42 @@ }, "type": "object" }, + "GoogleCloudRetailV2alphaRemoveFulfillmentPlacesMetadata": { + "description": "Metadata related to the progress of the RemoveFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the RemoveFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2alphaRemoveFulfillmentPlacesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2alphaRemoveFulfillmentPlacesResponse": { + "description": "Response of the RemoveFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the 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 RemoveLocalInventories method.", + "id": "GoogleCloudRetailV2alphaRemoveLocalInventoriesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2alphaRemoveLocalInventoriesResponse": { + "description": "Response of the RemoveLocalInventories API. Currently empty because there is no meaningful response populated from the RemoveLocalInventories method.", + "id": "GoogleCloudRetailV2alphaRemoveLocalInventoriesResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2alphaSetInventoryMetadata": { + "description": "Metadata related to the progress of the SetInventory operation. Currently empty because there is no meaningful metadata populated from the SetInventory method.", + "id": "GoogleCloudRetailV2alphaSetInventoryMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2alphaSetInventoryResponse": { + "description": "Response of the SetInventoryRequest. Currently empty because there is no meaningful response populated from the SetInventory method.", + "id": "GoogleCloudRetailV2alphaSetInventoryResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudRetailV2alphaUserEventImportSummary": { "description": "A summary of import result. The UserEventImportSummary summarizes the import status for user events.", "id": "GoogleCloudRetailV2alphaUserEventImportSummary", @@ -1185,12 +2218,127 @@ }, "type": "object" }, + "GoogleCloudRetailV2betaAddCatalogAttributeRequest": { + "description": "Request for CatalogService.AddCatalogAttribute method.", + "id": "GoogleCloudRetailV2betaAddCatalogAttributeRequest", + "properties": { + "catalogAttribute": { + "$ref": "GoogleCloudRetailV2betaCatalogAttribute", + "description": "Required. The CatalogAttribute to add." + } + }, + "type": "object" + }, + "GoogleCloudRetailV2betaAddControlRequest": { + "description": "Request for AddControl method.", + "id": "GoogleCloudRetailV2betaAddControlRequest", + "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" + }, + "GoogleCloudRetailV2betaAddFulfillmentPlacesMetadata": { + "description": "Metadata related to the progress of the AddFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the AddFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2betaAddFulfillmentPlacesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2betaAddFulfillmentPlacesRequest": { + "description": "Request message for AddFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2betaAddFulfillmentPlacesRequest", + "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" + }, + "GoogleCloudRetailV2betaAddFulfillmentPlacesResponse": { + "description": "Response of the AddFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the AddFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2betaAddFulfillmentPlacesResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2betaAttributesConfig": { + "description": "Catalog level attribute config.", + "id": "GoogleCloudRetailV2betaAttributesConfig", + "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. Defaults to CATALOG_LEVEL_ATTRIBUTE_CONFIG.", + "At this level, we honor the attribute configurations set in Product.attribtues.", + "At this level, we honor the attribute configurations set in CatalogConfig.attribute_configs." + ], + "readOnly": true, + "type": "string" + }, + "catalogAttributes": { + "additionalProperties": { + "$ref": "GoogleCloudRetailV2betaCatalogAttribute" + }, + "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" + }, + "GoogleCloudRetailV2betaAudience": { + "description": "An intended audience of the Product for whom it's sold.", + "id": "GoogleCloudRetailV2betaAudience", + "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" + }, "GoogleCloudRetailV2betaBigQuerySource": { "description": "BigQuery source import data from.", "id": "GoogleCloudRetailV2betaBigQuerySource", "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?hl=en.", + "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`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846.", "type": "string" }, "datasetId": { @@ -1201,8 +2349,12 @@ "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. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`." + }, "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.", + "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": { @@ -1231,20 +2383,308 @@ }, "type": "object" }, + "GoogleCloudRetailV2betaCatalogAttribute": { + "description": "Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute.", + "id": "GoogleCloudRetailV2betaCatalogAttribute", + "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.", + "enum": [ + "DYNAMIC_FACETABLE_OPTION_UNSPECIFIED", + "DYNAMIC_FACETABLE_ENABLED", + "DYNAMIC_FACETABLE_DISABLED" + ], + "enumDescriptions": [ + "Value used when unset. Defaults to DYNAMIC_FACETABLE_ENABLED.", + "Dynamic facetable option enabled for an attribute.", + "Dynamic facetable option disabled for an attribute." + ], + "type": "string" + }, + "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 AddCatalogAttribute, ImportCatalogAttributes, or UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only CatalogAttributes that are not in use by products can be deleted. CatalogAttributes that are in use by products 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.", + "enum": [ + "INDEXABLE_OPTION_UNSPECIFIED", + "INDEXABLE_ENABLED", + "INDEXABLE_DISABLED" + ], + "enumDescriptions": [ + "Value used when unset. Defaults to INDEXABLE_ENABLED.", + "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`.", + "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.", + "enum": [ + "SEARCHABLE_OPTION_UNSPECIFIED", + "SEARCHABLE_ENABLED", + "SEARCHABLE_DISABLED" + ], + "enumDescriptions": [ + "Value used when unset. Defaults to SEARCHABLE_DISABLED.", + "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" + }, + "GoogleCloudRetailV2betaColorInfo": { + "description": "The color information of a Product.", + "id": "GoogleCloudRetailV2betaColorInfo", + "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).", + "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 25 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" + }, + "GoogleCloudRetailV2betaCompleteQueryResponse": { + "description": "Response of the auto-complete query.", + "id": "GoogleCloudRetailV2betaCompleteQueryResponse", + "properties": { + "attributionToken": { + "description": "A unique complete token. This should be included in the SearchRequest 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": "GoogleCloudRetailV2betaCompleteQueryResponseCompletionResult" + }, + "type": "array" + }, + "recentSearchResults": { + "description": "Matched recent searches of this user. The maximum number of recent searches is 10. This field is a restricted feature. Contact Retail Search support team if you are interested in enabling it. 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 cases. * They are UTF-8 safe. Recent searches are deduplicated. More recent searches will be reserved when duplication happens.", + "items": { + "$ref": "GoogleCloudRetailV2betaCompleteQueryResponseRecentSearchResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2betaCompleteQueryResponseCompletionResult": { + "description": "Resource that represents completion results.", + "id": "GoogleCloudRetailV2betaCompleteQueryResponseCompletionResult", + "properties": { + "attributes": { + "additionalProperties": { + "$ref": "GoogleCloudRetailV2betaCustomAttribute" + }, + "description": "Additional custom attributes ingested through BigQuery.", + "type": "object" + }, + "suggestion": { + "description": "The suggestion for the query.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2betaCompleteQueryResponseRecentSearchResult": { + "description": "Recent search of this user.", + "id": "GoogleCloudRetailV2betaCompleteQueryResponseRecentSearchResult", + "properties": { + "recentSearch": { + "description": "The recent search query.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2betaCompletionDataInputConfig": { + "description": "The input config source for completion data.", + "id": "GoogleCloudRetailV2betaCompletionDataInputConfig", + "properties": { + "bigQuerySource": { + "$ref": "GoogleCloudRetailV2betaBigQuerySource", + "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" + }, + "GoogleCloudRetailV2betaCompletionDetail": { + "description": "Detailed completion information including completion attribution token and clicked completion info.", + "id": "GoogleCloudRetailV2betaCompletionDetail", + "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" + }, + "GoogleCloudRetailV2betaCondition": { + "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": "GoogleCloudRetailV2betaCondition", + "properties": { + "activeTimeRange": { + "description": "Range of time(s) specifying when Condition is active. Condition true if any time range matches.", + "items": { + "$ref": "GoogleCloudRetailV2betaConditionTimeRange" + }, + "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": "GoogleCloudRetailV2betaConditionQueryTerm" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2betaConditionQueryTerm": { + "description": "Query terms that we want to match on.", + "id": "GoogleCloudRetailV2betaConditionQueryTerm", + "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. Example) \"a b c\" is 3 terms and allowed, \" a b c d\" is 4 terms and not allowed for partial match.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2betaConditionTimeRange": { + "description": "Used for time-dependent conditions. Example: Want to have rule applied for week long sale.", + "id": "GoogleCloudRetailV2betaConditionTimeRange", + "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" + }, + "GoogleCloudRetailV2betaControl": { + "description": "Configures dynamic serving time metadata that is used to pre and post process search/recommendation model results.", + "id": "GoogleCloudRetailV2betaControl", + "properties": { + "associatedServingConfigIds": { + "description": "Output only. List of serving configuration ids that that are associated with this control. Note the association is managed via the ServingConfig, this is an output only denormalizeed view. Assumed to be in the same catalog.", + "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": "GoogleCloudRetailV2betaSearchRequestFacetSpec", + "description": "A facet specification to perform faceted search." + }, + "name": { + "description": "Immutable. Fully qualified name projects/*/locations/global/catalogs/*/controls/*", + "type": "string" + }, + "rule": { + "$ref": "GoogleCloudRetailV2betaRule", + "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\"." + }, + "solutionTypes": { + "description": "Required. Immutable. The solution types that the serving config 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" + }, "GoogleCloudRetailV2betaCustomAttribute": { "description": "A custom attribute that is not explicitly modeled in Product.", "id": "GoogleCloudRetailV2betaCustomAttribute", "properties": { + "indexable": { + "description": "This field will only be used when AttributesConfig.attribute_config_level of the Catalog is 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG', if true, custom attribute values are indexed, so that it 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\". At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.", + "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": { + "description": "This field will only be used when AttributesConfig.attribute_config_level of the Catalog is 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG', 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\". 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. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned.", + "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" }, @@ -1317,16 +2757,34 @@ }, "type": "object" }, + "GoogleCloudRetailV2betaFulfillmentInfo": { + "description": "Fulfillment information, such as the store IDs for in-store pickup or region IDs for different shipping methods.", + "id": "GoogleCloudRetailV2betaFulfillmentInfo", + "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" + }, "GoogleCloudRetailV2betaGcsSource": { "description": "Google Cloud Storage location for input content. format.", "id": "GoogleCloudRetailV2betaGcsSource", "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#mcc). 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?hl=en.", + "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/recommendations-ai/docs/upload-catalog) for the expected file format and setup instructions.", + "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" }, @@ -1335,6 +2793,26 @@ }, "type": "object" }, + "GoogleCloudRetailV2betaGetDefaultBranchResponse": { + "description": "Response message of CatalogService.GetDefaultBranch.", + "id": "GoogleCloudRetailV2betaGetDefaultBranchResponse", + "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" + }, "GoogleCloudRetailV2betaImage": { "description": "Product thumbnail/detail image.", "id": "GoogleCloudRetailV2betaImage", @@ -1356,12 +2834,41 @@ }, "type": "object" }, + "GoogleCloudRetailV2betaImportCompletionDataRequest": { + "description": "Request message for ImportCompletionData methods.", + "id": "GoogleCloudRetailV2betaImportCompletionDataRequest", + "properties": { + "inputConfig": { + "$ref": "GoogleCloudRetailV2betaCompletionDataInputConfig", + "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 will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "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 path for import errors. This must be an empty, existing Cloud Storage bucket. Import errors will be written to a file in this bucket, one per line, as a JSON-encoded `google.rpc.Status` message.", + "description": "Google Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors will be written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", "type": "string" } }, @@ -1381,6 +2888,14 @@ "format": "int64", "type": "string" }, + "notificationPubsubTopic": { + "description": "Pub/Sub topic for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.", + "type": "string" + }, + "requestId": { + "description": "Id of the request / operation. This is parroting back the requestId that was passed in the request.", + "type": "string" + }, "successCount": { "description": "Count of entries that were processed successfully.", "format": "int64", @@ -1406,6 +2921,28 @@ "$ref": "GoogleCloudRetailV2betaProductInputConfig", "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 will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{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. Can only be set while using BigQuerySource. And the BigQuery dataset must be created in the data location \"us (multiple regions in United States)\", otherwise a PERMISSION_DENIED error is thrown. 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. This feature is only available for users who have Retail Search enabled. Please submit a form [here](https://cloud.google.com/contact) to contact cloud sales if you are interested in using Retail Search." + ], + "type": "string" + }, + "requestId": { + "description": "Unique identifier provided by client, within the ancestor dataset scope. Ensures idempotency and used for request deduplication. Server-generated if unspecified. Up to 128 characters long and must match the pattern: `[a-zA-Z0-9_]+`. This is returned as Operation.name in ImportMetadata. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`.", + "type": "string" + }, "updateMask": { "description": "Indicates which fields in the provided imported 'products' to update. If not set, will by default update all fields.", "format": "google-fieldmask", @@ -1469,6 +3006,33 @@ }, "type": "object" }, + "GoogleCloudRetailV2betaInterval": { + "description": "A floating point interval.", + "id": "GoogleCloudRetailV2betaInterval", + "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" + }, "GoogleCloudRetailV2betaListCatalogsResponse": { "description": "Response for CatalogService.ListCatalogs method.", "id": "GoogleCloudRetailV2betaListCatalogsResponse", @@ -1487,6 +3051,60 @@ }, "type": "object" }, + "GoogleCloudRetailV2betaListControlsResponse": { + "description": "Response for ListControls method.", + "id": "GoogleCloudRetailV2betaListControlsResponse", + "properties": { + "controls": { + "description": "All the Controls for a given catalog.", + "items": { + "$ref": "GoogleCloudRetailV2betaControl" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Pagination token, if not returned indicates the last page.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2betaListProductsResponse": { + "description": "Response message for ProductService.ListProducts method.", + "id": "GoogleCloudRetailV2betaListProductsResponse", + "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": "GoogleCloudRetailV2betaProduct" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2betaListServingConfigsResponse": { + "description": "Response for ListServingConfigs method.", + "id": "GoogleCloudRetailV2betaListServingConfigsResponse", + "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": "GoogleCloudRetailV2betaServingConfig" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudRetailV2betaPredictRequest": { "description": "Request message for Predict method.", "id": "GoogleCloudRetailV2betaPredictRequest", @@ -1499,7 +3117,7 @@ "additionalProperties": { "type": "string" }, - "description": "The labels for the predict request. * Label keys can contain lowercase letters, digits and hyphens, must start with a letter, and must end with a letter or digit. * Non-zero label values can contain lowercase letters, digits and hyphens, must start with a letter, and must end with a letter or digit. * No more than 64 labels can be associated with a given request. See https://goo.gl/xmQnxf for more information on and examples of labels.", + "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": { @@ -1515,7 +3133,7 @@ "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 an 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.", + "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 an 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.", "type": "object" }, "userEvent": { @@ -1586,7 +3204,7 @@ "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.", + "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": { @@ -1595,9 +3213,39 @@ "type": "number" }, "price": { - "description": "Price of the product. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). Schema.org property [Offer.priceSpecification](https://schema.org/priceSpecification).", + "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": "GoogleCloudRetailV2betaPriceInfoPriceRange", + "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" + }, + "GoogleCloudRetailV2betaPriceInfoPriceRange": { + "description": "The price range of all variant Product having the same Product.primary_product_id.", + "id": "GoogleCloudRetailV2betaPriceInfoPriceRange", + "properties": { + "originalPrice": { + "$ref": "GoogleCloudRetailV2betaInterval", + "description": "The inclusive Product.pricing_info.original_price internal of all variant Product having the same Product.primary_product_id." + }, + "price": { + "$ref": "GoogleCloudRetailV2betaInterval", + "description": "The inclusive Product.pricing_info.price interval of all variant Product having the same Product.primary_product_id." } }, "type": "object" @@ -1610,11 +3258,15 @@ "additionalProperties": { "$ref": "GoogleCloudRetailV2betaCustomAttribute" }, - "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: 150 by default; 100 for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit of 128 characters.", + "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": "GoogleCloudRetailV2betaAudience", + "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. Google Merchant Center Property [availability](https://support.google.com/merchants/answer/6324448). Schema.org Property [Offer.availability](https://schema.org/availability).", + "description": "The online availability of the Product. Default to Availability.IN_STOCK. 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", @@ -1637,57 +3289,149 @@ "type": "integer" }, "availableTime": { - "description": "The timestamp when this Product becomes available for recommendation.", + "description": "The timestamp when this Product becomes available for SearchService.Search.", "format": "google-datetime", "type": "string" }, + "brands": { + "description": "The brands of the product. A maximum of 30 brands are allowed. 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, please 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. 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. 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", + "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, please 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. 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 and 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": "GoogleCloudRetailV2betaColorInfo", + "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. Google Merchant Center property [description](https://support.google.com/merchants/answer/6324468). schema.org property [Product.description](https://schema.org/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": "The timestamp when this product becomes unavailable for SearchService.Search. If it is set, the Product is not available for SearchService.Search after expire_time. However, the product can still be retrieved by ProductService.GetProduct and ProductService.ListProducts. 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": "GoogleCloudRetailV2betaFulfillmentInfo" + }, + "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. Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org Property [Product.sku](https://schema.org/sku).", + "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.Highly recommended to put the main image to the first. A maximum of 300 images are allowed. Google Merchant Center property [image_link](https://support.google.com/merchants/answer/6324350). Schema.org property [Product.image](https://schema.org/image).", + "description": "Product images for the product.Highly recommended to put the main image to the 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": "GoogleCloudRetailV2betaImage" }, "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`. The branch ID must be \"default_branch\".", + "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" }, + "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": "GoogleCloudRetailV2betaPriceInfo", - "description": "Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371)." + "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. Google Merchant Center Property [item_group_id](https://support.google.com/merchants/answer/6324507). Schema.org Property [Product.inProductGroupWithID](https://schema.org/inProductGroupWithID). This field must be enabled before it can be used. [Learn more](/recommendations-ai/docs/catalog#item-group-id).", + "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": "GoogleCloudRetailV2betaPromotion" + }, + "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": "GoogleCloudRetailV2betaRating", + "description": "The rating of this product." + }, + "retrievableFields": { + "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 Maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is returned. Note: Returning more fields in SearchResponse may increase response payload size and serving latency.", + "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. Google Merchant Center property [custom_label_0\u20134](https://support.google.com/merchants/answer/6324473).", + "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. Google Merchant Center property [title](https://support.google.com/merchants/answer/6324415). Schema.org property [Product.name](https://schema.org/name).", + "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. 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. This field is output-only.", + "description": "Immutable. The type of the product. Default to Catalog.product_level_config.ingestion_product_type if unset.", "enum": [ "TYPE_UNSPECIFIED", "PRIMARY", @@ -1695,7 +3439,7 @@ "COLLECTION" ], "enumDescriptions": [ - "Default value. Default to Type.PRIMARY if unset.", + "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." @@ -1703,8 +3447,16 @@ "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. Google Merchant Center property [link](https://support.google.com/merchants/answer/6324416). Schema.org property [Offer.url](https://schema.org/url).", + "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": "GoogleCloudRetailV2betaProduct" + }, + "readOnly": true, + "type": "array" } }, "type": "object" @@ -1715,7 +3467,7 @@ "properties": { "product": { "$ref": "GoogleCloudRetailV2betaProduct", - "description": "Required. Product information. Only Product.id field is used when ingesting an event, all other product fields are ignored as we will look them up from the catalog." + "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.", @@ -1730,7 +3482,7 @@ "id": "GoogleCloudRetailV2betaProductInlineSource", "properties": { "products": { - "description": "Required. A list of products to update/create. Each product must have a valid Product.id. Recommended max of 10k items.", + "description": "Required. A list of products to update/create. Each product must have a valid Product.id. Recommended max of 100 items.", "items": { "$ref": "GoogleCloudRetailV2betaProduct" }, @@ -1763,11 +3515,22 @@ "id": "GoogleCloudRetailV2betaProductLevelConfig", "properties": { "ingestionProductType": { - "description": "The type of Products allowed to be ingested into the catalog. Acceptable values are: * `primary` (default): You can only ingest Product.Type.PRIMARY Products. This means Product.primary_product_id can only be empty or set to the same value as Product.id. * `variant`: 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 [Using catalog levels](/retail/recommendations-ai/docs/catalog#catalog-levels) for more details.", + "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`: 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 [Using product levels](https://cloud.google.com/retail/recommendations-ai/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 [Using catalog levels](/retail/recommendations-ai/docs/catalog#catalog-levels) for more details.", + "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 [Using product levels](https://cloud.google.com/retail/recommendations-ai/docs/catalog#product-levels) for more details.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2betaPromotion": { + "description": "Promotion information.", + "id": "GoogleCloudRetailV2betaPromotion", + "properties": { + "promotionId": { + "description": "ID of the promotion. For example, \"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. Google Merchant Center property [promotion](https://support.google.com/merchants/answer/7050148).", "type": "string" } }, @@ -1836,6 +3599,31 @@ }, "type": "object" }, + "GoogleCloudRetailV2betaRating": { + "description": "The rating of a Product.", + "id": "GoogleCloudRetailV2betaRating", + "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" + }, "GoogleCloudRetailV2betaRejoinUserEventsMetadata": { "description": "Metadata for RejoinUserEvents method.", "id": "GoogleCloudRetailV2betaRejoinUserEventsMetadata", @@ -1875,6 +3663,869 @@ }, "type": "object" }, + "GoogleCloudRetailV2betaRemoveCatalogAttributeRequest": { + "description": "Request for CatalogService.RemoveCatalogAttribute method.", + "id": "GoogleCloudRetailV2betaRemoveCatalogAttributeRequest", + "properties": { + "key": { + "description": "Required. The attribute name key of the CatalogAttribute to remove.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2betaRemoveControlRequest": { + "description": "Request for RemoveControl method.", + "id": "GoogleCloudRetailV2betaRemoveControlRequest", + "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" + }, + "GoogleCloudRetailV2betaRemoveFulfillmentPlacesMetadata": { + "description": "Metadata related to the progress of the RemoveFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the RemoveFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2betaRemoveFulfillmentPlacesMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2betaRemoveFulfillmentPlacesRequest": { + "description": "Request message for RemoveFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2betaRemoveFulfillmentPlacesRequest", + "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" + }, + "GoogleCloudRetailV2betaRemoveFulfillmentPlacesResponse": { + "description": "Response of the RemoveFulfillmentPlacesRequest. Currently empty because there is no meaningful response populated from the RemoveFulfillmentPlaces method.", + "id": "GoogleCloudRetailV2betaRemoveFulfillmentPlacesResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2betaReplaceCatalogAttributeRequest": { + "description": "Request for CatalogService.ReplaceCatalogAttribute method.", + "id": "GoogleCloudRetailV2betaReplaceCatalogAttributeRequest", + "properties": { + "catalogAttribute": { + "$ref": "GoogleCloudRetailV2betaCatalogAttribute", + "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" + }, + "GoogleCloudRetailV2betaRule": { + "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 only boost rules are supported. Currently only supported by the search endpoint.", + "id": "GoogleCloudRetailV2betaRule", + "properties": { + "boostAction": { + "$ref": "GoogleCloudRetailV2betaRuleBoostAction", + "description": "A boost action." + }, + "condition": { + "$ref": "GoogleCloudRetailV2betaCondition", + "description": "Required. The condition that triggers the rule. If the condition is empty, the rule will always apply." + }, + "doNotAssociateAction": { + "$ref": "GoogleCloudRetailV2betaRuleDoNotAssociateAction", + "description": "Prevents term from being associated with other terms." + }, + "filterAction": { + "$ref": "GoogleCloudRetailV2betaRuleFilterAction", + "description": "Filters results." + }, + "ignoreAction": { + "$ref": "GoogleCloudRetailV2betaRuleIgnoreAction", + "description": "Ignores specific terms from query during search." + }, + "onewaySynonymsAction": { + "$ref": "GoogleCloudRetailV2betaRuleOnewaySynonymsAction", + "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." + }, + "redirectAction": { + "$ref": "GoogleCloudRetailV2betaRuleRedirectAction", + "description": "Redirects a shopper to a specific page." + }, + "replacementAction": { + "$ref": "GoogleCloudRetailV2betaRuleReplacementAction", + "description": "Replaces specific terms in the query." + }, + "twowaySynonymsAction": { + "$ref": "GoogleCloudRetailV2betaRuleTwowaySynonymsAction", + "description": "Treats a set of terms as synonyms of one another." + } + }, + "type": "object" + }, + "GoogleCloudRetailV2betaRuleBoostAction": { + "description": "A boost action to apply to results matching condition specified above.", + "id": "GoogleCloudRetailV2betaRuleBoostAction", + "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" + }, + "GoogleCloudRetailV2betaRuleDoNotAssociateAction": { + "description": "Prevents `query_term` from being associated with specified terms during search. Example: Don't associate \"gShoe\" and \"cheap\".", + "id": "GoogleCloudRetailV2betaRuleDoNotAssociateAction", + "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" + }, + "GoogleCloudRetailV2betaRuleFilterAction": { + "description": "* Rule Condition: - No Condition provided is a global match. - 1 or more Condition provided is combined with OR operator. * Action Input: The request query and filter that will be 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": "GoogleCloudRetailV2betaRuleFilterAction", + "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. See more details at the Retail Search [user guide](/retail/search/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" + }, + "GoogleCloudRetailV2betaRuleIgnoreAction": { + "description": "Prevents a term in the query from being used in search. Example: Don't search for \"shoddy\".", + "id": "GoogleCloudRetailV2betaRuleIgnoreAction", + "properties": { + "ignoreTerms": { + "description": "Terms to ignore in the search query.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2betaRuleOnewaySynonymsAction": { + "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": "GoogleCloudRetailV2betaRuleOnewaySynonymsAction", + "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" + }, + "GoogleCloudRetailV2betaRuleRedirectAction": { + "description": "Redirects a shopper to a specific page. * Rule Condition: - Must specify Condition. * Action Input: Request Query * Action Result: Redirects shopper to provided uri.", + "id": "GoogleCloudRetailV2betaRuleRedirectAction", + "properties": { + "redirectUri": { + "description": "URL must have length equal or less than 2000 characters.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2betaRuleReplacementAction": { + "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": "GoogleCloudRetailV2betaRuleReplacementAction", + "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" + }, + "GoogleCloudRetailV2betaRuleTwowaySynonymsAction": { + "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": "GoogleCloudRetailV2betaRuleTwowaySynonymsAction", + "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" + }, + "GoogleCloudRetailV2betaSearchRequest": { + "description": "Request message for SearchService.Search method.", + "id": "GoogleCloudRetailV2betaSearchRequest", + "properties": { + "boostSpec": { + "$ref": "GoogleCloudRetailV2betaSearchRequestBoostSpec", + "description": "Boost specification to boost certain products. See more details at this [user guide](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 filter applied to every search request when quality improvement such as query expansion is needed. For example, if a query does not have enough results, an expanded query with SearchRequest.canonical_filter will be returned as a supplement of the original query. This field is strongly recommended to achieve high search quality. See SearchRequest.filter for more details about filter syntax.", + "type": "string" + }, + "dynamicFacetSpec": { + "$ref": "GoogleCloudRetailV2betaSearchRequestDynamicFacetSpec", + "description": "The specification for dynamically generated facets. Notice that only textual facets can be dynamically generated. This feature requires additional allowlisting. Contact Retail Search support team if you are interested in using dynamic facet feature." + }, + "facetSpecs": { + "description": "Facet specifications for faceted search. If empty, no facets are returned. A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error is returned.", + "items": { + "$ref": "GoogleCloudRetailV2betaSearchRequestFacetSpec" + }, + "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. See more details at this [user guide](https://cloud.google.com/retail/docs/filter-and-order#filter). If this field is unrecognizable, an INVALID_ARGUMENT is returned.", + "type": "string" + }, + "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. See more details at this [user guide](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. Required 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, please 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": "GoogleCloudRetailV2betaSearchRequestPersonalizationSpec", + "description": "The specification for personalization." + }, + "query": { + "description": "Raw search query.", + "type": "string" + }, + "queryExpansionSpec": { + "$ref": "GoogleCloudRetailV2betaSearchRequestQueryExpansionSpec", + "description": "The query expansion specification that specifies the conditions under which query expansion will occur. See more details at this [user guide](https://cloud.google.com/retail/docs/result-size#query_expansion)." + }, + "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_spec 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" + }, + "userInfo": { + "$ref": "GoogleCloudRetailV2betaUserInfo", + "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.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" + }, + "GoogleCloudRetailV2betaSearchRequestBoostSpec": { + "description": "Boost specification to boost certain items.", + "id": "GoogleCloudRetailV2betaSearchRequestBoostSpec", + "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 10.", + "items": { + "$ref": "GoogleCloudRetailV2betaSearchRequestBoostSpecConditionBoostSpec" + }, + "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" + }, + "GoogleCloudRetailV2betaSearchRequestBoostSpecConditionBoostSpec": { + "description": "Boost applies to products which match a condition.", + "id": "GoogleCloudRetailV2betaSearchRequestBoostSpecConditionBoostSpec", + "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" + }, + "GoogleCloudRetailV2betaSearchRequestDynamicFacetSpec": { + "description": "The specifications of dynamically generated facets.", + "id": "GoogleCloudRetailV2betaSearchRequestDynamicFacetSpec", + "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" + }, + "GoogleCloudRetailV2betaSearchRequestFacetSpec": { + "description": "A facet specification to perform faceted search.", + "id": "GoogleCloudRetailV2betaSearchRequestFacetSpec", + "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 will be ordered together with dynamic facets if dynamic facets is enabled. If set to false, the position of this facet in the response will be the same as in the request, and it will be 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 will be 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 will generate 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\" will always be ranked at 1st and 2nd position since their enable_dynamic_position 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. For example, suppose there are 100 products with color facet \"Red\" and 200 products with color facet \"Blue\". A query containing the filter \"colorFamilies:ANY(\"Red\")\" and have \"colorFamilies\" as FacetKey.key will by default return the \"Red\" with count 100. If this field contains \"colorFamilies\", then the query returns both the \"Red\" with count 100 and \"Blue\" with count 200, because the \"colorFamilies\" key is now excluded from the filter. A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error is returned.", + "items": { + "type": "string" + }, + "type": "array" + }, + "facetKey": { + "$ref": "GoogleCloudRetailV2betaSearchRequestFacetSpecFacetKey", + "description": "Required. The facet key specification." + }, + "limit": { + "description": "Maximum of facet values that should be returned for this facet. If unspecified, defaults to 20. 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" + }, + "GoogleCloudRetailV2betaSearchRequestFacetSpecFacetKey": { + "description": "Specifies how a facet is computed.", + "id": "GoogleCloudRetailV2betaSearchRequestFacetSpecFacetKey", + "properties": { + "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 will give 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 30.", + "items": { + "$ref": "GoogleCloudRetailV2betaInterval" + }, + "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 Facet.values are returned. Allowed values are: * \"count desc\", which means order by Facet.FacetValue.count descending. * \"value desc\", which means order by Facet.FacetValue.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 will give 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 will override 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, FacetValue.value will be always \"1\" and FacetValue.count will be the number of results that matches 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 will count 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 textual fields 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" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2betaSearchRequestPersonalizationSpec": { + "description": "The specification for personalization.", + "id": "GoogleCloudRetailV2betaSearchRequestPersonalizationSpec", + "properties": { + "mode": { + "description": "Defaults to Mode.AUTO.", + "enum": [ + "MODE_UNSPECIFIED", + "AUTO", + "DISABLED" + ], + "enumDescriptions": [ + "Default value. Defaults to Mode.AUTO.", + "Let CRS decide whether to use personalization.", + "Disable personalization." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2betaSearchRequestQueryExpansionSpec": { + "description": "Specification to determine under which conditions query expansion should occur.", + "id": "GoogleCloudRetailV2betaSearchRequestQueryExpansionSpec", + "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. This 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" + }, + "GoogleCloudRetailV2betaSearchResponse": { + "description": "Response message for SearchService.Search method.", + "id": "GoogleCloudRetailV2betaSearchResponse", + "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" + }, + "correctedQuery": { + "description": "If spell correction applies, the corrected query. Otherwise, empty.", + "type": "string" + }, + "facets": { + "description": "Results of facets requested by user.", + "items": { + "$ref": "GoogleCloudRetailV2betaSearchResponseFacet" + }, + "type": "array" + }, + "invalidConditionBoostSpecs": { + "description": "The invalid SearchRequest.BoostSpec.condition_boost_specs that are not applied during serving.", + "items": { + "$ref": "GoogleCloudRetailV2betaSearchRequestBoostSpecConditionBoostSpec" + }, + "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" + }, + "queryExpansionInfo": { + "$ref": "GoogleCloudRetailV2betaSearchResponseQueryExpansionInfo", + "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 will be performed, and only redirect_uri and attribution_token will be set in the response.", + "type": "string" + }, + "results": { + "description": "A list of matched items. The order represents the ranking.", + "items": { + "$ref": "GoogleCloudRetailV2betaSearchResponseSearchResult" + }, + "type": "array" + }, + "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" + }, + "GoogleCloudRetailV2betaSearchResponseFacet": { + "description": "A facet result.", + "id": "GoogleCloudRetailV2betaSearchResponseFacet", + "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": "GoogleCloudRetailV2betaSearchResponseFacetFacetValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2betaSearchResponseFacetFacetValue": { + "description": "A facet value which contains value names and their count.", + "id": "GoogleCloudRetailV2betaSearchResponseFacetFacetValue", + "properties": { + "count": { + "description": "Number of items that have this facet value.", + "format": "int64", + "type": "string" + }, + "interval": { + "$ref": "GoogleCloudRetailV2betaInterval", + "description": "Interval value for a facet, such as [10, 20) for facet \"price\"." + }, + "value": { + "description": "Text value of a facet, such as \"Black\" for facet \"colorFamilies\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2betaSearchResponseQueryExpansionInfo": { + "description": "Information describing query expansion including whether expansion has occurred.", + "id": "GoogleCloudRetailV2betaSearchResponseQueryExpansionInfo", + "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" + }, + "GoogleCloudRetailV2betaSearchResponseSearchResult": { + "description": "Represents the search results.", + "id": "GoogleCloudRetailV2betaSearchResponseSearchResult", + "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" + }, + "product": { + "$ref": "GoogleCloudRetailV2betaProduct", + "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" + }, + "GoogleCloudRetailV2betaServingConfig": { + "description": "Configures metadata that is used to generate serving time results (e.g. search results or recommendation predictions). The ServingConfig is passed in the search and predict request and together with the Catalog.default_branch, generates results.", + "id": "GoogleCloudRetailV2betaServingConfig", + "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" + }, + "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": "GoogleCloudRetailV2betaSearchRequestDynamicFacetSpec", + "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" + }, + "modelId": { + "description": "The id of the model 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" + }, + "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-raranking' * '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" + }, + "GoogleCloudRetailV2betaSetDefaultBranchRequest": { + "description": "Request message to set a specified branch as new default_branch.", + "id": "GoogleCloudRetailV2betaSetDefaultBranchRequest", + "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" + }, + "GoogleCloudRetailV2betaSetInventoryMetadata": { + "description": "Metadata related to the progress of the SetInventory operation. Currently empty because there is no meaningful metadata populated from the SetInventory method.", + "id": "GoogleCloudRetailV2betaSetInventoryMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudRetailV2betaSetInventoryRequest": { + "description": "Request message for SetInventory method.", + "id": "GoogleCloudRetailV2betaSetInventoryRequest", + "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": "GoogleCloudRetailV2betaProduct", + "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, 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" + }, + "GoogleCloudRetailV2betaSetInventoryResponse": { + "description": "Response of the SetInventoryRequest. Currently empty because there is no meaningful response populated from the SetInventory method.", + "id": "GoogleCloudRetailV2betaSetInventoryResponse", + "properties": {}, + "type": "object" + }, "GoogleCloudRetailV2betaUserEvent": { "description": "UserEvent captures all metadata information Retail API needs to know about how end users interact with customers' website.", "id": "GoogleCloudRetailV2betaUserEvent", @@ -1883,17 +4534,21 @@ "additionalProperties": { "$ref": "GoogleCloudRetailV2betaCustomAttribute" }, - "description": "Extra user event features to include in the recommendation model. The key must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. For product recommendation, an example of extra user information is traffic_channel, i.e. how user arrives at the site. Users can arrive at the site by coming to the site directly, or coming through Google search, and etc.", + "description": "Extra user event features to include in the recommendation model. 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 recommendation, an example of extra user information is traffic_channel, i.e. how user arrives at the site. Users can arrive at the site by coming to the site directly, or coming through Google search, and etc.", "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. 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.", + "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.", + "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": "GoogleCloudRetailV2betaCompletionDetail", + "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." + }, "eventTime": { "description": "Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened.", "format": "google-datetime", @@ -1910,6 +4565,19 @@ }, "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, please 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": { @@ -1918,11 +4586,11 @@ "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.", + "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 required 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 broswing 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 broswing the whole page yet.", + "description": "The main product details related to the event. This field is required for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` * `search` 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": "GoogleCloudRetailV2betaProductDetail" }, @@ -1937,7 +4605,11 @@ "type": "string" }, "searchQuery": { - "description": "The user's search query. 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.", + "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": { @@ -1949,7 +4621,7 @@ "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. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", + "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. 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 Analystics [Client ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) for this field.", "type": "string" } }, @@ -2014,11 +4686,11 @@ "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 using the JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.", + "description": "The end user's IP address. Required for getting SearchResponse.sponsored_results. 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 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.", + "description": "User agent as included in the HTTP header. Required for getting SearchResponse.sponsored_results. 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": { @@ -2113,6 +4785,28 @@ } }, "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., 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": "", diff --git a/etc/api/run/v1/run-api.json b/etc/api/run/v1/run-api.json index fae8decdf8..4e148c3422 100644 --- a/etc/api/run/v1/run-api.json +++ b/etc/api/run/v1/run-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -12,7 +12,7 @@ "baseUrl": "https://run.googleapis.com/", "batchPath": "batch", "canonicalName": "Cloud Run", - "description": "Deploy and manage user provided container images that scale automatically based on HTTP traffic.", + "description": "Deploy and manage user provided container images that scale automatically based on incoming requests. The Cloud Run Admin API v1 follows the Knative Serving API specification, while v2 is aligned with Google Cloud AIP-based API standards, as described in https://google.aip.dev/.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/run/", "fullyEncodeReservedExpansion": true, @@ -184,7 +184,7 @@ ], "parameters": { "continue": { - "description": "Optional encoded string to continue paging.", + "description": "Optional. Encoded string to continue paging.", "location": "query", "type": "string" }, @@ -204,7 +204,7 @@ "type": "string" }, "limit": { - "description": "The maximum number of records that should be returned.", + "description": "Optional. The maximum number of records that should be returned.", "format": "int32", "location": "query", "type": "integer" @@ -352,7 +352,7 @@ ], "parameters": { "continue": { - "description": "Optional encoded string to continue paging.", + "description": "Optional. Encoded string to continue paging.", "location": "query", "type": "string" }, @@ -372,7 +372,7 @@ "type": "string" }, "limit": { - "description": "The maximum number of records that should be returned.", + "description": "Optional. The maximum number of records that should be returned.", "format": "int32", "location": "query", "type": "integer" @@ -405,6 +405,350 @@ } } }, + "executions": { + "methods": { + "delete": { + "description": "Delete an execution.", + "flatPath": "apis/run.googleapis.com/v1/namespaces/{namespacesId}/executions/{executionsId}", + "httpMethod": "DELETE", + "id": "run.namespaces.executions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "apiVersion": { + "description": "Optional. Cloud Run currently ignores this parameter.", + "location": "query", + "type": "string" + }, + "kind": { + "description": "Optional. Cloud Run currently ignores this parameter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the execution to delete. Replace {namespace_id} with the project ID or number.", + "location": "path", + "pattern": "^namespaces/[^/]+/executions/[^/]+$", + "required": true, + "type": "string" + }, + "propagationPolicy": { + "description": "Optional. Specifies the propagation policy of delete. Cloud Run currently ignores this setting, and deletes in the background. Please see kubernetes.io/docs/concepts/workloads/controllers/garbage-collection/ for more information.", + "location": "query", + "type": "string" + } + }, + "path": "apis/run.googleapis.com/v1/{+name}", + "response": { + "$ref": "Status" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get information about an execution.", + "flatPath": "apis/run.googleapis.com/v1/namespaces/{namespacesId}/executions/{executionsId}", + "httpMethod": "GET", + "id": "run.namespaces.executions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the execution to retrieve. Replace {namespace_id} with the project ID or number.", + "location": "path", + "pattern": "^namespaces/[^/]+/executions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "apis/run.googleapis.com/v1/{+name}", + "response": { + "$ref": "Execution" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List executions.", + "flatPath": "apis/run.googleapis.com/v1/namespaces/{namespacesId}/executions", + "httpMethod": "GET", + "id": "run.namespaces.executions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "continue": { + "description": "Optional. Optional encoded string to continue paging.", + "location": "query", + "type": "string" + }, + "fieldSelector": { + "description": "Optional. Allows to filter resources based on a specific value for a field name. Send this in a query string format. i.e. 'metadata.name%3Dlorem'. Not currently used by Cloud Run.", + "location": "query", + "type": "string" + }, + "includeUninitialized": { + "description": "Optional. Not currently used by Cloud Run.", + "location": "query", + "type": "boolean" + }, + "labelSelector": { + "description": "Optional. Allows to filter resources based on a label. Supported operations are =, !=, exists, in, and notIn.", + "location": "query", + "type": "string" + }, + "limit": { + "description": "Optional. The maximum number of records that should be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "parent": { + "description": "Required. The namespace from which the executions should be listed. Replace {namespace_id} with the project ID or number.", + "location": "path", + "pattern": "^namespaces/[^/]+$", + "required": true, + "type": "string" + }, + "resourceVersion": { + "description": "Optional. The baseline resource version from which the list or watch operation should start. Not currently used by Cloud Run.", + "location": "query", + "type": "string" + }, + "watch": { + "description": "Optional. Flag that indicates that the client expects to watch this resource as well. Not currently used by Cloud Run.", + "location": "query", + "type": "boolean" + } + }, + "path": "apis/run.googleapis.com/v1/{+parent}/executions", + "response": { + "$ref": "ListExecutionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "jobs": { + "methods": { + "create": { + "description": "Create a job.", + "flatPath": "apis/run.googleapis.com/v1/namespaces/{namespacesId}/jobs", + "httpMethod": "POST", + "id": "run.namespaces.jobs.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The namespace in which the job should be created. Replace {namespace_id} with the project ID or number.", + "location": "path", + "pattern": "^namespaces/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "apis/run.googleapis.com/v1/{+parent}/jobs", + "request": { + "$ref": "Job" + }, + "response": { + "$ref": "Job" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a job.", + "flatPath": "apis/run.googleapis.com/v1/namespaces/{namespacesId}/jobs/{jobsId}", + "httpMethod": "DELETE", + "id": "run.namespaces.jobs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "apiVersion": { + "description": "Optional. Cloud Run currently ignores this parameter.", + "location": "query", + "type": "string" + }, + "kind": { + "description": "Optional. Cloud Run currently ignores this parameter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the job to delete. Replace {namespace_id} with the project ID or number.", + "location": "path", + "pattern": "^namespaces/[^/]+/jobs/[^/]+$", + "required": true, + "type": "string" + }, + "propagationPolicy": { + "description": "Optional. Specifies the propagation policy of delete. Cloud Run currently ignores this setting, and deletes in the background. Please see kubernetes.io/docs/concepts/workloads/controllers/garbage-collection/ for more information.", + "location": "query", + "type": "string" + } + }, + "path": "apis/run.googleapis.com/v1/{+name}", + "response": { + "$ref": "Status" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get information about a job.", + "flatPath": "apis/run.googleapis.com/v1/namespaces/{namespacesId}/jobs/{jobsId}", + "httpMethod": "GET", + "id": "run.namespaces.jobs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the job to retrieve. Replace {namespace_id} with the project ID or number.", + "location": "path", + "pattern": "^namespaces/[^/]+/jobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "apis/run.googleapis.com/v1/{+name}", + "response": { + "$ref": "Job" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List jobs.", + "flatPath": "apis/run.googleapis.com/v1/namespaces/{namespacesId}/jobs", + "httpMethod": "GET", + "id": "run.namespaces.jobs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "continue": { + "description": "Optional. Optional encoded string to continue paging.", + "location": "query", + "type": "string" + }, + "fieldSelector": { + "description": "Optional. Allows to filter resources based on a specific value for a field name. Send this in a query string format. i.e. 'metadata.name%3Dlorem'. Not currently used by Cloud Run.", + "location": "query", + "type": "string" + }, + "includeUninitialized": { + "description": "Optional. Not currently used by Cloud Run.", + "location": "query", + "type": "boolean" + }, + "labelSelector": { + "description": "Optional. Allows to filter resources based on a label. Supported operations are =, !=, exists, in, and notIn.", + "location": "query", + "type": "string" + }, + "limit": { + "description": "Optional. The maximum number of records that should be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "parent": { + "description": "Required. The namespace from which the jobs should be listed. Replace {namespace_id} with the project ID or number.", + "location": "path", + "pattern": "^namespaces/[^/]+$", + "required": true, + "type": "string" + }, + "resourceVersion": { + "description": "Optional. The baseline resource version from which the list or watch operation should start. Not currently used by Cloud Run.", + "location": "query", + "type": "string" + }, + "watch": { + "description": "Optional. Flag that indicates that the client expects to watch this resource as well. Not currently used by Cloud Run.", + "location": "query", + "type": "boolean" + } + }, + "path": "apis/run.googleapis.com/v1/{+parent}/jobs", + "response": { + "$ref": "ListJobsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "replaceJob": { + "description": "Replace a job. Only the spec and metadata labels and annotations are modifiable. After the Replace request, Cloud Run will work to make the 'status' match the requested 'spec'. May provide metadata.resourceVersion to enforce update from last read for optimistic concurrency control.", + "flatPath": "apis/run.googleapis.com/v1/namespaces/{namespacesId}/jobs/{jobsId}", + "httpMethod": "PUT", + "id": "run.namespaces.jobs.replaceJob", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the service being replaced. Replace {namespace_id} with the project ID or number.", + "location": "path", + "pattern": "^namespaces/[^/]+/jobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "apis/run.googleapis.com/v1/{+name}", + "request": { + "$ref": "Job" + }, + "response": { + "$ref": "Job" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "run": { + "description": "Trigger creation of a new execution of this job.", + "flatPath": "apis/run.googleapis.com/v1/namespaces/{namespacesId}/jobs/{jobsId}:run", + "httpMethod": "POST", + "id": "run.namespaces.jobs.run", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the job to run. Replace {namespace_id} with the project ID or number.", + "location": "path", + "pattern": "^namespaces/[^/]+/jobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "apis/run.googleapis.com/v1/{+name}:run", + "request": { + "$ref": "RunJobRequest" + }, + "response": { + "$ref": "Execution" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "revisions": { "methods": { "delete": { @@ -487,7 +831,7 @@ ], "parameters": { "continue": { - "description": "Optional encoded string to continue paging.", + "description": "Optional. Encoded string to continue paging.", "location": "query", "type": "string" }, @@ -507,7 +851,7 @@ "type": "string" }, "limit": { - "description": "The maximum number of records that should be returned.", + "description": "Optional. The maximum number of records that should be returned.", "format": "int32", "location": "query", "type": "integer" @@ -577,7 +921,7 @@ ], "parameters": { "continue": { - "description": "Optional encoded string to continue paging.", + "description": "Optional. Encoded string to continue paging.", "location": "query", "type": "string" }, @@ -597,7 +941,7 @@ "type": "string" }, "limit": { - "description": "The maximum number of records that should be returned.", + "description": "Optional. The maximum number of records that should be returned.", "format": "int32", "location": "query", "type": "integer" @@ -745,7 +1089,7 @@ ], "parameters": { "continue": { - "description": "Optional encoded string to continue paging.", + "description": "Optional. Encoded string to continue paging.", "location": "query", "type": "string" }, @@ -765,7 +1109,7 @@ "type": "string" }, "limit": { - "description": "The maximum number of records that should be returned.", + "description": "Optional. The maximum number of records that should be returned.", "format": "int32", "location": "query", "type": "integer" @@ -830,6 +1174,96 @@ ] } } + }, + "tasks": { + "methods": { + "get": { + "description": "Get information about a task.", + "flatPath": "apis/run.googleapis.com/v1/namespaces/{namespacesId}/tasks/{tasksId}", + "httpMethod": "GET", + "id": "run.namespaces.tasks.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the task to retrieve. Replace {namespace_id} with the project ID or number.", + "location": "path", + "pattern": "^namespaces/[^/]+/tasks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "apis/run.googleapis.com/v1/{+name}", + "response": { + "$ref": "Task" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List tasks.", + "flatPath": "apis/run.googleapis.com/v1/namespaces/{namespacesId}/tasks", + "httpMethod": "GET", + "id": "run.namespaces.tasks.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "continue": { + "description": "Optional. Optional encoded string to continue paging.", + "location": "query", + "type": "string" + }, + "fieldSelector": { + "description": "Optional. Allows to filter resources based on a specific value for a field name. Send this in a query string format. i.e. 'metadata.name%3Dlorem'. Not currently used by Cloud Run.", + "location": "query", + "type": "string" + }, + "includeUninitialized": { + "description": "Optional. Not currently used by Cloud Run.", + "location": "query", + "type": "boolean" + }, + "labelSelector": { + "description": "Optional. Allows to filter resources based on a label. Supported operations are =, !=, exists, in, and notIn.", + "location": "query", + "type": "string" + }, + "limit": { + "description": "Optional. The maximum number of records that should be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "parent": { + "description": "Required. The namespace from which the tasks should be listed. Replace {namespace_id} with the project ID or number.", + "location": "path", + "pattern": "^namespaces/[^/]+$", + "required": true, + "type": "string" + }, + "resourceVersion": { + "description": "Optional. The baseline resource version from which the list or watch operation should start. Not currently used by Cloud Run.", + "location": "query", + "type": "string" + }, + "watch": { + "description": "Optional. Flag that indicates that the client expects to watch this resource as well. Not currently used by Cloud Run.", + "location": "query", + "type": "boolean" + } + }, + "path": "apis/run.googleapis.com/v1/{+parent}/tasks", + "response": { + "$ref": "ListTasksResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } }, @@ -899,7 +1333,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -997,7 +1431,7 @@ ], "parameters": { "continue": { - "description": "Optional encoded string to continue paging.", + "description": "Optional. Encoded string to continue paging.", "location": "query", "type": "string" }, @@ -1017,7 +1451,7 @@ "type": "string" }, "limit": { - "description": "The maximum number of records that should be returned.", + "description": "Optional. The maximum number of records that should be returned.", "format": "int32", "location": "query", "type": "integer" @@ -1165,7 +1599,7 @@ ], "parameters": { "continue": { - "description": "Optional encoded string to continue paging.", + "description": "Optional. Encoded string to continue paging.", "location": "query", "type": "string" }, @@ -1185,7 +1619,7 @@ "type": "string" }, "limit": { - "description": "The maximum number of records that should be returned.", + "description": "Optional. The maximum number of records that should be returned.", "format": "int32", "location": "query", "type": "integer" @@ -1218,6 +1652,97 @@ } } }, + "jobs": { + "methods": { + "getIamPolicy": { + "description": "Get the IAM Access Control policy currently in effect for the given job. This result does not include any inherited policies.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}:getIamPolicy", + "httpMethod": "GET", + "id": "run.projects.locations.jobs.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the IAM Access control policy for the specified job. Overwrites any existing policy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}:setIamPolicy", + "httpMethod": "POST", + "id": "run.projects.locations.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/[^/]+/locations/[^/]+/jobs/[^/]+$", + "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 job. There are no permissions required for making this API call.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}:testIamPermissions", + "httpMethod": "POST", + "id": "run.projects.locations.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/[^/]+/locations/[^/]+/jobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "revisions": { "methods": { "delete": { @@ -1300,7 +1825,7 @@ ], "parameters": { "continue": { - "description": "Optional encoded string to continue paging.", + "description": "Optional. Encoded string to continue paging.", "location": "query", "type": "string" }, @@ -1320,7 +1845,7 @@ "type": "string" }, "limit": { - "description": "The maximum number of records that should be returned.", + "description": "Optional. The maximum number of records that should be returned.", "format": "int32", "location": "query", "type": "integer" @@ -1390,7 +1915,7 @@ ], "parameters": { "continue": { - "description": "Optional encoded string to continue paging.", + "description": "Optional. Encoded string to continue paging.", "location": "query", "type": "string" }, @@ -1410,7 +1935,7 @@ "type": "string" }, "limit": { - "description": "The maximum number of records that should be returned.", + "description": "Optional. The maximum number of records that should be returned.", "format": "int32", "location": "query", "type": "integer" @@ -1558,7 +2083,7 @@ ], "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).", + "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" @@ -1589,7 +2114,7 @@ ], "parameters": { "continue": { - "description": "Optional encoded string to continue paging.", + "description": "Optional. Encoded string to continue paging.", "location": "query", "type": "string" }, @@ -1609,7 +2134,7 @@ "type": "string" }, "limit": { - "description": "The maximum number of records that should be returned.", + "description": "Optional. The maximum number of records that should be returned.", "format": "int32", "location": "query", "type": "integer" @@ -1736,7 +2261,7 @@ } } }, - "revision": "20210326", + "revision": "20220225", "rootUrl": "https://run.googleapis.com/", "schemas": { "Addressable": { @@ -1813,29 +2338,29 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "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" }, "ConfigMapEnvSource": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.", + "description": "Not supported by Cloud Run ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.", "id": "ConfigMapEnvSource", "properties": { "localObjectReference": { @@ -1843,22 +2368,22 @@ "description": "This field should not be used directly as it is meant to be inlined directly into the message. Use the \"name\" field instead." }, "name": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.", + "description": "The ConfigMap to select from.", "type": "string" }, "optional": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined", + "description": "(Optional) Specify whether the ConfigMap must be defined", "type": "boolean" } }, "type": "object" }, "ConfigMapKeySelector": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported Selects a key from a ConfigMap.", + "description": "Not supported by Cloud Run Selects a key from a ConfigMap.", "id": "ConfigMapKeySelector", "properties": { "key": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported The key to select.", + "description": "The key to select.", "type": "string" }, "localObjectReference": { @@ -1866,45 +2391,45 @@ "description": "This field should not be used directly as it is meant to be inlined directly into the message. Use the \"name\" field instead." }, "name": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.", + "description": "The ConfigMap to select from.", "type": "string" }, "optional": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap or its key must be defined", + "description": "(Optional) Specify whether the ConfigMap or its key must be defined", "type": "boolean" } }, "type": "object" }, "ConfigMapVolumeSource": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported Adapts a ConfigMap into a volume. The contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.", + "description": "Not supported by Cloud Run Adapts a ConfigMap into a volume. The contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.", "id": "ConfigMapVolumeSource", "properties": { "defaultMode": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", + "description": "(Optional) Integer representation of mode bits to use on created files by default. Must be a value between 01 and 0777 (octal). If 0 or not set, it will default to 0644. Directories within the path are not affected by this setting. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", "format": "int32", "type": "integer" }, "items": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.", + "description": "(Optional) If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified that is not present in the Secret, the volume setup will error unless it is marked optional.", "items": { "$ref": "KeyToPath" }, "type": "array" }, "name": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported Name of the config.", + "description": "Name of the config.", "type": "string" }, "optional": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret or its keys must be defined.", + "description": "(Optional) Specify whether the Secret or its keys must be defined.", "type": "boolean" } }, "type": "object" }, "Configuration": { - "description": "Configuration represents the \"floating HEAD\" of a linear history of Revisions, and optionally how the containers those revisions reference are built. Users create new Revisions by updating the Configuration's spec. The \"latest created\" revision's name is available under status, as is the \"latest ready\" revision's name. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#configuration", + "description": "Configuration represents the \"floating HEAD\" of a linear history of Revisions, and optionally how the containers those revisions reference are built. Users create new Revisions by updating the Configuration's spec. The \"latest created\" revision's name is available under status, as is the \"latest ready\" revision's name. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#configuration", "id": "Configuration", "properties": { "apiVersion": { @@ -1973,7 +2498,7 @@ "id": "Container", "properties": { "args": { - "description": "(Optional) Cloud Run fully managed: supported Cloud Run for Anthos: supported Arguments to the entrypoint. The docker image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell", + "description": "(Optional) Arguments to the entrypoint. The docker image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell", "items": { "type": "string" }, @@ -1986,30 +2511,30 @@ "type": "array" }, "env": { - "description": "(Optional) Cloud Run fully managed: supported Cloud Run for Anthos: supported List of environment variables to set in the container.", + "description": "(Optional) List of environment variables to set in the container.", "items": { "$ref": "EnvVar" }, "type": "array" }, "envFrom": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.", + "description": "(Optional) List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.", "items": { "$ref": "EnvFromSource" }, "type": "array" }, "image": { - "description": "Cloud Run fully managed: only supports containers from Google Container Registry Cloud Run for Anthos: supported URL of the Container image. More info: https://kubernetes.io/docs/concepts/containers/images", + "description": "Only supports containers from Google Container Registry or Artifact Registry URL of the Container image. More info: https://kubernetes.io/docs/concepts/containers/images", "type": "string" }, "imagePullPolicy": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images", + "description": "(Optional) Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images", "type": "string" }, "livenessProbe": { "$ref": "Probe", - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Periodic probe of container liveness. Container will be restarted if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + "description": "(Optional) Periodic probe of container liveness. Container will be restarted if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" }, "name": { "description": "(Optional) Name of the container specified as a DNS_LABEL. Currently unused in Cloud Run. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-label-names", @@ -2024,33 +2549,37 @@ }, "readinessProbe": { "$ref": "Probe", - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + "description": "(Optional) Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" }, "resources": { "$ref": "ResourceRequirements", - "description": "(Optional) Cloud Run fully managed: supported Cloud Run for Anthos: supported Compute Resources required by this container. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" + "description": "(Optional) Compute Resources required by this container. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" }, "securityContext": { "$ref": "SecurityContext", - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/" + "description": "(Optional) Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/" + }, + "startupProbe": { + "$ref": "Probe", + "description": "(Optional) Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" }, "terminationMessagePath": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.", + "description": "(Optional) Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.", "type": "string" }, "terminationMessagePolicy": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.", + "description": "(Optional) Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.", "type": "string" }, "volumeMounts": { - "description": "(Optional) Cloud Run fully managed: supported Volume to mount into the container's filesystem. Only supports SecretVolumeSources. Cloud Run for Anthos: supported Pod volumes to mount into the container's filesystem.", + "description": "(Optional) Volume to mount into the container's filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container's filesystem.", "items": { "$ref": "VolumeMount" }, "type": "array" }, "workingDir": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image.", + "description": "(Optional) Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image.", "type": "string" } }, @@ -2070,7 +2599,22 @@ "type": "string" }, "protocol": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Protocol for port. Must be \"TCP\". Defaults to \"TCP\".", + "description": "(Optional) Protocol for port. Must be \"TCP\". Defaults to \"TCP\".", + "type": "string" + } + }, + "type": "object" + }, + "ContainerStatus": { + "description": "ContainerStatus holds the information of container name and image digest value.", + "id": "ContainerStatus", + "properties": { + "imageDigest": { + "description": "ImageDigest holds the resolved digest for the image specified, regardless of whether a tag or digest was originally specified in the Container object.", + "type": "string" + }, + "name": { + "description": "The name of the container, if specified.", "type": "string" } }, @@ -2160,27 +2704,27 @@ "type": "array" }, "url": { - "description": "Cloud Run fully managed: not supported Cloud Run on GKE: supported Holds the URL that will serve the traffic of the DomainMapping. +optional", + "description": "Optional. Cloud Run fully managed: not supported Cloud Run on GKE: supported Holds the URL that will serve the traffic of the DomainMapping.", "type": "string" } }, "type": "object" }, "EnvFromSource": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported EnvFromSource represents the source of a set of ConfigMaps", + "description": "Not supported by Cloud Run EnvFromSource represents the source of a set of ConfigMaps", "id": "EnvFromSource", "properties": { "configMapRef": { "$ref": "ConfigMapEnvSource", - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from" + "description": "(Optional) The ConfigMap to select from" }, "prefix": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.", + "description": "(Optional) An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.", "type": "string" }, "secretRef": { "$ref": "SecretEnvSource", - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from" + "description": "(Optional) The Secret to select from" } }, "type": "object" @@ -2199,32 +2743,32 @@ }, "valueFrom": { "$ref": "EnvVarSource", - "description": "(Optional) Cloud Run fully managed: supported Source for the environment variable's value. Only supports secret_key_ref. Cloud Run for Anthos: supported Source for the environment variable's value. Cannot be used if value is not empty." + "description": "(Optional) Source for the environment variable's value. Only supports secret_key_ref. Source for the environment variable's value. Cannot be used if value is not empty." } }, "type": "object" }, "EnvVarSource": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported EnvVarSource represents a source for the value of an EnvVar.", + "description": "EnvVarSource represents a source for the value of an EnvVar.", "id": "EnvVarSource", "properties": { "configMapKeyRef": { "$ref": "ConfigMapKeySelector", - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Selects a key of a ConfigMap." + "description": "(Optional) Not supported by Cloud Run Selects a key of a ConfigMap." }, "secretKeyRef": { "$ref": "SecretKeySelector", - "description": "(Optional) Cloud Run fully managed: supported. Selects a key (version) of a secret in Secret Manager. Cloud Run for Anthos: supported. Selects a key of a secret in the pod's namespace." + "description": "(Optional) Selects a key (version) of a secret in Secret Manager." } }, "type": "object" }, "ExecAction": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported ExecAction describes a \"run in container\" action.", + "description": "Not supported by Cloud Run ExecAction describes a \"run in container\" action.", "id": "ExecAction", "properties": { "command": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.", + "description": "(Optional) Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.", "items": { "type": "string" }, @@ -2233,6 +2777,134 @@ }, "type": "object" }, + "Execution": { + "description": "Execution represents the configuration of a single execution. A execution an immutable resource that references a container image which is run to completion.", + "id": "Execution", + "properties": { + "apiVersion": { + "description": "Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources +optional", + "type": "string" + }, + "kind": { + "description": "Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds +optional", + "type": "string" + }, + "metadata": { + "$ref": "ObjectMeta", + "description": "Optional. Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional" + }, + "spec": { + "$ref": "ExecutionSpec", + "description": "Optional. Specification of the desired behavior of an execution. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status +optional" + }, + "status": { + "$ref": "ExecutionStatus", + "description": "Output only. Current status of an execution. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status +optional", + "readOnly": true + } + }, + "type": "object" + }, + "ExecutionReference": { + "description": "Reference to an Execution. Use /Executions.GetExecution with the given name to get full execution including the latest status.", + "id": "ExecutionReference", + "properties": { + "creationTimestamp": { + "description": "Optional. Creation timestamp of the execution.", + "format": "google-datetime", + "type": "string" + }, + "name": { + "description": "Optional. Name of the execution.", + "type": "string" + } + }, + "type": "object" + }, + "ExecutionSpec": { + "description": "ExecutionSpec describes how the execution will look.", + "id": "ExecutionSpec", + "properties": { + "parallelism": { + "description": "Optional. Specifies the maximum desired number of tasks the execution should run at any given time. Must be <= task_count. The actual number of tasks running in steady state will be less than this number when ((.spec.task_count - .status.successful) < .spec.parallelism), i.e. when the work left to do is less than max parallelism. More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ +optional", + "format": "int32", + "type": "integer" + }, + "taskCount": { + "description": "Optional. Specifies the desired number of tasks the execution should run. Setting to 1 means that parallelism is limited to 1 and the success of that task signals the success of the execution. More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ +optional", + "format": "int32", + "type": "integer" + }, + "template": { + "$ref": "TaskTemplateSpec", + "description": "Optional. Describes the task(s) that will be created when executing an execution." + } + }, + "type": "object" + }, + "ExecutionStatus": { + "description": "ExecutionStatus represents the current state of a Execution.", + "id": "ExecutionStatus", + "properties": { + "completionTime": { + "description": "Optional. Represents time when the execution was completed. It is not guaranteed to be set in happens-before order across separate operations. It is represented in RFC3339 form and is in UTC. +optional", + "format": "google-datetime", + "type": "string" + }, + "conditions": { + "description": "Optional. The latest available observations of an execution's current state. More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ +optional", + "items": { + "$ref": "GoogleCloudRunV1Condition" + }, + "type": "array" + }, + "failedCount": { + "description": "Optional. The number of tasks which reached phase Failed. +optional", + "format": "int32", + "type": "integer" + }, + "logUri": { + "description": "Optional. URI where logs for this execution can be found in Cloud Console.", + "type": "string" + }, + "observedGeneration": { + "description": "Optional. The 'generation' of the execution that was last processed by the controller.", + "format": "int32", + "type": "integer" + }, + "runningCount": { + "description": "Optional. The number of actively running tasks. +optional", + "format": "int32", + "type": "integer" + }, + "startTime": { + "description": "Optional. Represents time when the execution started to run. It is not guaranteed to be set in happens-before order across separate operations. It is represented in RFC3339 form and is in UTC. +optional", + "format": "google-datetime", + "type": "string" + }, + "succeededCount": { + "description": "Optional. The number of tasks which reached phase Succeeded. +optional", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ExecutionTemplateSpec": { + "description": "ExecutionTemplateSpec describes the metadata and spec an Execution should have when created from a job. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190", + "id": "ExecutionTemplateSpec", + "properties": { + "metadata": { + "$ref": "ObjectMeta", + "description": "Optional. Optional metadata for this Execution, including labels and annotations. The following annotation keys set properties of the created execution: * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`." + }, + "spec": { + "$ref": "ExecutionSpec", + "description": "Required. ExecutionSpec holds the desired configuration for executions of this job." + } + }, + "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", @@ -2257,7 +2929,7 @@ "type": "object" }, "GoogleCloudRunV1Condition": { - "description": "Condition defines a generic condition for a Resource", + "description": "Condition defines a generic condition for a Resource.", "id": "GoogleCloudRunV1Condition", "properties": { "lastTransitionTime": { @@ -2282,68 +2954,169 @@ "type": "string" }, "type": { - "description": "type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * \"Ready\": True when the Resource is ready.", + "description": "type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * \"Ready\": True when the Resource is ready.", + "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" }, "HTTPGetAction": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported HTTPGetAction describes an action based on HTTP Get requests.", + "description": "Not supported by Cloud Run HTTPGetAction describes an action based on HTTP Get requests.", "id": "HTTPGetAction", "properties": { "host": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.", + "description": "(Optional) Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.", "type": "string" }, "httpHeaders": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Custom headers to set in the request. HTTP allows repeated headers.", + "description": "(Optional) Custom headers to set in the request. HTTP allows repeated headers.", "items": { "$ref": "HTTPHeader" }, "type": "array" }, "path": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Path to access on the HTTP server.", + "description": "(Optional) Path to access on the HTTP server.", "type": "string" }, "scheme": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Scheme to use for connecting to the host. Defaults to HTTP.", + "description": "(Optional) Scheme to use for connecting to the host. Defaults to HTTP.", "type": "string" } }, "type": "object" }, "HTTPHeader": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported HTTPHeader describes a custom header to be used in HTTP probes", + "description": "Not supported by Cloud Run HTTPHeader describes a custom header to be used in HTTP probes", "id": "HTTPHeader", "properties": { "name": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported The header field name", + "description": "The header field name", "type": "string" }, "value": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported The header field value", + "description": "The header field value", "type": "string" } }, "type": "object" }, + "Job": { + "description": "Job represents the configuration of a single job. A job an immutable resource that references a container image which is run to completion.", + "id": "Job", + "properties": { + "apiVersion": { + "description": "Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources +optional", + "type": "string" + }, + "kind": { + "description": "Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds +optional", + "type": "string" + }, + "metadata": { + "$ref": "ObjectMeta", + "description": "Optional. Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional" + }, + "spec": { + "$ref": "JobSpec", + "description": "Optional. Specification of the desired behavior of a job. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status +optional" + }, + "status": { + "$ref": "JobStatus", + "description": "Output only. Current status of a job. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status +optional", + "readOnly": true + } + }, + "type": "object" + }, + "JobSpec": { + "description": "JobSpec describes how the job will look.", + "id": "JobSpec", + "properties": { + "template": { + "$ref": "ExecutionTemplateSpec", + "description": "Optional. Describes the execution that will be created when running a job." + } + }, + "type": "object" + }, + "JobStatus": { + "description": "JobStatus represents the current state of a Job.", + "id": "JobStatus", + "properties": { + "conditions": { + "description": "The latest available observations of a job's current state. More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/", + "items": { + "$ref": "GoogleCloudRunV1Condition" + }, + "type": "array" + }, + "containerStatuses": { + "description": "Status information for each of the specified containers. The status includes the resolved digest for specified images, which occurs during creation of the job.", + "items": { + "$ref": "ContainerStatus" + }, + "type": "array" + }, + "executionCount": { + "description": "Number of executions created for this job.", + "format": "int32", + "type": "integer" + }, + "latestCreatedExecution": { + "$ref": "ExecutionReference", + "description": "A pointer to the most recently created execution for this job. This is set regardless of the eventual state of the execution." + }, + "observedGeneration": { + "description": "The 'generation' of the job that was last processed by the controller.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "KeyToPath": { - "description": "Cloud Run fully managed: supported Cloud Run for Anthos: supported Maps a string key to a path within a volume.", + "description": "Maps a string key to a path within a volume.", "id": "KeyToPath", "properties": { "key": { - "description": "Cloud Run fully managed: supported The Cloud Secret Manager secret version. Can be 'latest' for the latest value or an integer for a specific version. Cloud Run for Anthos: supported The key to project.", + "description": "The Cloud Secret Manager secret version. Can be 'latest' for the latest value or an integer for a specific version. The key to project.", "type": "string" }, "mode": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Mode bits to use on this file, must be a value between 0000 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", + "description": "(Optional) Mode bits to use on this file, must be a value between 01 and 0777 (octal). If 0 or not set, the Volume's default mode will be used. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", "format": "int32", "type": "integer" }, "path": { - "description": "Cloud Run fully managed: supported Cloud Run for Anthos: supported The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.", + "description": "The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.", "type": "string" } }, @@ -2433,6 +3206,72 @@ }, "type": "object" }, + "ListExecutionsResponse": { + "description": "ListExecutionsResponse is a list of Executions resources.", + "id": "ListExecutionsResponse", + "properties": { + "apiVersion": { + "description": "The API version for this call such as \"run.googleapis.com/v1\".", + "type": "string" + }, + "items": { + "description": "List of Executions.", + "items": { + "$ref": "Execution" + }, + "type": "array" + }, + "kind": { + "description": "The kind of this resource, in this case \"ExecutionsList\".", + "type": "string" + }, + "metadata": { + "$ref": "ListMeta", + "description": "Metadata associated with this executions list." + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListJobsResponse": { + "description": "ListJobsResponse is a list of Jobs resources.", + "id": "ListJobsResponse", + "properties": { + "apiVersion": { + "description": "The API version for this call such as \"run.googleapis.com/v1\".", + "type": "string" + }, + "items": { + "description": "List of Jobs.", + "items": { + "$ref": "Job" + }, + "type": "array" + }, + "kind": { + "description": "The kind of this resource, in this case \"JobsList\".", + "type": "string" + }, + "metadata": { + "$ref": "ListMeta", + "description": "Metadata associated with this jobs list." + }, + "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", @@ -2569,12 +3408,45 @@ }, "type": "object" }, + "ListTasksResponse": { + "description": "ListTasksResponse is a list of Tasks resources.", + "id": "ListTasksResponse", + "properties": { + "apiVersion": { + "description": "The API version for this call such as \"run.googleapis.com/v1\".", + "type": "string" + }, + "items": { + "description": "List of Tasks.", + "items": { + "$ref": "Task" + }, + "type": "array" + }, + "kind": { + "description": "The kind of this resource, in this case \"TasksList\".", + "type": "string" + }, + "metadata": { + "$ref": "ListMeta", + "description": "Metadata associated with this tasks list." + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "LocalObjectReference": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.", + "description": "Not supported by Cloud Run LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.", "id": "LocalObjectReference", "properties": { "name": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "description": "(Optional) Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" } }, @@ -2622,11 +3494,11 @@ "additionalProperties": { "type": "string" }, - "description": "(Optional) 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: http://kubernetes.io/docs/user-guide/annotations", + "description": "(Optional) 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/user-guide/annotations", "type": "object" }, "clusterName": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.", + "description": "(Optional) Not supported by Cloud Run The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.", "type": "string" }, "creationTimestamp": { @@ -2635,24 +3507,24 @@ "type": "string" }, "deletionGracePeriodSeconds": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.", + "description": "(Optional) Not supported by Cloud Run Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.", "format": "int32", "type": "integer" }, "deletionTimestamp": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata", + "description": "(Optional) Not supported by Cloud Run DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata", "format": "google-datetime", "type": "string" }, "finalizers": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +patchStrategy=merge", + "description": "(Optional) Not supported by Cloud Run Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +patchStrategy=merge", "items": { "type": "string" }, "type": "array" }, "generateName": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency string generateName = 2;", + "description": "(Optional) Not supported by Cloud Run GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency string generateName = 2;", "type": "string" }, "generation": { @@ -2664,11 +3536,11 @@ "additionalProperties": { "type": "string" }, - "description": "(Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels", + "description": "(Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels", "type": "object" }, "name": { - "description": "Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional", + "description": "Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional", "type": "string" }, "namespace": { @@ -2676,7 +3548,7 @@ "type": "string" }, "ownerReferences": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected.", + "description": "(Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected.", "items": { "$ref": "OwnerReference" }, @@ -2691,7 +3563,7 @@ "type": "string" }, "uid": { - "description": "(Optional) UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "description": "(Optional) UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: https://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } }, @@ -2718,18 +3590,18 @@ "type": "string" }, "name": { - "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "description": "Name of the referent. More info: https://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "description": "UID of the referent. More info: https://kubernetes.io/docs/user-guide/identifiers#uids", "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` 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/).", + "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": { @@ -2740,7 +3612,7 @@ "type": "array" }, "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.", + "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" }, @@ -2760,43 +3632,43 @@ "type": "object" }, "Probe": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.", + "description": "Not supported by Cloud Run Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.", "id": "Probe", "properties": { "exec": { "$ref": "ExecAction", - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported One and only one of the following should be specified. Exec specifies the action to take. A field inlined from the Handler message." + "description": "(Optional) One and only one of the following should be specified. Exec specifies the action to take. A field inlined from the Handler message." }, "failureThreshold": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.", + "description": "(Optional) Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.", "format": "int32", "type": "integer" }, "httpGet": { "$ref": "HTTPGetAction", - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported HTTPGet specifies the http request to perform. A field inlined from the Handler message." + "description": "(Optional) HTTPGet specifies the http request to perform. A field inlined from the Handler message." }, "initialDelaySeconds": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", + "description": "(Optional) Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", "format": "int32", "type": "integer" }, "periodSeconds": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.", + "description": "(Optional) How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 3600. Must be greater or equal than timeout_seconds.", "format": "int32", "type": "integer" }, "successThreshold": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.", + "description": "(Optional) Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup Probes.", "format": "int32", "type": "integer" }, "tcpSocket": { "$ref": "TCPSocketAction", - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported A field inlined from the Handler message." + "description": "(Optional) TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported A field inlined from the Handler message." }, "timeoutSeconds": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", + "description": "(Optional) Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", "format": "int32", "type": "integer" } @@ -2842,21 +3714,21 @@ "additionalProperties": { "type": "string" }, - "description": "(Optional) Cloud Run fully managed: Only memory and CPU are supported. Note: The only supported values for CPU are '1', '2', and '4'. Setting 4 CPU requires at least 2Gi of memory. Cloud Run for Anthos: supported Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go", + "description": "(Optional) Only memory and CPU are supported. Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go", "type": "object" }, "requests": { "additionalProperties": { "type": "string" }, - "description": "(Optional) Cloud Run fully managed: Only memory and CPU are supported. Note: The only supported values for CPU are '1' and '2'. Cloud Run for Anthos: supported Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go", + "description": "(Optional) Only memory and CPU are supported. Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go", "type": "object" } }, "type": "object" }, "Revision": { - "description": "Revision is an immutable snapshot of code and configuration. A revision references a container image. Revisions are created by updates to a Configuration. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#revision", + "description": "Revision is an immutable snapshot of code and configuration. A revision references a container image. Revisions are created by updates to a Configuration. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#revision", "id": "Revision", "properties": { "apiVersion": { @@ -2887,23 +3759,34 @@ "id": "RevisionSpec", "properties": { "containerConcurrency": { - "description": "(Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.", + "description": "ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run for Anthos: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.", "format": "int32", "type": "integer" }, "containers": { - "description": "Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md", + "description": "Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided. The runtime contract is documented here: https://github.com/knative/serving/blob/main/docs/runtime-contract.md", "items": { "$ref": "Container" }, "type": "array" }, + "enableServiceLinks": { + "description": "Indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Cloud Run fully managed: Not supported. Cloud Run for Anthos: supported, defaults to true.", + "type": "boolean" + }, + "imagePullSecrets": { + "description": "ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling any images in pods that reference this ServiceAccount. ImagePullSecrets are distinct from Secrets because Secrets can be mounted in the pod, but ImagePullSecrets are only accessed by the kubelet. More info: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod Cloud Run fully managed: Not supported. Cloud Run for Anthos: supported.", + "items": { + "$ref": "LocalObjectReference" + }, + "type": "array" + }, "serviceAccountName": { "description": "Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project's default service account.", "type": "string" }, "timeoutSeconds": { - "description": "TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run fully managed: defaults to 300 seconds (5 minutes). Maximum allowed value is 900 seconds (15 minutes). Cloud Run for Anthos: defaults to 300 seconds (5 minutes). Maximum allowed value is configurable by the cluster operator.", + "description": "TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run fully managed: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour). Cloud Run for Anthos: defaults to 300 seconds (5 minutes). Maximum allowed value is configurable by the cluster operator.", "format": "int32", "type": "integer" }, @@ -2932,7 +3815,7 @@ "type": "string" }, "logUrl": { - "description": "Specifies the generated logging url for this particular revision based on the revision url template specified in the controller's config. +optional", + "description": "Optional. Specifies the generated logging url for this particular revision based on the revision url template specified in the controller's config.", "type": "string" }, "observedGeneration": { @@ -2953,7 +3836,7 @@ "properties": { "metadata": { "$ref": "ObjectMeta", - "description": "Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all` and `private-ranges-only`." + "description": "Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`." }, "spec": { "$ref": "RevisionSpec", @@ -2963,7 +3846,7 @@ "type": "object" }, "Route": { - "description": "Route is responsible for configuring ingress over a collection of Revisions. Some of the Revisions a Route distributes traffic over may be specified by referencing the Configuration responsible for creating them; in these cases the Route is additionally responsible for monitoring the Configuration for \"latest ready\" revision changes, and smoothly rolling out latest revisions. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#route Cloud Run currently supports referencing a single Configuration to automatically deploy the \"latest ready\" Revision from that Configuration.", + "description": "Route is responsible for configuring ingress over a collection of Revisions. Some of the Revisions a Route distributes traffic over may be specified by referencing the Configuration responsible for creating them; in these cases the Route is additionally responsible for monitoring the Configuration for \"latest ready\" revision changes, and smoothly rolling out latest revisions. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#route Cloud Run currently supports referencing a single Configuration to automatically deploy the \"latest ready\" Revision from that Configuration.", "id": "Route", "properties": { "apiVersion": { @@ -3037,8 +3920,14 @@ }, "type": "object" }, + "RunJobRequest": { + "description": "Request message for creating a new execution of a job.", + "id": "RunJobRequest", + "properties": {}, + "type": "object" + }, "SecretEnvSource": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret's Data field will represent the key-value pairs as environment variables.", + "description": "Not supported by Cloud Run SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret's Data field will represent the key-value pairs as environment variables.", "id": "SecretEnvSource", "properties": { "localObjectReference": { @@ -3046,22 +3935,22 @@ "description": "This field should not be used directly as it is meant to be inlined directly into the message. Use the \"name\" field instead." }, "name": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.", + "description": "The Secret to select from.", "type": "string" }, "optional": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined", + "description": "(Optional) Specify whether the Secret must be defined", "type": "boolean" } }, "type": "object" }, "SecretKeySelector": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported SecretKeySelector selects a key of a Secret.", + "description": "SecretKeySelector selects a key of a Secret.", "id": "SecretKeySelector", "properties": { "key": { - "description": "Cloud Run fully managed: supported A Cloud Secret Manager secret version. Must be 'latest' for the latest version or an integer for a specific version. Cloud Run for Anthos: supported The key of the secret to select from. Must be a valid secret key.", + "description": "A Cloud Secret Manager secret version. Must be 'latest' for the latest version or an integer for a specific version. The key of the secret to select from. Must be a valid secret key.", "type": "string" }, "localObjectReference": { @@ -3069,49 +3958,49 @@ "description": "This field should not be used directly as it is meant to be inlined directly into the message. Use the \"name\" field instead." }, "name": { - "description": "Cloud Run fully managed: supported The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. Cloud Run for Anthos: supported The name of the secret in the pod's namespace to select from.", + "description": "The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod's namespace to select from.", "type": "string" }, "optional": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret or its key must be defined", + "description": "(Optional) Specify whether the Secret or its key must be defined", "type": "boolean" } }, "type": "object" }, "SecretVolumeSource": { - "description": "Cloud Run fully managed: supported The secret's value will be presented as the content of a file whose name is defined in the item path. If no items are defined, the name of the file is the secret_name. Cloud Run for Anthos: supported The contents of the target Secret's Data field will be presented in a volume as files using the keys in the Data field as the file names.", + "description": "The secret's value will be presented as the content of a file whose name is defined in the item path. If no items are defined, the name of the file is the secret_name. The contents of the target Secret's Data field will be presented in a volume as files using the keys in the Data field as the file names.", "id": "SecretVolumeSource", "properties": { "defaultMode": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Mode bits to use on created files by default. Must be a value between 0000 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. NOTE: This is an integer representation of the mode bits. So, the integer value should look exactly as the chmod numeric notation, i.e. Unix chmod \"777\" (a=rwx) should have the integer value 777.", + "description": "Integer representation of mode bits to use on created files by default. Must be a value between 01 and 0777 (octal). If 0 or not set, it will default to 0644. Directories within the path are not affected by this setting. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", "format": "int32", "type": "integer" }, "items": { - "description": "(Optional) Cloud Run fully managed: supported If unspecified, the volume will expose a file whose name is the secret_name. If specified, the key will be used as the version to fetch from Cloud Secret Manager and the path will be the name of the file exposed in the volume. When items are defined, they must specify a key and a path. Cloud Run for Anthos: supported If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.", + "description": "(Optional) If unspecified, the volume will expose a file whose name is the secret_name. If specified, the key will be used as the version to fetch from Cloud Secret Manager and the path will be the name of the file exposed in the volume. When items are defined, they must specify a key and a path. If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified that is not present in the Secret, the volume setup will error unless it is marked optional.", "items": { "$ref": "KeyToPath" }, "type": "array" }, "optional": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret or its keys must be defined.", + "description": "(Optional) Specify whether the Secret or its keys must be defined.", "type": "boolean" }, "secretName": { - "description": "Cloud Run fully managed: supported The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. Cloud Run for Anthos: supported Name of the secret in the container's namespace to use.", + "description": "The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. Name of the secret in the container's namespace to use.", "type": "string" } }, "type": "object" }, "SecurityContext": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence.", + "description": "Not supported by Cloud Run SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence.", "id": "SecurityContext", "properties": { "runAsUser": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.", + "description": "(Optional) The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.", "format": "int32", "type": "integer" } @@ -3119,7 +4008,7 @@ "type": "object" }, "Service": { - "description": "Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service's controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service", + "description": "Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service's controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service", "id": "Service", "properties": { "apiVersion": { @@ -3301,28 +4190,165 @@ "type": "integer" }, "uid": { - "description": "UID of the resource. (when there is a single resource which can be described). More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional", + "description": "UID of the resource. (when there is a single resource which can be described). More info: https://kubernetes.io/docs/user-guide/identifiers#uids +optional", "type": "string" } }, "type": "object" }, "TCPSocketAction": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported TCPSocketAction describes an action based on opening a socket", + "description": "Not supported by Cloud Run TCPSocketAction describes an action based on opening a socket", "id": "TCPSocketAction", "properties": { "host": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Optional: Host name to connect to, defaults to the pod IP.", + "description": "(Optional) Optional: Host name to connect to, defaults to the pod IP.", "type": "string" }, "port": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. This field is currently limited to integer types only because of proto's inability to properly support the IntOrString golang type.", + "description": "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. This field is currently limited to integer types only because of proto's inability to properly support the IntOrString golang type.", "format": "int32", "type": "integer" } }, "type": "object" }, + "Task": { + "description": "Task represents a single run of a container to completion.", + "id": "Task", + "properties": { + "apiVersion": { + "description": "Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources +optional", + "type": "string" + }, + "kind": { + "description": "Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds +optional", + "type": "string" + }, + "metadata": { + "$ref": "ObjectMeta", + "description": "Optional. Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional" + }, + "spec": { + "$ref": "TaskSpec", + "description": "Optional. Specification of the desired behavior of an execution. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status +optional" + }, + "status": { + "$ref": "TaskStatus", + "description": "Output only. Current status of an execution. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status +optional", + "readOnly": true + } + }, + "type": "object" + }, + "TaskAttemptResult": { + "description": "Result of a task attempt.", + "id": "TaskAttemptResult", + "properties": { + "exitCode": { + "description": "Optional. The exit code of this attempt. This may be unset if the container was unable to exit cleanly with a code due to some other failure. See status field for possible failure details.", + "format": "int32", + "type": "integer" + }, + "status": { + "$ref": "GoogleRpcStatus", + "description": "Optional. The status of this attempt. If the status code is OK, then the attempt succeeded." + } + }, + "type": "object" + }, + "TaskSpec": { + "description": "TaskSpec is a description of a task.", + "id": "TaskSpec", + "properties": { + "containers": { + "description": "Optional. List of containers belonging to the task. We disallow a number of fields on this Container. Only a single container may be provided.", + "items": { + "$ref": "Container" + }, + "type": "array" + }, + "maxRetries": { + "description": "Optional. Number of retries allowed per task, before marking this job failed.", + "format": "int32", + "type": "integer" + }, + "serviceAccountName": { + "description": "Optional. Email address of the IAM service account associated with the task of a job execution. The service account represents the identity of the running task, and determines what permissions the task has. If not provided, the task will use the project's default service account. +optional", + "type": "string" + }, + "timeoutSeconds": { + "description": "Optional. Optional duration in seconds the task may be active before the system will actively try to mark it failed and kill associated containers. This applies per attempt of a task, meaning each retry can run for the full timeout. +optional", + "format": "int64", + "type": "string" + }, + "volumes": { + "description": "Optional. List of volumes that can be mounted by containers belonging to the task. More info: https://kubernetes.io/docs/concepts/storage/volumes +optional", + "items": { + "$ref": "Volume" + }, + "type": "array" + } + }, + "type": "object" + }, + "TaskStatus": { + "description": "TaskStatus represents the status of a task of a job execution.", + "id": "TaskStatus", + "properties": { + "completionTime": { + "description": "Optional. Represents time when the task was completed. It is not guaranteed to be set in happens-before order across separate operations. It is represented in RFC3339 form and is in UTC. +optional", + "format": "google-datetime", + "type": "string" + }, + "conditions": { + "description": "Optional. The latest available observations of a task's current state. More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ +optional", + "items": { + "$ref": "GoogleCloudRunV1Condition" + }, + "type": "array" + }, + "index": { + "description": "Required. Index of the task, unique per execution, and beginning at 0.", + "format": "int32", + "type": "integer" + }, + "lastAttemptResult": { + "$ref": "TaskAttemptResult", + "description": "Optional. Result of the last attempt of this task. +optional" + }, + "logUri": { + "description": "Optional. URI where logs for this task can be found in Cloud Console.", + "type": "string" + }, + "observedGeneration": { + "description": "Optional. The 'generation' of the execution that was last processed by the controller.", + "format": "int32", + "type": "integer" + }, + "retried": { + "description": "Optional. The number of times this task was retried. Instances are retried when they fail up to the maxRetries limit. +optional", + "format": "int32", + "type": "integer" + }, + "startTime": { + "description": "Optional. Represents time when the task started to run. It is not guaranteed to be set in happens-before order across separate operations. It is represented in RFC3339 form and is in UTC. +optional", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "TaskTemplateSpec": { + "description": "TaskTemplateSpec describes the data a task should have when created from a template.", + "id": "TaskTemplateSpec", + "properties": { + "spec": { + "$ref": "TaskSpec", + "description": "Optional. Specification of the desired behavior of the task. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status +optional" + } + }, + "type": "object" + }, "TestIamPermissionsRequest": { "description": "Request message for `TestIamPermissions` method.", "id": "TestIamPermissionsRequest", @@ -3360,66 +4386,64 @@ "type": "string" }, "latestRevision": { - "description": "LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty. +optional", + "description": "Optional. LatestRevision may be provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty.", "type": "boolean" }, "percent": { - "description": "Percent specifies percent of the traffic to this Revision or Configuration. This defaults to zero if unspecified. Cloud Run currently requires 100 percent for a single ConfigurationName TrafficTarget entry.", + "description": "Percent specifies percent of the traffic to this Revision or Configuration. This defaults to zero if unspecified.", "format": "int32", "type": "integer" }, "revisionName": { - "description": "RevisionName of a specific revision to which to send this portion of traffic. This is mutually exclusive with ConfigurationName. Providing RevisionName in spec is not currently supported by Cloud Run.", + "description": "RevisionName of a specific revision to which to send this portion of traffic. This is mutually exclusive with ConfigurationName.", "type": "string" }, "tag": { - "description": "Tag is optionally used to expose a dedicated url for referencing this target exclusively. +optional", + "description": "Optional. Tag is used to expose a dedicated url for referencing this target exclusively.", "type": "string" }, "url": { - "description": "Output only. URL displays the URL for accessing tagged traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)", + "description": "Output only. URL displays the URL for accessing tagged traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. https://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc.)", "type": "string" } }, "type": "object" }, "Volume": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported Volume represents a named volume in a container.", + "description": "Volume represents a named volume in a container.", "id": "Volume", "properties": { "configMap": { - "$ref": "ConfigMapVolumeSource", - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported" + "$ref": "ConfigMapVolumeSource" }, "name": { - "description": "Cloud Run fully managed: supported Cloud Run for Anthos: supported Volume's name.", + "description": "Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved.", "type": "string" }, "secret": { - "$ref": "SecretVolumeSource", - "description": "Cloud Run fully managed: supported Cloud Run for Anthos: supported" + "$ref": "SecretVolumeSource" } }, "type": "object" }, "VolumeMount": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported VolumeMount describes a mounting of a Volume within a container.", + "description": "VolumeMount describes a mounting of a Volume within a container.", "id": "VolumeMount", "properties": { "mountPath": { - "description": "Cloud Run fully managed: supported Cloud Run for Anthos: supported Path within the container at which the volume should be mounted. Must not contain ':'.", + "description": "Path within the container at which the volume should be mounted. Must not contain ':'.", "type": "string" }, "name": { - "description": "Cloud Run fully managed: supported Cloud Run for Anthos: supported This must match the Name of a Volume.", + "description": "The name of the volume. There must be a corresponding Volume with the same name.", "type": "string" }, "readOnly": { - "description": "(Optional) Cloud Run fully managed: supported Cloud Run for Anthos: supported Only true is accepted. Defaults to true.", + "description": "(Optional) Only true is accepted. Defaults to true.", "type": "boolean" }, "subPath": { - "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root).", + "description": "(Optional) Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root).", "type": "string" } }, diff --git a/etc/api/run/v1alpha1/run-api.json b/etc/api/run/v1alpha1/run-api.json index ccfd47b5b3..f9387049eb 100644 --- a/etc/api/run/v1alpha1/run-api.json +++ b/etc/api/run/v1alpha1/run-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -12,7 +12,7 @@ "baseUrl": "https://run.googleapis.com/", "batchPath": "batch", "canonicalName": "Cloud Run", - "description": "Deploy and manage user provided container images that scale automatically based on HTTP traffic.", + "description": "Deploy and manage user provided container images that scale automatically based on incoming requests. The Cloud Run Admin API v1 follows the Knative Serving API specification, while v2 is aligned with Google Cloud AIP-based API standards, as described in https://google.aip.dev/.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/run/", "fullyEncodeReservedExpansion": true, @@ -107,299 +107,6 @@ "resources": { "namespaces": { "resources": { - "authorizeddomains": { - "methods": { - "list": { - "description": "RPC to list authorized domains.", - "flatPath": "apis/domains.cloudrun.com/v1alpha1/namespaces/{namespacesId}/authorizeddomains", - "httpMethod": "GET", - "id": "run.namespaces.authorizeddomains.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "pageSize": { - "description": "Maximum results to return per page.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Continuation token for fetching the next page of results.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Name of the parent Application resource. Example: `apps/myapp`.", - "location": "path", - "pattern": "^namespaces/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "apis/domains.cloudrun.com/v1alpha1/{+parent}/authorizeddomains", - "response": { - "$ref": "ListAuthorizedDomainsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - }, - "configurations": { - "methods": { - "get": { - "description": "Rpc to get information about a configuration.", - "flatPath": "apis/serving.knative.dev/v1alpha1/namespaces/{namespacesId}/configurations/{configurationsId}", - "httpMethod": "GET", - "id": "run.namespaces.configurations.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the configuration being retrieved. If needed, replace {namespace_id} with the project ID.", - "location": "path", - "pattern": "^namespaces/[^/]+/configurations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "apis/serving.knative.dev/v1alpha1/{+name}", - "response": { - "$ref": "Configuration" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Rpc to list configurations.", - "flatPath": "apis/serving.knative.dev/v1alpha1/namespaces/{namespacesId}/configurations", - "httpMethod": "GET", - "id": "run.namespaces.configurations.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "continue": { - "description": "Optional encoded string to continue paging.", - "location": "query", - "type": "string" - }, - "fieldSelector": { - "description": "Allows to filter resources based on a specific value for a field name. Send this in a query string format. i.e. 'metadata.name%3Dlorem'. Not currently used by Cloud Run.", - "location": "query", - "type": "string" - }, - "includeUninitialized": { - "description": "Not currently used by Cloud Run.", - "location": "query", - "type": "boolean" - }, - "labelSelector": { - "description": "Allows to filter resources based on a label. Supported operations are =, !=, exists, in, and notIn.", - "location": "query", - "type": "string" - }, - "limit": { - "description": "The maximum number of records that should be returned.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "parent": { - "description": "The project ID or project number from which the configurations should be listed.", - "location": "path", - "pattern": "^namespaces/[^/]+$", - "required": true, - "type": "string" - }, - "resourceVersion": { - "description": "The baseline resource version from which the list or watch operation should start. Not currently used by Cloud Run.", - "location": "query", - "type": "string" - }, - "watch": { - "description": "Flag that indicates that the client expects to watch this resource as well. Not currently used by Cloud Run.", - "location": "query", - "type": "boolean" - } - }, - "path": "apis/serving.knative.dev/v1alpha1/{+parent}/configurations", - "response": { - "$ref": "ListConfigurationsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - }, - "domainmappings": { - "methods": { - "create": { - "description": "Creates a new domain mapping.", - "flatPath": "apis/domains.cloudrun.com/v1alpha1/namespaces/{namespacesId}/domainmappings", - "httpMethod": "POST", - "id": "run.namespaces.domainmappings.create", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "The project ID or project number in which this domain mapping should be created.", - "location": "path", - "pattern": "^namespaces/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "apis/domains.cloudrun.com/v1alpha1/{+parent}/domainmappings", - "request": { - "$ref": "DomainMapping" - }, - "response": { - "$ref": "DomainMapping" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Rpc to delete a domain mapping.", - "flatPath": "apis/domains.cloudrun.com/v1alpha1/namespaces/{namespacesId}/domainmappings/{domainmappingsId}", - "httpMethod": "DELETE", - "id": "run.namespaces.domainmappings.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "apiVersion": { - "description": "Cloud Run currently ignores this parameter.", - "location": "query", - "type": "string" - }, - "kind": { - "description": "Cloud Run currently ignores this parameter.", - "location": "query", - "type": "string" - }, - "name": { - "description": "The name of the domain mapping being deleted. If needed, replace {namespace_id} with the project ID.", - "location": "path", - "pattern": "^namespaces/[^/]+/domainmappings/[^/]+$", - "required": true, - "type": "string" - }, - "orphanDependents": { - "description": "Deprecated. Specifies the cascade behavior on delete. Cloud Run only supports cascading behavior, so this must be false. This attribute is deprecated, and is now replaced with PropagationPolicy See https://github.com/kubernetes/kubernetes/issues/46659 for more info.", - "location": "query", - "type": "boolean" - }, - "propagationPolicy": { - "description": "Specifies the propagation policy of delete. Cloud Run currently ignores this setting, and deletes in the background. Please see kubernetes.io/docs/concepts/workloads/controllers/garbage-collection/ for more information.", - "location": "query", - "type": "string" - } - }, - "path": "apis/domains.cloudrun.com/v1alpha1/{+name}", - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Rpc to get information about a domain mapping.", - "flatPath": "apis/domains.cloudrun.com/v1alpha1/namespaces/{namespacesId}/domainmappings/{domainmappingsId}", - "httpMethod": "GET", - "id": "run.namespaces.domainmappings.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the domain mapping being retrieved. If needed, replace {namespace_id} with the project ID.", - "location": "path", - "pattern": "^namespaces/[^/]+/domainmappings/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "apis/domains.cloudrun.com/v1alpha1/{+name}", - "response": { - "$ref": "DomainMapping" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Rpc to list domain mappings.", - "flatPath": "apis/domains.cloudrun.com/v1alpha1/namespaces/{namespacesId}/domainmappings", - "httpMethod": "GET", - "id": "run.namespaces.domainmappings.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "continue": { - "description": "Optional encoded string to continue paging.", - "location": "query", - "type": "string" - }, - "fieldSelector": { - "description": "Allows to filter resources based on a specific value for a field name. Send this in a query string format. i.e. 'metadata.name%3Dlorem'. Not currently used by Cloud Run.", - "location": "query", - "type": "string" - }, - "includeUninitialized": { - "description": "Not currently used by Cloud Run.", - "location": "query", - "type": "boolean" - }, - "labelSelector": { - "description": "Allows to filter resources based on a label. Supported operations are =, !=, exists, in, and notIn.", - "location": "query", - "type": "string" - }, - "limit": { - "description": "The maximum number of records that should be returned.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "parent": { - "description": "The project ID or project number from which the domain mappings should be listed.", - "location": "path", - "pattern": "^namespaces/[^/]+$", - "required": true, - "type": "string" - }, - "resourceVersion": { - "description": "The baseline resource version from which the list or watch operation should start. Not currently used by Cloud Run.", - "location": "query", - "type": "string" - }, - "watch": { - "description": "Flag that indicates that the client expects to watch this resource as well. Not currently used by Cloud Run.", - "location": "query", - "type": "boolean" - } - }, - "path": "apis/domains.cloudrun.com/v1alpha1/{+parent}/domainmappings", - "response": { - "$ref": "ListDomainMappingsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - }, "jobs": { "methods": { "create": { @@ -557,1398 +264,15 @@ ] } } - }, - "revisions": { - "methods": { - "delete": { - "description": "Rpc to delete a revision.", - "flatPath": "apis/serving.knative.dev/v1alpha1/namespaces/{namespacesId}/revisions/{revisionsId}", - "httpMethod": "DELETE", - "id": "run.namespaces.revisions.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "apiVersion": { - "description": "Cloud Run currently ignores this parameter.", - "location": "query", - "type": "string" - }, - "kind": { - "description": "Cloud Run currently ignores this parameter.", - "location": "query", - "type": "string" - }, - "name": { - "description": "The name of the revision being deleted. If needed, replace {namespace_id} with the project ID.", - "location": "path", - "pattern": "^namespaces/[^/]+/revisions/[^/]+$", - "required": true, - "type": "string" - }, - "orphanDependents": { - "description": "Deprecated. Specifies the cascade behavior on delete. Cloud Run only supports cascading behavior, so this must be false. This attribute is deprecated, and is now replaced with PropagationPolicy See https://github.com/kubernetes/kubernetes/issues/46659 for more info.", - "location": "query", - "type": "boolean" - }, - "propagationPolicy": { - "description": "Specifies the propagation policy of delete. Cloud Run currently ignores this setting, and deletes in the background. Please see kubernetes.io/docs/concepts/workloads/controllers/garbage-collection/ for more information.", - "location": "query", - "type": "string" - } - }, - "path": "apis/serving.knative.dev/v1alpha1/{+name}", - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Rpc to get information about a revision.", - "flatPath": "apis/serving.knative.dev/v1alpha1/namespaces/{namespacesId}/revisions/{revisionsId}", - "httpMethod": "GET", - "id": "run.namespaces.revisions.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the revision being retrieved. If needed, replace {namespace_id} with the project ID.", - "location": "path", - "pattern": "^namespaces/[^/]+/revisions/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "apis/serving.knative.dev/v1alpha1/{+name}", - "response": { - "$ref": "Revision" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Rpc to list revisions.", - "flatPath": "apis/serving.knative.dev/v1alpha1/namespaces/{namespacesId}/revisions", - "httpMethod": "GET", - "id": "run.namespaces.revisions.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "continue": { - "description": "Optional encoded string to continue paging.", - "location": "query", - "type": "string" - }, - "fieldSelector": { - "description": "Allows to filter resources based on a specific value for a field name. Send this in a query string format. i.e. 'metadata.name%3Dlorem'. Not currently used by Cloud Run.", - "location": "query", - "type": "string" - }, - "includeUninitialized": { - "description": "Not currently used by Cloud Run.", - "location": "query", - "type": "boolean" - }, - "labelSelector": { - "description": "Allows to filter resources based on a label. Supported operations are =, !=, exists, in, and notIn.", - "location": "query", - "type": "string" - }, - "limit": { - "description": "The maximum number of records that should be returned.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "parent": { - "description": "The project ID or project number from which the revisions should be listed.", - "location": "path", - "pattern": "^namespaces/[^/]+$", - "required": true, - "type": "string" - }, - "resourceVersion": { - "description": "The baseline resource version from which the list or watch operation should start. Not currently used by Cloud Run.", - "location": "query", - "type": "string" - }, - "watch": { - "description": "Flag that indicates that the client expects to watch this resource as well. Not currently used by Cloud Run.", - "location": "query", - "type": "boolean" - } - }, - "path": "apis/serving.knative.dev/v1alpha1/{+parent}/revisions", - "response": { - "$ref": "ListRevisionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - }, - "routes": { - "methods": { - "get": { - "description": "Rpc to get information about a route.", - "flatPath": "apis/serving.knative.dev/v1alpha1/namespaces/{namespacesId}/routes/{routesId}", - "httpMethod": "GET", - "id": "run.namespaces.routes.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the route being retrieved. If needed, replace {namespace_id} with the project ID.", - "location": "path", - "pattern": "^namespaces/[^/]+/routes/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "apis/serving.knative.dev/v1alpha1/{+name}", - "response": { - "$ref": "Route" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Rpc to list routes.", - "flatPath": "apis/serving.knative.dev/v1alpha1/namespaces/{namespacesId}/routes", - "httpMethod": "GET", - "id": "run.namespaces.routes.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "continue": { - "description": "Optional encoded string to continue paging.", - "location": "query", - "type": "string" - }, - "fieldSelector": { - "description": "Allows to filter resources based on a specific value for a field name. Send this in a query string format. i.e. 'metadata.name%3Dlorem'. Not currently used by Cloud Run.", - "location": "query", - "type": "string" - }, - "includeUninitialized": { - "description": "Not currently used by Cloud Run.", - "location": "query", - "type": "boolean" - }, - "labelSelector": { - "description": "Allows to filter resources based on a label. Supported operations are =, !=, exists, in, and notIn.", - "location": "query", - "type": "string" - }, - "limit": { - "description": "The maximum number of records that should be returned.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "parent": { - "description": "The project ID or project number from which the routes should be listed.", - "location": "path", - "pattern": "^namespaces/[^/]+$", - "required": true, - "type": "string" - }, - "resourceVersion": { - "description": "The baseline resource version from which the list or watch operation should start. Not currently used by Cloud Run.", - "location": "query", - "type": "string" - }, - "watch": { - "description": "Flag that indicates that the client expects to watch this resource as well. Not currently used by Cloud Run.", - "location": "query", - "type": "boolean" - } - }, - "path": "apis/serving.knative.dev/v1alpha1/{+parent}/routes", - "response": { - "$ref": "ListRoutesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - }, - "services": { - "methods": { - "create": { - "description": "Rpc to create a service.", - "flatPath": "apis/serving.knative.dev/v1alpha1/namespaces/{namespacesId}/services", - "httpMethod": "POST", - "id": "run.namespaces.services.create", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "The project ID or project number in which this service should be created.", - "location": "path", - "pattern": "^namespaces/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "apis/serving.knative.dev/v1alpha1/{+parent}/services", - "request": { - "$ref": "Service" - }, - "response": { - "$ref": "Service" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Rpc to delete a service. This will cause the Service to stop serving traffic and will delete the child entities like Routes, Configurations and Revisions.", - "flatPath": "apis/serving.knative.dev/v1alpha1/namespaces/{namespacesId}/services/{servicesId}", - "httpMethod": "DELETE", - "id": "run.namespaces.services.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "apiVersion": { - "description": "Cloud Run currently ignores this parameter.", - "location": "query", - "type": "string" - }, - "kind": { - "description": "Cloud Run currently ignores this parameter.", - "location": "query", - "type": "string" - }, - "name": { - "description": "The name of the service being deleted. If needed, replace {namespace_id} with the project ID.", - "location": "path", - "pattern": "^namespaces/[^/]+/services/[^/]+$", - "required": true, - "type": "string" - }, - "orphanDependents": { - "description": "Deprecated. Specifies the cascade behavior on delete. Cloud Run only supports cascading behavior, so this must be false. This attribute is deprecated, and is now replaced with PropagationPolicy See https://github.com/kubernetes/kubernetes/issues/46659 for more info.", - "location": "query", - "type": "boolean" - }, - "propagationPolicy": { - "description": "Specifies the propagation policy of delete. Cloud Run currently ignores this setting, and deletes in the background. Please see kubernetes.io/docs/concepts/workloads/controllers/garbage-collection/ for more information.", - "location": "query", - "type": "string" - } - }, - "path": "apis/serving.knative.dev/v1alpha1/{+name}", - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Rpc to get information about a service.", - "flatPath": "apis/serving.knative.dev/v1alpha1/namespaces/{namespacesId}/services/{servicesId}", - "httpMethod": "GET", - "id": "run.namespaces.services.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the service being retrieved. If needed, replace {namespace_id} with the project ID.", - "location": "path", - "pattern": "^namespaces/[^/]+/services/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "apis/serving.knative.dev/v1alpha1/{+name}", - "response": { - "$ref": "Service" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Rpc to list services.", - "flatPath": "apis/serving.knative.dev/v1alpha1/namespaces/{namespacesId}/services", - "httpMethod": "GET", - "id": "run.namespaces.services.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "continue": { - "description": "Optional encoded string to continue paging.", - "location": "query", - "type": "string" - }, - "fieldSelector": { - "description": "Allows to filter resources based on a specific value for a field name. Send this in a query string format. i.e. 'metadata.name%3Dlorem'. Not currently used by Cloud Run.", - "location": "query", - "type": "string" - }, - "includeUninitialized": { - "description": "Not currently used by Cloud Run.", - "location": "query", - "type": "boolean" - }, - "labelSelector": { - "description": "Allows to filter resources based on a label. Supported operations are =, !=, exists, in, and notIn.", - "location": "query", - "type": "string" - }, - "limit": { - "description": "The maximum number of records that should be returned.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "parent": { - "description": "The project ID or project number from which the services should be listed.", - "location": "path", - "pattern": "^namespaces/[^/]+$", - "required": true, - "type": "string" - }, - "resourceVersion": { - "description": "The baseline resource version from which the list or watch operation should start. Not currently used by Cloud Run.", - "location": "query", - "type": "string" - }, - "watch": { - "description": "Flag that indicates that the client expects to watch this resource as well. Not currently used by Cloud Run.", - "location": "query", - "type": "boolean" - } - }, - "path": "apis/serving.knative.dev/v1alpha1/{+parent}/services", - "response": { - "$ref": "ListServicesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "replaceService": { - "description": "Rpc to replace a service. Only the spec and metadata labels and annotations are modifiable. After the Update request, Cloud Run will work to make the 'status' match the requested 'spec'. May provide metadata.resourceVersion to enforce update from last read for optimistic concurrency control.", - "flatPath": "apis/serving.knative.dev/v1alpha1/namespaces/{namespacesId}/services/{servicesId}", - "httpMethod": "PUT", - "id": "run.namespaces.services.replaceService", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the service being replaced. If needed, replace {namespace_id} with the project ID.", - "location": "path", - "pattern": "^namespaces/[^/]+/services/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "apis/serving.knative.dev/v1alpha1/{+name}", - "request": { - "$ref": "Service" - }, - "response": { - "$ref": "Service" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - } - } - }, - "projects": { - "resources": { - "locations": { - "methods": { - "list": { - "description": "Lists information about the supported locations for this service.", - "flatPath": "v1alpha1/projects/{projectsId}/locations", - "httpMethod": "GET", - "id": "run.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 will select 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" - ] - } - }, - "resources": { - "authorizeddomains": { - "methods": { - "list": { - "description": "RPC to list authorized domains.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/authorizeddomains", - "httpMethod": "GET", - "id": "run.projects.locations.authorizeddomains.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "pageSize": { - "description": "Maximum results to return per page.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Continuation token for fetching the next page of results.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Name of the parent Application resource. Example: `apps/myapp`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha1/{+parent}/authorizeddomains", - "response": { - "$ref": "ListAuthorizedDomainsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - }, - "configurations": { - "methods": { - "get": { - "description": "Rpc to get information about a configuration.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/configurations/{configurationsId}", - "httpMethod": "GET", - "id": "run.projects.locations.configurations.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the configuration being retrieved. If needed, replace {namespace_id} with the project ID.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/configurations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha1/{+name}", - "response": { - "$ref": "Configuration" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Rpc to list configurations.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/configurations", - "httpMethod": "GET", - "id": "run.projects.locations.configurations.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "continue": { - "description": "Optional encoded string to continue paging.", - "location": "query", - "type": "string" - }, - "fieldSelector": { - "description": "Allows to filter resources based on a specific value for a field name. Send this in a query string format. i.e. 'metadata.name%3Dlorem'. Not currently used by Cloud Run.", - "location": "query", - "type": "string" - }, - "includeUninitialized": { - "description": "Not currently used by Cloud Run.", - "location": "query", - "type": "boolean" - }, - "labelSelector": { - "description": "Allows to filter resources based on a label. Supported operations are =, !=, exists, in, and notIn.", - "location": "query", - "type": "string" - }, - "limit": { - "description": "The maximum number of records that should be returned.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "parent": { - "description": "The project ID or project number from which the configurations should be listed.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - }, - "resourceVersion": { - "description": "The baseline resource version from which the list or watch operation should start. Not currently used by Cloud Run.", - "location": "query", - "type": "string" - }, - "watch": { - "description": "Flag that indicates that the client expects to watch this resource as well. Not currently used by Cloud Run.", - "location": "query", - "type": "boolean" - } - }, - "path": "v1alpha1/{+parent}/configurations", - "response": { - "$ref": "ListConfigurationsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - }, - "domainmappings": { - "methods": { - "create": { - "description": "Creates a new domain mapping.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/domainmappings", - "httpMethod": "POST", - "id": "run.projects.locations.domainmappings.create", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "The project ID or project number in which this domain mapping should be created.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha1/{+parent}/domainmappings", - "request": { - "$ref": "DomainMapping" - }, - "response": { - "$ref": "DomainMapping" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Rpc to delete a domain mapping.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/domainmappings/{domainmappingsId}", - "httpMethod": "DELETE", - "id": "run.projects.locations.domainmappings.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "apiVersion": { - "description": "Cloud Run currently ignores this parameter.", - "location": "query", - "type": "string" - }, - "kind": { - "description": "Cloud Run currently ignores this parameter.", - "location": "query", - "type": "string" - }, - "name": { - "description": "The name of the domain mapping being deleted. If needed, replace {namespace_id} with the project ID.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/domainmappings/[^/]+$", - "required": true, - "type": "string" - }, - "orphanDependents": { - "description": "Deprecated. Specifies the cascade behavior on delete. Cloud Run only supports cascading behavior, so this must be false. This attribute is deprecated, and is now replaced with PropagationPolicy See https://github.com/kubernetes/kubernetes/issues/46659 for more info.", - "location": "query", - "type": "boolean" - }, - "propagationPolicy": { - "description": "Specifies the propagation policy of delete. Cloud Run currently ignores this setting, and deletes in the background. Please see kubernetes.io/docs/concepts/workloads/controllers/garbage-collection/ for more information.", - "location": "query", - "type": "string" - } - }, - "path": "v1alpha1/{+name}", - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Rpc to get information about a domain mapping.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/domainmappings/{domainmappingsId}", - "httpMethod": "GET", - "id": "run.projects.locations.domainmappings.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the domain mapping being retrieved. If needed, replace {namespace_id} with the project ID.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/domainmappings/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha1/{+name}", - "response": { - "$ref": "DomainMapping" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Rpc to list domain mappings.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/domainmappings", - "httpMethod": "GET", - "id": "run.projects.locations.domainmappings.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "continue": { - "description": "Optional encoded string to continue paging.", - "location": "query", - "type": "string" - }, - "fieldSelector": { - "description": "Allows to filter resources based on a specific value for a field name. Send this in a query string format. i.e. 'metadata.name%3Dlorem'. Not currently used by Cloud Run.", - "location": "query", - "type": "string" - }, - "includeUninitialized": { - "description": "Not currently used by Cloud Run.", - "location": "query", - "type": "boolean" - }, - "labelSelector": { - "description": "Allows to filter resources based on a label. Supported operations are =, !=, exists, in, and notIn.", - "location": "query", - "type": "string" - }, - "limit": { - "description": "The maximum number of records that should be returned.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "parent": { - "description": "The project ID or project number from which the domain mappings should be listed.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - }, - "resourceVersion": { - "description": "The baseline resource version from which the list or watch operation should start. Not currently used by Cloud Run.", - "location": "query", - "type": "string" - }, - "watch": { - "description": "Flag that indicates that the client expects to watch this resource as well. Not currently used by Cloud Run.", - "location": "query", - "type": "boolean" - } - }, - "path": "v1alpha1/{+parent}/domainmappings", - "response": { - "$ref": "ListDomainMappingsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - }, - "revisions": { - "methods": { - "delete": { - "description": "Rpc to delete a revision.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/revisions/{revisionsId}", - "httpMethod": "DELETE", - "id": "run.projects.locations.revisions.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "apiVersion": { - "description": "Cloud Run currently ignores this parameter.", - "location": "query", - "type": "string" - }, - "kind": { - "description": "Cloud Run currently ignores this parameter.", - "location": "query", - "type": "string" - }, - "name": { - "description": "The name of the revision being deleted. If needed, replace {namespace_id} with the project ID.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/revisions/[^/]+$", - "required": true, - "type": "string" - }, - "orphanDependents": { - "description": "Deprecated. Specifies the cascade behavior on delete. Cloud Run only supports cascading behavior, so this must be false. This attribute is deprecated, and is now replaced with PropagationPolicy See https://github.com/kubernetes/kubernetes/issues/46659 for more info.", - "location": "query", - "type": "boolean" - }, - "propagationPolicy": { - "description": "Specifies the propagation policy of delete. Cloud Run currently ignores this setting, and deletes in the background. Please see kubernetes.io/docs/concepts/workloads/controllers/garbage-collection/ for more information.", - "location": "query", - "type": "string" - } - }, - "path": "v1alpha1/{+name}", - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Rpc to get information about a revision.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/revisions/{revisionsId}", - "httpMethod": "GET", - "id": "run.projects.locations.revisions.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the revision being retrieved. If needed, replace {namespace_id} with the project ID.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/revisions/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha1/{+name}", - "response": { - "$ref": "Revision" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Rpc to list revisions.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/revisions", - "httpMethod": "GET", - "id": "run.projects.locations.revisions.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "continue": { - "description": "Optional encoded string to continue paging.", - "location": "query", - "type": "string" - }, - "fieldSelector": { - "description": "Allows to filter resources based on a specific value for a field name. Send this in a query string format. i.e. 'metadata.name%3Dlorem'. Not currently used by Cloud Run.", - "location": "query", - "type": "string" - }, - "includeUninitialized": { - "description": "Not currently used by Cloud Run.", - "location": "query", - "type": "boolean" - }, - "labelSelector": { - "description": "Allows to filter resources based on a label. Supported operations are =, !=, exists, in, and notIn.", - "location": "query", - "type": "string" - }, - "limit": { - "description": "The maximum number of records that should be returned.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "parent": { - "description": "The project ID or project number from which the revisions should be listed.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - }, - "resourceVersion": { - "description": "The baseline resource version from which the list or watch operation should start. Not currently used by Cloud Run.", - "location": "query", - "type": "string" - }, - "watch": { - "description": "Flag that indicates that the client expects to watch this resource as well. Not currently used by Cloud Run.", - "location": "query", - "type": "boolean" - } - }, - "path": "v1alpha1/{+parent}/revisions", - "response": { - "$ref": "ListRevisionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - }, - "routes": { - "methods": { - "get": { - "description": "Rpc to get information about a route.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/routes/{routesId}", - "httpMethod": "GET", - "id": "run.projects.locations.routes.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the route being retrieved. If needed, replace {namespace_id} with the project ID.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/routes/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha1/{+name}", - "response": { - "$ref": "Route" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Rpc to list routes.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/routes", - "httpMethod": "GET", - "id": "run.projects.locations.routes.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "continue": { - "description": "Optional encoded string to continue paging.", - "location": "query", - "type": "string" - }, - "fieldSelector": { - "description": "Allows to filter resources based on a specific value for a field name. Send this in a query string format. i.e. 'metadata.name%3Dlorem'. Not currently used by Cloud Run.", - "location": "query", - "type": "string" - }, - "includeUninitialized": { - "description": "Not currently used by Cloud Run.", - "location": "query", - "type": "boolean" - }, - "labelSelector": { - "description": "Allows to filter resources based on a label. Supported operations are =, !=, exists, in, and notIn.", - "location": "query", - "type": "string" - }, - "limit": { - "description": "The maximum number of records that should be returned.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "parent": { - "description": "The project ID or project number from which the routes should be listed.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - }, - "resourceVersion": { - "description": "The baseline resource version from which the list or watch operation should start. Not currently used by Cloud Run.", - "location": "query", - "type": "string" - }, - "watch": { - "description": "Flag that indicates that the client expects to watch this resource as well. Not currently used by Cloud Run.", - "location": "query", - "type": "boolean" - } - }, - "path": "v1alpha1/{+parent}/routes", - "response": { - "$ref": "ListRoutesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - }, - "services": { - "methods": { - "create": { - "description": "Rpc to create a service.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/services", - "httpMethod": "POST", - "id": "run.projects.locations.services.create", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "The project ID or project number in which this service should be created.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha1/{+parent}/services", - "request": { - "$ref": "Service" - }, - "response": { - "$ref": "Service" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Rpc to delete a service. This will cause the Service to stop serving traffic and will delete the child entities like Routes, Configurations and Revisions.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", - "httpMethod": "DELETE", - "id": "run.projects.locations.services.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "apiVersion": { - "description": "Cloud Run currently ignores this parameter.", - "location": "query", - "type": "string" - }, - "kind": { - "description": "Cloud Run currently ignores this parameter.", - "location": "query", - "type": "string" - }, - "name": { - "description": "The name of the service being deleted. If needed, replace {namespace_id} with the project ID.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", - "required": true, - "type": "string" - }, - "orphanDependents": { - "description": "Deprecated. Specifies the cascade behavior on delete. Cloud Run only supports cascading behavior, so this must be false. This attribute is deprecated, and is now replaced with PropagationPolicy See https://github.com/kubernetes/kubernetes/issues/46659 for more info.", - "location": "query", - "type": "boolean" - }, - "propagationPolicy": { - "description": "Specifies the propagation policy of delete. Cloud Run currently ignores this setting, and deletes in the background. Please see kubernetes.io/docs/concepts/workloads/controllers/garbage-collection/ for more information.", - "location": "query", - "type": "string" - } - }, - "path": "v1alpha1/{+name}", - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Rpc to get information about a service.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", - "httpMethod": "GET", - "id": "run.projects.locations.services.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the service being retrieved. If needed, replace {namespace_id} with the project ID.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha1/{+name}", - "response": { - "$ref": "Service" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "getIamPolicy": { - "description": "Get the IAM Access Control policy currently in effect for the given Cloud Run service. This result does not include any inherited policies.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:getIamPolicy", - "httpMethod": "GET", - "id": "run.projects.locations.services.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/[^/]+/services/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha1/{+resource}:getIamPolicy", - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Rpc to list services.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/services", - "httpMethod": "GET", - "id": "run.projects.locations.services.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "continue": { - "description": "Optional encoded string to continue paging.", - "location": "query", - "type": "string" - }, - "fieldSelector": { - "description": "Allows to filter resources based on a specific value for a field name. Send this in a query string format. i.e. 'metadata.name%3Dlorem'. Not currently used by Cloud Run.", - "location": "query", - "type": "string" - }, - "includeUninitialized": { - "description": "Not currently used by Cloud Run.", - "location": "query", - "type": "boolean" - }, - "labelSelector": { - "description": "Allows to filter resources based on a label. Supported operations are =, !=, exists, in, and notIn.", - "location": "query", - "type": "string" - }, - "limit": { - "description": "The maximum number of records that should be returned.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "parent": { - "description": "The project ID or project number from which the services should be listed.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - }, - "resourceVersion": { - "description": "The baseline resource version from which the list or watch operation should start. Not currently used by Cloud Run.", - "location": "query", - "type": "string" - }, - "watch": { - "description": "Flag that indicates that the client expects to watch this resource as well. Not currently used by Cloud Run.", - "location": "query", - "type": "boolean" - } - }, - "path": "v1alpha1/{+parent}/services", - "response": { - "$ref": "ListServicesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "replaceService": { - "description": "Rpc to replace a service. Only the spec and metadata labels and annotations are modifiable. After the Update request, Cloud Run will work to make the 'status' match the requested 'spec'. May provide metadata.resourceVersion to enforce update from last read for optimistic concurrency control.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", - "httpMethod": "PUT", - "id": "run.projects.locations.services.replaceService", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the service being replaced. If needed, replace {namespace_id} with the project ID.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha1/{+name}", - "request": { - "$ref": "Service" - }, - "response": { - "$ref": "Service" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "setIamPolicy": { - "description": "Sets the IAM Access control policy for the specified Service. Overwrites any existing policy.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:setIamPolicy", - "httpMethod": "POST", - "id": "run.projects.locations.services.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/[^/]+/services/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha1/{+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 Project. There are no permissions required for making this API call.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:testIamPermissions", - "httpMethod": "POST", - "id": "run.projects.locations.services.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/[^/]+/services/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha1/{+resource}:testIamPermissions", - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - } - } } } } }, - "revision": "20210326", + "revision": "20220225", "rootUrl": "https://run.googleapis.com/", "schemas": { - "Addressable": { - "description": "Information for connecting over HTTP(s).", - "id": "Addressable", - "properties": { - "hostname": { - "description": "Deprecated - use url instead.", - "type": "string" - }, - "url": { - "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" - }, - "AuthorizedDomain": { - "description": "A domain that a user has been authorized to administer. To authorize use of a domain, verify ownership via [Webmaster Central](https://www.google.com/webmasters/verification/home).", - "id": "AuthorizedDomain", - "properties": { - "id": { - "description": "Relative name of the domain authorized for use. Example: `example.com`.", - "type": "string" - }, - "name": { - "description": "Read only. Full path to the `AuthorizedDomain` resource in the API. Example: `apps/myapp/authorizedDomains/example.com`.", - "type": "string" - } - }, - "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" - }, - "Capabilities": { - "description": "Adds and removes POSIX capabilities from running containers.", - "id": "Capabilities", - "properties": { - "add": { - "description": "Added capabilities +optional", - "items": { - "type": "string" - }, - "type": "array" - }, - "drop": { - "description": "Removed capabilities +optional", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "ConfigMapEnvSource": { - "description": "ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.", + "description": "Not supported by Cloud Run ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.", "id": "ConfigMapEnvSource", "properties": { "localObjectReference": { @@ -1956,22 +280,22 @@ "description": "This field should not be used directly as it is meant to be inlined directly into the message. Use the \"name\" field instead." }, "name": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported The ConfigMap to select from.", + "description": "The ConfigMap to select from.", "type": "string" }, "optional": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the ConfigMap must be defined +optional", + "description": "(Optional) Specify whether the ConfigMap must be defined", "type": "boolean" } }, "type": "object" }, "ConfigMapKeySelector": { - "description": "Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key from a ConfigMap.", + "description": "Not supported by Cloud Run Selects a key from a ConfigMap.", "id": "ConfigMapKeySelector", "properties": { "key": { - "description": "Cloud Run fully managed: not supported Cloud Run on GKE: supported The key to select.", + "description": "The key to select.", "type": "string" }, "localObjectReference": { @@ -1979,27 +303,27 @@ "description": "This field should not be used directly as it is meant to be inlined directly into the message. Use the \"name\" field instead." }, "name": { - "description": "Cloud Run fully managed: not supported Cloud Run on GKE: supported The ConfigMap to select from.", + "description": "The ConfigMap to select from.", "type": "string" }, "optional": { - "description": "Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the ConfigMap or its key must be defined +optional", + "description": "(Optional) Specify whether the ConfigMap or its key must be defined", "type": "boolean" } }, "type": "object" }, "ConfigMapVolumeSource": { - "description": "Adapts a ConfigMap into a volume. The contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.", + "description": "Not supported by Cloud Run Adapts a ConfigMap into a volume. The contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths.", "id": "ConfigMapVolumeSource", "properties": { "defaultMode": { - "description": "Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", + "description": "(Optional) Integer representation of mode bits to use on created files by default. Must be a value between 01 and 0777 (octal). If 0 or not set, it will default to 0644. Directories within the path are not affected by this setting. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", "format": "int32", "type": "integer" }, "items": { - "description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.", + "description": "(Optional) If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified that is not present in the Secret, the volume setup will error unless it is marked optional.", "items": { "$ref": "KeyToPath" }, @@ -2010,172 +334,61 @@ "type": "string" }, "optional": { - "description": "Specify whether the Secret or its keys must be defined.", + "description": "(Optional) Specify whether the Secret or its keys must be defined.", "type": "boolean" } }, "type": "object" }, - "Configuration": { - "description": "Configuration represents the \"floating HEAD\" of a linear history of Revisions, and optionally how the containers those revisions reference are built. Users create new Revisions by updating the Configuration's spec. The \"latest created\" revision's name is available under status, as is the \"latest ready\" revision's name. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#configuration", - "id": "Configuration", - "properties": { - "apiVersion": { - "description": "The API version for this call such as \"serving.knative.dev/v1alpha1\".", - "type": "string" - }, - "kind": { - "description": "The kind of resource, in this case always \"Configuration\".", - "type": "string" - }, - "metadata": { - "$ref": "ObjectMeta", - "description": "Metadata associated with this Configuration, including name, namespace, labels, and annotations." - }, - "spec": { - "$ref": "ConfigurationSpec", - "description": "Spec holds the desired state of the Configuration (from the client)." - }, - "status": { - "$ref": "ConfigurationStatus", - "description": "Status communicates the observed state of the Configuration (from the controller)." - } - }, - "type": "object" - }, - "ConfigurationCondition": { - "description": "ConfigurationCondition defines a readiness condition for a Configuration.", - "id": "ConfigurationCondition", - "properties": { - "lastTransitionTime": { - "description": "Last time the condition transitioned from one status to another. +optional", - "format": "google-datetime", - "type": "string" - }, - "message": { - "description": "Human-readable message indicating details about last transition. +optional", - "type": "string" - }, - "reason": { - "description": "One-word CamelCase reason for the condition's last transition. +optional", - "type": "string" - }, - "severity": { - "description": "How to interpret failures of this condition, one of Error, Warning, Info +optional", - "type": "string" - }, - "status": { - "description": "Status of the condition, one of True, False, Unknown.", - "type": "string" - }, - "type": { - "description": "ConfigurationConditionType is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types include:\"Ready\"", - "type": "string" - } - }, - "type": "object" - }, - "ConfigurationSpec": { - "description": "ConfigurationSpec holds the desired state of the Configuration (from the client).", - "id": "ConfigurationSpec", - "properties": { - "generation": { - "description": "Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.", - "format": "int32", - "type": "integer" - }, - "revisionTemplate": { - "$ref": "RevisionTemplate", - "description": "RevisionTemplate holds the latest specification for the Revision to be stamped out. The template references the container image, and may also include labels and annotations that should be attached to the Revision. To correlate a Revision, and/or to force a Revision to be created when the spec doesn't otherwise change, a nonce label may be provided in the template metadata. For more details, see: https://github.com/knative/serving/blob/master/docs/client-conventions.md#associate-modifications-with-revisions Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source." - }, - "template": { - "$ref": "RevisionTemplate", - "description": "Template holds the latest specification for the Revision to be stamped out." - } - }, - "type": "object" - }, - "ConfigurationStatus": { - "description": "ConfigurationStatus communicates the observed state of the Configuration (from the controller).", - "id": "ConfigurationStatus", - "properties": { - "conditions": { - "description": "Conditions communicates information about ongoing/complete reconciliation processes that bring the \"spec\" inline with the observed state of the world.", - "items": { - "$ref": "ConfigurationCondition" - }, - "type": "array" - }, - "latestCreatedRevisionName": { - "description": "LatestCreatedRevisionName is the last revision that was created from this Configuration. It might not be ready yet, for that use LatestReadyRevisionName.", - "type": "string" - }, - "latestReadyRevisionName": { - "description": "LatestReadyRevisionName holds the name of the latest Revision stamped out from this Configuration that has had its \"Ready\" condition become \"True\".", - "type": "string" - }, - "observedGeneration": { - "description": "ObservedGeneration is the 'Generation' of the Configuration that was last processed by the controller. The observed generation is updated even if the controller failed to process the spec and create the Revision. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation, and the Ready condition's status is True or False.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, "Container": { "description": "A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.", "id": "Container", "properties": { "args": { - "description": "Arguments to the entrypoint. The docker image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional", + "description": "(Optional) Arguments to the entrypoint. The docker image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell", "items": { "type": "string" }, "type": "array" }, "command": { - "description": "Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell +optional", "items": { "type": "string" }, "type": "array" }, "env": { - "description": "List of environment variables to set in the container. Cannot be updated. +optional", + "description": "(Optional) List of environment variables to set in the container.", "items": { "$ref": "EnvVar" }, "type": "array" }, "envFrom": { - "description": "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. +optional", + "description": "(Optional) List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.", "items": { "$ref": "EnvFromSource" }, "type": "array" }, "image": { - "description": "Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images", + "description": "Only supports containers from Google Container Registry or Artifact Registry URL of the Container image. More info: https://kubernetes.io/docs/concepts/containers/images", "type": "string" }, "imagePullPolicy": { - "description": "Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images +optional", + "description": "(Optional) Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images", "type": "string" }, - "lifecycle": { - "$ref": "Lifecycle", - "description": "Actions that the management system should take in response to container lifecycle events. Cannot be updated. +optional" - }, "livenessProbe": { "$ref": "Probe", - "description": "Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional" + "description": "(Optional) Periodic probe of container liveness. Container will be restarted if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" }, "name": { - "description": "Name of the container specified as a DNS_LABEL. Each container must have a unique name (DNS_LABEL). Cannot be updated.", + "description": "(Optional) Name of the container specified as a DNS_LABEL. Currently unused in Cloud Run. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-label-names", "type": "string" }, "ports": { - "description": "List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Cannot be updated. +optional", + "description": "(Optional) List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.", "items": { "$ref": "ContainerPort" }, @@ -2183,52 +396,37 @@ }, "readinessProbe": { "$ref": "Probe", - "description": "Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional" + "description": "(Optional) Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" }, "resources": { "$ref": "ResourceRequirements", - "description": "Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +optional" + "description": "(Optional) Compute Resources required by this container. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" }, "securityContext": { "$ref": "SecurityContext", - "description": "Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +optional" + "description": "(Optional) Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/" }, - "stdin": { - "description": "Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. +optional", - "type": "boolean" - }, - "stdinOnce": { - "description": "Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false +optional", - "type": "boolean" + "startupProbe": { + "$ref": "Probe", + "description": "(Optional) Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" }, "terminationMessagePath": { - "description": "Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. +optional", + "description": "(Optional) Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.", "type": "string" }, "terminationMessagePolicy": { - "description": "Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. +optional", + "description": "(Optional) Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.", "type": "string" }, - "tty": { - "description": "Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. +optional", - "type": "boolean" - }, - "volumeDevices": { - "description": "volumeDevices is the list of block devices to be used by the container. This is an alpha feature and may change in the future. +optional", - "items": { - "$ref": "VolumeDevice" - }, - "type": "array" - }, "volumeMounts": { - "description": "Pod volumes to mount into the container's filesystem. Cannot be updated. +optional", + "description": "(Optional) Volume to mount into the container's filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container's filesystem.", "items": { "$ref": "VolumeMount" }, "type": "array" }, "workingDir": { - "description": "Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. +optional", + "description": "(Optional) Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image.", "type": "string" } }, @@ -2239,147 +437,16 @@ "id": "ContainerPort", "properties": { "containerPort": { - "description": "Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536.", - "format": "int32", - "type": "integer" - }, - "hostIP": { - "description": "What host IP to bind the external port to. +optional", - "type": "string" - }, - "hostPort": { - "description": "Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. +optional", + "description": "(Optional) Port number the container listens on. This must be a valid port number, 0 < x < 65536.", "format": "int32", "type": "integer" }, "name": { - "description": "If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. +optional", + "description": "(Optional) If specified, used to specify which protocol to use. Allowed values are \"http1\" and \"h2c\".", "type": "string" }, "protocol": { - "description": "Protocol for port. Must be UDP or TCP. Defaults to \"TCP\". +optional", - "type": "string" - } - }, - "type": "object" - }, - "DomainMapping": { - "description": "Resource to hold the state and status of a user's domain mapping. NOTE: This resource is currently in Beta.", - "id": "DomainMapping", - "properties": { - "apiVersion": { - "description": "The API version for this call such as \"domains.cloudrun.com/v1alpha1\".", - "type": "string" - }, - "kind": { - "description": "The kind of resource, in this case \"DomainMapping\".", - "type": "string" - }, - "metadata": { - "$ref": "ObjectMeta", - "description": "Metadata associated with this BuildTemplate." - }, - "spec": { - "$ref": "DomainMappingSpec", - "description": "The spec for this DomainMapping." - }, - "status": { - "$ref": "DomainMappingStatus", - "description": "The current status of the DomainMapping." - } - }, - "type": "object" - }, - "DomainMappingCondition": { - "description": "DomainMappingCondition contains state information for a DomainMapping.", - "id": "DomainMappingCondition", - "properties": { - "lastTransitionTime": { - "description": "Last time the condition transitioned from one status to another. +optional", - "format": "google-datetime", - "type": "string" - }, - "message": { - "description": "Human readable message indicating details about the current status. +optional", - "type": "string" - }, - "reason": { - "description": "One-word CamelCase reason for the condition's current status. +optional", - "type": "string" - }, - "severity": { - "description": "How to interpret failures of this condition, one of Error, Warning, Info +optional", - "type": "string" - }, - "status": { - "description": "Status of the condition, one of True, False, Unknown.", - "type": "string" - }, - "type": { - "description": "Type of domain mapping condition.", - "type": "string" - } - }, - "type": "object" - }, - "DomainMappingSpec": { - "description": "The desired state of the Domain Mapping.", - "id": "DomainMappingSpec", - "properties": { - "certificateMode": { - "description": "The mode of the certificate.", - "enum": [ - "CERTIFICATE_MODE_UNSPECIFIED", - "NONE", - "AUTOMATIC" - ], - "enumDescriptions": [ - "", - "Do not provision an HTTPS certificate.", - "Automatically provisions an HTTPS certificate via GoogleCA or LetsEncrypt." - ], - "type": "string" - }, - "forceOverride": { - "description": "If set, the mapping will override any mapping set before this spec was set. It is recommended that the user leaves this empty to receive an error warning about a potential conflict and only set it once the respective UI has given such a warning.", - "type": "boolean" - }, - "routeName": { - "description": "The name of the Knative Route that this DomainMapping applies to. The route must exist.", - "type": "string" - } - }, - "type": "object" - }, - "DomainMappingStatus": { - "description": "The current state of the Domain Mapping.", - "id": "DomainMappingStatus", - "properties": { - "conditions": { - "description": "Array of observed DomainMappingConditions, indicating the current state of the DomainMapping.", - "items": { - "$ref": "DomainMappingCondition" - }, - "type": "array" - }, - "mappedRouteName": { - "description": "The name of the route that the mapping currently points to.", - "type": "string" - }, - "observedGeneration": { - "description": "ObservedGeneration is the 'Generation' of the DomainMapping that was last processed by the controller. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation and the Ready condition's status is True or False.", - "format": "int32", - "type": "integer" - }, - "resourceRecords": { - "description": "The resource records required to configure this domain mapping. These records must be added to the domain's DNS configuration in order to serve the application via this domain mapping.", - "items": { - "$ref": "ResourceRecord" - }, - "type": "array" - }, - "url": { - "description": "Cloud Run fully managed: not supported Cloud Run on GKE: supported Holds the URL that will serve the traffic of the DomainMapping. +optional", + "description": "(Optional) Protocol for port. Must be \"TCP\". Defaults to \"TCP\".", "type": "string" } }, @@ -2392,20 +459,20 @@ "type": "object" }, "EnvFromSource": { - "description": "EnvFromSource represents the source of a set of ConfigMaps", + "description": "Not supported by Cloud Run EnvFromSource represents the source of a set of ConfigMaps", "id": "EnvFromSource", "properties": { "configMapRef": { "$ref": "ConfigMapEnvSource", - "description": "The ConfigMap to select from +optional" + "description": "(Optional) The ConfigMap to select from" }, "prefix": { - "description": "An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. +optional", + "description": "(Optional) An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.", "type": "string" }, "secretRef": { "$ref": "SecretEnvSource", - "description": "The Secret to select from +optional" + "description": "(Optional) The Secret to select from" } }, "type": "object" @@ -2419,37 +486,37 @@ "type": "string" }, "value": { - "description": "Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\". +optional", + "description": "(Optional) Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\".", "type": "string" }, "valueFrom": { "$ref": "EnvVarSource", - "description": "Cloud Run fully managed: not supported Cloud Run on GKE: supported Source for the environment variable's value. Cannot be used if value is not empty. +optional" + "description": "(Optional) Source for the environment variable's value. Only supports secret_key_ref. Source for the environment variable's value. Cannot be used if value is not empty." } }, "type": "object" }, "EnvVarSource": { - "description": "Cloud Run fully managed: not supported Cloud Run on GKE: supported EnvVarSource represents a source for the value of an EnvVar.", + "description": "EnvVarSource represents a source for the value of an EnvVar.", "id": "EnvVarSource", "properties": { "configMapKeyRef": { "$ref": "ConfigMapKeySelector", - "description": "Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a ConfigMap. +optional" + "description": "(Optional) Not supported by Cloud Run Selects a key of a ConfigMap." }, "secretKeyRef": { "$ref": "SecretKeySelector", - "description": "Cloud Run fully managed: not supported Cloud Run on GKE: supported Selects a key of a secret in the pod's namespace +optional" + "description": "(Optional) Selects a key (version) of a secret in Secret Manager." } }, "type": "object" }, "ExecAction": { - "description": "ExecAction describes a \"run in container\" action.", + "description": "Not supported by Cloud Run ExecAction describes a \"run in container\" action.", "id": "ExecAction", "properties": { "command": { - "description": "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional", + "description": "(Optional) Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.", "items": { "type": "string" }, @@ -2458,61 +525,61 @@ }, "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", + "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": { - "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" + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" }, - "expression": { - "description": "Textual representation of an expression in Common Expression Language syntax.", - "type": "string" + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" }, - "location": { - "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", - "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.", + "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" }, "HTTPGetAction": { - "description": "HTTPGetAction describes an action based on HTTP Get requests.", + "description": "Not supported by Cloud Run HTTPGetAction describes an action based on HTTP Get requests.", "id": "HTTPGetAction", "properties": { "host": { - "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead. +optional", + "description": "(Optional) Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.", "type": "string" }, "httpHeaders": { - "description": "Custom headers to set in the request. HTTP allows repeated headers. +optional", + "description": "(Optional) Custom headers to set in the request. HTTP allows repeated headers.", "items": { "$ref": "HTTPHeader" }, "type": "array" }, "path": { - "description": "Path to access on the HTTP server. +optional", + "description": "(Optional) Path to access on the HTTP server.", "type": "string" }, - "port": { - "$ref": "IntOrString", - "description": "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." - }, "scheme": { - "description": "Scheme to use for connecting to the host. Defaults to HTTP. +optional", + "description": "(Optional) Scheme to use for connecting to the host. Defaults to HTTP.", "type": "string" } }, "type": "object" }, "HTTPHeader": { - "description": "HTTPHeader describes a custom header to be used in HTTP probes", + "description": "Not supported by Cloud Run HTTPHeader describes a custom header to be used in HTTP probes", "id": "HTTPHeader", "properties": { "name": { @@ -2526,21 +593,18 @@ }, "type": "object" }, - "Handler": { - "description": "Handler defines a specific action that should be taken", - "id": "Handler", + "InstanceAttemptResult": { + "description": "Result of an instance attempt.", + "id": "InstanceAttemptResult", "properties": { - "exec": { - "$ref": "ExecAction", - "description": "One and only one of the following should be specified. Exec specifies the action to take. +optional" + "exitCode": { + "description": "Optional. The exit code of this attempt. This may be unset if the container was unable to exit cleanly with a code due to some other failure. See status field for possible failure details.", + "format": "int32", + "type": "integer" }, - "httpGet": { - "$ref": "HTTPGetAction", - "description": "HTTPGet specifies the http request to perform. +optional" - }, - "tcpSocket": { - "$ref": "TCPSocketAction", - "description": "TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported" + "status": { + "$ref": "GoogleRpcStatus", + "description": "Optional. The status of this attempt. If the status code is OK, then the attempt succeeded." } }, "type": "object" @@ -2603,6 +667,10 @@ "format": "int32", "type": "integer" }, + "lastAttemptResult": { + "$ref": "InstanceAttemptResult", + "description": "Optional. Result of the last attempt of this instance. +optional" + }, "lastExitCode": { "description": "Optional. Last exit code seen for this instance. +optional", "format": "int32", @@ -2637,27 +705,6 @@ }, "type": "object" }, - "IntOrString": { - "description": "IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number.", - "id": "IntOrString", - "properties": { - "intVal": { - "description": "The int value.", - "format": "int32", - "type": "integer" - }, - "strVal": { - "description": "The string value.", - "type": "string" - }, - "type": { - "description": "The type of the value.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, "Job": { "description": "Job represents the configuration of a single job. A job an immutable resource that references a container image which is run to completion.", "id": "Job", @@ -2711,7 +758,7 @@ "type": "string" }, "type": { - "description": "Required. Type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types include: * \"Completed\": True when the Job has successfully completed. * \"Started\": True when the Job has successfully started running. * \"ResourcesAvailable\": True when underlying resources have been provisioned.", + "description": "Required. Type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types include: * \"Completed\": True when the Job has successfully completed. * \"Started\": True when the Job has successfully started running. * \"ResourcesAvailable\": True when underlying resources have been provisioned.", "type": "string" } }, @@ -2722,7 +769,7 @@ "id": "JobSpec", "properties": { "activeDeadlineSeconds": { - "description": "Optional. Specifies the duration in seconds relative to the startTime that the job may be active before the system tries to terminate it. If set to zero, the system will never attempt to terminate the job based on time. Otherwise, the value must be positive integer. +optional", + "description": "Optional. Not supported. Specifies the duration in seconds relative to the startTime that the job may be active before the system tries to terminate it. If set to zero, the system will never attempt to terminate the job based on time. Otherwise, the value must be positive integer. +optional", "format": "int64", "type": "string" }, @@ -2746,7 +793,7 @@ "description": "Optional. Describes the instance that will be created when executing a job." }, "ttlSecondsAfterFinished": { - "description": "Optional. ttlSecondsAfterFinished limits the lifetime of a Job that has finished execution (either Complete or Failed). If this field is set, ttlSecondsAfterFinished after the Job finishes, it is eligible to be automatically deleted. When the Job is being deleted, its lifecycle guarantees (e.g. finalizers) will be honored. If this field is set to zero, the Job won't be automatically deleted. +optional", + "description": "Optional. Not supported. ttlSecondsAfterFinished limits the lifetime of a Job that has finished execution (either Complete or Failed). If this field is set, ttlSecondsAfterFinished after the Job finishes, it is eligible to be automatically deleted. When the Job is being deleted, its lifecycle guarantees (e.g. finalizers) will be honored. If this field is set to zero, the Job won't be automatically deleted. +optional", "format": "int32", "type": "integer" } @@ -2813,11 +860,11 @@ "id": "KeyToPath", "properties": { "key": { - "description": "The key to project.", + "description": "The Cloud Secret Manager secret version. Can be 'latest' for the latest value or an integer for a specific version. The key to project.", "type": "string" }, "mode": { - "description": "Mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. +optional", + "description": "(Optional) Mode bits to use on this file, must be a value between 01 and 0777 (octal). If 0 or not set, the Volume's default mode will be used. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", "format": "int32", "type": "integer" }, @@ -2828,105 +875,6 @@ }, "type": "object" }, - "Lifecycle": { - "description": "Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted.", - "id": "Lifecycle", - "properties": { - "postStart": { - "$ref": "Handler", - "description": "PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional" - }, - "preStop": { - "$ref": "Handler", - "description": "PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +optional" - } - }, - "type": "object" - }, - "ListAuthorizedDomainsResponse": { - "description": "A list of Authorized Domains.", - "id": "ListAuthorizedDomainsResponse", - "properties": { - "domains": { - "description": "The authorized domains belonging to the user.", - "items": { - "$ref": "AuthorizedDomain" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Continuation token for fetching the next page of results.", - "type": "string" - } - }, - "type": "object" - }, - "ListConfigurationsResponse": { - "description": "ListConfigurationsResponse is a list of Configuration resources.", - "id": "ListConfigurationsResponse", - "properties": { - "apiVersion": { - "description": "The API version for this call such as \"serving.knative.dev/v1alpha1\".", - "type": "string" - }, - "items": { - "description": "List of Configurations.", - "items": { - "$ref": "Configuration" - }, - "type": "array" - }, - "kind": { - "description": "The kind of this resource, in this case \"ConfigurationList\".", - "type": "string" - }, - "metadata": { - "$ref": "ListMeta", - "description": "Metadata associated with this Configuration list." - }, - "unreachable": { - "description": "Locations that could not be reached.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "ListDomainMappingsResponse": { - "description": "ListDomainMappingsResponse is a list of DomainMapping resources.", - "id": "ListDomainMappingsResponse", - "properties": { - "apiVersion": { - "description": "The API version for this call such as \"domains.cloudrun.com/v1alpha1\".", - "type": "string" - }, - "items": { - "description": "List of DomainMappings.", - "items": { - "$ref": "DomainMapping" - }, - "type": "array" - }, - "kind": { - "description": "The kind of this resource, in this case \"DomainMappingList\".", - "type": "string" - }, - "metadata": { - "$ref": "ListMeta", - "description": "Metadata associated with this DomainMapping list." - }, - "unreachable": { - "description": "Locations that could not be reached.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "ListJobsResponse": { "description": "ListJobsResponse is a list of Jobs resources.", "id": "ListJobsResponse", @@ -2964,24 +912,6 @@ }, "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" - }, "ListMeta": { "description": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.", "id": "ListMeta", @@ -3001,193 +931,60 @@ }, "type": "object" }, - "ListRevisionsResponse": { - "description": "ListRevisionsResponse is a list of Revision resources.", - "id": "ListRevisionsResponse", - "properties": { - "apiVersion": { - "description": "The API version for this call such as \"serving.knative.dev/v1alpha1\".", - "type": "string" - }, - "items": { - "description": "List of Revisions.", - "items": { - "$ref": "Revision" - }, - "type": "array" - }, - "kind": { - "description": "The kind of this resource, in this case \"RevisionList\".", - "type": "string" - }, - "metadata": { - "$ref": "ListMeta", - "description": "Metadata associated with this revision list." - }, - "unreachable": { - "description": "Locations that could not be reached.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "ListRoutesResponse": { - "description": "ListRoutesResponse is a list of Route resources.", - "id": "ListRoutesResponse", - "properties": { - "apiVersion": { - "description": "The API version for this call such as \"serving.knative.dev/v1alpha1\".", - "type": "string" - }, - "items": { - "description": "List of Routes.", - "items": { - "$ref": "Route" - }, - "type": "array" - }, - "kind": { - "description": "The kind of this resource, in this case always \"RouteList\".", - "type": "string" - }, - "metadata": { - "$ref": "ListMeta", - "description": "Metadata associated with this Route list." - }, - "unreachable": { - "description": "Locations that could not be reached.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "ListServicesResponse": { - "description": "A list of Service resources.", - "id": "ListServicesResponse", - "properties": { - "apiVersion": { - "description": "The API version for this call such as \"serving.knative.dev/v1alpha1\".", - "type": "string" - }, - "items": { - "description": "List of Services.", - "items": { - "$ref": "Service" - }, - "type": "array" - }, - "kind": { - "description": "The kind of this resource, in this case \"ServiceList\".", - "type": "string" - }, - "metadata": { - "$ref": "ListMeta", - "description": "Metadata associated with this Service list." - }, - "unreachable": { - "description": "Locations that could not be reached.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "LocalObjectReference": { - "description": "LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.", + "description": "Not supported by Cloud Run LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.", "id": "LocalObjectReference", "properties": { "name": { - "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", - "type": "string" - } - }, - "type": "object" - }, - "Location": { - "description": "A resource that represents Google Cloud Platform 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\"`", + "description": "(Optional) Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" } }, "type": "object" }, "ObjectMeta": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "description": "k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "id": "ObjectMeta", "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: http://kubernetes.io/docs/user-guide/annotations +optional", + "description": "(Optional) 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/user-guide/annotations", "type": "object" }, "clusterName": { - "description": "Not currently supported by Cloud Run. The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request. +optional", + "description": "(Optional) Not supported by Cloud Run The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.", "type": "string" }, "creationTimestamp": { - "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional", + "description": "(Optional) CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata", "format": "google-datetime", "type": "string" }, "deletionGracePeriodSeconds": { - "description": "Not currently supported by Cloud Run. Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only. +optional", + "description": "(Optional) Not supported by Cloud Run Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.", "format": "int32", "type": "integer" }, "deletionTimestamp": { - "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional", + "description": "(Optional) Not supported by Cloud Run DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata", "format": "google-datetime", "type": "string" }, "finalizers": { - "description": "Not currently supported by Cloud Run. Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +optional +patchStrategy=merge", + "description": "(Optional) Not supported by Cloud Run Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. +patchStrategy=merge", "items": { "type": "string" }, "type": "array" }, "generateName": { - "description": "Not currently supported by Cloud Run. GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency +optional string generateName = 2;", + "description": "(Optional) Not supported by Cloud Run GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency string generateName = 2;", "type": "string" }, "generation": { - "description": "A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional", + "description": "(Optional) A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.", "format": "int32", "type": "integer" }, @@ -3195,11 +992,11 @@ "additionalProperties": { "type": "string" }, - "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: http://kubernetes.io/docs/user-guide/labels +optional", + "description": "(Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels", "type": "object" }, "name": { - "description": "Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names +optional", + "description": "Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional", "type": "string" }, "namespace": { @@ -3207,22 +1004,22 @@ "type": "string" }, "ownerReferences": { - "description": "List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. +optional", + "description": "(Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected.", "items": { "$ref": "OwnerReference" }, "type": "array" }, "resourceVersion": { - "description": "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency +optional", + "description": "Optional. An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server or omit the value to disable conflict-detection. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients or omitted. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency", "type": "string" }, "selfLink": { - "description": "SelfLink is a URL representing this object. Populated by the system. Read-only. +optional string selfLink = 4;", + "description": "(Optional) SelfLink is a URL representing this object. Populated by the system. Read-only. string selfLink = 4;", "type": "string" }, "uid": { - "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids +optional", + "description": "(Optional) UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: https://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } }, @@ -3249,125 +1046,60 @@ "type": "string" }, "name": { - "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "description": "Name of the referent. More info: https://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "description": "UID of the referent. More info: https://kubernetes.io/docs/user-guide/identifiers#uids", "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` 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": { - "auditConfigs": { - "description": "Specifies cloud audit logging configuration for this policy.", - "items": { - "$ref": "AuditConfig" - }, - "type": "array" - }, - "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 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" - }, "Probe": { - "description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.", + "description": "Not supported by Cloud Run Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.", "id": "Probe", "properties": { + "exec": { + "$ref": "ExecAction", + "description": "(Optional) One and only one of the following should be specified. Exec specifies the action to take. A field inlined from the Handler message." + }, "failureThreshold": { - "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. +optional", + "description": "(Optional) Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.", "format": "int32", "type": "integer" }, - "handler": { - "$ref": "Handler", - "description": "The action taken to determine the health of a container" + "httpGet": { + "$ref": "HTTPGetAction", + "description": "(Optional) HTTPGet specifies the http request to perform. A field inlined from the Handler message." }, "initialDelaySeconds": { - "description": "Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional", + "description": "(Optional) Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", "format": "int32", "type": "integer" }, "periodSeconds": { - "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. +optional", + "description": "(Optional) How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 3600. Must be greater or equal than timeout_seconds.", "format": "int32", "type": "integer" }, "successThreshold": { - "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1. +optional", + "description": "(Optional) Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup Probes.", "format": "int32", "type": "integer" }, + "tcpSocket": { + "$ref": "TCPSocketAction", + "description": "(Optional) TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported A field inlined from the Handler message." + }, "timeoutSeconds": { - "description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +optional", + "description": "(Optional) Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", "format": "int32", "type": "integer" } }, "type": "object" }, - "Quantity": { - "description": "The view model of a single quantity, e.g. \"800 MiB\". Corresponds to https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto", - "id": "Quantity", - "properties": { - "string": { - "description": "Stringified version of the quantity, e.g., \"800 MiB\".", - "type": "string" - } - }, - "type": "object" - }, - "ResourceRecord": { - "description": "A DNS resource record.", - "id": "ResourceRecord", - "properties": { - "name": { - "description": "Relative name of the object affected by this record. Only applicable for `CNAME` records. Example: 'www'.", - "type": "string" - }, - "rrdata": { - "description": "Data for this record. Values vary by record type, as defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1).", - "type": "string" - }, - "type": { - "description": "Resource record type. Example: `AAAA`.", - "enum": [ - "RECORD_TYPE_UNSPECIFIED", - "A", - "AAAA", - "CNAME" - ], - "enumDescriptions": [ - "An unknown resource record.", - "An A resource record. Data is an IPv4 address.", - "An AAAA resource record. Data is an IPv6 address.", - "A CNAME resource record. Data is a domain name to be aliased." - ], - "type": "string" - } - }, - "type": "object" - }, "ResourceRequirements": { "description": "ResourceRequirements describes the compute resource requirements.", "id": "ResourceRequirements", @@ -3376,346 +1108,21 @@ "additionalProperties": { "type": "string" }, - "description": "Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go", - "type": "object" - }, - "limitsInMap": { - "additionalProperties": { - "$ref": "Quantity" - }, - "description": "Limits describes the maximum amount of compute resources allowed. This is a temporary field created to migrate away from the map limits field. This is done to become compliant with k8s style API. This field is deprecated in favor of limits field.", + "description": "(Optional) Only memory and CPU are supported. Limits describes the maximum amount of compute resources allowed. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go", "type": "object" }, "requests": { "additionalProperties": { "type": "string" }, - "description": "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go", + "description": "(Optional) Only memory and CPU are supported. Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go", "type": "object" - }, - "requestsInMap": { - "additionalProperties": { - "$ref": "Quantity" - }, - "description": "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. This is a temporary field created to migrate away from the map requests field. This is done to become compliant with k8s style API. This field is deprecated in favor of requests field.", - "type": "object" - } - }, - "type": "object" - }, - "Revision": { - "description": "Revision is an immutable snapshot of code and configuration. A revision references a container image. Revisions are created by updates to a Configuration. Cloud Run does not currently support referencing a build that is responsible for materializing the container image from source. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#revision", - "id": "Revision", - "properties": { - "apiVersion": { - "description": "The API version for this call such as \"serving.knative.dev/v1alpha1\".", - "type": "string" - }, - "kind": { - "description": "The kind of this resource, in this case \"Revision\".", - "type": "string" - }, - "metadata": { - "$ref": "ObjectMeta", - "description": "Metadata associated with this Revision, including name, namespace, labels, and annotations." - }, - "spec": { - "$ref": "RevisionSpec", - "description": "Spec holds the desired state of the Revision (from the client)." - }, - "status": { - "$ref": "RevisionStatus", - "description": "Status communicates the observed state of the Revision (from the controller)." - } - }, - "type": "object" - }, - "RevisionCondition": { - "description": "RevisionCondition defines a readiness condition for a Revision.", - "id": "RevisionCondition", - "properties": { - "lastTransitionTime": { - "description": "Last time the condition transitioned from one status to another. +optional", - "format": "google-datetime", - "type": "string" - }, - "message": { - "description": "Human readable message indicating details about the current status. +optional", - "type": "string" - }, - "reason": { - "description": "One-word CamelCase reason for the condition's last transition. +optional", - "type": "string" - }, - "severity": { - "description": "How to interpret failures of this condition, one of Error, Warning, Info +optional", - "type": "string" - }, - "status": { - "description": "Status of the condition, one of True, False, Unknown.", - "type": "string" - }, - "type": { - "description": "RevisionConditionType is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types include: * \"Ready\": True when the Revision is ready. * \"ResourcesAvailable\": True when underlying resources have been provisioned. * \"ContainerHealthy\": True when the Revision readiness check completes. * \"Active\": True when the Revision may receive traffic.", - "type": "string" - } - }, - "type": "object" - }, - "RevisionSpec": { - "description": "RevisionSpec holds the desired state of the Revision (from the client).", - "id": "RevisionSpec", - "properties": { - "concurrencyModel": { - "description": "ConcurrencyModel specifies the desired concurrency model (Single or Multi) for the Revision. Defaults to Multi. Deprecated in favor of ContainerConcurrency. +optional", - "type": "string" - }, - "container": { - "$ref": "Container", - "description": "Container defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of the fields of this Container, including: name, ports, and volumeMounts. The runtime contract is documented here: https://github.com/knative/serving/blob/master/docs/runtime-contract.md" - }, - "containerConcurrency": { - "description": "(Optional) ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container instance of the Revision. Cloud Run fully managed: supported, defaults to 80 Cloud Run on GKE: supported, defaults to 0, which means concurrency to the application is not limited, and the system decides the target concurrency for the autoscaler.", - "format": "int32", - "type": "integer" - }, - "containers": { - "description": "Containers holds the single container that defines the unit of execution for this Revision. In the context of a Revision, we disallow a number of fields on this Container, including: name and lifecycle. In Cloud Run, only a single container may be provided.", - "items": { - "$ref": "Container" - }, - "type": "array" - }, - "generation": { - "description": "Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.", - "format": "int32", - "type": "integer" - }, - "serviceAccountName": { - "description": "Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project's default service account.", - "type": "string" - }, - "servingState": { - "description": "ServingState holds a value describing the state the resources are in for this Revision. Users must not specify this when creating a revision. It is expected that the system will manipulate this based on routability and load. Populated by the system. Read-only.", - "enum": [ - "REVISION_SERVING_STATE_UNSPECIFIED", - "ACTIVE", - "RESERVE", - "RETIRED" - ], - "enumDescriptions": [ - "The revision serving state hasn't been specified.", - "The revision is ready to serve traffic.", - "The revision is not currently serving traffic, but could be made to serve traffic quickly. Not currently used by Cloud Run.", - "The revision has been decommissioned and is not needed to serve traffic anymore. A Revision may be brought out of retirement, but it may take longer than it would from a \"Reserve\" state." - ], - "type": "string" - }, - "timeoutSeconds": { - "description": "TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Not currently used by Cloud Run.", - "format": "int32", - "type": "integer" - }, - "volumes": { - "items": { - "$ref": "Volume" - }, - "type": "array" - } - }, - "type": "object" - }, - "RevisionStatus": { - "description": "RevisionStatus communicates the observed state of the Revision (from the controller).", - "id": "RevisionStatus", - "properties": { - "conditions": { - "description": "Conditions communicates information about ongoing/complete reconciliation processes that bring the \"spec\" inline with the observed state of the world. As a Revision is being prepared, it will incrementally update conditions \"ResourcesAvailable\", \"ContainerHealthy\", and \"Active\", which contribute to the overall \"Ready\" condition.", - "items": { - "$ref": "RevisionCondition" - }, - "type": "array" - }, - "imageDigest": { - "description": "ImageDigest holds the resolved digest for the image specified within .Spec.Container.Image. The digest is resolved during the creation of Revision. This field holds the digest value regardless of whether a tag or digest was originally specified in the Container object.", - "type": "string" - }, - "logUrl": { - "description": "Specifies the generated logging url for this particular revision based on the revision url template specified in the controller's config. +optional", - "type": "string" - }, - "observedGeneration": { - "description": "ObservedGeneration is the 'Generation' of the Revision that was last processed by the controller. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation, and the Ready condition's status is True or False.", - "format": "int32", - "type": "integer" - }, - "serviceName": { - "description": "Not currently used by Cloud Run.", - "type": "string" - } - }, - "type": "object" - }, - "RevisionTemplate": { - "description": "RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190", - "id": "RevisionTemplate", - "properties": { - "metadata": { - "$ref": "ObjectMeta", - "description": "Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. To set minimum instances for this revision, use the \"autoscaling.knative.dev/minScale\" annotation key. (Cloud Run on GKE only). To set maximum instances for this revision, use the \"autoscaling.knative.dev/maxScale\" annotation key. To set Cloud SQL connections for the revision, use the \"run.googleapis.com/cloudsql-instances\" annotation key. Values should be comma separated." - }, - "spec": { - "$ref": "RevisionSpec", - "description": "RevisionSpec holds the desired state of the Revision (from the client)." - } - }, - "type": "object" - }, - "Route": { - "description": "Route is responsible for configuring ingress over a collection of Revisions. Some of the Revisions a Route distributes traffic over may be specified by referencing the Configuration responsible for creating them; in these cases the Route is additionally responsible for monitoring the Configuration for \"latest ready\" revision changes, and smoothly rolling out latest revisions. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#route Cloud Run currently supports referencing a single Configuration to automatically deploy the \"latest ready\" Revision from that Configuration.", - "id": "Route", - "properties": { - "apiVersion": { - "description": "The API version for this call such as \"serving.knative.dev/v1alpha1\".", - "type": "string" - }, - "kind": { - "description": "The kind of this resource, in this case always \"Route\".", - "type": "string" - }, - "metadata": { - "$ref": "ObjectMeta", - "description": "Metadata associated with this Route, including name, namespace, labels, and annotations." - }, - "spec": { - "$ref": "RouteSpec", - "description": "Spec holds the desired state of the Route (from the client)." - }, - "status": { - "$ref": "RouteStatus", - "description": "Status communicates the observed state of the Route (from the controller)." - } - }, - "type": "object" - }, - "RouteCondition": { - "description": "RouteCondition defines a readiness condition for a Route.", - "id": "RouteCondition", - "properties": { - "lastTransitionTime": { - "description": "Last time the condition transitioned from one status to another. +optional", - "format": "google-datetime", - "type": "string" - }, - "message": { - "description": "Human-readable message indicating details about last transition. +optional", - "type": "string" - }, - "reason": { - "description": "One-word CamelCase reason for the condition's last transition. +optional", - "type": "string" - }, - "severity": { - "description": "How to interpret failures of this condition, one of Error, Warning, Info +optional", - "type": "string" - }, - "status": { - "description": "Status of the condition, one of \"True\", \"False\", \"Unknown\".", - "type": "string" - }, - "type": { - "description": "RouteConditionType is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types include: \"Ready\".", - "type": "string" - } - }, - "type": "object" - }, - "RouteSpec": { - "description": "RouteSpec holds the desired state of the Route (from the client).", - "id": "RouteSpec", - "properties": { - "generation": { - "description": "Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.", - "format": "int32", - "type": "integer" - }, - "traffic": { - "description": "Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations. Cloud Run currently supports a single configurationName.", - "items": { - "$ref": "TrafficTarget" - }, - "type": "array" - } - }, - "type": "object" - }, - "RouteStatus": { - "description": "RouteStatus communicates the observed state of the Route (from the controller).", - "id": "RouteStatus", - "properties": { - "address": { - "$ref": "Addressable", - "description": "Similar to url, information on where the service is available on HTTP." - }, - "conditions": { - "description": "Conditions communicates information about ongoing/complete reconciliation processes that bring the \"spec\" inline with the observed state of the world.", - "items": { - "$ref": "RouteCondition" - }, - "type": "array" - }, - "domain": { - "description": "Deprecated - use url instead. Domain holds the top-level domain that will distribute traffic over the provided targets.", - "type": "string" - }, - "domainInternal": { - "description": "Deprecated - use address instead. For Cloud Run, identifical to domain.", - "type": "string" - }, - "observedGeneration": { - "description": "ObservedGeneration is the 'Generation' of the Route that was last processed by the controller. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation and the Ready condition's status is True or False. Note that providing a trafficTarget that only has a configurationName will result in a Route that does not increment either its metadata.generation or its observedGeneration, as new \"latest ready\" revisions from the Configuration are processed without an update to the Route's spec.", - "format": "int32", - "type": "integer" - }, - "traffic": { - "description": "Traffic holds the configured traffic distribution. These entries will always contain RevisionName references. When ConfigurationName appears in the spec, this will hold the LatestReadyRevisionName that we last observed.", - "items": { - "$ref": "TrafficTarget" - }, - "type": "array" - }, - "url": { - "description": "URL holds the url that will distribute traffic over the provided traffic targets. It generally has the form https://{route-hash}-{project-hash}-{cluster-level-suffix}.a.run.app", - "type": "string" - } - }, - "type": "object" - }, - "SELinuxOptions": { - "description": "SELinuxOptions are the labels to be applied to the container", - "id": "SELinuxOptions", - "properties": { - "level": { - "description": "Level is SELinux level label that applies to the container. +optional", - "type": "string" - }, - "role": { - "description": "Role is a SELinux role label that applies to the container. +optional", - "type": "string" - }, - "type": { - "description": "Type is a SELinux type label that applies to the container. +optional", - "type": "string" - }, - "user": { - "description": "User is a SELinux user label that applies to the container. +optional", - "type": "string" } }, "type": "object" }, "SecretEnvSource": { - "description": "SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret's Data field will represent the key-value pairs as environment variables.", + "description": "Not supported by Cloud Run SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret's Data field will represent the key-value pairs as environment variables.", "id": "SecretEnvSource", "properties": { "localObjectReference": { @@ -3723,22 +1130,22 @@ "description": "This field should not be used directly as it is meant to be inlined directly into the message. Use the \"name\" field instead." }, "name": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported The Secret to select from.", + "description": "The Secret to select from.", "type": "string" }, "optional": { - "description": "Cloud Run fully managed: not supported Cloud Run for Anthos: supported Specify whether the Secret must be defined +optional", + "description": "(Optional) Specify whether the Secret must be defined", "type": "boolean" } }, "type": "object" }, "SecretKeySelector": { - "description": "Cloud Run fully managed: not supported Cloud Run on GKE: supported SecretKeySelector selects a key of a Secret.", + "description": "SecretKeySelector selects a key of a Secret.", "id": "SecretKeySelector", "properties": { "key": { - "description": "Cloud Run fully managed: not supported Cloud Run on GKE: supported The key of the secret to select from. Must be a valid secret key.", + "description": "A Cloud Secret Manager secret version. Must be 'latest' for the latest version or an integer for a specific version. The key of the secret to select from. Must be a valid secret key.", "type": "string" }, "localObjectReference": { @@ -3746,374 +1153,67 @@ "description": "This field should not be used directly as it is meant to be inlined directly into the message. Use the \"name\" field instead." }, "name": { - "description": "Cloud Run fully managed: not supported Cloud Run on GKE: supported The name of the secret in the pod's namespace to select from.", + "description": "The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod's namespace to select from.", "type": "string" }, "optional": { - "description": "Cloud Run fully managed: not supported Cloud Run on GKE: supported Specify whether the Secret or its key must be defined +optional", + "description": "(Optional) Specify whether the Secret or its key must be defined", "type": "boolean" } }, "type": "object" }, "SecretVolumeSource": { - "description": "The contents of the target Secret's Data field will be presented in a volume as files using the keys in the Data field as the file names.", + "description": "The secret's value will be presented as the content of a file whose name is defined in the item path. If no items are defined, the name of the file is the secret_name. The contents of the target Secret's Data field will be presented in a volume as files using the keys in the Data field as the file names.", "id": "SecretVolumeSource", "properties": { "defaultMode": { - "description": "Mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", + "description": "Integer representation of mode bits to use on created files by default. Must be a value between 01 and 0777 (octal). If 0 or not set, it will default to 0644. Directories within the path are not affected by this setting. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", "format": "int32", "type": "integer" }, "items": { - "description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional.", + "description": "(Optional) If unspecified, the volume will expose a file whose name is the secret_name. If specified, the key will be used as the version to fetch from Cloud Secret Manager and the path will be the name of the file exposed in the volume. When items are defined, they must specify a key and a path. If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified that is not present in the Secret, the volume setup will error unless it is marked optional.", "items": { "$ref": "KeyToPath" }, "type": "array" }, "optional": { - "description": "Specify whether the Secret or its keys must be defined.", + "description": "(Optional) Specify whether the Secret or its keys must be defined.", "type": "boolean" }, "secretName": { - "description": "Name of the secret in the container's namespace to use.", + "description": "The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. Name of the secret in the container's namespace to use.", "type": "string" } }, "type": "object" }, "SecurityContext": { - "description": "SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence.", + "description": "Not supported by Cloud Run SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence.", "id": "SecurityContext", "properties": { - "allowPrivilegeEscalation": { - "description": "AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN +optional", - "type": "boolean" - }, - "capabilities": { - "$ref": "Capabilities", - "description": "The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. +optional" - }, - "privileged": { - "description": "Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. +optional", - "type": "boolean" - }, - "readOnlyRootFilesystem": { - "description": "Whether this container has a read-only root filesystem. Default is false. +optional", - "type": "boolean" - }, - "runAsGroup": { - "description": "The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional", - "format": "int32", - "type": "integer" - }, - "runAsNonRoot": { - "description": "Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional", - "type": "boolean" - }, "runAsUser": { - "description": "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional", + "description": "(Optional) The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.", "format": "int32", "type": "integer" - }, - "seLinuxOptions": { - "$ref": "SELinuxOptions", - "description": "The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +optional" - } - }, - "type": "object" - }, - "Service": { - "description": "Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets). The Service's controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service", - "id": "Service", - "properties": { - "apiVersion": { - "description": "The API version for this call such as \"serving.knative.dev/v1alpha1\".", - "type": "string" - }, - "kind": { - "description": "The kind of resource, in this case \"Service\".", - "type": "string" - }, - "metadata": { - "$ref": "ObjectMeta", - "description": "Metadata associated with this Service, including name, namespace, labels, and annotations." - }, - "spec": { - "$ref": "ServiceSpec", - "description": "Spec holds the desired state of the Service (from the client)." - }, - "status": { - "$ref": "ServiceStatus", - "description": "Status communicates the observed state of the Service (from the controller)." - } - }, - "type": "object" - }, - "ServiceCondition": { - "description": "ServiceCondition defines a readiness condition for a Service.", - "id": "ServiceCondition", - "properties": { - "lastTransitionTime": { - "description": "Last time the condition transitioned from one status to another. +optional", - "format": "google-datetime", - "type": "string" - }, - "message": { - "description": "Human-readable message indicating details about last transition. +optional", - "type": "string" - }, - "reason": { - "description": "One-word CamelCase reason for the condition's last transition. +optional", - "type": "string" - }, - "severity": { - "description": "How to interpret failures of this condition, one of Error, Warning, Info +optional", - "type": "string" - }, - "status": { - "description": "Status of the condition, one of True, False, Unknown.", - "type": "string" - }, - "type": { - "description": "ServiceConditionType is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting Types include: \"Ready\", \"ConfigurationsReady\", and \"RoutesReady\". \"Ready\" will be true when the underlying Route and Configuration are ready.", - "type": "string" - } - }, - "type": "object" - }, - "ServiceSpec": { - "description": "ServiceSpec holds the desired state of the Route (from the client), which is used to manipulate the underlying Route and Configuration(s).", - "id": "ServiceSpec", - "properties": { - "generation": { - "description": "Deprecated and not currently populated by Cloud Run. See metadata.generation instead, which is the sequence number containing the latest generation of the desired state. Read-only.", - "format": "int32", - "type": "integer" - }, - "manual": { - "$ref": "ServiceSpecManualType", - "description": "Manual contains the options for configuring a manual service. See ServiceSpec for more details. Not currently supported by Cloud Run." - }, - "pinned": { - "$ref": "ServiceSpecPinnedType", - "description": "Pins this service to a specific revision name. The revision must be owned by the configuration provided. Deprecated and not supported by Cloud Run. +optional" - }, - "release": { - "$ref": "ServiceSpecReleaseType", - "description": "Release enables gradual promotion of new revisions by allowing traffic to be split between two revisions. This type replaces the deprecated Pinned type. Not currently supported by Cloud Run." - }, - "runLatest": { - "$ref": "ServiceSpecRunLatest", - "description": "RunLatest defines a simple Service. It will automatically configure a route that keeps the latest ready revision from the supplied configuration running. +optional" - }, - "template": { - "$ref": "RevisionTemplate", - "description": "Template holds the latest specification for the Revision to be stamped out." - }, - "traffic": { - "description": "Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations.", - "items": { - "$ref": "TrafficTarget" - }, - "type": "array" - } - }, - "type": "object" - }, - "ServiceSpecManualType": { - "description": "ServiceSpecManualType contains the options for configuring a manual service. See ServiceSpec for more details. Not currently supported by Cloud Run.", - "id": "ServiceSpecManualType", - "properties": {}, - "type": "object" - }, - "ServiceSpecPinnedType": { - "description": "ServiceSpecPinnedType Pins this service to a specific revision name. The revision must be owned by the configuration provided. Deprecated and not supported by Cloud Run.", - "id": "ServiceSpecPinnedType", - "properties": { - "configuration": { - "$ref": "ConfigurationSpec", - "description": "The configuration for this service." - }, - "revisionName": { - "description": "The revision name to pin this service to until changed to a different service type.", - "type": "string" - } - }, - "type": "object" - }, - "ServiceSpecReleaseType": { - "description": "ServiceSpecReleaseType contains the options for slowly releasing revisions. See ServiceSpec for more details. Not currently supported by Cloud Run.", - "id": "ServiceSpecReleaseType", - "properties": { - "configuration": { - "$ref": "ConfigurationSpec", - "description": "The configuration for this service. All revisions from this service must come from a single configuration." - }, - "revisions": { - "description": "Revisions is an ordered list of 1 or 2 revisions. The first is the current revision, and the second is the candidate revision. If a single revision is provided, traffic will be pinned at that revision. \"@latest\" is a shortcut for usage that refers to the latest created revision by the configuration.", - "items": { - "type": "string" - }, - "type": "array" - }, - "rolloutPercent": { - "description": "RolloutPercent is the percent of traffic that should be sent to the candidate revision, i.e. the 2nd revision in the revisions list. Valid values are between 0 and 99 inclusive.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ServiceSpecRunLatest": { - "description": "ServiceSpecRunLatest contains the options for always having a route to the latest configuration. See ServiceSpec for more details.", - "id": "ServiceSpecRunLatest", - "properties": { - "configuration": { - "$ref": "ConfigurationSpec", - "description": "The configuration for this service." - } - }, - "type": "object" - }, - "ServiceStatus": { - "description": "The current state of the Service. Output only.", - "id": "ServiceStatus", - "properties": { - "address": { - "$ref": "Addressable", - "description": "From RouteStatus. Similar to url, information on where the service is available on HTTP." - }, - "conditions": { - "description": "Conditions communicates information about ongoing/complete reconciliation processes that bring the \"spec\" inline with the observed state of the world.", - "items": { - "$ref": "ServiceCondition" - }, - "type": "array" - }, - "domain": { - "description": "From RouteStatus. Domain holds the top-level domain that will distribute traffic over the provided targets. It generally has the form https://{route-hash}-{project-hash}-{cluster-level-suffix}.a.run.app", - "type": "string" - }, - "latestCreatedRevisionName": { - "description": "From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service's Configuration. It might not be ready yet, for that use LatestReadyRevisionName.", - "type": "string" - }, - "latestReadyRevisionName": { - "description": "From ConfigurationStatus. LatestReadyRevisionName holds the name of the latest Revision stamped out from this Service's Configuration that has had its \"Ready\" condition become \"True\".", - "type": "string" - }, - "observedGeneration": { - "description": "ObservedGeneration is the 'Generation' of the Route that was last processed by the controller. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation and the Ready condition's status is True or False.", - "format": "int32", - "type": "integer" - }, - "traffic": { - "description": "From RouteStatus. Traffic holds the configured traffic distribution. These entries will always contain RevisionName references. When ConfigurationName appears in the spec, this will hold the LatestReadyRevisionName that we last observed.", - "items": { - "$ref": "TrafficTarget" - }, - "type": "array" - }, - "url": { - "description": "From RouteStatus. URL holds the url that will distribute traffic over the provided traffic targets. It generally has the form https://{route-hash}-{project-hash}-{cluster-level-suffix}.a.run.app", - "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 Cloud Platform 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" }, "TCPSocketAction": { - "description": "TCPSocketAction describes an action based on opening a socket", + "description": "Not supported by Cloud Run TCPSocketAction describes an action based on opening a socket", "id": "TCPSocketAction", "properties": { "host": { - "description": "Optional: Host name to connect to, defaults to the pod IP. +optional", + "description": "(Optional) Optional: Host name to connect to, defaults to the pod IP.", "type": "string" }, "port": { - "$ref": "IntOrString", - "description": "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." - } - }, - "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" - }, - "TrafficTarget": { - "description": "TrafficTarget holds a single entry of the routing table for a Route.", - "id": "TrafficTarget", - "properties": { - "configurationName": { - "description": "ConfigurationName of a configuration to whose latest revision we will send this portion of traffic. When the \"status.latestReadyRevisionName\" of the referenced configuration changes, we will automatically migrate traffic from the prior \"latest ready\" revision to the new one. This field is never set in Route's status, only its spec. This is mutually exclusive with RevisionName. Cloud Run currently supports a single ConfigurationName.", - "type": "string" - }, - "latestRevision": { - "description": "LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty; it must be false when RevisionName is non-empty. +optional", - "type": "boolean" - }, - "name": { - "description": "Name is optionally used to expose a dedicated hostname for referencing this target exclusively. Not currently supported by Cloud Run. +optional", - "type": "string" - }, - "percent": { - "description": "Percent specifies percent of the traffic to this Revision or Configuration. This defaults to zero if unspecified. Cloud Run currently requires 100 percent for a single ConfigurationName TrafficTarget entry.", + "description": "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. This field is currently limited to integer types only because of proto's inability to properly support the IntOrString golang type.", "format": "int32", "type": "integer" - }, - "revisionName": { - "description": "RevisionName of a specific revision to which to send this portion of traffic. This is mutually exclusive with ConfigurationName. Providing RevisionName in spec is not currently supported by Cloud Run.", - "type": "string" - }, - "tag": { - "description": "Tag is optionally used to expose a dedicated url for referencing this target exclusively. Not currently supported in Cloud Run. +optional", - "type": "string" - }, - "url": { - "description": "Output only. URL displays the URL for accessing named traffic targets. URL is displayed in status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and a hostname, but may not contain anything else (e.g. basic auth, url path, etc. Not currently supported in Cloud Run.", - "type": "string" } }, "type": "object" @@ -4126,7 +1226,7 @@ "$ref": "ConfigMapVolumeSource" }, "name": { - "description": "Volume's name.", + "description": "Volume's name. In Cloud Run Fully Managed, the name 'cloudsql' is reserved.", "type": "string" }, "secret": { @@ -4135,21 +1235,6 @@ }, "type": "object" }, - "VolumeDevice": { - "description": "volumeDevice describes a mapping of a raw block device within a container.", - "id": "VolumeDevice", - "properties": { - "devicePath": { - "description": "devicePath is the path inside of the container that the device will be mapped to.", - "type": "string" - }, - "name": { - "description": "name must match the name of a persistentVolumeClaim in the pod", - "type": "string" - } - }, - "type": "object" - }, "VolumeMount": { "description": "VolumeMount describes a mounting of a Volume within a container.", "id": "VolumeMount", @@ -4158,20 +1243,16 @@ "description": "Path within the container at which the volume should be mounted. Must not contain ':'.", "type": "string" }, - "mountPropagation": { - "description": "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is beta in 1.10. +optional", - "type": "string" - }, "name": { - "description": "This must match the Name of a Volume.", + "description": "The name of the volume. There must be a corresponding Volume with the same name.", "type": "string" }, "readOnly": { - "description": "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. +optional", + "description": "(Optional) Only true is accepted. Defaults to true.", "type": "boolean" }, "subPath": { - "description": "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root). +optional", + "description": "(Optional) Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root).", "type": "string" } }, diff --git a/etc/api/run/v2/run-api.json b/etc/api/run/v2/run-api.json new file mode 100644 index 0000000000..fc08e4e585 --- /dev/null +++ b/etc/api/run/v2/run-api.json @@ -0,0 +1,1879 @@ +{ + "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://run.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Cloud Run", + "description": "Deploy and manage user provided container images that scale automatically based on incoming requests. The Cloud Run Admin API v1 follows the Knative Serving API specification, while v2 is aligned with Google Cloud AIP-based API standards, as described in https://google.aip.dev/.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/run/", + "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": "run:v2", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://run.mtls.googleapis.com/", + "name": "run", + "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": { + "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": "run.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": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "run.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": "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`. 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": "v2/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "run.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "Optional. A filter for matching the completed or in-progress operations. The supported formats of *filter* are: To query for only completed operations: done:true To query for only ongoing operations: done:false Must be empty to query for all of the latest operations for the given parent project.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. To query for all of the operations for a project.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of records that should be returned. Requested page size cannot exceed 100. If not set or set to less than or equal to 0, the default page size is 100. .", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token identifying which result to start with, which is returned by a previous list call.", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}/operations", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "services": { + "methods": { + "create": { + "description": "Creates a new Service in a given project and location.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services", + "httpMethod": "POST", + "id": "run.projects.locations.services.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The location and project in which this service should be created. Format: projects/{projectnumber}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "serviceId": { + "description": "Required. The unique identifier for the Service. The name of the service becomes {parent}/services/{service_id}.", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Indicates that the request should be validated and default values populated, without persisting the request or creating any resources.", + "location": "query", + "type": "boolean" + } + }, + "path": "v2/{+parent}/services", + "request": { + "$ref": "GoogleCloudRunOpV2Service" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a Service. This will cause the Service to stop serving traffic and will delete all revisions.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", + "httpMethod": "DELETE", + "id": "run.projects.locations.services.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The full name of the Service. Format: projects/{projectnumber}/locations/{location}/services/{service}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "Indicates that the request should be validated without actually deleting any resources.", + "location": "query", + "type": "boolean" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets information about a Service.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", + "httpMethod": "GET", + "id": "run.projects.locations.services.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The full name of the Service. Format: projects/{projectnumber}/locations/{location}/services/{service}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleCloudRunOpV2Service" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Get the IAM Access Control policy currently in effect for the given Cloud Run Service. This result does not include any inherited policies.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:getIamPolicy", + "httpMethod": "GET", + "id": "run.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 the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List Services.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services", + "httpMethod": "GET", + "id": "run.projects.locations.services.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of Services to return in this call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from a previous call to ListServices. All other parameters must match.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The location and project to list resources on. Location must be a valid GCP region, and may not be the \"-\" wildcard. Format: projects/{projectnumber}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "showDeleted": { + "description": "If true, returns deleted (but unexpired) resources along with active ones.", + "location": "query", + "type": "boolean" + } + }, + "path": "v2/{+parent}/services", + "response": { + "$ref": "GoogleCloudRunOpV2ListServicesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a Service.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", + "httpMethod": "PATCH", + "id": "run.projects.locations.services.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "If set to true, and if the Service does not exist, it will create a new one. Caller must have both create and update permissions for this call if this is set to true.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "The fully qualified name of this Service. In CreateServiceRequest, this field is ignored, and instead composed from CreateServiceRequest.parent and CreateServiceRequest.service_id. Format: projects/{project}/locations/{location}/services/{service_id}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Indicates that the request should be validated and default values populated, without persisting the request or updating any resources.", + "location": "query", + "type": "boolean" + } + }, + "path": "v2/{+name}", + "request": { + "$ref": "GoogleCloudRunOpV2Service" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the IAM Access control policy for the specified Service. Overwrites any existing policy.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:setIamPolicy", + "httpMethod": "POST", + "id": "run.projects.locations.services.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/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified Project. There are no permissions required for making this API call.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:testIamPermissions", + "httpMethod": "POST", + "id": "run.projects.locations.services.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/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "revisions": { + "methods": { + "delete": { + "description": "Delete a Revision.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/revisions/{revisionsId}", + "httpMethod": "DELETE", + "id": "run.projects.locations.services.revisions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "A system-generated fingerprint for this version of the resource. This may be used to detect modification conflict during updates.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the Revision to delete. Format: projects/{project}/locations/{location}/services/{service}/revisions/{revision}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "Indicates that the request should be validated without actually deleting any resources.", + "location": "query", + "type": "boolean" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets information about a Revision.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/revisions/{revisionsId}", + "httpMethod": "GET", + "id": "run.projects.locations.services.revisions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The full name of the Revision. Format: projects/{project}/locations/{location}/services/{service}/revisions/{revision}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleCloudRunOpV2Revision" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List Revisions from a given Service, or from a given location.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/revisions", + "httpMethod": "GET", + "id": "run.projects.locations.services.revisions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of revisions to return in this call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from a previous call to ListRevisions. All other parameters must match.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The Service from which the Revisions should be listed. To list all Revisions across Services, use \"-\" instead of Service name. Format: projects/{project}/locations/{location}/services/{service}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + }, + "showDeleted": { + "description": "If true, returns deleted (but unexpired) resources along with active ones.", + "location": "query", + "type": "boolean" + } + }, + "path": "v2/{+parent}/revisions", + "response": { + "$ref": "GoogleCloudRunOpV2ListRevisionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20220225", + "rootUrl": "https://run.googleapis.com/", + "schemas": { + "GoogleCloudRunOpV2BinaryAuthorization": { + "description": "Settings for Binary Authorization feature.", + "id": "GoogleCloudRunOpV2BinaryAuthorization", + "properties": { + "breakglassJustification": { + "description": "If present, indicates to use Breakglass using this justification. If use_default is False, then it must be empty. For more information on breakglass, see https://cloud.google.com/binary-authorization/docs/using-breakglass", + "type": "string" + }, + "useDefault": { + "description": "If True, indicates to use the default project's binary authorization policy. If False, binary authorization will be disabled.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudRunOpV2CloudSqlInstance": { + "description": "Represents a specific Cloud SQL instance.", + "id": "GoogleCloudRunOpV2CloudSqlInstance", + "properties": { + "connections": { + "description": "The Cloud SQL instance connection names, as can be found in https://console.cloud.google.com/sql/instances. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run. Format: {project}:{location}:{instance}", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRunOpV2Condition": { + "description": "Defines a status condition for a resource.", + "id": "GoogleCloudRunOpV2Condition", + "properties": { + "domainMappingReason": { + "description": "A reason for the domain mapping condition.", + "enum": [ + "DOMAIN_MAPPING_REASON_UNDEFINED", + "ROUTE_NOT_READY", + "PERMISSION_DENIED", + "CERTIFICATE_ALREADY_EXISTS", + "MAPPING_ALREADY_EXISTS", + "CERTIFICATE_PENDING", + "CERTIFICATE_FAILED" + ], + "enumDescriptions": [ + "Default value.", + "Internal route is not yet ready.", + "Insufficient permissions.", + "Certificate already exists.", + "Mapping already exists.", + "Certificate issuance pending.", + "Certificate issuance failed." + ], + "type": "string" + }, + "executionReason": { + "description": "A reason for the execution condition.", + "enum": [ + "EXECUTION_REASON_UNDEFINED", + "JOB_STATUS_SERVICE_POLLING_ERROR", + "NON_ZERO_EXIT_CODE" + ], + "enumDescriptions": [ + "Default value.", + "Internal system error getting execution status. System will retry.", + "A task reached its retry limit and the last attempt failed due to the user container exiting with a non-zero exit code." + ], + "type": "string" + }, + "internalReason": { + "description": "A reason for the internal condition.", + "enum": [ + "INTERNAL_REASON_UNDEFINED", + "CONFLICTING_REVISION_NAME", + "REVISION_MISSING", + "CONFIGURATION_MISSING", + "ASSIGNING_TRAFFIC", + "UPDATING_INGRESS_TRAFFIC_ALLOWED", + "REVISION_ORG_POLICY_VIOLATION", + "ENABLING_GCFV2_URI_SUPPORT" + ], + "enumDescriptions": [ + "Default value.", + "The revision name provided conflicts with an existing one.", + "Revision is missing; this is usually a transient reason.", + "Internal configuration is missing; this is usually a transient reason.", + "Assigning traffic; this is a transient reason.", + "Updating ingress traffic settings; this is a transient reason.", + "The revision can't be created because it violates an org policy setting.", + "Enabling GCFv2 URI support; this is a transient reason." + ], + "type": "string" + }, + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "format": "google-datetime", + "type": "string" + }, + "message": { + "description": "Human readable message indicating details about the current status.", + "type": "string" + }, + "reason": { + "description": "A common (service-level) reason for this condition.", + "enum": [ + "COMMON_REASON_UNDEFINED", + "UNKNOWN", + "ROUTE_MISSING", + "REVISION_FAILED", + "PROGRESS_DEADLINE_EXCEEDED", + "BUILD_STEP_FAILED", + "CONTAINER_MISSING", + "CONTAINER_PERMISSION_DENIED", + "CONTAINER_IMAGE_UNAUTHORIZED", + "CONTAINER_IMAGE_AUTHORIZATION_CHECK_FAILED", + "ENCRYPTION_KEY_PERMISSION_DENIED", + "ENCRYPTION_KEY_CHECK_FAILED", + "SECRETS_ACCESS_CHECK_FAILED", + "WAITING_FOR_OPERATION", + "IMMEDIATE_RETRY", + "POSTPONED_RETRY" + ], + "enumDescriptions": [ + "Default value.", + "Reason unknown. Further details will be in message.", + "The internal route is missing.", + "Revision creation process failed.", + "Timed out waiting for completion.", + "There was a build error.", + "The container image path is incorrect.", + "Insufficient permissions on the container image.", + "Container image is not authorized by policy.", + "Container image policy authorization check failed.", + "Insufficient permissions on encryption key.", + "Permission check on encryption key failed.", + "At least one Access check on secrets failed.", + "Waiting for operation to complete.", + "System will retry immediately.", + "System will retry later; current attempt failed." + ], + "type": "string" + }, + "revisionReason": { + "description": "A reason for the revision condition.", + "enum": [ + "REVISION_REASON_UNDEFINED", + "PENDING", + "RESERVE", + "RETIRED", + "RETIRING", + "RECREATING", + "HEALTH_CHECK_CONTAINER_ERROR", + "CUSTOMIZED_PATH_RESPONSE_PENDING", + "MIN_INSTANCES_NOT_PROVISIONED", + "ACTIVE_REVISION_LIMIT_REACHED", + "NO_DEPLOYMENT", + "HEALTH_CHECK_SKIPPED" + ], + "enumDescriptions": [ + "Default value.", + "Revision in Pending state.", + "Revision is in Reserve state.", + "Revision is Retired.", + "Revision is being retired.", + "Revision is being recreated.", + "There was a health check error.", + "Health check failed due to user error from customized path of the container. System will retry.", + "A revision with min_instance_count > 0 was created and is reserved, but it was not configured to serve traffic, so it's not live. This can also happen momentarily during traffic migration.", + "The maximum allowed number of active revisions has been reached.", + "There was no deployment defined. This value is no longer used, but Services created in older versions of the API might contain this value.", + "A revision's container has no port specified since the revision is of a manually scaled service with 0 instance count" + ], + "type": "string" + }, + "severity": { + "description": "How to interpret failures of this condition, one of Error, Warning, Info", + "enum": [ + "SEVERITY_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Unspecified severity", + "Error severity.", + "Warning severity.", + "Info severity." + ], + "type": "string" + }, + "state": { + "description": "State of the condition.", + "enum": [ + "STATE_UNSPECIFIED", + "CONDITION_PENDING", + "CONDITION_RECONCILING", + "CONDITION_FAILED", + "CONDITION_SUCCEEDED" + ], + "enumDescriptions": [ + "The default value. This value is used if the state is omitted.", + "Transient state: Reconciliation has not started yet.", + "Transient state: reconciliation is still in progress.", + "Terminal state: Reconciliation did not succeed.", + "Terminal state: Reconciliation completed successfully." + ], + "type": "string" + }, + "type": { + "description": "type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * \"Ready\": True when the Resource is ready.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunOpV2Container": { + "description": "A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.", + "id": "GoogleCloudRunOpV2Container", + "properties": { + "args": { + "description": "Arguments to the entrypoint. The docker image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell", + "items": { + "type": "string" + }, + "type": "array" + }, + "command": { + "description": "Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell", + "items": { + "type": "string" + }, + "type": "array" + }, + "env": { + "description": "List of environment variables to set in the container.", + "items": { + "$ref": "GoogleCloudRunOpV2EnvVar" + }, + "type": "array" + }, + "image": { + "description": "Required. URL of the Container image in Google Container Registry or Docker More info: https://kubernetes.io/docs/concepts/containers/images", + "type": "string" + }, + "name": { + "description": "Name of the container specified as a DNS_LABEL.", + "type": "string" + }, + "ports": { + "description": "List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.", + "items": { + "$ref": "GoogleCloudRunOpV2ContainerPort" + }, + "type": "array" + }, + "resources": { + "$ref": "GoogleCloudRunOpV2ResourceRequirements", + "description": "Compute Resource requirements by this container. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" + }, + "volumeMounts": { + "description": "Volume to mount into the container's filesystem.", + "items": { + "$ref": "GoogleCloudRunOpV2VolumeMount" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRunOpV2ContainerPort": { + "description": "ContainerPort represents a network port in a single container.", + "id": "GoogleCloudRunOpV2ContainerPort", + "properties": { + "containerPort": { + "description": "Port number the container listens on. This must be a valid TCP port number, 0 < container_port < 65536.", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "If specified, used to specify which protocol to use. Allowed values are \"http1\" and \"h2c\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunOpV2EnvVar": { + "description": "EnvVar represents an environment variable present in a Container.", + "id": "GoogleCloudRunOpV2EnvVar", + "properties": { + "name": { + "description": "Required. Name of the environment variable. Must be a C_IDENTIFIER, and mnay not exceed 32768 characters.", + "type": "string" + }, + "value": { + "description": "Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any route environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\", and the maximum length is 32768 bytes.", + "type": "string" + }, + "valueSource": { + "$ref": "GoogleCloudRunOpV2EnvVarSource", + "description": "Source for the environment variable's value." + } + }, + "type": "object" + }, + "GoogleCloudRunOpV2EnvVarSource": { + "description": "EnvVarSource represents a source for the value of an EnvVar.", + "id": "GoogleCloudRunOpV2EnvVarSource", + "properties": { + "secretKeyRef": { + "$ref": "GoogleCloudRunOpV2SecretKeySelector", + "description": "Selects a secret and a specific version from Cloud Secret Manager." + } + }, + "type": "object" + }, + "GoogleCloudRunOpV2ListRevisionsResponse": { + "description": "Response message containing a list of Revisions.", + "id": "GoogleCloudRunOpV2ListRevisionsResponse", + "properties": { + "nextPageToken": { + "description": "A token indicating there are more items than page_size. Use it in the next ListRevisions request to continue.", + "type": "string" + }, + "revisions": { + "description": "The resulting list of Revisions.", + "items": { + "$ref": "GoogleCloudRunOpV2Revision" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRunOpV2ListServicesResponse": { + "description": "Response message containing a list of Services.", + "id": "GoogleCloudRunOpV2ListServicesResponse", + "properties": { + "nextPageToken": { + "description": "A token indicating there are more items than page_size. Use it in the next ListServices request to continue.", + "type": "string" + }, + "services": { + "description": "The resulting list of Services.", + "items": { + "$ref": "GoogleCloudRunOpV2Service" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRunOpV2ResourceRequirements": { + "description": "ResourceRequirements describes the compute resource requirements.", + "id": "GoogleCloudRunOpV2ResourceRequirements", + "properties": { + "cpuIdle": { + "description": "Determines whether CPU should be throttled or not outside of requests.", + "type": "boolean" + }, + "limits": { + "additionalProperties": { + "type": "string" + }, + "description": "Only memory and CPU are supported. Note: The only supported values for CPU are '1', '2', and '4'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudRunOpV2Revision": { + "description": "A Revision is an immutable snapshot of code and configuration. A Revision references a container image. Revisions are only created by updates to its parent Service.", + "id": "GoogleCloudRunOpV2Revision", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "KRM-style annotations for the resource.", + "type": "object" + }, + "conditions": { + "description": "Output only. The Condition of this Revision, containing its readiness status, and detailed error information in case it did not reach a serving state.", + "items": { + "$ref": "GoogleCloudRunOpV2Condition" + }, + "readOnly": true, + "type": "array" + }, + "confidential": { + "description": "Indicates whether Confidential Cloud Run is enabled in this Revision.", + "type": "boolean" + }, + "containerConcurrency": { + "description": "Sets the maximum number of requests that each serving instance can receive.", + "format": "int32", + "type": "integer" + }, + "containers": { + "description": "Holds the single container that defines the unit of execution for this Revision.", + "items": { + "$ref": "GoogleCloudRunOpV2Container" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. The creation time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deleteTime": { + "description": "Output only. For a deleted resource, the deletion time. It is only populated as a response to a Delete request.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "encryptionKey": { + "description": "A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek", + "type": "string" + }, + "etag": { + "description": "Output only. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.", + "readOnly": true, + "type": "string" + }, + "executionEnvironment": { + "description": "The execution environment being used to host this Revision.", + "enum": [ + "EXECUTION_ENVIRONMENT_UNSPECIFIED", + "EXECUTION_ENVIRONMENT_DEFAULT", + "EXECUTION_ENVIRONMENT_GEN2" + ], + "enumDescriptions": [ + "Unspecified", + "Uses the Google-default environment.", + "Uses Second Generation environment." + ], + "type": "string" + }, + "expireTime": { + "description": "Output only. For a deleted resource, the time after which it will be permamently deleted. It is only populated as a response to a Delete request.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "generation": { + "description": "Output only. A number that monotonically increases every time the user modifies the desired state.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "KRM-style labels for the resource. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels Cloud Run will populate some labels with 'run.googleapis.com' or 'serving.knative.dev' namespaces. Those labels are read-only, and user changes will not be preserved.", + "type": "object" + }, + "launchStage": { + "description": "Set the launch stage to a preview stage on write to allow use of preview features in that stage. On read, describes whether the resource uses preview features. Launch Stages are defined at [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages).", + "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" + }, + "logUri": { + "description": "Output only. The Google Console URI to obtain logs for the Revision.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The unique name of this Revision.", + "readOnly": true, + "type": "string" + }, + "observedGeneration": { + "description": "Output only. The generation of this Revision currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "reconciling": { + "description": "Output only. Indicates whether the resource's reconciliation is still in progress. See comments in `Service.reconciling` for additional information on reconciliation process in Cloud Run.", + "readOnly": true, + "type": "boolean" + }, + "scaling": { + "$ref": "GoogleCloudRunOpV2RevisionScaling", + "description": "Scaling settings for this revision." + }, + "service": { + "description": "Output only. The name of the parent service.", + "readOnly": true, + "type": "string" + }, + "serviceAccount": { + "description": "Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has.", + "type": "string" + }, + "timeout": { + "description": "Max allowed time for an instance to respond to a request.", + "format": "google-duration", + "type": "string" + }, + "uid": { + "description": "Output only. Server assigned unique identifier for the Revision. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The last-modified time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "volumes": { + "description": "A list of Volumes to make available to containers.", + "items": { + "$ref": "GoogleCloudRunOpV2Volume" + }, + "type": "array" + }, + "vpcAccess": { + "$ref": "GoogleCloudRunOpV2VpcAccess", + "description": "VPC Access configuration for this Revision. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc." + } + }, + "type": "object" + }, + "GoogleCloudRunOpV2RevisionScaling": { + "description": "Settings for revision-level scaling settings.", + "id": "GoogleCloudRunOpV2RevisionScaling", + "properties": { + "maxInstanceCount": { + "description": "Maximum number of serving instances that this resource should have.", + "format": "int32", + "type": "integer" + }, + "minInstanceCount": { + "description": "Minimum number of serving instances that this resource should have.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudRunOpV2RevisionTemplate": { + "description": "RevisionTemplate describes the data a revision should have when created from a template.", + "id": "GoogleCloudRunOpV2RevisionTemplate", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "KRM-style annotations for the resource.", + "type": "object" + }, + "confidential": { + "description": "Enables Confidential Cloud Run in Revisions created using this template.", + "type": "boolean" + }, + "containerConcurrency": { + "description": "Sets the maximum number of requests that each serving instance can receive.", + "format": "int32", + "type": "integer" + }, + "containers": { + "description": "Holds the single container that defines the unit of execution for this Revision.", + "items": { + "$ref": "GoogleCloudRunOpV2Container" + }, + "type": "array" + }, + "encryptionKey": { + "description": "A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek", + "type": "string" + }, + "executionEnvironment": { + "description": "The sandbox environment to host this Revision.", + "enum": [ + "EXECUTION_ENVIRONMENT_UNSPECIFIED", + "EXECUTION_ENVIRONMENT_DEFAULT", + "EXECUTION_ENVIRONMENT_GEN2" + ], + "enumDescriptions": [ + "Unspecified", + "Uses the Google-default environment.", + "Uses Second Generation environment." + ], + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "KRM-style labels for the resource.", + "type": "object" + }, + "revision": { + "description": "The unique name for the revision. If this field is omitted, it will be automatically generated based on the Service name.", + "type": "string" + }, + "scaling": { + "$ref": "GoogleCloudRunOpV2RevisionScaling", + "description": "Scaling settings for this Revision." + }, + "serviceAccount": { + "description": "Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project's default service account.", + "type": "string" + }, + "timeout": { + "description": "Max allowed time for an instance to respond to a request.", + "format": "google-duration", + "type": "string" + }, + "volumes": { + "description": "A list of Volumes to make available to containers.", + "items": { + "$ref": "GoogleCloudRunOpV2Volume" + }, + "type": "array" + }, + "vpcAccess": { + "$ref": "GoogleCloudRunOpV2VpcAccess", + "description": "VPC Access configuration to use for this Revision. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc." + } + }, + "type": "object" + }, + "GoogleCloudRunOpV2SecretKeySelector": { + "description": "SecretEnvVarSource represents a source for the value of an EnvVar.", + "id": "GoogleCloudRunOpV2SecretKeySelector", + "properties": { + "secret": { + "description": "Required. The name of the secret in Cloud Secret Manager. Format: {secret_name} if the secret is in the same project. projects/{project}/secrets/{secret_name} if the secret is in a different project.", + "type": "string" + }, + "version": { + "description": "The Cloud Secret Manager secret version. Can be 'latest' for the latest value or an integer for a specific version.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunOpV2SecretVolumeSource": { + "description": "The secret's value will be presented as the content of a file whose name is defined in the item path. If no items are defined, the name of the file is the secret.", + "id": "GoogleCloudRunOpV2SecretVolumeSource", + "properties": { + "defaultMode": { + "description": "Integer representation of mode bits to use on created files by default. Must be a value between 0000 and 0777 (octal), defaulting to 0644. Directories within the path are not affected by this setting. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. This might be in conflict with other options that affect the file mode, like fsGroup, and as a result, other mode bits could be set.", + "format": "int32", + "type": "integer" + }, + "items": { + "description": "If unspecified, the volume will expose a file whose name is the secret, relative to VolumeMount.mount_path. If specified, the key will be used as the version to fetch from Cloud Secret Manager and the path will be the name of the file exposed in the volume. When items are defined, they must specify a path and a version.", + "items": { + "$ref": "GoogleCloudRunOpV2VersionToPath" + }, + "type": "array" + }, + "secret": { + "description": "Required. The name of the secret in Cloud Secret Manager. Format: {secret} if the secret is in the same project. projects/{project}/secrets/{secret} if the secret is in a different project.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunOpV2Service": { + "description": "Service acts as a top-level container that manages a set of configurations and revision templates which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership.", + "id": "GoogleCloudRunOpV2Service", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run will populate some annotations using 'run.googleapis.com' or 'serving.knative.dev' namespaces. This field follows Kubernetes annotations' namespacing, limits, and rules. More info: https://kubernetes.io/docs/user-guide/annotations", + "type": "object" + }, + "binaryAuthorization": { + "$ref": "GoogleCloudRunOpV2BinaryAuthorization", + "description": "Settings for the Binary Authorization feature." + }, + "client": { + "description": "Arbitrary identifier for the API client.", + "type": "string" + }, + "clientVersion": { + "description": "Arbitrary version identifier for the API client.", + "type": "string" + }, + "conditions": { + "description": "Output only. The Conditions of all other associated sub-resources. They contain additional diagnostics information in case the Service does not reach its Serving state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "items": { + "$ref": "GoogleCloudRunOpV2Condition" + }, + "readOnly": true, + "type": "array" + }, + "createTime": { + "description": "Output only. The creation time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creator": { + "description": "Output only. Email address of the authenticated creator.", + "readOnly": true, + "type": "string" + }, + "deleteTime": { + "description": "Output only. The deletion time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "User-provided description of the Service. This field currently has a 512-character limit.", + "type": "string" + }, + "etag": { + "description": "Output only. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.", + "readOnly": true, + "type": "string" + }, + "expireTime": { + "description": "Output only. For a deleted resource, the time after which it will be permamently deleted.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "generation": { + "description": "Output only. A number that monotonically increases every time the user modifies the desired state.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "ingress": { + "description": "Provides the ingress settings for this Service. On output, returns the currently observed ingress settings, or INGRESS_TRAFFIC_UNSPECIFIED if no revision is active.", + "enum": [ + "INGRESS_TRAFFIC_UNSPECIFIED", + "INGRESS_TRAFFIC_ALL", + "INGRESS_TRAFFIC_INTERNAL_ONLY", + "INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER" + ], + "enumDescriptions": [ + "Unspecified", + "All inbound traffic is allowed.", + "Only internal traffic is allowed.", + "Both internal and Google Cloud Load Balancer traffic is allowed." + ], + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of string keys and values that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels Cloud Run will populate some labels with 'run.googleapis.com' or 'serving.knative.dev' namespaces. Those labels are read-only, and user changes will not be preserved.", + "type": "object" + }, + "lastModifier": { + "description": "Output only. Email address of the last authenticated modifier.", + "readOnly": true, + "type": "string" + }, + "latestCreatedRevision": { + "description": "Output only. Name of the last created revision. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "readOnly": true, + "type": "string" + }, + "latestReadyRevision": { + "description": "Output only. Name of the latest revision that is serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "readOnly": true, + "type": "string" + }, + "launchStage": { + "description": "The launch stage as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, GA is assumed.", + "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": "The fully qualified name of this Service. In CreateServiceRequest, this field is ignored, and instead composed from CreateServiceRequest.parent and CreateServiceRequest.service_id. Format: projects/{project}/locations/{location}/services/{service_id}", + "type": "string" + }, + "observedGeneration": { + "description": "Output only. The generation of this Service currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "reconciling": { + "description": "Output only. Returns true if the Service is currently being acted upon by the system to bring it into the desired state. When a new Service is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Service to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation`, `latest_ready_revison`, `traffic_statuses`, and `uri` will have transient values that might mismatch the intended state: Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the serving state matches the Service, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`. If reconciliation succeeded, the following fields will match: `traffic` and `traffic_statuses`, `observed_generation` and `generation`, `latest_ready_revision` and `latest_created_revision`. If reconciliation failed, `traffic_statuses`, `observed_generation`, and `latest_ready_revision` will have the state of the last serving revision, or empty for newly created Services. Additional information on the failure can be found in `terminal_condition` and `conditions`.", + "readOnly": true, + "type": "boolean" + }, + "template": { + "$ref": "GoogleCloudRunOpV2RevisionTemplate", + "description": "Required. The template used to create revisions for this Service." + }, + "terminalCondition": { + "$ref": "GoogleCloudRunOpV2Condition", + "description": "Output only. The Condition of this Service, containing its readiness status, and detailed error information in case it did not reach a serving state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "readOnly": true + }, + "traffic": { + "description": "Specifies how to distribute traffic over a collection of Revisions belonging to the Service. If traffic is empty or not provided, defaults to 100% traffic to the latest `Ready` Revision.", + "items": { + "$ref": "GoogleCloudRunOpV2TrafficTarget" + }, + "type": "array" + }, + "trafficStatuses": { + "description": "Output only. Detailed status information for corresponding traffic targets. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", + "items": { + "$ref": "GoogleCloudRunOpV2TrafficTargetStatus" + }, + "readOnly": true, + "type": "array" + }, + "uid": { + "description": "Output only. Server assigned unique identifier for the trigger. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The last-modified time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "uri": { + "description": "Output only. The main URI in which this Service is serving traffic.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunOpV2TrafficTarget": { + "description": "Holds a single traffic routing entry for the Service. Allocations can be done to a specific Revision name, or pointing to the latest Ready Revision.", + "id": "GoogleCloudRunOpV2TrafficTarget", + "properties": { + "percent": { + "description": "Specifies percent of the traffic to this Revision. This defaults to zero if unspecified.", + "format": "int32", + "type": "integer" + }, + "revision": { + "description": "Revision to which to send this portion of traffic, if traffic allocation is by revision.", + "type": "string" + }, + "tag": { + "description": "Indicates a string to be part of the URI to exclusively reference this target.", + "type": "string" + }, + "type": { + "description": "The allocation type for this traffic target.", + "enum": [ + "TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED", + "TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST", + "TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION" + ], + "enumDescriptions": [ + "Unspecified instance allocation type.", + "Allocates instances to the Service's latest ready Revision.", + "Allocates instances to a Revision by name." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunOpV2TrafficTargetStatus": { + "description": "Represents the observed state of a single `TrafficTarget` entry.", + "id": "GoogleCloudRunOpV2TrafficTargetStatus", + "properties": { + "percent": { + "description": "Specifies percent of the traffic to this Revision.", + "format": "int32", + "type": "integer" + }, + "revision": { + "description": "Revision to which this traffic is sent.", + "type": "string" + }, + "tag": { + "description": "Indicates the string used in the URI to exclusively reference this target.", + "type": "string" + }, + "type": { + "description": "The allocation type for this traffic target.", + "enum": [ + "TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED", + "TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST", + "TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION" + ], + "enumDescriptions": [ + "Unspecified instance allocation type.", + "Allocates instances to the Service's latest ready Revision.", + "Allocates instances to a Revision by name." + ], + "type": "string" + }, + "uri": { + "description": "Displays the target URI.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunOpV2VersionToPath": { + "description": "VersionToPath maps a specific version of a secret to a relative file to mount to, relative to VolumeMount's mount_path.", + "id": "GoogleCloudRunOpV2VersionToPath", + "properties": { + "mode": { + "description": "Integer octal mode bits to use on this file, must be a value between 01 and 0777 (octal). If 0 or not set, the Volume's default mode will be used. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", + "format": "int32", + "type": "integer" + }, + "path": { + "description": "Required. The relative path of the secret in the container.", + "type": "string" + }, + "version": { + "description": "The Cloud Secret Manager secret version. Can be 'latest' for the latest value or an integer for a specific version.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunOpV2Volume": { + "description": "Volume represents a named volume in a container.", + "id": "GoogleCloudRunOpV2Volume", + "properties": { + "cloudSqlInstance": { + "$ref": "GoogleCloudRunOpV2CloudSqlInstance", + "description": "For Cloud SQL volumes, contains the specific instances that should be mounted. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run." + }, + "name": { + "description": "Required. Volume's name.", + "type": "string" + }, + "secret": { + "$ref": "GoogleCloudRunOpV2SecretVolumeSource", + "description": "Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret" + } + }, + "type": "object" + }, + "GoogleCloudRunOpV2VolumeMount": { + "description": "VolumeMount describes a mounting of a Volume within a container.", + "id": "GoogleCloudRunOpV2VolumeMount", + "properties": { + "mountPath": { + "description": "Required. Path within the container at which the volume should be mounted. Must not contain ':'. For Cloud SQL volumes, it can be left empty, or must otherwise be `/cloudsql`. All instances defined in the Volume will be available as `/cloudsql/[instance]`. For more information on Cloud SQL volumes, visit https://cloud.google.com/sql/docs/mysql/connect-run", + "type": "string" + }, + "name": { + "description": "Required. This must match the Name of a Volume.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRunOpV2VpcAccess": { + "description": "VPC Access settings. For more information on creating a VPC Connector, visit https://cloud.google.com/vpc/docs/configure-serverless-vpc-access For information on how to configure Cloud Run with an existing VPC Connector, visit https://cloud.google.com/run/docs/configuring/connecting-vpc", + "id": "GoogleCloudRunOpV2VpcAccess", + "properties": { + "connector": { + "description": "VPC Access connector name. Format: projects/{project}/locations/{location}/connectors/{connector}", + "type": "string" + }, + "egress": { + "description": "Traffic VPC egress settings.", + "enum": [ + "VPC_EGRESS_UNSPECIFIED", + "ALL_TRAFFIC", + "PRIVATE_RANGES_ONLY" + ], + "enumDescriptions": [ + "Unspecified", + "All outbound traffic is routed through the VPC connector.", + "Only private IP ranges are routed through the VPC connector." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", + "id": "GoogleIamV1AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "GoogleIamV1AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "id": "GoogleIamV1AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "id": "GoogleIamV1Binding", + "properties": { + "condition": { + "$ref": "GoogleTypeExpr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the principals requesting access for a 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 the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "GoogleIamV1Policy", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "GoogleIamV1AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", + "items": { + "$ref": "GoogleIamV1Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleIamV1SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "GoogleIamV1SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "GoogleIamV1Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them." + }, + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "GoogleIamV1TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleIamV1TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "GoogleIamV1TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "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 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" + }, + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", + "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" + }, + "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": "Cloud Run Admin API", + "version": "v2", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/runtimeconfig/v1/runtimeconfig-api.json b/etc/api/runtimeconfig/v1/runtimeconfig-api.json index a45b3434bb..15c78d53f1 100644 --- a/etc/api/runtimeconfig/v1/runtimeconfig-api.json +++ b/etc/api/runtimeconfig/v1/runtimeconfig-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." }, "https://www.googleapis.com/auth/cloudruntimeconfig": { "description": "Manage your Google Cloud Platform services' runtime configuration" @@ -210,7 +210,7 @@ } } }, - "revision": "20210329", + "revision": "20220228", "rootUrl": "https://runtimeconfig.googleapis.com/", "schemas": { "CancelOperationRequest": { diff --git a/etc/api/runtimeconfig/v1beta1/runtimeconfig-api.json b/etc/api/runtimeconfig/v1beta1/runtimeconfig-api.json index ff2fdf7b11..52138eabbb 100644 --- a/etc/api/runtimeconfig/v1beta1/runtimeconfig-api.json +++ b/etc/api/runtimeconfig/v1beta1/runtimeconfig-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." }, "https://www.googleapis.com/auth/cloudruntimeconfig": { "description": "Manage your Google Cloud Platform services' runtime configuration" @@ -208,7 +208,7 @@ ], "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).", + "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" @@ -805,26 +805,26 @@ } } }, - "revision": "20210329", + "revision": "20220228", "rootUrl": "https://runtimeconfig.googleapis.com/", "schemas": { "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -976,11 +976,11 @@ "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/).", + "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` 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.", + "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" }, diff --git a/etc/api/safebrowsing/v4/safebrowsing-api.json b/etc/api/safebrowsing/v4/safebrowsing-api.json index 5331373fcb..4bbfdc96dd 100644 --- a/etc/api/safebrowsing/v4/safebrowsing-api.json +++ b/etc/api/safebrowsing/v4/safebrowsing-api.json @@ -261,7 +261,7 @@ } } }, - "revision": "20210330", + "revision": "20220305", "rootUrl": "https://safebrowsing.googleapis.com/", "schemas": { "GoogleProtobufEmpty": { @@ -395,7 +395,8 @@ "SUBRESOURCE_FILTER", "SUSPICIOUS", "TRICK_TO_BILL", - "HIGH_CONFIDENCE_ALLOWLIST" + "HIGH_CONFIDENCE_ALLOWLIST", + "ACCURACY_TIPS" ], "enumDescriptions": [ "Unknown.", @@ -414,7 +415,8 @@ "Patterns to be used for activating the subresource filter. Interstitial will not be shown for patterns from this list.", "Entities that are suspected to present a threat.", "Trick-to-bill threat list.", - "Safe list to ship hashes of known safe URL expressions." + "Safe list to ship hashes of known safe URL expressions.", + "List from the Jigsaw team to show accuracy tips in Chrome. See go/sb-accuracytips." ], "type": "string" } @@ -593,7 +595,8 @@ "SUBRESOURCE_FILTER", "SUSPICIOUS", "TRICK_TO_BILL", - "HIGH_CONFIDENCE_ALLOWLIST" + "HIGH_CONFIDENCE_ALLOWLIST", + "ACCURACY_TIPS" ], "enumDescriptions": [ "Unknown.", @@ -612,7 +615,8 @@ "Patterns to be used for activating the subresource filter. Interstitial will not be shown for patterns from this list.", "Entities that are suspected to present a threat.", "Trick-to-bill threat list.", - "Safe list to ship hashes of known safe URL expressions." + "Safe list to ship hashes of known safe URL expressions.", + "List from the Jigsaw team to show accuracy tips in Chrome. See go/sb-accuracytips." ], "type": "string" } @@ -921,7 +925,8 @@ "SUBRESOURCE_FILTER", "SUSPICIOUS", "TRICK_TO_BILL", - "HIGH_CONFIDENCE_ALLOWLIST" + "HIGH_CONFIDENCE_ALLOWLIST", + "ACCURACY_TIPS" ], "enumDescriptions": [ "Unknown.", @@ -940,7 +945,8 @@ "Patterns to be used for activating the subresource filter. Interstitial will not be shown for patterns from this list.", "Entities that are suspected to present a threat.", "Trick-to-bill threat list.", - "Safe list to ship hashes of known safe URL expressions." + "Safe list to ship hashes of known safe URL expressions.", + "List from the Jigsaw team to show accuracy tips in Chrome. See go/sb-accuracytips." ], "type": "string" }, @@ -1089,7 +1095,8 @@ "SUBRESOURCE_FILTER", "SUSPICIOUS", "TRICK_TO_BILL", - "HIGH_CONFIDENCE_ALLOWLIST" + "HIGH_CONFIDENCE_ALLOWLIST", + "ACCURACY_TIPS" ], "enumDescriptions": [ "Unknown.", @@ -1108,7 +1115,8 @@ "Patterns to be used for activating the subresource filter. Interstitial will not be shown for patterns from this list.", "Entities that are suspected to present a threat.", "Trick-to-bill threat list.", - "Safe list to ship hashes of known safe URL expressions." + "Safe list to ship hashes of known safe URL expressions.", + "List from the Jigsaw team to show accuracy tips in Chrome. See go/sb-accuracytips." ], "type": "string" }, @@ -1188,7 +1196,8 @@ "SUBRESOURCE_FILTER", "SUSPICIOUS", "TRICK_TO_BILL", - "HIGH_CONFIDENCE_ALLOWLIST" + "HIGH_CONFIDENCE_ALLOWLIST", + "ACCURACY_TIPS" ], "enumDescriptions": [ "Unknown.", @@ -1207,7 +1216,8 @@ "Patterns to be used for activating the subresource filter. Interstitial will not be shown for patterns from this list.", "Entities that are suspected to present a threat.", "Trick-to-bill threat list.", - "Safe list to ship hashes of known safe URL expressions." + "Safe list to ship hashes of known safe URL expressions.", + "List from the Jigsaw team to show accuracy tips in Chrome. See go/sb-accuracytips." ], "type": "string" } @@ -1298,7 +1308,8 @@ "SUBRESOURCE_FILTER", "SUSPICIOUS", "TRICK_TO_BILL", - "HIGH_CONFIDENCE_ALLOWLIST" + "HIGH_CONFIDENCE_ALLOWLIST", + "ACCURACY_TIPS" ], "enumDescriptions": [ "Unknown.", @@ -1317,7 +1328,8 @@ "Patterns to be used for activating the subresource filter. Interstitial will not be shown for patterns from this list.", "Entities that are suspected to present a threat.", "Trick-to-bill threat list.", - "Safe list to ship hashes of known safe URL expressions." + "Safe list to ship hashes of known safe URL expressions.", + "List from the Jigsaw team to show accuracy tips in Chrome. See go/sb-accuracytips." ], "type": "string" } diff --git a/etc/api/sasportal/v1alpha1/sasportal-api.json b/etc/api/sasportal/v1alpha1/sasportal-api.json index 6abd632cc9..1672176154 100644 --- a/etc/api/sasportal/v1alpha1/sasportal-api.json +++ b/etc/api/sasportal/v1alpha1/sasportal-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/userinfo.email": { - "description": "View your email address" + "description": "See your primary Google Account email address" } } } @@ -2483,7 +2483,7 @@ } } }, - "revision": "20210330", + "revision": "20220301", "rootUrl": "https://sasportal.googleapis.com/", "schemas": { "SasPortalAssignment": { @@ -2562,41 +2562,18 @@ "description": "The Deployment.", "id": "SasPortalDeployment", "properties": { - "allowedBillingModes": { - "description": "The allowed billing modes under this deployment.", - "items": { - "enum": [ - "BILLING_MODE_UNSPECIFIED", - "MOBILE", - "FIXED_WIRELESS" - ], - "enumDescriptions": [ - "Billing mode has not been specified.", - "Price is based on category of CBSD: Category A, Category B registered with SAS.", - "Price is based on type of CBSD: Base station or CPE." - ], - "type": "string" - }, - "type": "array" - }, - "defaultBillingMode": { - "description": "Default billing mode for the deployment and devices under it.", - "enum": [ - "BILLING_MODE_UNSPECIFIED", - "MOBILE", - "FIXED_WIRELESS" - ], - "enumDescriptions": [ - "Billing mode has not been specified.", - "Price is based on category of CBSD: Category A, Category B registered with SAS.", - "Price is based on type of CBSD: Base station or CPE." - ], - "type": "string" - }, "displayName": { "description": "The deployment's display name.", "type": "string" }, + "frns": { + "description": "Output only. The FRNs copied from its direct parent.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, "name": { "description": "Output only. Resource name.", "readOnly": true, @@ -2878,7 +2855,30 @@ "SasPortalDeviceMetadata": { "description": "Device data overridable by both SAS Portal and registration requests.", "id": "SasPortalDeviceMetadata", - "properties": {}, + "properties": { + "antennaModel": { + "description": "If populated, the Antenna Model Pattern to use. Format is: RecordCreatorId:PatternId", + "type": "string" + }, + "commonChannelGroup": { + "description": "CCG. A group of CBSDs in the same ICG requesting a common primary channel assignment. See CBRSA-TS-2001 V3.0.0 for more details.", + "type": "string" + }, + "interferenceCoordinationGroup": { + "description": "ICG. A group of CBSDs that manage their own interference with the group. See CBRSA-TS-2001 V3.0.0 for more details.", + "type": "string" + }, + "nrqzValidated": { + "description": "Output only. Whether a CPI has validated to have coordinated with the National Quiet Zone office.", + "readOnly": true, + "type": "boolean" + }, + "nrqzValidation": { + "$ref": "SasPortalNrqzValidation", + "description": "Output only. National Radio Quiet Zone validation info.", + "readOnly": true + } + }, "type": "object" }, "SasPortalDeviceModel": { @@ -3184,6 +3184,31 @@ }, "type": "object" }, + "SasPortalNrqzValidation": { + "description": "Information about National Radio Quiet Zone validation. The presence of the field indicates the device has been validated.", + "id": "SasPortalNrqzValidation", + "properties": { + "caseId": { + "description": "Validation case id.", + "type": "string" + }, + "cpiId": { + "description": "CPI who signed the validation.", + "type": "string" + }, + "latitude": { + "description": "Device latitude associated with the validation.", + "format": "double", + "type": "number" + }, + "longitude": { + "description": "Device longitude associated with the validation.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "SasPortalOperation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "SasPortalOperation", @@ -3242,6 +3267,10 @@ "description": "Request message for `SetPolicy` method.", "id": "SasPortalSetPolicyRequest", "properties": { + "disableNotification": { + "description": "Optional. Set the field as true when we would like to disable the onboarding notification.", + "type": "boolean" + }, "policy": { "$ref": "SasPortalPolicy", "description": "Required. The policy to be applied to the `resource`." diff --git a/etc/api/script/v1/script-api.json b/etc/api/script/v1/script-api.json index f127d88753..8a4157ebe2 100644 --- a/etc/api/script/v1/script-api.json +++ b/etc/api/script/v1/script-api.json @@ -18,7 +18,7 @@ "description": "View and manage the provisioning of users on your domain" }, "https://www.googleapis.com/auth/documents": { - "description": "See, create, and edit all Google Docs documents you have access to" + "description": "See, edit, create, and delete all your Google Docs documents" }, "https://www.googleapis.com/auth/drive": { "description": "See, edit, create, and delete all of your Google Drive files" @@ -51,10 +51,10 @@ "description": "View Google Apps Script projects" }, "https://www.googleapis.com/auth/spreadsheets": { - "description": "See, edit, create, and delete your spreadsheets in Google Drive" + "description": "See, edit, create, and delete all your Google Sheets spreadsheets" }, "https://www.googleapis.com/auth/userinfo.email": { - "description": "View your email address" + "description": "See your primary Google Account email address" } } } @@ -887,7 +887,7 @@ } } }, - "revision": "20210319", + "revision": "20220303", "rootUrl": "https://script.googleapis.com/", "schemas": { "Content": { @@ -1218,6 +1218,13 @@ "name": { "description": "The function name in the script project.", "type": "string" + }, + "parameters": { + "description": "The ordered list of parameter names of the function in the script project.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" diff --git a/etc/api/searchconsole/v1/searchconsole-api.json b/etc/api/searchconsole/v1/searchconsole-api.json index 4bb0cec4cd..c2fc66cf59 100644 --- a/etc/api/searchconsole/v1/searchconsole-api.json +++ b/etc/api/searchconsole/v1/searchconsole-api.json @@ -143,7 +143,7 @@ "sitemaps": { "methods": { "delete": { - "description": "Deletes a sitemap from this site.", + "description": "Deletes a sitemap from the Sitemaps report. Does not stop Google from crawling this sitemap or the URLs that were previously crawled in the deleted sitemap.", "flatPath": "webmasters/v3/sites/{siteUrl}/sitemaps/{feedpath}", "httpMethod": "DELETE", "id": "webmasters.sitemaps.delete", @@ -349,6 +349,33 @@ } } }, + "urlInspection": { + "resources": { + "index": { + "methods": { + "inspect": { + "description": "Index inspection.", + "flatPath": "v1/urlInspection/index:inspect", + "httpMethod": "POST", + "id": "searchconsole.urlInspection.index.inspect", + "parameterOrder": [], + "parameters": {}, + "path": "v1/urlInspection/index:inspect", + "request": { + "$ref": "InspectUrlIndexRequest" + }, + "response": { + "$ref": "InspectUrlIndexResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/webmasters", + "https://www.googleapis.com/auth/webmasters.readonly" + ] + } + } + } + } + }, "urlTestingTools": { "resources": { "mobileFriendlyTest": { @@ -373,9 +400,155 @@ } } }, - "revision": "20210325", + "revision": "20220305", "rootUrl": "https://searchconsole.googleapis.com/", "schemas": { + "AmpInspectionResult": { + "description": "AMP inspection result of the live page or the current information from Google's index, depending on whether you requested a live inspection or not.", + "id": "AmpInspectionResult", + "properties": { + "ampIndexStatusVerdict": { + "description": "Index status of the AMP URL.", + "enum": [ + "VERDICT_UNSPECIFIED", + "PASS", + "PARTIAL", + "FAIL", + "NEUTRAL" + ], + "enumDescriptions": [ + "Unknown verdict.", + "Equivalent to \"Valid\" for the page or item in Search Console.", + "Equivalent to \"Valid with warnings\" for the page or item in Search Console.", + "Equivalent to \"Error\" or \"Invalid\" for the page or item in Search Console.", + "Equivalent to \"Excluded\" for the page or item in Search Console." + ], + "type": "string" + }, + "ampUrl": { + "description": "URL of the AMP that was inspected. If the submitted URL is a desktop page that refers to an AMP version, the AMP version will be inspected.", + "type": "string" + }, + "indexingState": { + "description": "Whether or not the page blocks indexing through a noindex rule.", + "enum": [ + "AMP_INDEXING_STATE_UNSPECIFIED", + "AMP_INDEXING_ALLOWED", + "BLOCKED_DUE_TO_NOINDEX", + "BLOCKED_DUE_TO_EXPIRED_UNAVAILABLE_AFTER" + ], + "enumDescriptions": [ + "Unknown indexing status.", + "Indexing allowed.", + "Indexing not allowed, 'noindex' detected.", + "Indexing not allowed, 'unavailable_after' date expired." + ], + "type": "string" + }, + "issues": { + "description": "A list of zero or more AMP issues found for the inspected URL.", + "items": { + "$ref": "AmpIssue" + }, + "type": "array" + }, + "lastCrawlTime": { + "description": "Last time this AMP version was crawled by Google. Absent if the URL was never crawled successfully.", + "format": "google-datetime", + "type": "string" + }, + "pageFetchState": { + "description": "Whether or not Google could fetch the AMP.", + "enum": [ + "PAGE_FETCH_STATE_UNSPECIFIED", + "SUCCESSFUL", + "SOFT_404", + "BLOCKED_ROBOTS_TXT", + "NOT_FOUND", + "ACCESS_DENIED", + "SERVER_ERROR", + "REDIRECT_ERROR", + "ACCESS_FORBIDDEN", + "BLOCKED_4XX", + "INTERNAL_CRAWL_ERROR", + "INVALID_URL" + ], + "enumDescriptions": [ + "Unknown fetch state.", + "Successful fetch.", + "Soft 404.", + "Blocked by robots.txt.", + "Not found (404).", + "Blocked due to unauthorized request (401).", + "Server error (5xx).", + "Redirection error.", + "Blocked due to access forbidden (403).", + "Blocked due to other 4xx issue (not 403, 404).", + "Internal error.", + "Invalid URL." + ], + "type": "string" + }, + "robotsTxtState": { + "description": "Whether or not the page is blocked to Google by a robots.txt rule.", + "enum": [ + "ROBOTS_TXT_STATE_UNSPECIFIED", + "ALLOWED", + "DISALLOWED" + ], + "enumDescriptions": [ + "Unknown robots.txt state, typically because the page wasn't fetched or found, or because robots.txt itself couldn't be reached.", + "Crawl allowed by robots.txt.", + "Crawl blocked by robots.txt." + ], + "type": "string" + }, + "verdict": { + "description": "The status of the most severe error on the page. If a page has both warnings and errors, the page status is error. Error status means the page cannot be shown in Search results.", + "enum": [ + "VERDICT_UNSPECIFIED", + "PASS", + "PARTIAL", + "FAIL", + "NEUTRAL" + ], + "enumDescriptions": [ + "Unknown verdict.", + "Equivalent to \"Valid\" for the page or item in Search Console.", + "Equivalent to \"Valid with warnings\" for the page or item in Search Console.", + "Equivalent to \"Error\" or \"Invalid\" for the page or item in Search Console.", + "Equivalent to \"Excluded\" for the page or item in Search Console." + ], + "type": "string" + } + }, + "type": "object" + }, + "AmpIssue": { + "description": "AMP issue.", + "id": "AmpIssue", + "properties": { + "issueMessage": { + "description": "Brief description of this issue.", + "type": "string" + }, + "severity": { + "description": "Severity of this issue: WARNING or ERROR.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "WARNING", + "ERROR" + ], + "enumDescriptions": [ + "Unknown severity.", + "Warning.", + "Error." + ], + "type": "string" + } + }, + "type": "object" + }, "ApiDataRow": { "id": "ApiDataRow", "properties": { @@ -433,9 +606,13 @@ "EQUALS", "NOT_EQUALS", "CONTAINS", - "NOT_CONTAINS" + "NOT_CONTAINS", + "INCLUDING_REGEX", + "EXCLUDING_REGEX" ], "enumDescriptions": [ + "", + "", "", "", "", @@ -479,6 +656,24 @@ }, "type": "object" }, + "DetectedItems": { + "description": "Rich Results items grouped by type.", + "id": "DetectedItems", + "properties": { + "items": { + "description": "List of Rich Results items.", + "items": { + "$ref": "Item" + }, + "type": "array" + }, + "richResultType": { + "description": "Rich Results type", + "type": "string" + } + }, + "type": "object" + }, "Image": { "description": "Describe image data.", "id": "Image", @@ -495,6 +690,188 @@ }, "type": "object" }, + "IndexStatusInspectionResult": { + "description": "Results of index status inspection for either the live page or the version in Google's index, depending on whether you requested a live inspection or not. For more information, see the [Index coverage report documentation](https://support.google.com/webmasters/answer/7440203).", + "id": "IndexStatusInspectionResult", + "properties": { + "coverageState": { + "description": "Could Google find and index the page. More details about page indexing appear in 'indexing_state'.", + "type": "string" + }, + "crawledAs": { + "description": "Primary crawler that was used by Google to crawl your site.", + "enum": [ + "CRAWLING_USER_AGENT_UNSPECIFIED", + "DESKTOP", + "MOBILE" + ], + "enumDescriptions": [ + "Unknown user agent.", + "Desktop user agent.", + "Mobile user agent." + ], + "type": "string" + }, + "googleCanonical": { + "description": "The URL of the page that Google selected as canonical. If the page was not indexed, this field is absent.", + "type": "string" + }, + "indexingState": { + "description": "Whether or not the page blocks indexing through a noindex rule.", + "enum": [ + "INDEXING_STATE_UNSPECIFIED", + "INDEXING_ALLOWED", + "BLOCKED_BY_META_TAG", + "BLOCKED_BY_HTTP_HEADER", + "BLOCKED_BY_ROBOTS_TXT" + ], + "enumDescriptions": [ + "Unknown indexing status.", + "Indexing allowed.", + "Indexing not allowed, 'noindex' detected in 'robots' meta tag.", + "Indexing not allowed, 'noindex' detected in 'X-Robots-Tag' http header.", + "Reserved, no longer in use." + ], + "type": "string" + }, + "lastCrawlTime": { + "description": "Last time this URL was crawled by Google using the [primary crawler](https://support.google.com/webmasters/answer/7440203#primary_crawler). Absent if the URL was never crawled successfully.", + "format": "google-datetime", + "type": "string" + }, + "pageFetchState": { + "description": "Whether or not Google could retrieve the page from your server. Equivalent to [\"page fetch\"](https://support.google.com/webmasters/answer/9012289#index_coverage) in the URL inspection report.", + "enum": [ + "PAGE_FETCH_STATE_UNSPECIFIED", + "SUCCESSFUL", + "SOFT_404", + "BLOCKED_ROBOTS_TXT", + "NOT_FOUND", + "ACCESS_DENIED", + "SERVER_ERROR", + "REDIRECT_ERROR", + "ACCESS_FORBIDDEN", + "BLOCKED_4XX", + "INTERNAL_CRAWL_ERROR", + "INVALID_URL" + ], + "enumDescriptions": [ + "Unknown fetch state.", + "Successful fetch.", + "Soft 404.", + "Blocked by robots.txt.", + "Not found (404).", + "Blocked due to unauthorized request (401).", + "Server error (5xx).", + "Redirection error.", + "Blocked due to access forbidden (403).", + "Blocked due to other 4xx issue (not 403, 404).", + "Internal error.", + "Invalid URL." + ], + "type": "string" + }, + "referringUrls": { + "description": "URLs that link to the inspected URL, directly and indirectly.", + "items": { + "type": "string" + }, + "type": "array" + }, + "robotsTxtState": { + "description": "Whether or not the page is blocked to Google by a robots.txt rule.", + "enum": [ + "ROBOTS_TXT_STATE_UNSPECIFIED", + "ALLOWED", + "DISALLOWED" + ], + "enumDescriptions": [ + "Unknown robots.txt state, typically because the page wasn't fetched or found, or because robots.txt itself couldn't be reached.", + "Crawl allowed by robots.txt.", + "Crawl blocked by robots.txt." + ], + "type": "string" + }, + "sitemap": { + "description": "Any sitemaps that this URL was listed in, as known by Google. Not guaranteed to be an exhaustive list, especially if Google did not discover this URL through a sitemap. Absent if no sitemaps were found.", + "items": { + "type": "string" + }, + "type": "array" + }, + "userCanonical": { + "description": "The URL that your page or site [declares as canonical](https://developers.google.com/search/docs/advanced/crawling/consolidate-duplicate-urls?#define-canonical). If you did not declare a canonical URL, this field is absent.", + "type": "string" + }, + "verdict": { + "description": "High level verdict about whether the URL *is* indexed (indexed status), or *can be* indexed (live inspection).", + "enum": [ + "VERDICT_UNSPECIFIED", + "PASS", + "PARTIAL", + "FAIL", + "NEUTRAL" + ], + "enumDescriptions": [ + "Unknown verdict.", + "Equivalent to \"Valid\" for the page or item in Search Console.", + "Equivalent to \"Valid with warnings\" for the page or item in Search Console.", + "Equivalent to \"Error\" or \"Invalid\" for the page or item in Search Console.", + "Equivalent to \"Excluded\" for the page or item in Search Console." + ], + "type": "string" + } + }, + "type": "object" + }, + "InspectUrlIndexRequest": { + "description": "Index inspection request.", + "id": "InspectUrlIndexRequest", + "properties": { + "inspectionUrl": { + "description": "Required. URL to inspect. Must be under the property specified in \"site_url\".", + "type": "string" + }, + "languageCode": { + "description": "Optional. An [IETF BCP-47](https://en.wikipedia.org/wiki/IETF_language_tag) language code representing the requested language for translated issue messages, e.g. \"en-US\", \"or \"de-CH\". Default value is \"en-US\".", + "type": "string" + }, + "siteUrl": { + "description": "Required. The URL of the property as defined in Search Console. **Examples:** `http://www.example.com/` for a URL-prefix property, or `sc-domain:example.com` for a Domain property.", + "type": "string" + } + }, + "type": "object" + }, + "InspectUrlIndexResponse": { + "description": "Index-Status inspection response.", + "id": "InspectUrlIndexResponse", + "properties": { + "inspectionResult": { + "$ref": "UrlInspectionResult", + "description": "URL inspection results." + } + }, + "type": "object" + }, + "Item": { + "description": "A specific rich result found on the page.", + "id": "Item", + "properties": { + "issues": { + "description": "A list of zero or more rich result issues found for this instance.", + "items": { + "$ref": "RichResultsIssue" + }, + "type": "array" + }, + "name": { + "description": "The user-provided name of this item.", + "type": "string" + } + }, + "type": "object" + }, "MobileFriendlyIssue": { "description": "Mobile-friendly issue.", "id": "MobileFriendlyIssue", @@ -513,7 +890,7 @@ "enumDescriptions": [ "Unknown rule. Sorry, we don't have any description for the rule that was broken.", "Plugins incompatible with mobile devices are being used. [Learn more] (https://support.google.com/webmasters/answer/6352293#flash_usage).", - "Viewsport is not specified using the meta viewport tag. [Learn more] (https://support.google.com/webmasters/answer/6352293#viewport_not_configured).", + "Viewport is not specified using the meta viewport tag. [Learn more] (https://support.google.com/webmasters/answer/6352293#viewport_not_configured).", "Viewport defined to a fixed width. [Learn more] (https://support.google.com/webmasters/answer/6352293#fixed-width_viewport).", "Content not sized to viewport. [Learn more] (https://support.google.com/webmasters/answer/6352293#content_not_sized_to_viewport).", "Font size is too small for easy reading on a small screen. [Learn More] (https://support.google.com/webmasters/answer/6352293#small_font_size).", @@ -524,6 +901,85 @@ }, "type": "object" }, + "MobileUsabilityInspectionResult": { + "description": "Mobile-usability inspection results.", + "id": "MobileUsabilityInspectionResult", + "properties": { + "issues": { + "description": "A list of zero or more mobile-usability issues detected for this URL.", + "items": { + "$ref": "MobileUsabilityIssue" + }, + "type": "array" + }, + "verdict": { + "description": "High-level mobile-usability inspection result for this URL.", + "enum": [ + "VERDICT_UNSPECIFIED", + "PASS", + "PARTIAL", + "FAIL", + "NEUTRAL" + ], + "enumDescriptions": [ + "Unknown verdict.", + "Equivalent to \"Valid\" for the page or item in Search Console.", + "Equivalent to \"Valid with warnings\" for the page or item in Search Console.", + "Equivalent to \"Error\" or \"Invalid\" for the page or item in Search Console.", + "Equivalent to \"Excluded\" for the page or item in Search Console." + ], + "type": "string" + } + }, + "type": "object" + }, + "MobileUsabilityIssue": { + "description": "Mobile-usability issue.", + "id": "MobileUsabilityIssue", + "properties": { + "issueType": { + "description": "Mobile-usability issue type.", + "enum": [ + "MOBILE_USABILITY_ISSUE_TYPE_UNSPECIFIED", + "USES_INCOMPATIBLE_PLUGINS", + "CONFIGURE_VIEWPORT", + "FIXED_WIDTH_VIEWPORT", + "SIZE_CONTENT_TO_VIEWPORT", + "USE_LEGIBLE_FONT_SIZES", + "TAP_TARGETS_TOO_CLOSE" + ], + "enumDescriptions": [ + "Unknown issue. Sorry, we don't have any description for the rule that was broken.", + "Plugins incompatible with mobile devices are being used. [Learn more] (https://support.google.com/webmasters/answer/6352293#flash_usage#error-list).", + "Viewport is not specified using the meta viewport tag. [Learn more] (https://support.google.com/webmasters/answer/6352293#viewport_not_configured#error-list).", + "Viewport defined to a fixed width. [Learn more] (https://support.google.com/webmasters/answer/6352293#fixed-width_viewport#error-list).", + "Content not sized to viewport. [Learn more] (https://support.google.com/webmasters/answer/6352293#content_not_sized_to_viewport#error-list).", + "Font size is too small for easy reading on a small screen. [Learn More] (https://support.google.com/webmasters/answer/6352293#small_font_size#error-list).", + "Touch elements are too close to each other. [Learn more] (https://support.google.com/webmasters/answer/6352293#touch_elements_too_close#error-list)." + ], + "type": "string" + }, + "message": { + "description": "Additional information regarding the issue.", + "type": "string" + }, + "severity": { + "description": "Not returned; reserved for future use.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "WARNING", + "ERROR" + ], + "enumDescriptions": [ + "Unknown severity.", + "Warning.", + "Error." + ], + "type": "string" + } + }, + "type": "object" + }, "ResourceIssue": { "description": "Information about a resource with issue.", "id": "ResourceIssue", @@ -535,6 +991,63 @@ }, "type": "object" }, + "RichResultsInspectionResult": { + "description": "Rich-Results inspection result, including any rich results found at this URL.", + "id": "RichResultsInspectionResult", + "properties": { + "detectedItems": { + "description": "A list of zero or more rich results detected on this page. Rich results that cannot even be parsed due to syntactic issues will not be listed here.", + "items": { + "$ref": "DetectedItems" + }, + "type": "array" + }, + "verdict": { + "description": "High-level rich results inspection result for this URL.", + "enum": [ + "VERDICT_UNSPECIFIED", + "PASS", + "PARTIAL", + "FAIL", + "NEUTRAL" + ], + "enumDescriptions": [ + "Unknown verdict.", + "Equivalent to \"Valid\" for the page or item in Search Console.", + "Equivalent to \"Valid with warnings\" for the page or item in Search Console.", + "Equivalent to \"Error\" or \"Invalid\" for the page or item in Search Console.", + "Equivalent to \"Excluded\" for the page or item in Search Console." + ], + "type": "string" + } + }, + "type": "object" + }, + "RichResultsIssue": { + "description": "Severity and status of a single issue affecting a single rich result instance on a page.", + "id": "RichResultsIssue", + "properties": { + "issueMessage": { + "description": "Rich Results issue type.", + "type": "string" + }, + "severity": { + "description": "Severity of this issue: WARNING, or ERROR. Items with an issue of status ERROR cannot appear with rich result features in Google Search results.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "WARNING", + "ERROR" + ], + "enumDescriptions": [ + "Unknown severity.", + "Warning.", + "Error." + ], + "type": "string" + } + }, + "type": "object" + }, "RunMobileFriendlyTestRequest": { "description": "Mobile-friendly test request.", "id": "RunMobileFriendlyTestRequest", @@ -669,13 +1182,17 @@ "WEB", "IMAGE", "VIDEO", - "NEWS" + "NEWS", + "DISCOVER", + "GOOGLE_NEWS" ], "enumDescriptions": [ "", "", "", - "" + "News tab in search.", + "Discover.", + "Google News (news.google.com or mobile app)." ], "type": "string" }, @@ -687,6 +1204,26 @@ "description": "[Optional; Default is 0] Zero-based index of the first row in the response. Must be a non-negative number.", "format": "int32", "type": "integer" + }, + "type": { + "description": "Optional. [Optional; Default is \\\"web\\\"] Type of report: search type, or either Discover or Gnews.", + "enum": [ + "WEB", + "IMAGE", + "VIDEO", + "NEWS", + "DISCOVER", + "GOOGLE_NEWS" + ], + "enumDescriptions": [ + "", + "", + "", + "News tab in search.", + "Discover.", + "Google News (news.google.com or mobile app)." + ], + "type": "string" } }, "type": "object" @@ -774,6 +1311,33 @@ }, "type": "object" }, + "UrlInspectionResult": { + "description": "URL inspection result, including all inspection results.", + "id": "UrlInspectionResult", + "properties": { + "ampResult": { + "$ref": "AmpInspectionResult", + "description": "Result of the AMP analysis. Absent if the page is not an AMP page." + }, + "indexStatusResult": { + "$ref": "IndexStatusInspectionResult", + "description": "Result of the index status analysis." + }, + "inspectionResultLink": { + "description": "Link to Search Console URL inspection.", + "type": "string" + }, + "mobileUsabilityResult": { + "$ref": "MobileUsabilityInspectionResult", + "description": "Result of the Mobile usability analysis." + }, + "richResultsResult": { + "$ref": "RichResultsInspectionResult", + "description": "Result of the Rich Results analysis. Absent if there are no rich results found." + } + }, + "type": "object" + }, "WmxSite": { "description": "Contains permission level information about a Search Console site. For more information, see [Permissions in Search Console](https://support.google.com/webmasters/answer/2451999).", "id": "WmxSite", @@ -876,7 +1440,7 @@ "id": "WmxSitemapContent", "properties": { "indexed": { - "description": "The number of URLs from the sitemap that were indexed (of the content type).", + "description": "*Deprecated; do not use.*", "format": "int64", "type": "string" }, diff --git a/etc/api/secretmanager/v1/secretmanager-api.json b/etc/api/secretmanager/v1/secretmanager-api.json index 2e9a346bf7..22b65d2f75 100644 --- a/etc/api/secretmanager/v1/secretmanager-api.json +++ b/etc/api/secretmanager/v1/secretmanager-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -249,6 +249,11 @@ "name" ], "parameters": { + "etag": { + "description": "Optional. Etag of the Secret. The request succeeds if it matches the etag of the currently stored secret object. If the etag is omitted, the request succeeds.", + "location": "query", + "type": "string" + }, "name": { "description": "Required. The resource name of the Secret to delete in the format `projects/*/secrets/*`.", "location": "path", @@ -300,7 +305,7 @@ ], "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).", + "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" @@ -330,6 +335,11 @@ "parent" ], "parameters": { + "filter": { + "description": "Optional. Filter string, adhering to the rules in [List-operation filtering](https://cloud.google.com/secret-manager/docs/filtering). List only secrets matching the filter. If filter is empty, all secrets are listed.", + "location": "query", + "type": "string" + }, "pageSize": { "description": "Optional. The maximum number of results to be returned in a single page. If set to 0, the server decides the number of results to return. If the number is greater than 25000, it is capped at 25000.", "format": "int32", @@ -452,7 +462,7 @@ "versions": { "methods": { "access": { - "description": "Accesses a SecretVersion. This call returns the secret data. `projects/*/secrets/*/versions/latest` is an alias to the `latest` SecretVersion.", + "description": "Accesses a SecretVersion. This call returns the secret data. `projects/*/secrets/*/versions/latest` is an alias to the most recently created SecretVersion.", "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:access", "httpMethod": "GET", "id": "secretmanager.projects.secrets.versions.access", @@ -461,7 +471,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`.", + "description": "Required. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`. `projects/*/secrets/*/versions/latest` is an alias to the most recently created SecretVersion.", "location": "path", "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$", "required": true, @@ -561,7 +571,7 @@ ] }, "get": { - "description": "Gets metadata for a SecretVersion. `projects/*/secrets/*/versions/latest` is an alias to the `latest` SecretVersion.", + "description": "Gets metadata for a SecretVersion. `projects/*/secrets/*/versions/latest` is an alias to the most recently created SecretVersion.", "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}", "httpMethod": "GET", "id": "secretmanager.projects.secrets.versions.get", @@ -570,7 +580,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`. `projects/*/secrets/*/versions/latest` is an alias to the `latest` SecretVersion.", + "description": "Required. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`. `projects/*/secrets/*/versions/latest` is an alias to the most recently created SecretVersion.", "location": "path", "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$", "required": true, @@ -594,6 +604,11 @@ "parent" ], "parameters": { + "filter": { + "description": "Optional. Filter string, adhering to the rules in [List-operation filtering](https://cloud.google.com/secret-manager/docs/filtering). List only secret versions matching the filter. If filter is empty, all secret versions are listed.", + "location": "query", + "type": "string" + }, "pageSize": { "description": "Optional. The maximum number of results to be returned in a single page. If set to 0, the server decides the number of results to return. If the number is greater than 25000, it is capped at 25000.", "format": "int32", @@ -628,7 +643,7 @@ } } }, - "revision": "20210319", + "revision": "20220226", "rootUrl": "https://secretmanager.googleapis.com/", "schemas": { "AccessSecretVersionResponse": { @@ -729,22 +744,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -775,13 +790,23 @@ "DestroySecretVersionRequest": { "description": "Request message for SecretManagerService.DestroySecretVersion.", "id": "DestroySecretVersionRequest", - "properties": {}, + "properties": { + "etag": { + "description": "Optional. Etag of the SecretVersion. The request succeeds if it matches the etag of the currently stored secret version object. If the etag is omitted, the request succeeds.", + "type": "string" + } + }, "type": "object" }, "DisableSecretVersionRequest": { "description": "Request message for SecretManagerService.DisableSecretVersion.", "id": "DisableSecretVersionRequest", - "properties": {}, + "properties": { + "etag": { + "description": "Optional. Etag of the SecretVersion. The request succeeds if it matches the etag of the currently stored secret version object. If the etag is omitted, the request succeeds.", + "type": "string" + } + }, "type": "object" }, "Empty": { @@ -793,7 +818,12 @@ "EnableSecretVersionRequest": { "description": "Request message for SecretManagerService.EnableSecretVersion.", "id": "EnableSecretVersionRequest", - "properties": {}, + "properties": { + "etag": { + "description": "Optional. Etag of the SecretVersion. The request succeeds if it matches the etag of the currently stored secret version object. If the etag is omitted, the request succeeds.", + "type": "string" + } + }, "type": "object" }, "Expr": { @@ -918,7 +948,7 @@ "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/).", + "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": { @@ -929,7 +959,7 @@ "type": "array" }, "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.", + "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" }, @@ -1015,7 +1045,7 @@ "id": "Rotation", "properties": { "nextRotationTime": { - "description": "Optional. Timestamp in UTC at which the Secret is scheduled to rotate. next_rotation_time MUST be set if rotation_period is set.", + "description": "Optional. Timestamp in UTC at which the Secret is scheduled to rotate. Cannot be set to less than 300s (5 min) in the future and at most 3153600000s (100 years). next_rotation_time MUST be set if rotation_period is set.", "format": "google-datetime", "type": "string" }, @@ -1037,6 +1067,10 @@ "readOnly": true, "type": "string" }, + "etag": { + "description": "Optional. Etag of the currently stored Secret.", + "type": "string" + }, "expireTime": { "description": "Optional. Timestamp in UTC when the Secret is scheduled to expire. This is always provided on output, regardless of what was sent on input.", "format": "google-datetime", @@ -1085,6 +1119,11 @@ "description": "The secret data. Must be no larger than 64KiB.", "format": "byte", "type": "string" + }, + "dataCrc32c": { + "description": "Optional. If specified, SecretManagerService will verify the integrity of the received data on SecretManagerService.AddSecretVersion calls using the crc32c checksum and store it to include in future SecretManagerService.AccessSecretVersion responses. If a checksum is not provided in the SecretManagerService.AddSecretVersion request, the SecretManagerService will generate and store one for you. The CRC32C value is encoded as a Int64 for compatibility, and can be safely downconverted to uint32 in languages that support this type. https://cloud.google.com/apis/design/design_patterns#integer_types", + "format": "int64", + "type": "string" } }, "type": "object" @@ -1093,6 +1132,11 @@ "description": "A secret version resource in the Secret Manager API.", "id": "SecretVersion", "properties": { + "clientSpecifiedPayloadChecksum": { + "description": "Output only. True if payload checksum specified in SecretPayload object has been received by SecretManagerService on SecretManagerService.AddSecretVersion.", + "readOnly": true, + "type": "boolean" + }, "createTime": { "description": "Output only. The time at which the SecretVersion was created.", "format": "google-datetime", @@ -1105,6 +1149,11 @@ "readOnly": true, "type": "string" }, + "etag": { + "description": "Output only. Etag of the currently stored SecretVersion.", + "readOnly": true, + "type": "string" + }, "name": { "description": "Output only. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`. SecretVersion IDs in a Secret start at 1 and are incremented for each subsequent version of the secret.", "readOnly": true, diff --git a/etc/api/secretmanager/v1beta1/secretmanager-api.json b/etc/api/secretmanager/v1beta1/secretmanager-api.json index 1b369d0b5c..f6bc140e85 100644 --- a/etc/api/secretmanager/v1beta1/secretmanager-api.json +++ b/etc/api/secretmanager/v1beta1/secretmanager-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -300,7 +300,7 @@ ], "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).", + "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" @@ -628,7 +628,7 @@ } } }, - "revision": "20210319", + "revision": "20220226", "rootUrl": "https://secretmanager.googleapis.com/", "schemas": { "AccessSecretVersionResponse": { @@ -712,22 +712,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -879,7 +879,7 @@ "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/).", + "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": { @@ -890,7 +890,7 @@ "type": "array" }, "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.", + "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" }, diff --git a/etc/api/securitycenter/v1/securitycenter-api.json b/etc/api/securitycenter/v1/securitycenter-api.json index db9ca88de6..87045cc304 100644 --- a/etc/api/securitycenter/v1/securitycenter-api.json +++ b/etc/api/securitycenter/v1/securitycenter-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -218,7 +218,7 @@ "type": "string" }, "startTime": { - "description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time.", + "description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be smaller or equal to the server time.", "format": "google-datetime", "location": "query", "type": "string" @@ -243,6 +243,352 @@ } } }, + "bigQueryExports": { + "methods": { + "create": { + "description": "Creates a big query export.", + "flatPath": "v1/folders/{foldersId}/bigQueryExports", + "httpMethod": "POST", + "id": "securitycenter.folders.bigQueryExports.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "bigQueryExportId": { + "description": "Required. Unique identifier provided by the client within the parent scope. It must consist of lower case letters, numbers, and hyphen, 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. Resource name of the new big query export's parent. Its format is \"organizations/[organization_id]\", \"folders/[folder_id]\", or \"projects/[project_id]\".", + "location": "path", + "pattern": "^folders/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/bigQueryExports", + "request": { + "$ref": "GoogleCloudSecuritycenterV1BigQueryExport" + }, + "response": { + "$ref": "GoogleCloudSecuritycenterV1BigQueryExport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an existing big query export.", + "flatPath": "v1/folders/{foldersId}/bigQueryExports/{bigQueryExportsId}", + "httpMethod": "DELETE", + "id": "securitycenter.folders.bigQueryExports.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the big query export to delete. Its format is organizations/{organization}/bigQueryExports/{export_id}, folders/{folder}/bigQueryExports/{export_id}, or projects/{project}/bigQueryExports/{export_id}", + "location": "path", + "pattern": "^folders/[^/]+/bigQueryExports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a big query export.", + "flatPath": "v1/folders/{foldersId}/bigQueryExports/{bigQueryExportsId}", + "httpMethod": "GET", + "id": "securitycenter.folders.bigQueryExports.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the big query export to retrieve. Its format is organizations/{organization}/bigQueryExports/{export_id}, folders/{folder}/bigQueryExports/{export_id}, or projects/{project}/bigQueryExports/{export_id}", + "location": "path", + "pattern": "^folders/[^/]+/bigQueryExports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudSecuritycenterV1BigQueryExport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned.", + "flatPath": "v1/folders/{foldersId}/bigQueryExports", + "httpMethod": "GET", + "id": "securitycenter.folders.bigQueryExports.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListBigQueryExports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBigQueryExports` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns the collection of BigQuery exports. Its format is \"organizations/[organization_id]\", \"folders/[folder_id]\", \"projects/[project_id]\".", + "location": "path", + "pattern": "^folders/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/bigQueryExports", + "response": { + "$ref": "ListBigQueryExportsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a BigQuery export.", + "flatPath": "v1/folders/{foldersId}/bigQueryExports/{bigQueryExportsId}", + "httpMethod": "PATCH", + "id": "securitycenter.folders.bigQueryExports.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "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.", + "location": "path", + "pattern": "^folders/[^/]+/bigQueryExports/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to be updated. If empty all mutable fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudSecuritycenterV1BigQueryExport" + }, + "response": { + "$ref": "GoogleCloudSecuritycenterV1BigQueryExport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "findings": { + "methods": { + "bulkMute": { + "description": "Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either an organization, folder or project. The findings matched by the filter will be muted after the LRO is done.", + "flatPath": "v1/folders/{foldersId}/findings:bulkMute", + "httpMethod": "POST", + "id": "securitycenter.folders.findings.bulkMute", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent, at which bulk action needs to be applied. Its format is \"organizations/[organization_id]\", \"folders/[folder_id]\", \"projects/[project_id]\".", + "location": "path", + "pattern": "^folders/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/findings:bulkMute", + "request": { + "$ref": "BulkMuteFindingsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "muteConfigs": { + "methods": { + "create": { + "description": "Creates a mute config.", + "flatPath": "v1/folders/{foldersId}/muteConfigs", + "httpMethod": "POST", + "id": "securitycenter.folders.muteConfigs.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "muteConfigId": { + "description": "Required. Unique identifier provided by the client within the parent scope. It must consist of lower case letters, numbers, and hyphen, 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. Resource name of the new mute configs's parent. Its format is \"organizations/[organization_id]\", \"folders/[folder_id]\", or \"projects/[project_id]\".", + "location": "path", + "pattern": "^folders/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/muteConfigs", + "request": { + "$ref": "GoogleCloudSecuritycenterV1MuteConfig" + }, + "response": { + "$ref": "GoogleCloudSecuritycenterV1MuteConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an existing mute config.", + "flatPath": "v1/folders/{foldersId}/muteConfigs/{muteConfigsId}", + "httpMethod": "DELETE", + "id": "securitycenter.folders.muteConfigs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the mute config to delete. Its format is organizations/{organization}/muteConfigs/{config_id}, folders/{folder}/muteConfigs/{config_id}, or projects/{project}/muteConfigs/{config_id}", + "location": "path", + "pattern": "^folders/[^/]+/muteConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a mute config.", + "flatPath": "v1/folders/{foldersId}/muteConfigs/{muteConfigsId}", + "httpMethod": "GET", + "id": "securitycenter.folders.muteConfigs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the mute config to retrieve. Its format is organizations/{organization}/muteConfigs/{config_id}, folders/{folder}/muteConfigs/{config_id}, or projects/{project}/muteConfigs/{config_id}", + "location": "path", + "pattern": "^folders/[^/]+/muteConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudSecuritycenterV1MuteConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists mute configs.", + "flatPath": "v1/folders/{foldersId}/muteConfigs", + "httpMethod": "GET", + "id": "securitycenter.folders.muteConfigs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListMuteConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMuteConfigs` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns the collection of mute configs. Its format is \"organizations/[organization_id]\", \"folders/[folder_id]\", \"projects/[project_id]\".", + "location": "path", + "pattern": "^folders/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/muteConfigs", + "response": { + "$ref": "ListMuteConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a mute config.", + "flatPath": "v1/folders/{foldersId}/muteConfigs/{muteConfigsId}", + "httpMethod": "PATCH", + "id": "securitycenter.folders.muteConfigs.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "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}\"", + "location": "path", + "pattern": "^folders/[^/]+/muteConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to be updated. If empty all mutable fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudSecuritycenterV1MuteConfig" + }, + "response": { + "$ref": "GoogleCloudSecuritycenterV1MuteConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "sources": { "methods": { "list": { @@ -335,7 +681,7 @@ "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 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. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` * severity: `=`, `:` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = \"2019-06-10T16:07:18-07:00\"` `event_time = 1560208038000` security_marks.marks: `=`, `:` source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : \"\"`", + "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 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. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = \"2019-06-10T16:07:18-07:00\"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : \"\"` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.display_name: `=`, `:`", "location": "query", "type": "string" }, @@ -411,6 +757,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "setMute": { + "description": "Updates the mute state of a finding.", + "flatPath": "v1/folders/{foldersId}/sources/{sourcesId}/findings/{findingsId}:setMute", + "httpMethod": "POST", + "id": "securitycenter.folders.sources.findings.setMute", + "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}\", \"folders/{folder_id}/sources/{source_id}/finding/{finding_id}\", \"projects/{project_id}/sources/{source_id}/finding/{finding_id}\".", + "location": "path", + "pattern": "^folders/[^/]+/sources/[^/]+/findings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:setMute", + "request": { + "$ref": "SetMuteRequest" + }, + "response": { + "$ref": "Finding" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "setState": { "description": "Updates the state of a finding.", "flatPath": "v1/folders/{foldersId}/sources/{sourcesId}/findings/{findingsId}:setState", @@ -456,7 +830,7 @@ "type": "string" }, "startTime": { - "description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time.", + "description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be smaller or equal to the server time.", "format": "google-datetime", "location": "query", "type": "string" @@ -479,6 +853,46 @@ "https://www.googleapis.com/auth/cloud-platform" ] } + }, + "resources": { + "externalSystems": { + "methods": { + "patch": { + "description": "Updates external system. This is for a given finding.", + "flatPath": "v1/folders/{foldersId}/sources/{sourcesId}/findings/{findingsId}/externalSystems/{externalSystemsId}", + "httpMethod": "PATCH", + "id": "securitycenter.folders.sources.findings.externalSystems.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "External System Name e.g. jira, demisto, etc. e.g.: organizations/1234/sources/5678/findings/123456/externalSystems/jira folders/1234/sources/5678/findings/123456/externalSystems/jira projects/1234/sources/5678/findings/123456/externalSystems/jira", + "location": "path", + "pattern": "^folders/[^/]+/sources/[^/]+/findings/[^/]+/externalSystems/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The FieldMask to use when updating the external system resource. If empty all mutable fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudSecuritycenterV1ExternalSystem" + }, + "response": { + "$ref": "GoogleCloudSecuritycenterV1ExternalSystem" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } } } } @@ -687,7 +1101,7 @@ "type": "string" }, "startTime": { - "description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time.", + "description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be smaller or equal to the server time.", "format": "google-datetime", "location": "query", "type": "string" @@ -712,6 +1126,352 @@ } } }, + "bigQueryExports": { + "methods": { + "create": { + "description": "Creates a big query export.", + "flatPath": "v1/organizations/{organizationsId}/bigQueryExports", + "httpMethod": "POST", + "id": "securitycenter.organizations.bigQueryExports.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "bigQueryExportId": { + "description": "Required. Unique identifier provided by the client within the parent scope. It must consist of lower case letters, numbers, and hyphen, 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. Resource name of the new big query export's parent. Its format is \"organizations/[organization_id]\", \"folders/[folder_id]\", or \"projects/[project_id]\".", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/bigQueryExports", + "request": { + "$ref": "GoogleCloudSecuritycenterV1BigQueryExport" + }, + "response": { + "$ref": "GoogleCloudSecuritycenterV1BigQueryExport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an existing big query export.", + "flatPath": "v1/organizations/{organizationsId}/bigQueryExports/{bigQueryExportsId}", + "httpMethod": "DELETE", + "id": "securitycenter.organizations.bigQueryExports.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the big query export to delete. Its format is organizations/{organization}/bigQueryExports/{export_id}, folders/{folder}/bigQueryExports/{export_id}, or projects/{project}/bigQueryExports/{export_id}", + "location": "path", + "pattern": "^organizations/[^/]+/bigQueryExports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a big query export.", + "flatPath": "v1/organizations/{organizationsId}/bigQueryExports/{bigQueryExportsId}", + "httpMethod": "GET", + "id": "securitycenter.organizations.bigQueryExports.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the big query export to retrieve. Its format is organizations/{organization}/bigQueryExports/{export_id}, folders/{folder}/bigQueryExports/{export_id}, or projects/{project}/bigQueryExports/{export_id}", + "location": "path", + "pattern": "^organizations/[^/]+/bigQueryExports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudSecuritycenterV1BigQueryExport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned.", + "flatPath": "v1/organizations/{organizationsId}/bigQueryExports", + "httpMethod": "GET", + "id": "securitycenter.organizations.bigQueryExports.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListBigQueryExports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBigQueryExports` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns the collection of BigQuery exports. Its format is \"organizations/[organization_id]\", \"folders/[folder_id]\", \"projects/[project_id]\".", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/bigQueryExports", + "response": { + "$ref": "ListBigQueryExportsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a BigQuery export.", + "flatPath": "v1/organizations/{organizationsId}/bigQueryExports/{bigQueryExportsId}", + "httpMethod": "PATCH", + "id": "securitycenter.organizations.bigQueryExports.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "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.", + "location": "path", + "pattern": "^organizations/[^/]+/bigQueryExports/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to be updated. If empty all mutable fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudSecuritycenterV1BigQueryExport" + }, + "response": { + "$ref": "GoogleCloudSecuritycenterV1BigQueryExport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "findings": { + "methods": { + "bulkMute": { + "description": "Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either an organization, folder or project. The findings matched by the filter will be muted after the LRO is done.", + "flatPath": "v1/organizations/{organizationsId}/findings:bulkMute", + "httpMethod": "POST", + "id": "securitycenter.organizations.findings.bulkMute", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent, at which bulk action needs to be applied. Its format is \"organizations/[organization_id]\", \"folders/[folder_id]\", \"projects/[project_id]\".", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/findings:bulkMute", + "request": { + "$ref": "BulkMuteFindingsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "muteConfigs": { + "methods": { + "create": { + "description": "Creates a mute config.", + "flatPath": "v1/organizations/{organizationsId}/muteConfigs", + "httpMethod": "POST", + "id": "securitycenter.organizations.muteConfigs.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "muteConfigId": { + "description": "Required. Unique identifier provided by the client within the parent scope. It must consist of lower case letters, numbers, and hyphen, 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. Resource name of the new mute configs's parent. Its format is \"organizations/[organization_id]\", \"folders/[folder_id]\", or \"projects/[project_id]\".", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/muteConfigs", + "request": { + "$ref": "GoogleCloudSecuritycenterV1MuteConfig" + }, + "response": { + "$ref": "GoogleCloudSecuritycenterV1MuteConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an existing mute config.", + "flatPath": "v1/organizations/{organizationsId}/muteConfigs/{muteConfigsId}", + "httpMethod": "DELETE", + "id": "securitycenter.organizations.muteConfigs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the mute config to delete. Its format is organizations/{organization}/muteConfigs/{config_id}, folders/{folder}/muteConfigs/{config_id}, or projects/{project}/muteConfigs/{config_id}", + "location": "path", + "pattern": "^organizations/[^/]+/muteConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a mute config.", + "flatPath": "v1/organizations/{organizationsId}/muteConfigs/{muteConfigsId}", + "httpMethod": "GET", + "id": "securitycenter.organizations.muteConfigs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the mute config to retrieve. Its format is organizations/{organization}/muteConfigs/{config_id}, folders/{folder}/muteConfigs/{config_id}, or projects/{project}/muteConfigs/{config_id}", + "location": "path", + "pattern": "^organizations/[^/]+/muteConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudSecuritycenterV1MuteConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists mute configs.", + "flatPath": "v1/organizations/{organizationsId}/muteConfigs", + "httpMethod": "GET", + "id": "securitycenter.organizations.muteConfigs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListMuteConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMuteConfigs` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns the collection of mute configs. Its format is \"organizations/[organization_id]\", \"folders/[folder_id]\", \"projects/[project_id]\".", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/muteConfigs", + "response": { + "$ref": "ListMuteConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a mute config.", + "flatPath": "v1/organizations/{organizationsId}/muteConfigs/{muteConfigsId}", + "httpMethod": "PATCH", + "id": "securitycenter.organizations.muteConfigs.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "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}\"", + "location": "path", + "pattern": "^organizations/[^/]+/muteConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to be updated. If empty all mutable fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudSecuritycenterV1MuteConfig" + }, + "response": { + "$ref": "GoogleCloudSecuritycenterV1MuteConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "notificationConfigs": { "methods": { "create": { @@ -1285,7 +2045,7 @@ "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 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. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` * severity: `=`, `:` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = \"2019-06-10T16:07:18-07:00\"` `event_time = 1560208038000` security_marks.marks: `=`, `:` source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : \"\"`", + "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 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. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = \"2019-06-10T16:07:18-07:00\"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : \"\"` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.display_name: `=`, `:`", "location": "query", "type": "string" }, @@ -1361,6 +2121,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "setMute": { + "description": "Updates the mute state of a finding.", + "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}:setMute", + "httpMethod": "POST", + "id": "securitycenter.organizations.sources.findings.setMute", + "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}\", \"folders/{folder_id}/sources/{source_id}/finding/{finding_id}\", \"projects/{project_id}/sources/{source_id}/finding/{finding_id}\".", + "location": "path", + "pattern": "^organizations/[^/]+/sources/[^/]+/findings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:setMute", + "request": { + "$ref": "SetMuteRequest" + }, + "response": { + "$ref": "Finding" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "setState": { "description": "Updates the state of a finding.", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}:setState", @@ -1406,7 +2194,7 @@ "type": "string" }, "startTime": { - "description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time.", + "description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be smaller or equal to the server time.", "format": "google-datetime", "location": "query", "type": "string" @@ -1429,6 +2217,46 @@ "https://www.googleapis.com/auth/cloud-platform" ] } + }, + "resources": { + "externalSystems": { + "methods": { + "patch": { + "description": "Updates external system. This is for a given finding.", + "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}/externalSystems/{externalSystemsId}", + "httpMethod": "PATCH", + "id": "securitycenter.organizations.sources.findings.externalSystems.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "External System Name e.g. jira, demisto, etc. e.g.: organizations/1234/sources/5678/findings/123456/externalSystems/jira folders/1234/sources/5678/findings/123456/externalSystems/jira projects/1234/sources/5678/findings/123456/externalSystems/jira", + "location": "path", + "pattern": "^organizations/[^/]+/sources/[^/]+/findings/[^/]+/externalSystems/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The FieldMask to use when updating the external system resource. If empty all mutable fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudSecuritycenterV1ExternalSystem" + }, + "response": { + "$ref": "GoogleCloudSecuritycenterV1ExternalSystem" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } } } } @@ -1548,7 +2376,7 @@ "type": "string" }, "startTime": { - "description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time.", + "description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be smaller or equal to the server time.", "format": "google-datetime", "location": "query", "type": "string" @@ -1573,6 +2401,352 @@ } } }, + "bigQueryExports": { + "methods": { + "create": { + "description": "Creates a big query export.", + "flatPath": "v1/projects/{projectsId}/bigQueryExports", + "httpMethod": "POST", + "id": "securitycenter.projects.bigQueryExports.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "bigQueryExportId": { + "description": "Required. Unique identifier provided by the client within the parent scope. It must consist of lower case letters, numbers, and hyphen, 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. Resource name of the new big query export's parent. Its format is \"organizations/[organization_id]\", \"folders/[folder_id]\", or \"projects/[project_id]\".", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/bigQueryExports", + "request": { + "$ref": "GoogleCloudSecuritycenterV1BigQueryExport" + }, + "response": { + "$ref": "GoogleCloudSecuritycenterV1BigQueryExport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an existing big query export.", + "flatPath": "v1/projects/{projectsId}/bigQueryExports/{bigQueryExportsId}", + "httpMethod": "DELETE", + "id": "securitycenter.projects.bigQueryExports.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the big query export to delete. Its format is organizations/{organization}/bigQueryExports/{export_id}, folders/{folder}/bigQueryExports/{export_id}, or projects/{project}/bigQueryExports/{export_id}", + "location": "path", + "pattern": "^projects/[^/]+/bigQueryExports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a big query export.", + "flatPath": "v1/projects/{projectsId}/bigQueryExports/{bigQueryExportsId}", + "httpMethod": "GET", + "id": "securitycenter.projects.bigQueryExports.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the big query export to retrieve. Its format is organizations/{organization}/bigQueryExports/{export_id}, folders/{folder}/bigQueryExports/{export_id}, or projects/{project}/bigQueryExports/{export_id}", + "location": "path", + "pattern": "^projects/[^/]+/bigQueryExports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudSecuritycenterV1BigQueryExport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned.", + "flatPath": "v1/projects/{projectsId}/bigQueryExports", + "httpMethod": "GET", + "id": "securitycenter.projects.bigQueryExports.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListBigQueryExports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBigQueryExports` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns the collection of BigQuery exports. Its format is \"organizations/[organization_id]\", \"folders/[folder_id]\", \"projects/[project_id]\".", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/bigQueryExports", + "response": { + "$ref": "ListBigQueryExportsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a BigQuery export.", + "flatPath": "v1/projects/{projectsId}/bigQueryExports/{bigQueryExportsId}", + "httpMethod": "PATCH", + "id": "securitycenter.projects.bigQueryExports.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "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.", + "location": "path", + "pattern": "^projects/[^/]+/bigQueryExports/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to be updated. If empty all mutable fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudSecuritycenterV1BigQueryExport" + }, + "response": { + "$ref": "GoogleCloudSecuritycenterV1BigQueryExport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "findings": { + "methods": { + "bulkMute": { + "description": "Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either an organization, folder or project. The findings matched by the filter will be muted after the LRO is done.", + "flatPath": "v1/projects/{projectsId}/findings:bulkMute", + "httpMethod": "POST", + "id": "securitycenter.projects.findings.bulkMute", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent, at which bulk action needs to be applied. Its format is \"organizations/[organization_id]\", \"folders/[folder_id]\", \"projects/[project_id]\".", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/findings:bulkMute", + "request": { + "$ref": "BulkMuteFindingsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "muteConfigs": { + "methods": { + "create": { + "description": "Creates a mute config.", + "flatPath": "v1/projects/{projectsId}/muteConfigs", + "httpMethod": "POST", + "id": "securitycenter.projects.muteConfigs.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "muteConfigId": { + "description": "Required. Unique identifier provided by the client within the parent scope. It must consist of lower case letters, numbers, and hyphen, 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. Resource name of the new mute configs's parent. Its format is \"organizations/[organization_id]\", \"folders/[folder_id]\", or \"projects/[project_id]\".", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/muteConfigs", + "request": { + "$ref": "GoogleCloudSecuritycenterV1MuteConfig" + }, + "response": { + "$ref": "GoogleCloudSecuritycenterV1MuteConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an existing mute config.", + "flatPath": "v1/projects/{projectsId}/muteConfigs/{muteConfigsId}", + "httpMethod": "DELETE", + "id": "securitycenter.projects.muteConfigs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the mute config to delete. Its format is organizations/{organization}/muteConfigs/{config_id}, folders/{folder}/muteConfigs/{config_id}, or projects/{project}/muteConfigs/{config_id}", + "location": "path", + "pattern": "^projects/[^/]+/muteConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a mute config.", + "flatPath": "v1/projects/{projectsId}/muteConfigs/{muteConfigsId}", + "httpMethod": "GET", + "id": "securitycenter.projects.muteConfigs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the mute config to retrieve. Its format is organizations/{organization}/muteConfigs/{config_id}, folders/{folder}/muteConfigs/{config_id}, or projects/{project}/muteConfigs/{config_id}", + "location": "path", + "pattern": "^projects/[^/]+/muteConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudSecuritycenterV1MuteConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists mute configs.", + "flatPath": "v1/projects/{projectsId}/muteConfigs", + "httpMethod": "GET", + "id": "securitycenter.projects.muteConfigs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListMuteConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMuteConfigs` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns the collection of mute configs. Its format is \"organizations/[organization_id]\", \"folders/[folder_id]\", \"projects/[project_id]\".", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/muteConfigs", + "response": { + "$ref": "ListMuteConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a mute config.", + "flatPath": "v1/projects/{projectsId}/muteConfigs/{muteConfigsId}", + "httpMethod": "PATCH", + "id": "securitycenter.projects.muteConfigs.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "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}\"", + "location": "path", + "pattern": "^projects/[^/]+/muteConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to be updated. If empty all mutable fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudSecuritycenterV1MuteConfig" + }, + "response": { + "$ref": "GoogleCloudSecuritycenterV1MuteConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "sources": { "methods": { "list": { @@ -1665,7 +2839,7 @@ "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 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. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` * severity: `=`, `:` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = \"2019-06-10T16:07:18-07:00\"` `event_time = 1560208038000` security_marks.marks: `=`, `:` source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : \"\"`", + "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 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. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = \"2019-06-10T16:07:18-07:00\"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : \"\"` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.display_name: `=`, `:`", "location": "query", "type": "string" }, @@ -1741,6 +2915,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "setMute": { + "description": "Updates the mute state of a finding.", + "flatPath": "v1/projects/{projectsId}/sources/{sourcesId}/findings/{findingsId}:setMute", + "httpMethod": "POST", + "id": "securitycenter.projects.sources.findings.setMute", + "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}\", \"folders/{folder_id}/sources/{source_id}/finding/{finding_id}\", \"projects/{project_id}/sources/{source_id}/finding/{finding_id}\".", + "location": "path", + "pattern": "^projects/[^/]+/sources/[^/]+/findings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:setMute", + "request": { + "$ref": "SetMuteRequest" + }, + "response": { + "$ref": "Finding" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "setState": { "description": "Updates the state of a finding.", "flatPath": "v1/projects/{projectsId}/sources/{sourcesId}/findings/{findingsId}:setState", @@ -1786,7 +2988,7 @@ "type": "string" }, "startTime": { - "description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time.", + "description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be smaller or equal to the server time.", "format": "google-datetime", "location": "query", "type": "string" @@ -1809,6 +3011,46 @@ "https://www.googleapis.com/auth/cloud-platform" ] } + }, + "resources": { + "externalSystems": { + "methods": { + "patch": { + "description": "Updates external system. This is for a given finding.", + "flatPath": "v1/projects/{projectsId}/sources/{sourcesId}/findings/{findingsId}/externalSystems/{externalSystemsId}", + "httpMethod": "PATCH", + "id": "securitycenter.projects.sources.findings.externalSystems.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "External System Name e.g. jira, demisto, etc. e.g.: organizations/1234/sources/5678/findings/123456/externalSystems/jira folders/1234/sources/5678/findings/123456/externalSystems/jira projects/1234/sources/5678/findings/123456/externalSystems/jira", + "location": "path", + "pattern": "^projects/[^/]+/sources/[^/]+/findings/[^/]+/externalSystems/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The FieldMask to use when updating the external system resource. If empty all mutable fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudSecuritycenterV1ExternalSystem" + }, + "response": { + "$ref": "GoogleCloudSecuritycenterV1ExternalSystem" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } } } } @@ -1816,9 +3058,40 @@ } } }, - "revision": "20210326", + "revision": "20220224", "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\".", + "type": "string" + }, + "serviceName": { + "description": "This is the API service that the service account made a call to, e.g. \"iam.googleapis.com\"", + "type": "string" + }, + "userAgentFamily": { + "description": "What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.", + "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", @@ -1947,22 +3220,199 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "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" + }, + "BulkMuteFindingsRequest": { + "description": "Request message for bulk findings update. Note: 1. If multiple bulk update requests match the same resource, the order in which they get executed is not defined. 2. Once a bulk operation is started, there is no way to stop it.", + "id": "BulkMuteFindingsRequest", + "properties": { + "filter": { + "description": "Expression that identifies findings that should be updated. 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" + }, + "muteAnnotation": { + "description": "This can be a mute configuration name or any identifier for mute/unmute of findings based on the filter.", + "type": "string" + } + }, + "type": "object" + }, + "Cve": { + "description": "CVE stands for Common Vulnerabilities and Exposures. More information: https://cve.mitre.org", + "id": "Cve", + "properties": { + "cvssv3": { + "$ref": "Cvssv3", + "description": "Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document" + }, + "id": { + "description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", + "type": "string" + }, + "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" + } + }, + "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" } }, @@ -2001,6 +3451,10 @@ "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 to the Finding, such as more information on the caller, which method was accessed, from where, etc." + }, "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" @@ -2015,14 +3469,76 @@ "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.", + "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" }, + "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" }, + "findingClass": { + "description": "The class of the finding.", + "enum": [ + "FINDING_CLASS_UNSPECIFIED", + "THREAT", + "VULNERABILITY", + "MISCONFIGURATION", + "OBSERVATION", + "SCC_ERROR" + ], + "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." + ], + "type": "string" + }, + "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. Reference: https://en.wikipedia.org/wiki/Indicator_of_compromise" + }, + "mitreAttack": { + "$ref": "MitreAttack", + "description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org" + }, + "mute": { + "description": "Indicates the mute state of a finding (either unspecified, 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" + }, + "muteInitiator": { + "description": "First known as mute_annotation. Records additional information about the mute operation e.g. mute config that muted the finding, user who muted the finding, etc. Unlike other attributes of a finding, a finding provider shouldn't set the value of mute.", + "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 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" @@ -2078,6 +3594,10 @@ "The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." ], "type": "string" + }, + "vulnerability": { + "$ref": "Vulnerability", + "description": "Represents vulnerability specific fields like cve, cvss scores etc. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" } }, "type": "object" @@ -2097,6 +3617,17 @@ }, "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", @@ -2113,13 +3644,135 @@ "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).", + "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 big query 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. Please see the proto documentation in the finding (https://source.corp.google.com/piper///depot/google3/google/cloud/securitycenter/v1/finding.proto) and in the ListFindingsRequest for valid filter syntax. (https://source.corp.google.com/piper///depot/google3/google/cloud/securitycenter/v1/securitycenter_service.proto).", + "type": "string" + }, + "mostRecentEditor": { + "description": "Output only. Email address of the user who last edited the big query 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, upload data to the big query dataset.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The most recent time at which the big 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" + }, + "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse": { + "description": "The response to a BulkMute request. Contains the LRO information.", + "id": "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse", + "properties": {}, + "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" + }, + "externalSystemUpdateTime": { + "description": "The most recent time when the corresponding finding's ticket/tracker was updated in the external system.", + "format": "google-datetime", + "type": "string" + }, + "externalUid": { + "description": "Identifier that's used to track the given finding in the external system.", + "type": "string" + }, + "name": { + "description": "External System Name e.g. jira, demisto, etc. e.g.: 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": "Most recent status of the corresponding finding's ticket/tracker in the external system.", + "type": "string" + } + }, + "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": { + "description": "The human readable name to be displayed for the mute config.", + "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}\"", + "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", @@ -2143,6 +3796,10 @@ "description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV1Resource", "properties": { + "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": { @@ -2168,7 +3825,11 @@ "type": "string" }, "projectDisplayName": { - "description": "The human readable name of project that the resource belongs to.", + "description": "The project id that the resource belongs to.", + "type": "string" + }, + "type": { + "description": "The full resource type of the resource.", "type": "string" } }, @@ -2378,7 +4039,7 @@ "type": "string" }, "projectDisplayName": { - "description": "The human readable name of project that the resource belongs to.", + "description": "The project id that the resource belongs to.", "type": "string" } }, @@ -2506,7 +4167,7 @@ "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 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. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` * severity: `=`, `:` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = \"2019-06-10T16:07:18-07:00\"` `event_time = 1560208038000` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : \"\"`", + "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 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. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = \"2019-06-10T16:07:18-07:00\"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : \"\"` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:`", "type": "string" }, "groupBy": { @@ -2588,6 +4249,27 @@ }, "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. Reference: 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": "List of ip addresses associated to the Finding.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListAssetsResponse": { "description": "Response message for listing assets.", "id": "ListAssetsResponse", @@ -2643,6 +4325,24 @@ }, "type": "object" }, + "ListBigQueryExportsResponse": { + "description": "Response message for listing BigQuery exports.", + "id": "ListBigQueryExportsResponse", + "properties": { + "bigQueryExports": { + "description": "The BigQuery exports from the specified parent.", + "items": { + "$ref": "GoogleCloudSecuritycenterV1BigQueryExport" + }, + "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" + }, "ListFindingsResponse": { "description": "Response message for listing findings.", "id": "ListFindingsResponse", @@ -2705,6 +4405,24 @@ }, "type": "object" }, + "ListMuteConfigsResponse": { + "description": "Response message for listing mute configs.", + "id": "ListMuteConfigsResponse", + "properties": { + "muteConfigs": { + "description": "The mute configs from the specified parent.", + "items": { + "$ref": "GoogleCloudSecuritycenterV1MuteConfig" + }, + "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" + }, "ListNotificationConfigsResponse": { "description": "Response message for listing notification configs.", "id": "ListNotificationConfigsResponse", @@ -2759,6 +4477,234 @@ }, "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", + "ACTIVE_SCANNING", + "SCANNING_IP_BLOCKS", + "INGRESS_TOOL_TRANSFER", + "NATIVE_API", + "SHARED_MODULES", + "COMMAND_AND_SCRIPTING_INTERPRETER", + "UNIX_SHELL", + "RESOURCE_HIJACKING", + "PROXY", + "EXTERNAL_PROXY", + "MULTI_HOP_PROXY", + "DYNAMIC_RESOLUTION", + "UNSECURED_CREDENTIALS", + "VALID_ACCOUNTS", + "LOCAL_ACCOUNTS", + "CLOUD_ACCOUNTS", + "NETWORK_DENIAL_OF_SERVICE", + "PERMISSION_GROUPS_DISCOVERY", + "CLOUD_GROUPS", + "EXFILTRATION_OVER_WEB_SERVICE", + "EXFILTRATION_TO_CLOUD_STORAGE", + "ACCOUNT_MANIPULATION", + "SSH_AUTHORIZED_KEYS", + "CREATE_OR_MODIFY_SYSTEM_PROCESS", + "STEAL_WEB_SESSION_COOKIE", + "MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE", + "EXPLOIT_PUBLIC_FACING_APPLICATION", + "MODIFY_AUTHENTICATION_PROCESS" + ], + "enumDescriptions": [ + "Unspecified value.", + "T1595", + "T1595.001", + "T1105", + "T1106", + "T1129", + "T1059", + "T1059.004", + "T1496", + "T1090", + "T1090.002", + "T1090.003", + "T1568", + "T1552", + "T1078", + "T1078.003", + "T1078.004", + "T1498", + "T1069", + "T1069.003", + "T1567", + "T1567.002", + "T1098", + "T1098.004", + "T1543", + "T1539", + "T1578", + "T1190", + "T1556" + ], + "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", + "ACTIVE_SCANNING", + "SCANNING_IP_BLOCKS", + "INGRESS_TOOL_TRANSFER", + "NATIVE_API", + "SHARED_MODULES", + "COMMAND_AND_SCRIPTING_INTERPRETER", + "UNIX_SHELL", + "RESOURCE_HIJACKING", + "PROXY", + "EXTERNAL_PROXY", + "MULTI_HOP_PROXY", + "DYNAMIC_RESOLUTION", + "UNSECURED_CREDENTIALS", + "VALID_ACCOUNTS", + "LOCAL_ACCOUNTS", + "CLOUD_ACCOUNTS", + "NETWORK_DENIAL_OF_SERVICE", + "PERMISSION_GROUPS_DISCOVERY", + "CLOUD_GROUPS", + "EXFILTRATION_OVER_WEB_SERVICE", + "EXFILTRATION_TO_CLOUD_STORAGE", + "ACCOUNT_MANIPULATION", + "SSH_AUTHORIZED_KEYS", + "CREATE_OR_MODIFY_SYSTEM_PROCESS", + "STEAL_WEB_SESSION_COOKIE", + "MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE", + "EXPLOIT_PUBLIC_FACING_APPLICATION", + "MODIFY_AUTHENTICATION_PROCESS" + ], + "enumDescriptions": [ + "Unspecified value.", + "T1595", + "T1595.001", + "T1105", + "T1106", + "T1129", + "T1059", + "T1059.004", + "T1496", + "T1090", + "T1090.002", + "T1090.003", + "T1568", + "T1552", + "T1078", + "T1078.003", + "T1078.004", + "T1498", + "T1069", + "T1069.003", + "T1567", + "T1567.002", + "T1098", + "T1098.004", + "T1543", + "T1539", + "T1578", + "T1190", + "T1556" + ], + "type": "string" + }, + "type": "array" + }, + "version": { + "description": "The MITRE ATT&CK version referenced by the above fields. E.g. \"8\".", + "type": "string" + } + }, + "type": "object" + }, "NotificationConfig": { "description": "Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc.", "id": "NotificationConfig", @@ -2842,7 +4788,7 @@ "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/).", + "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": { @@ -2853,7 +4799,7 @@ "type": "array" }, "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.", + "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" }, @@ -2872,10 +4818,29 @@ }, "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" + }, "Resource": { - "description": "Information related to the Google Cloud resource that is associated with this finding. LINT.IfChange", + "description": "Information related to the Google Cloud resource that is associated with this finding.", "id": "Resource", "properties": { + "displayName": { + "description": "The human readable name of the resource.", + "type": "string" + }, "folders": { "description": "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": { @@ -2896,12 +4861,16 @@ "type": "string" }, "projectDisplayName": { - "description": "The human readable name of project that the resource belongs to.", + "description": "The project id that the resource belongs to.", "type": "string" }, "projectName": { "description": "The full resource name of project that the resource belongs to.", "type": "string" + }, + "type": { + "description": "The full resource type of the resource.", + "type": "string" } }, "type": "object" @@ -3025,6 +4994,29 @@ }, "type": "object" }, + "SetMuteRequest": { + "description": "Request message for updating a finding's mute status.", + "id": "SetMuteRequest", + "properties": { + "mute": { + "description": "Required. The desired state of the 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" + } + }, + "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, and other tools.", "id": "Source", @@ -3113,6 +5105,17 @@ } }, "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/)" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/etc/api/securitycenter/v1beta1/securitycenter-api.json b/etc/api/securitycenter/v1beta1/securitycenter-api.json index bae509185d..8f8a38beee 100644 --- a/etc/api/securitycenter/v1beta1/securitycenter-api.json +++ b/etc/api/securitycenter/v1beta1/securitycenter-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -896,9 +896,40 @@ } } }, - "revision": "20210326", + "revision": "20220224", "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\".", + "type": "string" + }, + "serviceName": { + "description": "This is the API service that the service account made a call to, e.g. \"iam.googleapis.com\"", + "type": "string" + }, + "userAgentFamily": { + "description": "What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.", + "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", @@ -1012,22 +1043,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -1039,6 +1070,168 @@ "properties": {}, "type": "object" }, + "Cve": { + "description": "CVE stands for Common Vulnerabilities and Exposures. More information: https://cve.mitre.org", + "id": "Cve", + "properties": { + "cvssv3": { + "$ref": "Cvssv3", + "description": "Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document" + }, + "id": { + "description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", + "type": "string" + }, + "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" + } + }, + "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" + }, "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", @@ -1072,6 +1265,10 @@ "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 to the Finding, such as more information on the caller, which method was accessed, from where, etc." + }, "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" @@ -1086,14 +1283,76 @@ "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.", + "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" }, + "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" }, + "findingClass": { + "description": "The class of the finding.", + "enum": [ + "FINDING_CLASS_UNSPECIFIED", + "THREAT", + "VULNERABILITY", + "MISCONFIGURATION", + "OBSERVATION", + "SCC_ERROR" + ], + "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." + ], + "type": "string" + }, + "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. Reference: https://en.wikipedia.org/wiki/Indicator_of_compromise" + }, + "mitreAttack": { + "$ref": "MitreAttack", + "description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org" + }, + "mute": { + "description": "Indicates the mute state of a finding (either unspecified, 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" + }, + "muteInitiator": { + "description": "First known as mute_annotation. Records additional information about the mute operation e.g. mute config that muted the finding, user who muted the finding, etc. Unlike other attributes of a finding, a finding provider shouldn't set the value of mute.", + "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 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" @@ -1149,6 +1408,10 @@ "The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." ], "type": "string" + }, + "vulnerability": { + "$ref": "Vulnerability", + "description": "Represents vulnerability specific fields like cve, cvss scores etc. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" } }, "type": "object" @@ -1168,6 +1431,17 @@ }, "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", @@ -1184,13 +1458,135 @@ "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).", + "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 big query 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. Please see the proto documentation in the finding (https://source.corp.google.com/piper///depot/google3/google/cloud/securitycenter/v1/finding.proto) and in the ListFindingsRequest for valid filter syntax. (https://source.corp.google.com/piper///depot/google3/google/cloud/securitycenter/v1/securitycenter_service.proto).", + "type": "string" + }, + "mostRecentEditor": { + "description": "Output only. Email address of the user who last edited the big query 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, upload data to the big query dataset.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The most recent time at which the big 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" + }, + "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse": { + "description": "The response to a BulkMute request. Contains the LRO information.", + "id": "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse", + "properties": {}, + "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" + }, + "externalSystemUpdateTime": { + "description": "The most recent time when the corresponding finding's ticket/tracker was updated in the external system.", + "format": "google-datetime", + "type": "string" + }, + "externalUid": { + "description": "Identifier that's used to track the given finding in the external system.", + "type": "string" + }, + "name": { + "description": "External System Name e.g. jira, demisto, etc. e.g.: 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": "Most recent status of the corresponding finding's ticket/tracker in the external system.", + "type": "string" + } + }, + "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": { + "description": "The human readable name to be displayed for the mute config.", + "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}\"", + "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", @@ -1214,6 +1610,10 @@ "description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV1Resource", "properties": { + "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": { @@ -1239,7 +1639,11 @@ "type": "string" }, "projectDisplayName": { - "description": "The human readable name of project that the resource belongs to.", + "description": "The project id that the resource belongs to.", + "type": "string" + }, + "type": { + "description": "The full resource type of the resource.", "type": "string" } }, @@ -1530,7 +1934,7 @@ "type": "string" }, "projectDisplayName": { - "description": "The human readable name of project that the resource belongs to.", + "description": "The project id that the resource belongs to.", "type": "string" } }, @@ -1714,6 +2118,27 @@ }, "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. Reference: 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": "List of ip addresses associated to the Finding.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListAssetsResponse": { "description": "Response message for listing assets.", "id": "ListAssetsResponse", @@ -1835,6 +2260,234 @@ }, "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", + "ACTIVE_SCANNING", + "SCANNING_IP_BLOCKS", + "INGRESS_TOOL_TRANSFER", + "NATIVE_API", + "SHARED_MODULES", + "COMMAND_AND_SCRIPTING_INTERPRETER", + "UNIX_SHELL", + "RESOURCE_HIJACKING", + "PROXY", + "EXTERNAL_PROXY", + "MULTI_HOP_PROXY", + "DYNAMIC_RESOLUTION", + "UNSECURED_CREDENTIALS", + "VALID_ACCOUNTS", + "LOCAL_ACCOUNTS", + "CLOUD_ACCOUNTS", + "NETWORK_DENIAL_OF_SERVICE", + "PERMISSION_GROUPS_DISCOVERY", + "CLOUD_GROUPS", + "EXFILTRATION_OVER_WEB_SERVICE", + "EXFILTRATION_TO_CLOUD_STORAGE", + "ACCOUNT_MANIPULATION", + "SSH_AUTHORIZED_KEYS", + "CREATE_OR_MODIFY_SYSTEM_PROCESS", + "STEAL_WEB_SESSION_COOKIE", + "MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE", + "EXPLOIT_PUBLIC_FACING_APPLICATION", + "MODIFY_AUTHENTICATION_PROCESS" + ], + "enumDescriptions": [ + "Unspecified value.", + "T1595", + "T1595.001", + "T1105", + "T1106", + "T1129", + "T1059", + "T1059.004", + "T1496", + "T1090", + "T1090.002", + "T1090.003", + "T1568", + "T1552", + "T1078", + "T1078.003", + "T1078.004", + "T1498", + "T1069", + "T1069.003", + "T1567", + "T1567.002", + "T1098", + "T1098.004", + "T1543", + "T1539", + "T1578", + "T1190", + "T1556" + ], + "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", + "ACTIVE_SCANNING", + "SCANNING_IP_BLOCKS", + "INGRESS_TOOL_TRANSFER", + "NATIVE_API", + "SHARED_MODULES", + "COMMAND_AND_SCRIPTING_INTERPRETER", + "UNIX_SHELL", + "RESOURCE_HIJACKING", + "PROXY", + "EXTERNAL_PROXY", + "MULTI_HOP_PROXY", + "DYNAMIC_RESOLUTION", + "UNSECURED_CREDENTIALS", + "VALID_ACCOUNTS", + "LOCAL_ACCOUNTS", + "CLOUD_ACCOUNTS", + "NETWORK_DENIAL_OF_SERVICE", + "PERMISSION_GROUPS_DISCOVERY", + "CLOUD_GROUPS", + "EXFILTRATION_OVER_WEB_SERVICE", + "EXFILTRATION_TO_CLOUD_STORAGE", + "ACCOUNT_MANIPULATION", + "SSH_AUTHORIZED_KEYS", + "CREATE_OR_MODIFY_SYSTEM_PROCESS", + "STEAL_WEB_SESSION_COOKIE", + "MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE", + "EXPLOIT_PUBLIC_FACING_APPLICATION", + "MODIFY_AUTHENTICATION_PROCESS" + ], + "enumDescriptions": [ + "Unspecified value.", + "T1595", + "T1595.001", + "T1105", + "T1106", + "T1129", + "T1059", + "T1059.004", + "T1496", + "T1090", + "T1090.002", + "T1090.003", + "T1568", + "T1552", + "T1078", + "T1078.003", + "T1078.004", + "T1498", + "T1069", + "T1069.003", + "T1567", + "T1567.002", + "T1098", + "T1098.004", + "T1543", + "T1539", + "T1578", + "T1190", + "T1556" + ], + "type": "string" + }, + "type": "array" + }, + "version": { + "description": "The MITRE ATT&CK version referenced by the above fields. E.g. \"8\".", + "type": "string" + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -1890,7 +2543,7 @@ "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/).", + "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": { @@ -1901,7 +2554,7 @@ "type": "array" }, "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.", + "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" }, @@ -1920,6 +2573,21 @@ }, "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" + }, "RunAssetDiscoveryRequest": { "description": "Request message for running asset discovery for an organization.", "id": "RunAssetDiscoveryRequest", @@ -2093,6 +2761,17 @@ } }, "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/)" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/etc/api/securitycenter/v1beta2/securitycenter-api.json b/etc/api/securitycenter/v1beta2/securitycenter-api.json index e43d39c23c..88c93056a4 100644 --- a/etc/api/securitycenter/v1beta2/securitycenter-api.json +++ b/etc/api/securitycenter/v1beta2/securitycenter-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -182,6 +182,31 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getVirtualMachineThreatDetectionSettings": { + "description": "Get the VirtualMachineThreatDetectionSettings resource.", + "flatPath": "v1beta2/folders/{foldersId}/virtualMachineThreatDetectionSettings", + "httpMethod": "GET", + "id": "securitycenter.folders.getVirtualMachineThreatDetectionSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the VirtualMachineThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", + "location": "path", + "pattern": "^folders/[^/]+/virtualMachineThreatDetectionSettings$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+name}", + "response": { + "$ref": "VirtualMachineThreatDetectionSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "getWebSecurityScannerSettings": { "description": "Get the WebSecurityScannerSettings resource.", "flatPath": "v1beta2/folders/{foldersId}/webSecurityScannerSettings", @@ -309,6 +334,40 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "updateVirtualMachineThreatDetectionSettings": { + "description": "Update the VirtualMachineThreatDetectionSettings resource.", + "flatPath": "v1beta2/folders/{foldersId}/virtualMachineThreatDetectionSettings", + "httpMethod": "PATCH", + "id": "securitycenter.folders.updateVirtualMachineThreatDetectionSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", + "location": "path", + "pattern": "^folders/[^/]+/virtualMachineThreatDetectionSettings$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta2/{+name}", + "request": { + "$ref": "VirtualMachineThreatDetectionSettings" + }, + "response": { + "$ref": "VirtualMachineThreatDetectionSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "updateWebSecurityScannerSettings": { "description": "Update the WebSecurityScannerSettings resource.", "flatPath": "v1beta2/folders/{foldersId}/webSecurityScannerSettings", @@ -432,6 +491,35 @@ } } }, + "virtualMachineThreatDetectionSettings": { + "methods": { + "calculate": { + "description": "Calculates the effective VirtualMachineThreatDetectionSettings based on its level in the resource hierarchy and its settings.", + "flatPath": "v1beta2/folders/{foldersId}/virtualMachineThreatDetectionSettings:calculate", + "httpMethod": "GET", + "id": "securitycenter.folders.virtualMachineThreatDetectionSettings.calculate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the VirtualMachineThreatDetectionSettings to calculate. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", + "location": "path", + "pattern": "^folders/[^/]+/virtualMachineThreatDetectionSettings$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+name}:calculate", + "response": { + "$ref": "VirtualMachineThreatDetectionSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "webSecurityScannerSettings": { "methods": { "calculate": { @@ -590,6 +678,31 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getVirtualMachineThreatDetectionSettings": { + "description": "Get the VirtualMachineThreatDetectionSettings resource.", + "flatPath": "v1beta2/organizations/{organizationsId}/virtualMachineThreatDetectionSettings", + "httpMethod": "GET", + "id": "securitycenter.organizations.getVirtualMachineThreatDetectionSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the VirtualMachineThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", + "location": "path", + "pattern": "^organizations/[^/]+/virtualMachineThreatDetectionSettings$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+name}", + "response": { + "$ref": "VirtualMachineThreatDetectionSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "getWebSecurityScannerSettings": { "description": "Get the WebSecurityScannerSettings resource.", "flatPath": "v1beta2/organizations/{organizationsId}/webSecurityScannerSettings", @@ -717,6 +830,40 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "updateVirtualMachineThreatDetectionSettings": { + "description": "Update the VirtualMachineThreatDetectionSettings resource.", + "flatPath": "v1beta2/organizations/{organizationsId}/virtualMachineThreatDetectionSettings", + "httpMethod": "PATCH", + "id": "securitycenter.organizations.updateVirtualMachineThreatDetectionSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", + "location": "path", + "pattern": "^organizations/[^/]+/virtualMachineThreatDetectionSettings$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta2/{+name}", + "request": { + "$ref": "VirtualMachineThreatDetectionSettings" + }, + "response": { + "$ref": "VirtualMachineThreatDetectionSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "updateWebSecurityScannerSettings": { "description": "Update the WebSecurityScannerSettings resource.", "flatPath": "v1beta2/organizations/{organizationsId}/webSecurityScannerSettings", @@ -840,6 +987,35 @@ } } }, + "virtualMachineThreatDetectionSettings": { + "methods": { + "calculate": { + "description": "Calculates the effective VirtualMachineThreatDetectionSettings based on its level in the resource hierarchy and its settings.", + "flatPath": "v1beta2/organizations/{organizationsId}/virtualMachineThreatDetectionSettings:calculate", + "httpMethod": "GET", + "id": "securitycenter.organizations.virtualMachineThreatDetectionSettings.calculate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the VirtualMachineThreatDetectionSettings to calculate. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", + "location": "path", + "pattern": "^organizations/[^/]+/virtualMachineThreatDetectionSettings$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+name}:calculate", + "response": { + "$ref": "VirtualMachineThreatDetectionSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "webSecurityScannerSettings": { "methods": { "calculate": { @@ -948,6 +1124,31 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getVirtualMachineThreatDetectionSettings": { + "description": "Get the VirtualMachineThreatDetectionSettings resource.", + "flatPath": "v1beta2/projects/{projectsId}/virtualMachineThreatDetectionSettings", + "httpMethod": "GET", + "id": "securitycenter.projects.getVirtualMachineThreatDetectionSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the VirtualMachineThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", + "location": "path", + "pattern": "^projects/[^/]+/virtualMachineThreatDetectionSettings$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+name}", + "response": { + "$ref": "VirtualMachineThreatDetectionSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "getWebSecurityScannerSettings": { "description": "Get the WebSecurityScannerSettings resource.", "flatPath": "v1beta2/projects/{projectsId}/webSecurityScannerSettings", @@ -1075,6 +1276,40 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "updateVirtualMachineThreatDetectionSettings": { + "description": "Update the VirtualMachineThreatDetectionSettings resource.", + "flatPath": "v1beta2/projects/{projectsId}/virtualMachineThreatDetectionSettings", + "httpMethod": "PATCH", + "id": "securitycenter.projects.updateVirtualMachineThreatDetectionSettings", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", + "location": "path", + "pattern": "^projects/[^/]+/virtualMachineThreatDetectionSettings$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta2/{+name}", + "request": { + "$ref": "VirtualMachineThreatDetectionSettings" + }, + "response": { + "$ref": "VirtualMachineThreatDetectionSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "updateWebSecurityScannerSettings": { "description": "Update the WebSecurityScannerSettings resource.", "flatPath": "v1beta2/projects/{projectsId}/webSecurityScannerSettings", @@ -1296,6 +1531,35 @@ } } }, + "virtualMachineThreatDetectionSettings": { + "methods": { + "calculate": { + "description": "Calculates the effective VirtualMachineThreatDetectionSettings based on its level in the resource hierarchy and its settings.", + "flatPath": "v1beta2/projects/{projectsId}/virtualMachineThreatDetectionSettings:calculate", + "httpMethod": "GET", + "id": "securitycenter.projects.virtualMachineThreatDetectionSettings.calculate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the VirtualMachineThreatDetectionSettings to calculate. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", + "location": "path", + "pattern": "^projects/[^/]+/virtualMachineThreatDetectionSettings$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+name}:calculate", + "response": { + "$ref": "VirtualMachineThreatDetectionSettings" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "webSecurityScannerSettings": { "methods": { "calculate": { @@ -1328,9 +1592,40 @@ } } }, - "revision": "20210326", + "revision": "20220224", "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\".", + "type": "string" + }, + "serviceName": { + "description": "This is the API service that the service account made a call to, e.g. \"iam.googleapis.com\"", + "type": "string" + }, + "userAgentFamily": { + "description": "What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc.", + "type": "string" + } + }, + "type": "object" + }, "Config": { "description": "Configuration of a module.", "id": "Config", @@ -1407,6 +1702,168 @@ }, "type": "object" }, + "Cve": { + "description": "CVE stands for Common Vulnerabilities and Exposures. More information: https://cve.mitre.org", + "id": "Cve", + "properties": { + "cvssv3": { + "$ref": "Cvssv3", + "description": "Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document" + }, + "id": { + "description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", + "type": "string" + }, + "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" + } + }, + "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" + }, "Details": { "description": "Details of a subscription.", "id": "Details", @@ -1427,13 +1884,15 @@ "TYPE_UNSPECIFIED", "STANDARD", "TRIAL", - "ALPHA" + "ALPHA", + "DEMO" ], "enumDescriptions": [ "Default value. This value is unused.", "The standard subscription.", "The trial subscription.", - "The alpha subscription." + "The alpha subscription.", + "The demo subscription for channel partners." ], "type": "string" } @@ -1484,6 +1943,10 @@ "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 to the Finding, such as more information on the caller, which method was accessed, from where, etc." + }, "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" @@ -1498,14 +1961,76 @@ "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.", + "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" }, + "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" }, + "findingClass": { + "description": "The class of the finding.", + "enum": [ + "FINDING_CLASS_UNSPECIFIED", + "THREAT", + "VULNERABILITY", + "MISCONFIGURATION", + "OBSERVATION", + "SCC_ERROR" + ], + "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." + ], + "type": "string" + }, + "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. Reference: https://en.wikipedia.org/wiki/Indicator_of_compromise" + }, + "mitreAttack": { + "$ref": "MitreAttack", + "description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org" + }, + "mute": { + "description": "Indicates the mute state of a finding (either unspecified, 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" + }, + "muteInitiator": { + "description": "First known as mute_annotation. Records additional information about the mute operation e.g. mute config that muted the finding, user who muted the finding, etc. Unlike other attributes of a finding, a finding provider shouldn't set the value of mute.", + "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 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" @@ -1561,6 +2086,10 @@ "The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." ], "type": "string" + }, + "vulnerability": { + "$ref": "Vulnerability", + "description": "Represents vulnerability specific fields like cve, cvss scores etc. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" } }, "type": "object" @@ -1580,6 +2109,139 @@ }, "type": "object" }, + "Geolocation": { + "description": "Represents a geographical location for a given access.", + "id": "Geolocation", + "properties": { + "regionCode": { + "description": "A CLDR.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV1BigQueryExport": { + "description": "Configures how to deliver Findings to BigQuery Instance.", + "id": "GoogleCloudSecuritycenterV1BigQueryExport", + "properties": { + "createTime": { + "description": "Output only. The time at which the big query 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. Please see the proto documentation in the finding (https://source.corp.google.com/piper///depot/google3/google/cloud/securitycenter/v1/finding.proto) and in the ListFindingsRequest for valid filter syntax. (https://source.corp.google.com/piper///depot/google3/google/cloud/securitycenter/v1/securitycenter_service.proto).", + "type": "string" + }, + "mostRecentEditor": { + "description": "Output only. Email address of the user who last edited the big query 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, upload data to the big query dataset.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The most recent time at which the big 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" + }, + "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse": { + "description": "The response to a BulkMute request. Contains the LRO information.", + "id": "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse", + "properties": {}, + "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" + }, + "externalSystemUpdateTime": { + "description": "The most recent time when the corresponding finding's ticket/tracker was updated in the external system.", + "format": "google-datetime", + "type": "string" + }, + "externalUid": { + "description": "Identifier that's used to track the given finding in the external system.", + "type": "string" + }, + "name": { + "description": "External System Name e.g. jira, demisto, etc. e.g.: 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": "Most recent status of the corresponding finding's ticket/tracker in the external system.", + "type": "string" + } + }, + "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": { + "description": "The human readable name to be displayed for the mute config.", + "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}\"", + "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", @@ -1603,6 +2265,10 @@ "description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV1Resource", "properties": { + "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": { @@ -1628,7 +2294,11 @@ "type": "string" }, "projectDisplayName": { - "description": "The human readable name of project that the resource belongs to.", + "description": "The project id that the resource belongs to.", + "type": "string" + }, + "type": { + "description": "The full resource type of the resource.", "type": "string" } }, @@ -1838,7 +2508,7 @@ "type": "string" }, "projectDisplayName": { - "description": "The human readable name of project that the resource belongs to.", + "description": "The project id that the resource belongs to.", "type": "string" } }, @@ -1894,6 +2564,270 @@ }, "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. Reference: 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": "List of ip addresses associated to the Finding.", + "items": { + "type": "string" + }, + "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", + "ACTIVE_SCANNING", + "SCANNING_IP_BLOCKS", + "INGRESS_TOOL_TRANSFER", + "NATIVE_API", + "SHARED_MODULES", + "COMMAND_AND_SCRIPTING_INTERPRETER", + "UNIX_SHELL", + "RESOURCE_HIJACKING", + "PROXY", + "EXTERNAL_PROXY", + "MULTI_HOP_PROXY", + "DYNAMIC_RESOLUTION", + "UNSECURED_CREDENTIALS", + "VALID_ACCOUNTS", + "LOCAL_ACCOUNTS", + "CLOUD_ACCOUNTS", + "NETWORK_DENIAL_OF_SERVICE", + "PERMISSION_GROUPS_DISCOVERY", + "CLOUD_GROUPS", + "EXFILTRATION_OVER_WEB_SERVICE", + "EXFILTRATION_TO_CLOUD_STORAGE", + "ACCOUNT_MANIPULATION", + "SSH_AUTHORIZED_KEYS", + "CREATE_OR_MODIFY_SYSTEM_PROCESS", + "STEAL_WEB_SESSION_COOKIE", + "MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE", + "EXPLOIT_PUBLIC_FACING_APPLICATION", + "MODIFY_AUTHENTICATION_PROCESS" + ], + "enumDescriptions": [ + "Unspecified value.", + "T1595", + "T1595.001", + "T1105", + "T1106", + "T1129", + "T1059", + "T1059.004", + "T1496", + "T1090", + "T1090.002", + "T1090.003", + "T1568", + "T1552", + "T1078", + "T1078.003", + "T1078.004", + "T1498", + "T1069", + "T1069.003", + "T1567", + "T1567.002", + "T1098", + "T1098.004", + "T1543", + "T1539", + "T1578", + "T1190", + "T1556" + ], + "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", + "ACTIVE_SCANNING", + "SCANNING_IP_BLOCKS", + "INGRESS_TOOL_TRANSFER", + "NATIVE_API", + "SHARED_MODULES", + "COMMAND_AND_SCRIPTING_INTERPRETER", + "UNIX_SHELL", + "RESOURCE_HIJACKING", + "PROXY", + "EXTERNAL_PROXY", + "MULTI_HOP_PROXY", + "DYNAMIC_RESOLUTION", + "UNSECURED_CREDENTIALS", + "VALID_ACCOUNTS", + "LOCAL_ACCOUNTS", + "CLOUD_ACCOUNTS", + "NETWORK_DENIAL_OF_SERVICE", + "PERMISSION_GROUPS_DISCOVERY", + "CLOUD_GROUPS", + "EXFILTRATION_OVER_WEB_SERVICE", + "EXFILTRATION_TO_CLOUD_STORAGE", + "ACCOUNT_MANIPULATION", + "SSH_AUTHORIZED_KEYS", + "CREATE_OR_MODIFY_SYSTEM_PROCESS", + "STEAL_WEB_SESSION_COOKIE", + "MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE", + "EXPLOIT_PUBLIC_FACING_APPLICATION", + "MODIFY_AUTHENTICATION_PROCESS" + ], + "enumDescriptions": [ + "Unspecified value.", + "T1595", + "T1595.001", + "T1105", + "T1106", + "T1129", + "T1059", + "T1059.004", + "T1496", + "T1090", + "T1090.002", + "T1090.003", + "T1568", + "T1552", + "T1078", + "T1078.003", + "T1078.004", + "T1498", + "T1069", + "T1069.003", + "T1567", + "T1567.002", + "T1098", + "T1098.004", + "T1543", + "T1539", + "T1578", + "T1190", + "T1556" + ], + "type": "string" + }, + "type": "array" + }, + "version": { + "description": "The MITRE ATT&CK version referenced by the above fields. E.g. \"8\".", + "type": "string" + } + }, + "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" + }, "SecurityCenterSettings": { "description": "Resource capturing the settings for Security Center.", "id": "SecurityCenterSettings", @@ -2009,6 +2943,62 @@ }, "type": "object" }, + "VirtualMachineThreatDetectionSettings": { + "description": "Resource capturing the settings for the Virtual Machine Threat Detection service.", + "id": "VirtualMachineThreatDetectionSettings", + "properties": { + "modules": { + "additionalProperties": { + "$ref": "Config" + }, + "description": "The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's.", + "type": "object" + }, + "name": { + "description": "The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", + "type": "string" + }, + "serviceAccount": { + "description": "Output only. The service account used by Virtual Machine Threat Detection detectors.", + "readOnly": true, + "type": "string" + }, + "serviceEnablementState": { + "description": "The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.", + "enum": [ + "ENABLEMENT_STATE_UNSPECIFIED", + "INHERITED", + "ENABLED", + "DISABLED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "State is inherited from the parent resource.", + "State is enabled.", + "State is disabled." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. The time the settings were last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "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/)" + } + }, + "type": "object" + }, "WebSecurityScannerSettings": { "description": "Resource capturing the settings for the Web Security Scanner service.", "id": "WebSecurityScannerSettings", diff --git a/etc/api/serviceconsumermanagement/v1/serviceconsumermanagement-api.json b/etc/api/serviceconsumermanagement/v1/serviceconsumermanagement-api.json index 2020fe20d0..fbd4b93499 100644 --- a/etc/api/serviceconsumermanagement/v1/serviceconsumermanagement-api.json +++ b/etc/api/serviceconsumermanagement/v1/serviceconsumermanagement-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -542,7 +542,7 @@ } } }, - "revision": "20210330", + "revision": "20220305", "rootUrl": "https://serviceconsumermanagement.googleapis.com/", "schemas": { "AddTenantProjectRequest": { @@ -696,7 +696,7 @@ "type": "object" }, "Authentication": { - "description": "`Authentication` defines the authentication configuration for an API. Example for an API targeted for external use: 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", + "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": { @@ -777,11 +777,6 @@ "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": { - "description": "Minimum deadline in seconds needed for this method. Calls having deadline value lower than this will be rejected.", - "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", @@ -914,11 +909,11 @@ "type": "object" }, "Control": { - "description": "Selects and configures the service controller used by the service. The service controller handles features like abuse, quota, billing, logging, monitoring, etc.", + "description": "Selects and configures the service controller used by the service. The service controller handles two things: - **What is allowed:** for each API request, Chemist checks the project status, activation status, abuse status, billing status, service status, location restrictions, VPC Service Controls, SuperQuota, and other policies. - **What has happened:** for each API response, Chemist reports the telemetry data to analytics, auditing, billing, eventing, logging, monitoring, sawmill, and tracing. Chemist also accepts telemetry data not associated with API traffic, such as billing metrics. Example: control: environment: servicecontrol.googleapis.com", "id": "Control", "properties": { "environment": { - "description": "The service control environment to use. If empty, no control plane feature (like quota and billing) will be enabled.", + "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" } }, @@ -1028,7 +1023,7 @@ "type": "string" }, "summary": { - "description": "A short summary of what the service does. Can only be provided by plain text.", + "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" } }, @@ -1043,11 +1038,11 @@ "type": "string" }, "description": { - "description": "Description of the selected API(s).", + "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" }, "selector": { - "description": "The selector is a comma-separated list of patterns. 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.", + "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" } }, @@ -1060,16 +1055,9 @@ "type": "object" }, "Endpoint": { - "description": "`Endpoint` describes a network endpoint 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 service configuration: name: library-example.googleapis.com endpoints: # Below entry makes 'google.example.library.v1.Library' # API be served from endpoint address library-example.googleapis.com. # It also allows HTTP OPTIONS calls to be passed to the backend, for # it to decide whether the subsequent cross-origin request is # allowed to proceed. - name: library-example.googleapis.com allow_cors: true", + "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": "DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on.", - "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" @@ -1554,10 +1542,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -1651,10 +1639,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -1736,10 +1724,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -1748,7 +1736,7 @@ "type": "string" }, "type": { - "description": "Required. The monitored resource type. For example, the type `\"cloudsql_database\"` represents databases in Google Cloud SQL.", + "description": "Required. The monitored resource type. For example, the type `\"cloudsql_database\"` represents databases in Google Cloud SQL. For a list of types, see [Monitoring 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" } }, @@ -1863,7 +1851,7 @@ "id": "Page", "properties": { "content": { - "description": "The Markdown content of the page. You can use (== include {path} ==) to include content from a Markdown file.", + "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": { @@ -2003,7 +1991,7 @@ "type": "object" }, "Service": { - "description": "`Service` is the root object of Google service configuration schema. It describes basic information about a service, such as the name and the 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. See each proto message definition for details. Example: type: google.api.Service name: calendar.googleapis.com title: Google Calendar API apis: - name: google.calendar.v3.Calendar 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", + "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": { @@ -2054,7 +2042,7 @@ "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. Example: enums: - name: google.someapi.v1.SomeEnum", + "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" }, @@ -2125,11 +2113,11 @@ "type": "array" }, "title": { - "description": "The product title for this service.", + "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. Example: types: - name: google.protobuf.Int32", + "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" }, diff --git a/etc/api/serviceconsumermanagement/v1beta1/serviceconsumermanagement-api.json b/etc/api/serviceconsumermanagement/v1beta1/serviceconsumermanagement-api.json index 425bb6c872..65ebbb3a8e 100644 --- a/etc/api/serviceconsumermanagement/v1beta1/serviceconsumermanagement-api.json +++ b/etc/api/serviceconsumermanagement/v1beta1/serviceconsumermanagement-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -500,7 +500,7 @@ } } }, - "revision": "20210330", + "revision": "20220305", "rootUrl": "https://serviceconsumermanagement.googleapis.com/", "schemas": { "Api": { @@ -605,7 +605,7 @@ "type": "object" }, "Authentication": { - "description": "`Authentication` defines the authentication configuration for an API. Example for an API targeted for external use: 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", + "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": { @@ -686,11 +686,6 @@ "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": { - "description": "Minimum deadline in seconds needed for this method. Calls having deadline value lower than this will be rejected.", - "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", @@ -806,11 +801,11 @@ "type": "object" }, "Control": { - "description": "Selects and configures the service controller used by the service. The service controller handles features like abuse, quota, billing, logging, monitoring, etc.", + "description": "Selects and configures the service controller used by the service. The service controller handles two things: - **What is allowed:** for each API request, Chemist checks the project status, activation status, abuse status, billing status, service status, location restrictions, VPC Service Controls, SuperQuota, and other policies. - **What has happened:** for each API response, Chemist reports the telemetry data to analytics, auditing, billing, eventing, logging, monitoring, sawmill, and tracing. Chemist also accepts telemetry data not associated with API traffic, such as billing metrics. Example: control: environment: servicecontrol.googleapis.com", "id": "Control", "properties": { "environment": { - "description": "The service control environment to use. If empty, no control plane feature (like quota and billing) will be enabled.", + "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" } }, @@ -898,7 +893,7 @@ "type": "string" }, "summary": { - "description": "A short summary of what the service does. Can only be provided by plain text.", + "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" } }, @@ -913,11 +908,11 @@ "type": "string" }, "description": { - "description": "Description of the selected API(s).", + "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" }, "selector": { - "description": "The selector is a comma-separated list of patterns. 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.", + "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" } }, @@ -930,16 +925,9 @@ "type": "object" }, "Endpoint": { - "description": "`Endpoint` describes a network endpoint 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 service configuration: name: library-example.googleapis.com endpoints: # Below entry makes 'google.example.library.v1.Library' # API be served from endpoint address library-example.googleapis.com. # It also allows HTTP OPTIONS calls to be passed to the backend, for # it to decide whether the subsequent cross-origin request is # allowed to proceed. - name: library-example.googleapis.com allow_cors: true", + "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": "DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on.", - "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" @@ -1388,10 +1376,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -1485,10 +1473,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -1570,10 +1558,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -1582,7 +1570,7 @@ "type": "string" }, "type": { - "description": "Required. The monitored resource type. For example, the type `\"cloudsql_database\"` represents databases in Google Cloud SQL.", + "description": "Required. The monitored resource type. For example, the type `\"cloudsql_database\"` represents databases in Google Cloud SQL. For a list of types, see [Monitoring 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" } }, @@ -1697,7 +1685,7 @@ "id": "Page", "properties": { "content": { - "description": "The Markdown content of the page. You can use (== include {path} ==) to include content from a Markdown file.", + "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": { @@ -1790,7 +1778,7 @@ "type": "object" }, "Service": { - "description": "`Service` is the root object of Google service configuration schema. It describes basic information about a service, such as the name and the 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. See each proto message definition for details. Example: type: google.api.Service name: calendar.googleapis.com title: Google Calendar API apis: - name: google.calendar.v3.Calendar 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", + "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": { @@ -1841,7 +1829,7 @@ "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. Example: enums: - name: google.someapi.v1.SomeEnum", + "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" }, @@ -1912,11 +1900,11 @@ "type": "array" }, "title": { - "description": "The product title for this service.", + "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. Example: types: - name: google.protobuf.Int32", + "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" }, @@ -2165,6 +2153,13 @@ }, "type": "array" }, + "supportedLocations": { + "description": "List of all supported locations. This field is present only if the limit has a {region} or {zone} dimension.", + "items": { + "type": "string" + }, + "type": "array" + }, "unit": { "description": "The limit unit. 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" diff --git a/etc/api/servicecontrol/v1/servicecontrol-api.json b/etc/api/servicecontrol/v1/servicecontrol-api.json index 8537d32555..470f015a5b 100644 --- a/etc/api/servicecontrol/v1/servicecontrol-api.json +++ b/etc/api/servicecontrol/v1/servicecontrol-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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" @@ -139,7 +139,7 @@ ] }, "check": { - "description": "Checks whether an operation on a service should be allowed to proceed based on the configuration of the service and related policies. It must be called before the operation is executed. If feasible, the client should cache the check results and reuse them for 60 seconds. In case of any server errors, the client should rely on the cached results for much longer time to avoid outage. WARNING: There is general 60s delay for the configuration and policy propagation, therefore callers MUST NOT depend on the `Check` method having the latest policy information. NOTE: the CheckRequest has the size limit of 64KB. This method requires the `servicemanagement.services.check` permission on the specified service. For more information, see [Cloud IAM](https://cloud.google.com/iam).", + "description": "Checks whether an operation on a service should be allowed to proceed based on the configuration of the service and related policies. It must be called before the operation is executed. If feasible, the client should cache the check results and reuse them for 60 seconds. In case of any server errors, the client should rely on the cached results for much longer time to avoid outage. WARNING: There is general 60s delay for the configuration and policy propagation, therefore callers MUST NOT depend on the `Check` method having the latest policy information. NOTE: the CheckRequest has the size limit (wire-format byte size) of 1MB. This method requires the `servicemanagement.services.check` permission on the specified service. For more information, see [Cloud IAM](https://cloud.google.com/iam).", "flatPath": "v1/services/{serviceName}:check", "httpMethod": "POST", "id": "servicecontrol.services.check", @@ -197,7 +197,7 @@ } } }, - "revision": "20210326", + "revision": "20220227", "rootUrl": "https://servicecontrol.googleapis.com/", "schemas": { "AllocateInfo": { @@ -695,7 +695,7 @@ "type": "object" }, "Distribution": { - "description": "Distribution represents a frequency distribution of double-valued sample points. It contains the size of the population of sample points plus additional optional information: - the arithmetic mean of the samples - the minimum and maximum of the samples - the sum-squared-deviation of the samples, used to compute variance - a histogram of the values of the sample points", + "description": "Distribution represents a frequency distribution of double-valued sample points. It contains the size of the population of sample points plus additional optional information: * the arithmetic mean of the samples * the minimum and maximum of the samples * the sum-squared-deviation of the samples, used to compute variance * a histogram of the values of the sample points", "id": "Distribution", "properties": { "bucketCounts": { @@ -1387,7 +1387,7 @@ "type": "string" }, "operationId": { - "description": "Identity of the operation. This is expected to be unique within the scope of the service that generated the operation, and guarantees idempotency in case of retries. In order to ensure best performance and latency in the Quota backends, operation_ids are optimally associated with time, so that related operations can be accessed fast in storage. For this reason, the recommended token for services that intend to operate at a high QPS is Unix time in nanos + UUID", + "description": "Identity of the operation. For Allocation Quota, this is expected to be unique within the scope of the service that generated the operation, and guarantees idempotency in case of retries. In order to ensure best performance and latency in the Quota backends, operation_ids are optimally associated with time, so that related operations can be accessed fast in storage. For this reason, the recommended token for services that intend to operate at a high QPS is Unix time in nanos + UUID", "type": "string" }, "quotaMetrics": { @@ -1412,7 +1412,7 @@ "For AllocateQuota request, allocates quota for the amount specified in the service configuration or specified using the quota metrics. If the amount is higher than the available quota, allocation error will be returned and no quota will be allocated. If multiple quotas are part of the request, and one fails, none of the quotas are allocated or released.", "The operation allocates quota for the amount specified in the service configuration or specified using the quota metrics. If the amount is higher than the available quota, request does not fail but all available quota will be allocated. For rate quota, BEST_EFFORT will continue to deduct from other groups even if one does not have enough quota. For allocation, it will find the minimum available amount across all groups and deduct that amount from all the affected groups.", "For AllocateQuota request, only checks if there is enough quota available and does not change the available quota. No lock is placed on the available quota either.", - "Unimplemented. When used in AllocateQuotaRequest, this returns the effective quota limit(s) in the response, and no quota check will be performed. Not supported for other requests, and even for AllocateQuotaRequest, this is currently supported only for allowlisted services.", + "Deprecated. Please use QueryLimits API to query quota limits.", "The operation allocates quota for the amount specified in the service configuration or specified using the quota metrics. If the requested amount is higher than the available quota, request does not fail and remaining quota would become negative (going over the limit). Not supported for Rate Quota." ], "type": "string" @@ -1436,7 +1436,7 @@ "Decreases available quota by the cost specified for the operation. If cost is higher than available quota, operation fails and returns error.", "Decreases available quota by the cost specified for the operation. If cost is higher than available quota, operation does not fail and available quota goes down to zero but it returns error.", "Does not change any available quota. Only checks if there is enough quota. No lock is placed on the checked tokens neither.", - "Increases available quota by the operation cost specified for the operation." + "DEPRECATED: Increases available quota by the operation cost specified for the operation." ], "type": "string" } @@ -1526,7 +1526,7 @@ "type": "string" }, "path": { - "description": "The HTTP URL path.", + "description": "The HTTP URL path, excluding the query parameters.", "type": "string" }, "protocol": { @@ -1634,7 +1634,7 @@ "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}\".", + "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": { @@ -1698,7 +1698,7 @@ "description": "First party (Google) identity as the real authority." }, "principalSubject": { - "description": "A string representing the principal_subject associated with the identity. See go/3pical for more info on how principal_subject is formatted.", + "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": { @@ -1709,7 +1709,7 @@ "type": "object" }, "SpanContext": { - "description": "The context of a span, attached to Exemplars 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]", + "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": { @@ -1846,6 +1846,217 @@ } }, "type": "object" + }, + "V1HttpRequest": { + "description": "A common proto for logging HTTP requests. Only contains semantics defined by the HTTP specification. Product-specific logging information MUST be defined in a separate message.", + "id": "V1HttpRequest", + "properties": { + "cacheFillBytes": { + "description": "The number of HTTP response bytes inserted into cache. Set only when a cache fill was attempted.", + "format": "int64", + "type": "string" + }, + "cacheHit": { + "description": "Whether or not an entity was served from cache (with or without validation).", + "type": "boolean" + }, + "cacheLookup": { + "description": "Whether or not a cache lookup was attempted.", + "type": "boolean" + }, + "cacheValidatedWithOriginServer": { + "description": "Whether or not the response was validated with the origin server before being served from cache. This field is only meaningful if `cache_hit` is True.", + "type": "boolean" + }, + "latency": { + "description": "The request processing latency on the server, from the time the request was received until the response was sent.", + "format": "google-duration", + "type": "string" + }, + "protocol": { + "description": "Protocol used for the request. Examples: \"HTTP/1.1\", \"HTTP/2\", \"websocket\"", + "type": "string" + }, + "referer": { + "description": "The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).", + "type": "string" + }, + "remoteIp": { + "description": "The IP address (IPv4 or IPv6) of the client that issued the HTTP request. Examples: `\"192.168.1.1\"`, `\"FE80::0202:B3FF:FE1E:8329\"`.", + "type": "string" + }, + "requestMethod": { + "description": "The request method. Examples: `\"GET\"`, `\"HEAD\"`, `\"PUT\"`, `\"POST\"`.", + "type": "string" + }, + "requestSize": { + "description": "The size of the HTTP request message in bytes, including the request headers and the request body.", + "format": "int64", + "type": "string" + }, + "requestUrl": { + "description": "The scheme (http, https), the host name, the path, and the query portion of the URL that was requested. Example: `\"http://example.com/some/info?color=red\"`.", + "type": "string" + }, + "responseSize": { + "description": "The size of the HTTP response message sent back to the client, in bytes, including the response headers and the response body.", + "format": "int64", + "type": "string" + }, + "serverIp": { + "description": "The IP address (IPv4 or IPv6) of the origin server that the request was sent to.", + "type": "string" + }, + "status": { + "description": "The response code indicating the status of the response. Examples: 200, 404.", + "format": "int32", + "type": "integer" + }, + "userAgent": { + "description": "The user agent sent by the client. Example: `\"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)\"`.", + "type": "string" + } + }, + "type": "object" + }, + "V1LogEntry": { + "description": "An individual log entry.", + "id": "V1LogEntry", + "properties": { + "httpRequest": { + "$ref": "V1HttpRequest", + "description": "Optional. Information about the HTTP request associated with this log entry, if applicable." + }, + "insertId": { + "description": "A unique ID for the log entry used for deduplication. If omitted, the implementation will generate one based on operation_id.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of user-defined (key, value) data that provides additional information about the log entry.", + "type": "object" + }, + "monitoredResourceLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of user-defined (key, value) data that provides additional information about the moniotored resource that the log entry belongs to.", + "type": "object" + }, + "name": { + "description": "Required. The log to which this log entry belongs. Examples: `\"syslog\"`, `\"book_log\"`.", + "type": "string" + }, + "operation": { + "$ref": "V1LogEntryOperation", + "description": "Optional. Information about an operation associated with the log entry, if applicable." + }, + "protoPayload": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The log entry payload, represented as a protocol buffer that is expressed as a JSON object. The only accepted type currently is AuditLog.", + "type": "object" + }, + "severity": { + "description": "The severity of the log entry. The default value is `LogSeverity.DEFAULT`.", + "enum": [ + "DEFAULT", + "DEBUG", + "INFO", + "NOTICE", + "WARNING", + "ERROR", + "CRITICAL", + "ALERT", + "EMERGENCY" + ], + "enumDescriptions": [ + "(0) The log entry has no assigned severity level.", + "(100) Debug or trace information.", + "(200) Routine information, such as ongoing status or performance.", + "(300) Normal but significant events, such as start up, shut down, or a configuration change.", + "(400) Warning events might cause problems.", + "(500) Error events are likely to cause problems.", + "(600) Critical events cause more severe problems or outages.", + "(700) A person must take an action immediately.", + "(800) One or more systems are unusable." + ], + "type": "string" + }, + "sourceLocation": { + "$ref": "V1LogEntrySourceLocation", + "description": "Optional. Source code location information associated with the log entry, if any." + }, + "structPayload": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The log entry payload, represented as a structure that is expressed as a JSON object.", + "type": "object" + }, + "textPayload": { + "description": "The log entry payload, represented as a Unicode string (UTF-8).", + "type": "string" + }, + "timestamp": { + "description": "The time the event described by the log entry occurred. If omitted, defaults to operation start time.", + "format": "google-datetime", + "type": "string" + }, + "trace": { + "description": "Optional. Resource name of the trace associated with the log entry, if any. If this field contains a relative resource name, you can assume the name is relative to `//tracing.googleapis.com`. Example: `projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824`", + "type": "string" + } + }, + "type": "object" + }, + "V1LogEntryOperation": { + "description": "Additional information about a potentially long-running operation with which a log entry is associated.", + "id": "V1LogEntryOperation", + "properties": { + "first": { + "description": "Optional. Set this to True if this is the first log entry in the operation.", + "type": "boolean" + }, + "id": { + "description": "Optional. An arbitrary operation identifier. Log entries with the same identifier are assumed to be part of the same operation.", + "type": "string" + }, + "last": { + "description": "Optional. Set this to True if this is the last log entry in the operation.", + "type": "boolean" + }, + "producer": { + "description": "Optional. An arbitrary producer identifier. The combination of `id` and `producer` must be globally unique. Examples for `producer`: `\"MyDivision.MyBigCompany.com\"`, `\"github.com/MyProject/MyApplication\"`.", + "type": "string" + } + }, + "type": "object" + }, + "V1LogEntrySourceLocation": { + "description": "Additional information about the source code location that produced the log entry.", + "id": "V1LogEntrySourceLocation", + "properties": { + "file": { + "description": "Optional. Source file name. Depending on the runtime environment, this might be a simple name or a fully-qualified name.", + "type": "string" + }, + "function": { + "description": "Optional. Human-readable name of the function or method being invoked, with optional context such as the class or package name. This information may be used in contexts such as the logs viewer, where a file and line number are less meaningful. The format can vary by language. For example: `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function` (Python).", + "type": "string" + }, + "line": { + "description": "Optional. Line within the source file. 1-based; 0 indicates no line number available.", + "format": "int64", + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/etc/api/servicecontrol/v2/servicecontrol-api.json b/etc/api/servicecontrol/v2/servicecontrol-api.json index 1016d447d3..2873fd96b5 100644 --- a/etc/api/servicecontrol/v2/servicecontrol-api.json +++ b/etc/api/servicecontrol/v2/servicecontrol-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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" @@ -169,7 +169,7 @@ } } }, - "revision": "20210326", + "revision": "20220227", "rootUrl": "https://servicecontrol.googleapis.com/", "schemas": { "Api": { @@ -572,7 +572,7 @@ "type": "string" }, "path": { - "description": "The HTTP URL path.", + "description": "The HTTP URL path, excluding the query parameters.", "type": "string" }, "protocol": { @@ -680,7 +680,7 @@ "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}\".", + "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": { @@ -699,6 +699,14 @@ "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/` For the policy enforcement on the container level (VPCSC and Location Policy check), this field takes precedence on the container extracted from name when presents.", + "type": "string" + }, + "location": { + "description": "Optional. The location of the resource. The value must be a valid zone, region or multiregion. For example: \"europe-west4\" or \"northamerica-northeast1-a\"", + "type": "string" + }, "name": { "description": "The name of the resource referenced in the request.", "type": "string" @@ -740,7 +748,7 @@ "id": "Response", "properties": { "backendLatency": { - "description": "The length 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.", + "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" }, @@ -778,7 +786,7 @@ "description": "First party (Google) identity as the real authority." }, "principalSubject": { - "description": "A string representing the principal_subject associated with the identity. See go/3pical for more info on how principal_subject is formatted.", + "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": { @@ -789,7 +797,7 @@ "type": "object" }, "SpanContext": { - "description": "The context of a span, attached to Exemplars 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]", + "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": { @@ -840,6 +848,217 @@ } }, "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](http://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" } }, "servicePath": "", diff --git a/etc/api/servicedirectory/v1/servicedirectory-api.json b/etc/api/servicedirectory/v1/servicedirectory-api.json index 46831efc67..0f562f79c7 100644 --- a/etc/api/servicedirectory/v1/servicedirectory-api.json +++ b/etc/api/servicedirectory/v1/servicedirectory-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -883,26 +883,26 @@ } } }, - "revision": "20210316", + "revision": "20220224", "rootUrl": "https://servicedirectory.googleapis.com/", "schemas": { "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -926,13 +926,17 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. Annotations for the endpoint. This data can be consumed by service clients. Restrictions: * The entire annotations dictionary may contain up to 512 characters, spread accoss all key-value pairs. Annotations that go beyond this limit are rejected * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/) Annotations that fails to meet these requirements are rejected. * The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved for system annotations managed by Service Directory. If the user tries to write to these keyspaces, those entries are silently ignored by the system Note: This field is equivalent to the `metadata` field in the v1beta1 API. They have the same syntax and read/write to the same location in Service Directory.", + "description": "Optional. Annotations for the endpoint. This data can be consumed by service clients. Restrictions: * The entire annotations dictionary may contain up to 512 characters, spread accoss all key-value pairs. Annotations that go beyond this limit are rejected * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/) Annotations that fails to meet these requirements are rejected. Note: This field is equivalent to the `metadata` field in the v1beta1 API. They have the same syntax and read/write to the same location in Service Directory.", "type": "object" }, "name": { "description": "Immutable. The resource name for the endpoint in the format `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.", "type": "string" }, + "network": { + "description": "Immutable. The Google Compute Engine network (VPC) of the endpoint in the format `projects//locations/global/networks/*`. The project must be specified by project number (project id is rejected). Incorrectly formatted networks are rejected, we also check to make sure that you have the servicedirectory.networks.attach permission on the project specified.", + "type": "string" + }, "port": { "description": "Optional. Service Directory rejects values outside of `[0, 65535]`.", "format": "int32", @@ -980,7 +984,7 @@ "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).", + "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" } @@ -1112,11 +1116,11 @@ "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/).", + "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` 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.", + "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" }, @@ -1169,7 +1173,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. Annotations for the service. This data can be consumed by service clients. Restrictions: * The entire annotations dictionary may contain up to 2000 characters, spread accoss all key-value pairs. Annotations that go beyond this limit are rejected * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/). Annotations that fails to meet these requirements are rejected * The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved for system annotations managed by Service Directory. If the user tries to write to these keyspaces, those entries are silently ignored by the system Note: This field is equivalent to the `metadata` field in the v1beta1 API. They have the same syntax and read/write to the same location in Service Directory.", + "description": "Optional. Annotations for the service. This data can be consumed by service clients. Restrictions: * The entire annotations dictionary may contain up to 2000 characters, spread accoss all key-value pairs. Annotations that go beyond this limit are rejected * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/). Annotations that fails to meet these requirements are rejected Note: This field is equivalent to the `metadata` field in the v1beta1 API. They have the same syntax and read/write to the same location in Service Directory.", "type": "object" }, "endpoints": { diff --git a/etc/api/servicedirectory/v1beta1/servicedirectory-api.json b/etc/api/servicedirectory/v1beta1/servicedirectory-api.json index fcc60d4912..06b31b4692 100644 --- a/etc/api/servicedirectory/v1beta1/servicedirectory-api.json +++ b/etc/api/servicedirectory/v1beta1/servicedirectory-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -883,26 +883,26 @@ } } }, - "revision": "20210316", + "revision": "20220224", "rootUrl": "https://servicedirectory.googleapis.com/", "schemas": { "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -922,21 +922,37 @@ "description": "Optional. An IPv4 or IPv6 address. Service Directory rejects bad addresses like: * `8.8.8` * `8.8.8.8:53` * `test:bad:address` * `[::1]` * `[::1]:8080` Limited to 45 characters.", "type": "string" }, + "createTime": { + "description": "Output only. The timestamp when the endpoint was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, "metadata": { "additionalProperties": { "type": "string" }, - "description": "Optional. Metadata for the endpoint. This data can be consumed by service clients. Restrictions: * The entire metadata dictionary may contain up to 512 characters, spread accoss all key-value pairs. Metadata that goes beyond this limit are rejected * Valid metadata keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/). Metadata that fails to meet these requirements are rejected * The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved for system metadata managed by Service Directory. If the user tries to write to these keyspaces, those entries are silently ignored by the system Note: This field is equivalent to the `annotations` field in the v1 API. They have the same syntax and read/write to the same location in Service Directory.", + "description": "Optional. Metadata for the endpoint. This data can be consumed by service clients. Restrictions: * The entire metadata dictionary may contain up to 512 characters, spread accoss all key-value pairs. Metadata that goes beyond this limit are rejected * Valid metadata keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/). Metadata that fails to meet these requirements are rejected Note: This field is equivalent to the `annotations` field in the v1 API. They have the same syntax and read/write to the same location in Service Directory.", "type": "object" }, "name": { "description": "Immutable. The resource name for the endpoint in the format `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.", "type": "string" }, + "network": { + "description": "Immutable. The Google Compute Engine network (VPC) of the endpoint in the format `projects//locations/global/networks/*`. The project must be specified by project number (project id is rejected). Incorrectly formatted networks are rejected, but no other validation is performed on this field (ex. network or project existence, reachability, or permissions).", + "type": "string" + }, "port": { "description": "Optional. Service Directory rejects values outside of `[0, 65535]`.", "format": "int32", "type": "integer" + }, + "updateTime": { + "description": "Output only. The timestamp when the endpoint was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -980,7 +996,7 @@ "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).", + "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" } @@ -1097,6 +1113,12 @@ "description": "A container for services. Namespaces allow administrators to group services together and define permissions for a collection of services.", "id": "Namespace", "properties": { + "createTime": { + "description": "Output only. The timestamp when the namespace was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, "labels": { "additionalProperties": { "type": "string" @@ -1107,16 +1129,22 @@ "name": { "description": "Immutable. The resource name for the namespace in the format `projects/*/locations/*/namespaces/*`.", "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the namespace was last updated.", + "format": "google-datetime", + "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` 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/).", + "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` 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.", + "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" }, @@ -1165,6 +1193,12 @@ "description": "An individual service. A service contains a name and optional metadata. A service must exist before endpoints can be added to it.", "id": "Service", "properties": { + "createTime": { + "description": "Output only. The timestamp when the service was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, "endpoints": { "description": "Output only. Endpoints associated with this service. Returned on LookupService.ResolveService. Control plane clients should use RegistrationService.ListEndpoints.", "items": { @@ -1177,12 +1211,18 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. Metadata for the service. This data can be consumed by service clients. Restrictions: * The entire metadata dictionary may contain up to 2000 characters, spread accoss all key-value pairs. Metadata that goes beyond this limit are rejected * Valid metadata keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/). Metadata that fails to meet these requirements are rejected * The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved for system metadata managed by Service Directory. If the user tries to write to these keyspaces, those entries are silently ignored by the system Note: This field is equivalent to the `annotations` field in the v1 API. They have the same syntax and read/write to the same location in Service Directory.", + "description": "Optional. Metadata for the service. This data can be consumed by service clients. Restrictions: * The entire metadata dictionary may contain up to 2000 characters, spread accoss all key-value pairs. Metadata that goes beyond this limit are rejected * Valid metadata keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/). Metadata that fails to meet these requirements are rejected Note: This field is equivalent to the `annotations` field in the v1 API. They have the same syntax and read/write to the same location in Service Directory.", "type": "object" }, "name": { "description": "Immutable. The resource name for the service in the format `projects/*/locations/*/namespaces/*/services/*`.", "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the service was last updated. Note: endpoints being created/deleted/updated within the service are not considered service updates for the purpose of this timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" } }, "type": "object" diff --git a/etc/api/servicemanagement/v1/servicemanagement-api.json b/etc/api/servicemanagement/v1/servicemanagement-api.json index 8f82708166..0136955b8f 100644 --- a/etc/api/servicemanagement/v1/servicemanagement-api.json +++ b/etc/api/servicemanagement/v1/servicemanagement-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" }, "https://www.googleapis.com/auth/service.management": { "description": "Manage your Google API service configuration" @@ -351,7 +351,7 @@ ] }, "list": { - "description": "Lists managed services. Returns all public services. For authenticated users, also returns all services the calling user has \"servicemanagement.services.get\" permission for. **BETA:** If the caller specifies the `consumer_id`, it returns only the services enabled on the consumer. The `consumer_id` must have the format of \"project:{PROJECT-ID}\".", + "description": "Lists managed services. Returns all public services. For authenticated users, also returns all services the calling user has \"servicemanagement.services.get\" permission for.", "flatPath": "v1/services", "httpMethod": "GET", "id": "servicemanagement.services.list", @@ -829,7 +829,7 @@ } } }, - "revision": "20210319", + "revision": "20220225", "rootUrl": "https://servicemanagement.googleapis.com/", "schemas": { "Advice": { @@ -993,7 +993,7 @@ "type": "object" }, "Authentication": { - "description": "`Authentication` defines the authentication configuration for an API. Example for an API targeted for external use: 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", + "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": { @@ -1074,11 +1074,6 @@ "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": { - "description": "Minimum deadline in seconds needed for this method. Calls having deadline value lower than this will be rejected.", - "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", @@ -1141,22 +1136,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -1337,11 +1332,11 @@ "type": "object" }, "Control": { - "description": "Selects and configures the service controller used by the service. The service controller handles features like abuse, quota, billing, logging, monitoring, etc.", + "description": "Selects and configures the service controller used by the service. The service controller handles two things: - **What is allowed:** for each API request, Chemist checks the project status, activation status, abuse status, billing status, service status, location restrictions, VPC Service Controls, SuperQuota, and other policies. - **What has happened:** for each API response, Chemist reports the telemetry data to analytics, auditing, billing, eventing, logging, monitoring, sawmill, and tracing. Chemist also accepts telemetry data not associated with API traffic, such as billing metrics. Example: control: environment: servicecontrol.googleapis.com", "id": "Control", "properties": { "environment": { - "description": "The service control environment to use. If empty, no control plane feature (like quota and billing) will be enabled.", + "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" } }, @@ -1462,7 +1457,7 @@ "type": "string" }, "summary": { - "description": "A short summary of what the service does. Can only be provided by plain text.", + "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" } }, @@ -1477,33 +1472,20 @@ "type": "string" }, "description": { - "description": "Description of the selected API(s).", + "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" }, "selector": { - "description": "The selector is a comma-separated list of patterns. 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.", + "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" }, - "EnableServiceResponse": { - "description": "Operation payload for EnableService method.", - "id": "EnableServiceResponse", - "properties": {}, - "type": "object" - }, "Endpoint": { - "description": "`Endpoint` describes a network endpoint 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 service configuration: name: library-example.googleapis.com endpoints: # Below entry makes 'google.example.library.v1.Library' # API be served from endpoint address library-example.googleapis.com. # It also allows HTTP OPTIONS calls to be passed to the backend, for # it to decide whether the subsequent cross-origin request is # allowed to proceed. - name: library-example.googleapis.com allow_cors: true", + "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": "DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on.", - "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" @@ -1795,7 +1777,7 @@ "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).", + "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" } @@ -2152,10 +2134,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -2249,10 +2231,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -2334,10 +2316,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -2346,7 +2328,7 @@ "type": "string" }, "type": { - "description": "Required. The monitored resource type. For example, the type `\"cloudsql_database\"` represents databases in Google Cloud SQL.", + "description": "Required. The monitored resource type. For example, the type `\"cloudsql_database\"` represents databases in Google Cloud SQL. For a list of types, see [Monitoring 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" } }, @@ -2437,6 +2419,21 @@ }, "type": "object" }, + "OperationInfo": { + "description": "A message representing the message types used by a long-running operation. Example: rpc Export(ExportRequest) returns (google.longrunning.Operation) { option (google.longrunning.operation_info) = { response_type: \"ExportResponse\" metadata_type: \"ExportMetadata\" }; }", + "id": "OperationInfo", + "properties": { + "metadataType": { + "description": "Required. The message name of the metadata type for this long-running operation. If the response is in a different package from the rpc, a fully-qualified message name must be used (e.g. `google.protobuf.Struct`). Note: Altering this value constitutes a breaking change.", + "type": "string" + }, + "responseType": { + "description": "Required. The message name of the primary return type for this long-running operation. This type will be used to deserialize the LRO's response. If the response is in a different package from the rpc, a fully-qualified message name must be used (e.g. `google.protobuf.Struct`). Note: Altering this value constitutes a breaking change.", + "type": "string" + } + }, + "type": "object" + }, "OperationMetadata": { "description": "The metadata associated with a long running operation resource.", "id": "OperationMetadata", @@ -2492,7 +2489,7 @@ "id": "Page", "properties": { "content": { - "description": "The Markdown content of the page. You can use (== include {path} ==) to include content from a Markdown file.", + "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": { @@ -2510,7 +2507,7 @@ "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/).", + "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": { @@ -2521,7 +2518,7 @@ "type": "array" }, "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.", + "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" }, @@ -2640,7 +2637,7 @@ "type": "string" }, "createdBy": { - "description": "This field is deprecated and will be deleted. Please remove usage of this field.", + "description": "The user who created the Rollout. Readonly.", "type": "string" }, "deleteServiceStrategy": { @@ -2685,7 +2682,7 @@ "type": "object" }, "Service": { - "description": "`Service` is the root object of Google service configuration schema. It describes basic information about a service, such as the name and the 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. See each proto message definition for details. Example: type: google.api.Service name: calendar.googleapis.com title: Google Calendar API apis: - name: google.calendar.v3.Calendar 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", + "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": { @@ -2708,7 +2705,7 @@ "description": "Billing configuration." }, "configVersion": { - "description": "Deprecated. The service config compiler always sets this field to `3`.", + "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" }, @@ -2736,7 +2733,7 @@ "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. Example: enums: - name: google.someapi.v1.SomeEnum", + "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" }, @@ -2807,11 +2804,11 @@ "type": "array" }, "title": { - "description": "The product title for this service.", + "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. Example: types: - name: google.protobuf.Int32", + "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" }, diff --git a/etc/api/servicenetworking/v1/servicenetworking-api.json b/etc/api/servicenetworking/v1/servicenetworking-api.json index f0857d54c3..2efe72b467 100644 --- a/etc/api/servicenetworking/v1/servicenetworking-api.json +++ b/etc/api/servicenetworking/v1/servicenetworking-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." }, "https://www.googleapis.com/auth/service.management": { "description": "Manage your Google API service configuration" @@ -415,6 +415,35 @@ "https://www.googleapis.com/auth/service.management" ] }, + "deleteConnection": { + "description": "Deletes a private service access connection.", + "flatPath": "v1/services/{servicesId}/connections/{connectionsId}", + "httpMethod": "POST", + "id": "servicenetworking.services.connections.deleteConnection", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The private service connection that connects to a service producer organization. The name includes both the private service name and the VPC network peering name in the format of `services/{peering_service_name}/connections/{vpc_peering_name}`. For Google services that support this functionality, this is `services/servicenetworking.googleapis.com/connections/servicenetworking-googleapis-com`.", + "location": "path", + "pattern": "^services/[^/]+/connections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "DeleteConnectionRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ] + }, "list": { "description": "List the private connections that are configured in a service consumer's VPC network.", "flatPath": "v1/services/{servicesId}/connections", @@ -831,7 +860,7 @@ } } }, - "revision": "20210326", + "revision": "20220305", "rootUrl": "https://servicenetworking.googleapis.com/", "schemas": { "AddDnsRecordSetMetadata": { @@ -941,6 +970,10 @@ "description": "Request to create a subnetwork in a previously peered service network.", "id": "AddSubnetworkRequest", "properties": { + "checkServiceNetworkingUsePermission": { + "description": "Optional. The IAM permission check determines whether the consumer project has 'servicenetworking.services.use' permission or not.", + "type": "boolean" + }, "consumer": { "description": "Required. A resource that represents the service consumer, such as `projects/123456`. The project number can be different from the value in the consumer network parameter. For example, the network might be part of a Shared VPC network. In those cases, Service Networking validates that this resource belongs to that Shared VPC.", "type": "string" @@ -958,6 +991,18 @@ "format": "int32", "type": "integer" }, + "outsideAllocationPublicIpRange": { + "description": "Optional. Enable outside allocation using public IP addresses. Any public IP range may be specified. If this field is provided, we will not use customer reserved ranges for this primary IP range.", + "type": "string" + }, + "privateIpv6GoogleAccess": { + "description": "Optional. The private IPv6 google access type for the VMs in this subnet. For information about the access types that can be set using this field, see [subnetwork](https://cloud.google.com/compute/docs/reference/rest/v1/subnetworks) in the Compute API documentation.", + "type": "string" + }, + "purpose": { + "description": "Optional. Defines the purpose field of the subnet, e.g. 'PRIVATE_SERVICE_CONNECT'. For information about the purposes that can be set using this field, see [subnetwork](https://cloud.google.com/compute/docs/reference/rest/v1/subnetworks) in the Compute API documentation.", + "type": "string" + }, "region": { "description": "Required. The name of a [region](/compute/docs/regions-zones) for the subnet, such `europe-west1`.", "type": "string" @@ -1096,7 +1141,7 @@ "type": "object" }, "Authentication": { - "description": "`Authentication` defines the authentication configuration for an API. Example for an API targeted for external use: 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", + "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": { @@ -1177,11 +1222,6 @@ "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": { - "description": "Minimum deadline in seconds needed for this method. Calls having deadline value lower than this will be rejected.", - "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", @@ -1406,11 +1446,11 @@ "type": "object" }, "Control": { - "description": "Selects and configures the service controller used by the service. The service controller handles features like abuse, quota, billing, logging, monitoring, etc.", + "description": "Selects and configures the service controller used by the service. The service controller handles two things: - **What is allowed:** for each API request, Chemist checks the project status, activation status, abuse status, billing status, service status, location restrictions, VPC Service Controls, SuperQuota, and other policies. - **What has happened:** for each API response, Chemist reports the telemetry data to analytics, auditing, billing, eventing, logging, monitoring, sawmill, and tracing. Chemist also accepts telemetry data not associated with API traffic, such as billing metrics. Example: control: environment: servicecontrol.googleapis.com", "id": "Control", "properties": { "environment": { - "description": "The service control environment to use. If empty, no control plane feature (like quota and billing) will be enabled.", + "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" } }, @@ -1473,6 +1513,17 @@ "properties": {}, "type": "object" }, + "DeleteConnectionRequest": { + "description": "Request to delete a private service access connection. The call will fail if there are any managed service instances using this connection.", + "id": "DeleteConnectionRequest", + "properties": { + "consumerNetwork": { + "description": "Required. The network that the consumer is using to connect with services. Must be in the form of projects/{project}/global/networks/{network} {project} is a project number, as in '12345' {network} is a network name.", + "type": "string" + } + }, + "type": "object" + }, "DeletePeeredDnsDomainMetadata": { "description": "Metadata provided through GetOperation request for the LRO generated by DeletePeeredDnsDomain API.", "id": "DeletePeeredDnsDomainMetadata", @@ -1563,7 +1614,7 @@ "type": "string" }, "summary": { - "description": "A short summary of what the service does. Can only be provided by plain text.", + "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" } }, @@ -1578,11 +1629,11 @@ "type": "string" }, "description": { - "description": "Description of the selected API(s).", + "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" }, "selector": { - "description": "The selector is a comma-separated list of patterns. 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.", + "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" } }, @@ -1606,16 +1657,9 @@ "type": "object" }, "Endpoint": { - "description": "`Endpoint` describes a network endpoint 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 service configuration: name: library-example.googleapis.com endpoints: # Below entry makes 'google.example.library.v1.Library' # API be served from endpoint address library-example.googleapis.com. # It also allows HTTP OPTIONS calls to be passed to the backend, for # it to decide whether the subsequent cross-origin request is # allowed to proceed. - name: library-example.googleapis.com allow_cors: true", + "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": "DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on.", - "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" @@ -2179,10 +2223,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -2276,10 +2320,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -2361,10 +2405,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -2373,7 +2417,7 @@ "type": "string" }, "type": { - "description": "Required. The monitored resource type. For example, the type `\"cloudsql_database\"` represents databases in Google Cloud SQL.", + "description": "Required. The monitored resource type. For example, the type `\"cloudsql_database\"` represents databases in Google Cloud SQL. For a list of types, see [Monitoring 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" } }, @@ -2488,7 +2532,7 @@ "id": "Page", "properties": { "content": { - "description": "The Markdown content of the page. You can use (== include {path} ==) to include content from a Markdown file.", + "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": { @@ -2505,12 +2549,18 @@ }, "type": "object" }, + "PartialDeleteConnectionMetadata": { + "description": "Metadata provided through GetOperation request for the LRO generated by Partial Delete Connection API", + "id": "PartialDeleteConnectionMetadata", + "properties": {}, + "type": "object" + }, "PeeredDnsDomain": { "description": "DNS domain suffix for which requests originating in the producer VPC network are resolved in the associated consumer VPC network.", "id": "PeeredDnsDomain", "properties": { "dnsSuffix": { - "description": "The DNS domain name suffix e.g. `example.com.`.", + "description": "The DNS domain name suffix e.g. `example.com.`. Cloud DNS requires that a DNS suffix ends with a trailing dot.", "type": "string" }, "name": { @@ -2784,6 +2834,10 @@ "format": "int32", "type": "integer" }, + "outsideAllocationPublicIpRange": { + "description": "Optional. Enable outside allocation using public IP addresses. Any public IP range may be specified. If this field is provided, we will not use customer reserved ranges for this secondary IP range.", + "type": "string" + }, "rangeName": { "description": "Required. A name for the secondary IP range. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork.", "type": "string" @@ -2796,7 +2850,7 @@ "type": "object" }, "Service": { - "description": "`Service` is the root object of Google service configuration schema. It describes basic information about a service, such as the name and the 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. See each proto message definition for details. Example: type: google.api.Service name: calendar.googleapis.com title: Google Calendar API apis: - name: google.calendar.v3.Calendar 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", + "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": { @@ -2847,7 +2901,7 @@ "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. Example: enums: - name: google.someapi.v1.SomeEnum", + "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" }, @@ -2918,11 +2972,11 @@ "type": "array" }, "title": { - "description": "The product title for this service.", + "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. Example: types: - name: google.protobuf.Int32", + "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" }, @@ -3211,6 +3265,10 @@ "ValidateConsumerConfigRequest": { "id": "ValidateConsumerConfigRequest", "properties": { + "checkServiceNetworkingUsePermission": { + "description": "Optional. The IAM permission check determines whether the consumer project has 'servicenetworking.services.use' permission or not.", + "type": "boolean" + }, "consumerNetwork": { "description": "Required. The network that the consumer is using to connect with services. Must be in the form of projects/{project}/global/networks/{network} {project} is a project number, as in '12345' {network} is network name.", "type": "string" @@ -3260,7 +3318,8 @@ "RANGES_EXHAUSTED", "RANGES_NOT_RESERVED", "RANGES_DELETED_LATER", - "COMPUTE_API_NOT_ENABLED" + "COMPUTE_API_NOT_ENABLED", + "USE_PERMISSION_NOT_FOUND" ], "enumDescriptions": [ "", @@ -3276,7 +3335,8 @@ "The reserved IP ranges do not have enough space to create a subnet of desired size.", "The IP ranges were not reserved.", "The IP ranges were reserved but deleted later.", - "The consumer project does not have the compute api enabled." + "The consumer project does not have the compute api enabled.", + "The consumer project does not have the permission from the host project." ], "type": "string" } diff --git a/etc/api/servicenetworking/v1beta/servicenetworking-api.json b/etc/api/servicenetworking/v1beta/servicenetworking-api.json index 737386c9a6..234e69234b 100644 --- a/etc/api/servicenetworking/v1beta/servicenetworking-api.json +++ b/etc/api/servicenetworking/v1beta/servicenetworking-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." }, "https://www.googleapis.com/auth/service.management": { "description": "Manage your Google API service configuration" @@ -307,7 +307,7 @@ } } }, - "revision": "20210326", + "revision": "20220305", "rootUrl": "https://servicenetworking.googleapis.com/", "schemas": { "AddDnsRecordSetMetadata": { @@ -502,7 +502,7 @@ "type": "object" }, "Authentication": { - "description": "`Authentication` defines the authentication configuration for an API. Example for an API targeted for external use: 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", + "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": { @@ -583,11 +583,6 @@ "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": { - "description": "Minimum deadline in seconds needed for this method. Calls having deadline value lower than this will be rejected.", - "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", @@ -794,11 +789,11 @@ "type": "object" }, "Control": { - "description": "Selects and configures the service controller used by the service. The service controller handles features like abuse, quota, billing, logging, monitoring, etc.", + "description": "Selects and configures the service controller used by the service. The service controller handles two things: - **What is allowed:** for each API request, Chemist checks the project status, activation status, abuse status, billing status, service status, location restrictions, VPC Service Controls, SuperQuota, and other policies. - **What has happened:** for each API response, Chemist reports the telemetry data to analytics, auditing, billing, eventing, logging, monitoring, sawmill, and tracing. Chemist also accepts telemetry data not associated with API traffic, such as billing metrics. Example: control: environment: servicecontrol.googleapis.com", "id": "Control", "properties": { "environment": { - "description": "The service control environment to use. If empty, no control plane feature (like quota and billing) will be enabled.", + "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" } }, @@ -940,7 +935,7 @@ "type": "string" }, "summary": { - "description": "A short summary of what the service does. Can only be provided by plain text.", + "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" } }, @@ -955,27 +950,20 @@ "type": "string" }, "description": { - "description": "Description of the selected API(s).", + "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" }, "selector": { - "description": "The selector is a comma-separated list of patterns. 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.", + "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" }, "Endpoint": { - "description": "`Endpoint` describes a network endpoint 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 service configuration: name: library-example.googleapis.com endpoints: # Below entry makes 'google.example.library.v1.Library' # API be served from endpoint address library-example.googleapis.com. # It also allows HTTP OPTIONS calls to be passed to the backend, for # it to decide whether the subsequent cross-origin request is # allowed to proceed. - name: library-example.googleapis.com allow_cors: true", + "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": "DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on.", - "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" @@ -1507,10 +1495,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -1604,10 +1592,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -1689,10 +1677,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -1701,7 +1689,7 @@ "type": "string" }, "type": { - "description": "Required. The monitored resource type. For example, the type `\"cloudsql_database\"` represents databases in Google Cloud SQL.", + "description": "Required. The monitored resource type. For example, the type `\"cloudsql_database\"` represents databases in Google Cloud SQL. For a list of types, see [Monitoring 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" } }, @@ -1816,7 +1804,7 @@ "id": "Page", "properties": { "content": { - "description": "The Markdown content of the page. You can use (== include {path} ==) to include content from a Markdown file.", + "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": { @@ -1833,12 +1821,18 @@ }, "type": "object" }, + "PartialDeleteConnectionMetadata": { + "description": "Metadata provided through GetOperation request for the LRO generated by Partial Delete Connection API", + "id": "PartialDeleteConnectionMetadata", + "properties": {}, + "type": "object" + }, "PeeredDnsDomain": { "description": "DNS domain suffix for which requests originating in the producer VPC network are resolved in the associated consumer VPC network.", "id": "PeeredDnsDomain", "properties": { "dnsSuffix": { - "description": "The DNS domain name suffix e.g. `example.com.`.", + "description": "The DNS domain name suffix e.g. `example.com.`. Cloud DNS requires that a DNS suffix ends with a trailing dot.", "type": "string" }, "name": { @@ -2037,7 +2031,7 @@ "type": "object" }, "Service": { - "description": "`Service` is the root object of Google service configuration schema. It describes basic information about a service, such as the name and the 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. See each proto message definition for details. Example: type: google.api.Service name: calendar.googleapis.com title: Google Calendar API apis: - name: google.calendar.v3.Calendar 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", + "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": { @@ -2088,7 +2082,7 @@ "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. Example: enums: - name: google.someapi.v1.SomeEnum", + "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" }, @@ -2159,11 +2153,11 @@ "type": "array" }, "title": { - "description": "The product title for this service.", + "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. Example: types: - name: google.protobuf.Int32", + "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" }, diff --git a/etc/api/serviceusage/v1/serviceusage-api.json b/etc/api/serviceusage/v1/serviceusage-api.json index 60e31b7a1a..e60494c85d 100644 --- a/etc/api/serviceusage/v1/serviceusage-api.json +++ b/etc/api/serviceusage/v1/serviceusage-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" }, "https://www.googleapis.com/auth/service.management": { "description": "Manage your Google API service configuration" @@ -426,7 +426,7 @@ } } }, - "revision": "20210330", + "revision": "20220305", "rootUrl": "https://serviceusage.googleapis.com/", "schemas": { "AdminQuotaPolicy": { @@ -434,14 +434,14 @@ "id": "AdminQuotaPolicy", "properties": { "container": { - "description": "The cloud resource container at which the quota policy is created. The format is {container_type}/{container_number}", + "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, an 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: * 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. * Keys other than \"region\" or \"zone\" are not valid.", + "description": " If this map is nonempty, then this policy applies only to specific values for dimensions defined in the limit unit. For example, an 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: * 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. * Keys other than `region` or `zone` are not valid.", "type": "object" }, "metric": { @@ -566,7 +566,7 @@ "type": "object" }, "Authentication": { - "description": "`Authentication` defines the authentication configuration for an API. Example for an API targeted for external use: 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", + "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": { @@ -647,11 +647,6 @@ "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": { - "description": "Minimum deadline in seconds needed for this method. Calls having deadline value lower than this will be rejected.", - "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", @@ -850,16 +845,22 @@ "type": "object" }, "Control": { - "description": "Selects and configures the service controller used by the service. The service controller handles features like abuse, quota, billing, logging, monitoring, etc.", + "description": "Selects and configures the service controller used by the service. The service controller handles two things: - **What is allowed:** for each API request, Chemist checks the project status, activation status, abuse status, billing status, service status, location restrictions, VPC Service Controls, SuperQuota, and other policies. - **What has happened:** for each API response, Chemist reports the telemetry data to analytics, auditing, billing, eventing, logging, monitoring, sawmill, and tracing. Chemist also accepts telemetry data not associated with API traffic, such as billing metrics. Example: control: environment: servicecontrol.googleapis.com", "id": "Control", "properties": { "environment": { - "description": "The service control environment to use. If empty, no control plane feature (like quota and billing) will be enabled.", + "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" } }, "type": "object" }, + "CreateAdminQuotaPolicyMetadata": { + "description": "Metadata message that provides information such as progress, partial failures, and similar information on each GetOperation call of LRO returned by CreateAdminQuotaPolicy.", + "id": "CreateAdminQuotaPolicyMetadata", + "properties": {}, + "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", @@ -911,6 +912,12 @@ }, "type": "object" }, + "DeleteAdminQuotaPolicyMetadata": { + "description": "Metadata message that provides information such as progress, partial failures, and similar information on each GetOperation call of LRO returned by DeleteAdminQuotaPolicy.", + "id": "DeleteAdminQuotaPolicyMetadata", + "properties": {}, + "type": "object" + }, "DisableServiceRequest": { "description": "Request message for the `DisableService` method.", "id": "DisableServiceRequest", @@ -978,7 +985,7 @@ "type": "string" }, "summary": { - "description": "A short summary of what the service does. Can only be provided by plain text.", + "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" } }, @@ -993,11 +1000,11 @@ "type": "string" }, "description": { - "description": "Description of the selected API(s).", + "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" }, "selector": { - "description": "The selector is a comma-separated list of patterns. 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.", + "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" } }, @@ -1042,16 +1049,9 @@ "type": "object" }, "Endpoint": { - "description": "`Endpoint` describes a network endpoint 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 service configuration: name: library-example.googleapis.com endpoints: # Below entry makes 'google.example.library.v1.Library' # API be served from endpoint address library-example.googleapis.com. # It also allows HTTP OPTIONS calls to be passed to the backend, for # it to decide whether the subsequent cross-origin request is # allowed to proceed. - name: library-example.googleapis.com allow_cors: true", + "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": "DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on.", - "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" @@ -1237,6 +1237,12 @@ }, "type": "object" }, + "GetServiceIdentityMetadata": { + "description": "Metadata for the `GetServiceIdentity` method.", + "id": "GetServiceIdentityMetadata", + "properties": {}, + "type": "object" + }, "GetServiceIdentityResponse": { "description": "Response message for getting service identity.", "id": "GetServiceIdentityResponse", @@ -1261,7 +1267,7 @@ "type": "object" }, "GoogleApiService": { - "description": "`Service` is the root object of Google service configuration schema. It describes basic information about a service, such as the name and the 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. See each proto message definition for details. Example: type: google.api.Service name: calendar.googleapis.com title: Google Calendar API apis: - name: google.calendar.v3.Calendar 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", + "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": "GoogleApiService", "properties": { "apis": { @@ -1312,7 +1318,7 @@ "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. Example: enums: - name: google.someapi.v1.SomeEnum", + "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" }, @@ -1383,11 +1389,11 @@ "type": "array" }, "title": { - "description": "The product title for this service.", + "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. Example: types: - name: google.protobuf.Int32", + "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" }, @@ -1609,6 +1615,12 @@ }, "type": "object" }, + "ImportAdminOverridesMetadata": { + "description": "Metadata message that provides information such as progress, partial failures, and similar information on each GetOperation call of LRO returned by ImportAdminOverrides.", + "id": "ImportAdminOverridesMetadata", + "properties": {}, + "type": "object" + }, "ImportAdminOverridesResponse": { "description": "Response message for ImportAdminOverrides", "id": "ImportAdminOverridesResponse", @@ -1623,6 +1635,12 @@ }, "type": "object" }, + "ImportAdminQuotaPoliciesMetadata": { + "description": "Metadata message that provides information such as progress, partial failures, and similar information on each GetOperation call of LRO returned by ImportAdminQuotaPolicies.", + "id": "ImportAdminQuotaPoliciesMetadata", + "properties": {}, + "type": "object" + }, "ImportAdminQuotaPoliciesResponse": { "description": "Response message for ImportAdminQuotaPolicies", "id": "ImportAdminQuotaPoliciesResponse", @@ -1637,6 +1655,12 @@ }, "type": "object" }, + "ImportConsumerOverridesMetadata": { + "description": "Metadata message that provides information such as progress, partial failures, and similar information on each GetOperation call of LRO returned by ImportConsumerOverrides.", + "id": "ImportConsumerOverridesMetadata", + "properties": {}, + "type": "object" + }, "ImportConsumerOverridesResponse": { "description": "Response message for ImportConsumerOverrides", "id": "ImportConsumerOverridesResponse", @@ -1882,10 +1906,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -1979,10 +2003,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -2064,10 +2088,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -2076,7 +2100,7 @@ "type": "string" }, "type": { - "description": "Required. The monitored resource type. For example, the type `\"cloudsql_database\"` represents databases in Google Cloud SQL.", + "description": "Required. The monitored resource type. For example, the type `\"cloudsql_database\"` represents databases in Google Cloud SQL. For a list of types, see [Monitoring 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" } }, @@ -2205,7 +2229,7 @@ "id": "Page", "properties": { "content": { - "description": "The Markdown content of the page. You can use (== include {path} ==) to include content from a Markdown file.", + "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": { @@ -2302,14 +2326,14 @@ "id": "QuotaOverride", "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.", + "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.", + "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": { @@ -2502,6 +2526,12 @@ }, "type": "object" }, + "UpdateAdminQuotaPolicyMetadata": { + "description": "Metadata message that provides information such as progress, partial failures, and similar information on each GetOperation call of LRO returned by UpdateAdminQuotaPolicy.", + "id": "UpdateAdminQuotaPolicyMetadata", + "properties": {}, + "type": "object" + }, "Usage": { "description": "Configuration controlling usage of a service.", "id": "Usage", diff --git a/etc/api/serviceusage/v1beta1/serviceusage-api.json b/etc/api/serviceusage/v1beta1/serviceusage-api.json index 1c25cf6955..416057f9b2 100644 --- a/etc/api/serviceusage/v1beta1/serviceusage-api.json +++ b/etc/api/serviceusage/v1beta1/serviceusage-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" }, "https://www.googleapis.com/auth/service.management": { "description": "Manage your Google API service configuration" @@ -182,7 +182,7 @@ "services": { "methods": { "batchEnable": { - "description": "Enable multiple services on a project. The operation is atomic: if enabling any service fails, then the entire batch fails, and no state changes occur. Operation", + "description": "Enables multiple services on a project. The operation is atomic: if enabling any service fails, then the entire batch fails, and no state changes occur. Operation response type: `google.protobuf.Empty`", "flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services:batchEnable", "httpMethod": "POST", "id": "serviceusage.services.batchEnable", @@ -211,7 +211,7 @@ ] }, "disable": { - "description": "Disable a service so that it can no longer be used with a project. This prevents unintended usage that may cause unexpected billing charges or security leaks. It is not valid to call the disable method on a service that is not currently enabled. Callers will receive a `FAILED_PRECONDITION` status if the target service is not currently enabled. Operation", + "description": "Disables a service so that it can no longer be used with a project. This prevents unintended usage that may cause unexpected billing charges or security leaks. It is not valid to call the disable method on a service that is not currently enabled. Callers will receive a `FAILED_PRECONDITION` status if the target service is not currently enabled. Operation response type: `google.protobuf.Empty`", "flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services/{servicesId}:disable", "httpMethod": "POST", "id": "serviceusage.services.disable", @@ -240,7 +240,7 @@ ] }, "enable": { - "description": "Enable a service so that it can be used with a project. Operation", + "description": "Enables a service so that it can be used with a project. Operation response type: `google.protobuf.Empty`", "flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services/{servicesId}:enable", "httpMethod": "POST", "id": "serviceusage.services.enable", @@ -269,7 +269,7 @@ ] }, "generateServiceIdentity": { - "description": "Generate service identity for service.", + "description": "Generates service identity for service.", "flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services/{servicesId}:generateServiceIdentity", "httpMethod": "POST", "id": "serviceusage.services.generateServiceIdentity", @@ -321,7 +321,7 @@ ] }, "list": { - "description": "List all services available to the specified project, and the current state of those services with respect to the project. The list includes all public services, all services for which the calling user has the `servicemanagement.services.bind` permission, and all services that have already been enabled on the project. The list can be filtered to only include services in a specific state, for example to only include services enabled on the project.", + "description": "Lists all services available to the specified project, and the current state of those services with respect to the project. The list includes all public services, all services for which the calling user has the `servicemanagement.services.bind` permission, and all services that have already been enabled on the project. The list can be filtered to only include services in a specific state, for example to only include services enabled on the project.", "flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services", "httpMethod": "GET", "id": "serviceusage.services.list", @@ -376,7 +376,7 @@ ], "parameters": { "name": { - "description": "The resource name of the quota limit. An example name would be: projects/123/services/serviceusage.googleapis.com/quotas/metrics/serviceusage.googleapis.com%2Fmutate_requests", + "description": "The resource name of the quota limit. An example name would be: `projects/123/services/serviceusage.googleapis.com/quotas/metrics/serviceusage.googleapis.com%2Fmutate_requests`", "location": "path", "pattern": "^[^/]+/[^/]+/services/[^/]+/consumerQuotaMetrics/[^/]+$", "required": true, @@ -408,7 +408,7 @@ ] }, "importAdminOverrides": { - "description": "Create or update multiple admin overrides atomically, all on the same consumer, but on many different metrics or limits. The name field in the quota override message should not be set.", + "description": "Creates or updates multiple admin overrides atomically, all on the same consumer, but on many different metrics or limits. The name field in the quota override message should not be set.", "flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services/{servicesId}/consumerQuotaMetrics:importAdminOverrides", "httpMethod": "POST", "id": "serviceusage.services.consumerQuotaMetrics.importAdminOverrides", @@ -437,7 +437,7 @@ ] }, "importConsumerOverrides": { - "description": "Create or update multiple consumer overrides atomically, all on the same consumer, but on many different metrics or limits. The name field in the quota override message should not be set.", + "description": "Creates or updates multiple consumer overrides atomically, all on the same consumer, but on many different metrics or limits. The name field in the quota override message should not be set.", "flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services/{servicesId}/consumerQuotaMetrics:importConsumerOverrides", "httpMethod": "POST", "id": "serviceusage.services.consumerQuotaMetrics.importConsumerOverrides", @@ -486,7 +486,7 @@ "type": "string" }, "parent": { - "description": "Parent of the quotas resource. Some example names would be: projects/123/services/serviceconsumermanagement.googleapis.com folders/345/services/serviceconsumermanagement.googleapis.com organizations/456/services/serviceconsumermanagement.googleapis.com", + "description": "Parent of the quotas resource. Some example names would be: `projects/123/services/serviceconsumermanagement.googleapis.com` `folders/345/services/serviceconsumermanagement.googleapis.com` `organizations/456/services/serviceconsumermanagement.googleapis.com`", "location": "path", "pattern": "^[^/]+/[^/]+/services/[^/]+$", "required": true, @@ -959,7 +959,7 @@ } } }, - "revision": "20210330", + "revision": "20220305", "rootUrl": "https://serviceusage.googleapis.com/", "schemas": { "AdminQuotaPolicy": { @@ -967,14 +967,14 @@ "id": "AdminQuotaPolicy", "properties": { "container": { - "description": "The cloud resource container at which the quota policy is created. The format is {container_type}/{container_number}", + "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, an 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: * 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. * Keys other than \"region\" or \"zone\" are not valid.", + "description": " If this map is nonempty, then this policy applies only to specific values for dimensions defined in the limit unit. For example, an 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: * 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. * Keys other than `region` or `zone` are not valid.", "type": "object" }, "metric": { @@ -1099,7 +1099,7 @@ "type": "object" }, "Authentication": { - "description": "`Authentication` defines the authentication configuration for an API. Example for an API targeted for external use: 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", + "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": { @@ -1180,11 +1180,6 @@ "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": { - "description": "Minimum deadline in seconds needed for this method. Calls having deadline value lower than this will be rejected.", - "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", @@ -1336,6 +1331,13 @@ }, "type": "array" }, + "supportedLocations": { + "description": "List of all supported locations. This field is present only if the limit has a {region} or {zone} dimension.", + "items": { + "type": "string" + }, + "type": "array" + }, "unit": { "description": "The limit unit. 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" @@ -1362,7 +1364,7 @@ "type": "array" }, "displayName": { - "description": "The display name of the metric. An example name would be: \"CPUs\"", + "description": "The display name of the metric. An example name would be: `CPUs`", "type": "string" }, "metric": { @@ -1370,7 +1372,7 @@ "type": "string" }, "name": { - "description": "The resource name of the quota settings on this metric for this consumer. An example name would be: `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus The resource name is intended to be opaque and should not be parsed for its component strings, since its representation could change in the future.", + "description": "The resource name of the quota settings on this metric for this consumer. An example name would be: `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus` The resource name is intended to be opaque and should not be parsed for its component strings, since its representation could change in the future.", "type": "string" }, "unit": { @@ -1434,16 +1436,22 @@ "type": "object" }, "Control": { - "description": "Selects and configures the service controller used by the service. The service controller handles features like abuse, quota, billing, logging, monitoring, etc.", + "description": "Selects and configures the service controller used by the service. The service controller handles two things: - **What is allowed:** for each API request, Chemist checks the project status, activation status, abuse status, billing status, service status, location restrictions, VPC Service Controls, SuperQuota, and other policies. - **What has happened:** for each API response, Chemist reports the telemetry data to analytics, auditing, billing, eventing, logging, monitoring, sawmill, and tracing. Chemist also accepts telemetry data not associated with API traffic, such as billing metrics. Example: control: environment: servicecontrol.googleapis.com", "id": "Control", "properties": { "environment": { - "description": "The service control environment to use. If empty, no control plane feature (like quota and billing) will be enabled.", + "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" } }, "type": "object" }, + "CreateAdminQuotaPolicyMetadata": { + "description": "Metadata message that provides information such as progress, partial failures, and similar information on each GetOperation call of LRO returned by CreateAdminQuotaPolicy.", + "id": "CreateAdminQuotaPolicyMetadata", + "properties": {}, + "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", @@ -1495,6 +1503,12 @@ }, "type": "object" }, + "DeleteAdminQuotaPolicyMetadata": { + "description": "Metadata message that provides information such as progress, partial failures, and similar information on each GetOperation call of LRO returned by DeleteAdminQuotaPolicy.", + "id": "DeleteAdminQuotaPolicyMetadata", + "properties": {}, + "type": "object" + }, "DisableServiceRequest": { "description": "Request message for the `DisableService` method.", "id": "DisableServiceRequest", @@ -1543,7 +1557,7 @@ "type": "string" }, "summary": { - "description": "A short summary of what the service does. Can only be provided by plain text.", + "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" } }, @@ -1558,11 +1572,11 @@ "type": "string" }, "description": { - "description": "Description of the selected API(s).", + "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" }, "selector": { - "description": "The selector is a comma-separated list of patterns. 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.", + "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" } }, @@ -1607,16 +1621,9 @@ "type": "object" }, "Endpoint": { - "description": "`Endpoint` describes a network endpoint 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 service configuration: name: library-example.googleapis.com endpoints: # Below entry makes 'google.example.library.v1.Library' # API be served from endpoint address library-example.googleapis.com. # It also allows HTTP OPTIONS calls to be passed to the backend, for # it to decide whether the subsequent cross-origin request is # allowed to proceed. - name: library-example.googleapis.com allow_cors: true", + "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": "DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on.", - "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" @@ -1802,6 +1809,12 @@ }, "type": "object" }, + "GetServiceIdentityMetadata": { + "description": "Metadata for the `GetServiceIdentity` method.", + "id": "GetServiceIdentityMetadata", + "properties": {}, + "type": "object" + }, "GetServiceIdentityResponse": { "description": "Response message for getting service identity.", "id": "GetServiceIdentityResponse", @@ -1826,7 +1839,7 @@ "type": "object" }, "GoogleApiService": { - "description": "`Service` is the root object of Google service configuration schema. It describes basic information about a service, such as the name and the 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. See each proto message definition for details. Example: type: google.api.Service name: calendar.googleapis.com title: Google Calendar API apis: - name: google.calendar.v3.Calendar 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", + "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": "GoogleApiService", "properties": { "apis": { @@ -1877,7 +1890,7 @@ "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. Example: enums: - name: google.someapi.v1.SomeEnum", + "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" }, @@ -1948,11 +1961,11 @@ "type": "array" }, "title": { - "description": "The product title for this service.", + "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. Example: types: - name: google.protobuf.Int32", + "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" }, @@ -2174,6 +2187,12 @@ }, "type": "object" }, + "ImportAdminOverridesMetadata": { + "description": "Metadata message that provides information such as progress, partial failures, and similar information on each GetOperation call of LRO returned by ImportAdminOverrides.", + "id": "ImportAdminOverridesMetadata", + "properties": {}, + "type": "object" + }, "ImportAdminOverridesRequest": { "description": "Request message for ImportAdminOverrides", "id": "ImportAdminOverridesRequest", @@ -2220,6 +2239,12 @@ }, "type": "object" }, + "ImportAdminQuotaPoliciesMetadata": { + "description": "Metadata message that provides information such as progress, partial failures, and similar information on each GetOperation call of LRO returned by ImportAdminQuotaPolicies.", + "id": "ImportAdminQuotaPoliciesMetadata", + "properties": {}, + "type": "object" + }, "ImportAdminQuotaPoliciesResponse": { "description": "Response message for ImportAdminQuotaPolicies", "id": "ImportAdminQuotaPoliciesResponse", @@ -2234,6 +2259,12 @@ }, "type": "object" }, + "ImportConsumerOverridesMetadata": { + "description": "Metadata message that provides information such as progress, partial failures, and similar information on each GetOperation call of LRO returned by ImportConsumerOverrides.", + "id": "ImportConsumerOverridesMetadata", + "properties": {}, + "type": "object" + }, "ImportConsumerOverridesRequest": { "description": "Request message for ImportConsumerOverrides", "id": "ImportConsumerOverridesRequest", @@ -2565,10 +2596,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -2662,10 +2693,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -2747,10 +2778,10 @@ "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\u2019t 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.", + "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 \u201cDeprecation Policy\u201d 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." + "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" }, @@ -2759,7 +2790,7 @@ "type": "string" }, "type": { - "description": "Required. The monitored resource type. For example, the type `\"cloudsql_database\"` represents databases in Google Cloud SQL.", + "description": "Required. The monitored resource type. For example, the type `\"cloudsql_database\"` represents databases in Google Cloud SQL. For a list of types, see [Monitoring 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" } }, @@ -2902,7 +2933,7 @@ "id": "Page", "properties": { "content": { - "description": "The Markdown content of the page. You can use (== include {path} ==) to include content from a Markdown file.", + "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": { @@ -2961,7 +2992,7 @@ "additionalProperties": { "type": "string" }, - "description": "The dimensions of this quota bucket. If this map is empty, this is the global bucket, which is the default quota value applied to all requests that do not have a more specific override. If this map is nonempty, the default limit, effective limit, and quota overrides apply only to requests that have the dimensions given in the map. For example, if the map has key \"region\" and value \"us-east-1\", then the specified effective limit is only effective in that region, and the specified overrides apply only in that region.", + "description": "The dimensions of this quota bucket. If this map is empty, this is the global bucket, which is the default quota value applied to all requests that do not have a more specific override. If this map is nonempty, the default limit, effective limit, and quota overrides apply only to requests that have the dimensions given in the map. For example, if the map has key `region` and value `us-east-1`, then the specified effective limit is only effective in that region, and the specified overrides apply only in that region.", "type": "object" }, "effectiveLimit": { @@ -3035,14 +3066,14 @@ "id": "QuotaOverride", "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.", + "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.", + "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": { @@ -3074,11 +3105,11 @@ "description": "The service configuration of the available service. Some fields may be filtered out of the configuration in responses to the `ListServices` method. These fields are present only in responses to the `GetService` method." }, "name": { - "description": "The resource name of the consumer and service. A valid name would be: - projects/123/services/serviceusage.googleapis.com", + "description": "The resource name of the consumer and service. A valid name would be: - `projects/123/services/serviceusage.googleapis.com`", "type": "string" }, "parent": { - "description": "The resource name of the consumer. A valid name would be: - projects/123", + "description": "The resource name of the consumer. A valid name would be: - `projects/123`", "type": "string" }, "state": { @@ -3324,6 +3355,12 @@ }, "type": "object" }, + "UpdateAdminQuotaPolicyMetadata": { + "description": "Metadata message that provides information such as progress, partial failures, and similar information on each GetOperation call of LRO returned by UpdateAdminQuotaPolicy.", + "id": "UpdateAdminQuotaPolicyMetadata", + "properties": {}, + "type": "object" + }, "Usage": { "description": "Configuration controlling usage of a service.", "id": "Usage", diff --git a/etc/api/sheets/v4/sheets-api.json b/etc/api/sheets/v4/sheets-api.json index dd53d5e255..589ee529be 100644 --- a/etc/api/sheets/v4/sheets-api.json +++ b/etc/api/sheets/v4/sheets-api.json @@ -12,10 +12,10 @@ "description": "See and download all your Google Drive files" }, "https://www.googleapis.com/auth/spreadsheets": { - "description": "See, edit, create, and delete your spreadsheets in Google Drive" + "description": "See, edit, create, and delete all your Google Sheets spreadsheets" }, "https://www.googleapis.com/auth/spreadsheets.readonly": { - "description": "View your Google Spreadsheets" + "description": "See all your Google Sheets spreadsheets" } } } @@ -383,20 +383,20 @@ "type": "string" }, "responseDateTimeRenderOption": { - "description": "Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].", + "description": "Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.", "enum": [ "SERIAL_NUMBER", "FORMATTED_STRING" ], "enumDescriptions": [ - "Instructs date, time, datetime, and duration fields to be output as doubles in \"serial number\" format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it's 2 days after December 30st 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.", - "Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which is dependent on the spreadsheet locale)." + "Instructs date, time, datetime, and duration fields to be output as doubles in \"serial number\" format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it's 2 days after December 30th 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.", + "Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which depends on the spreadsheet locale)." ], "location": "query", "type": "string" }, "responseValueRenderOption": { - "description": "Determines how values in the response should be rendered. The default render option is ValueRenderOption.FORMATTED_VALUE.", + "description": "Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE.", "enum": [ "FORMATTED_VALUE", "UNFORMATTED_VALUE", @@ -513,14 +513,14 @@ ], "parameters": { "dateTimeRenderOption": { - "description": "How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].", + "description": "How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.", "enum": [ "SERIAL_NUMBER", "FORMATTED_STRING" ], "enumDescriptions": [ - "Instructs date, time, datetime, and duration fields to be output as doubles in \"serial number\" format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it's 2 days after December 30st 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.", - "Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which is dependent on the spreadsheet locale)." + "Instructs date, time, datetime, and duration fields to be output as doubles in \"serial number\" format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it's 2 days after December 30th 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.", + "Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which depends on the spreadsheet locale)." ], "location": "query", "type": "string" @@ -714,14 +714,14 @@ ], "parameters": { "dateTimeRenderOption": { - "description": "How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].", + "description": "How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.", "enum": [ "SERIAL_NUMBER", "FORMATTED_STRING" ], "enumDescriptions": [ - "Instructs date, time, datetime, and duration fields to be output as doubles in \"serial number\" format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it's 2 days after December 30st 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.", - "Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which is dependent on the spreadsheet locale)." + "Instructs date, time, datetime, and duration fields to be output as doubles in \"serial number\" format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it's 2 days after December 30th 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.", + "Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which depends on the spreadsheet locale)." ], "location": "query", "type": "string" @@ -754,7 +754,7 @@ "type": "string" }, "valueRenderOption": { - "description": "How values should be represented in the output. The default render option is ValueRenderOption.FORMATTED_VALUE.", + "description": "How values should be represented in the output. The default render option is FORMATTED_VALUE.", "enum": [ "FORMATTED_VALUE", "UNFORMATTED_VALUE", @@ -803,20 +803,20 @@ "type": "string" }, "responseDateTimeRenderOption": { - "description": "Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is DateTimeRenderOption.SERIAL_NUMBER.", + "description": "Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.", "enum": [ "SERIAL_NUMBER", "FORMATTED_STRING" ], "enumDescriptions": [ - "Instructs date, time, datetime, and duration fields to be output as doubles in \"serial number\" format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it's 2 days after December 30st 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.", - "Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which is dependent on the spreadsheet locale)." + "Instructs date, time, datetime, and duration fields to be output as doubles in \"serial number\" format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it's 2 days after December 30th 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.", + "Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which depends on the spreadsheet locale)." ], "location": "query", "type": "string" }, "responseValueRenderOption": { - "description": "Determines how values in the response should be rendered. The default render option is ValueRenderOption.FORMATTED_VALUE.", + "description": "Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE.", "enum": [ "FORMATTED_VALUE", "UNFORMATTED_VALUE", @@ -870,7 +870,7 @@ } } }, - "revision": "20210322", + "revision": "20220221", "rootUrl": "https://sheets.googleapis.com/", "schemas": { "AddBandingRequest": { @@ -1309,7 +1309,7 @@ }, "textFormat": { "$ref": "TextFormat", - "description": "Text formatting options for baseline value." + "description": "Text formatting options for baseline value. The link field is not supported." } }, "type": "object" @@ -1320,7 +1320,7 @@ "properties": { "format": { "$ref": "TextFormat", - "description": "The format of the title. Only valid if the axis is not associated with the domain." + "description": "The format of the title. Only valid if the axis is not associated with the domain. The link field is not supported." }, "position": { "description": "The position of this axis.", @@ -1701,14 +1701,14 @@ "type": "array" }, "dateTimeRenderOption": { - "description": "How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].", + "description": "How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.", "enum": [ "SERIAL_NUMBER", "FORMATTED_STRING" ], "enumDescriptions": [ - "Instructs date, time, datetime, and duration fields to be output as doubles in \"serial number\" format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it's 2 days after December 30st 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.", - "Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which is dependent on the spreadsheet locale)." + "Instructs date, time, datetime, and duration fields to be output as doubles in \"serial number\" format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it's 2 days after December 30th 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.", + "Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which depends on the spreadsheet locale)." ], "type": "string" }, @@ -1727,7 +1727,7 @@ "type": "string" }, "valueRenderOption": { - "description": "How values should be represented in the output. The default render option is ValueRenderOption.FORMATTED_VALUE.", + "description": "How values should be represented in the output. The default render option is FORMATTED_VALUE.", "enum": [ "FORMATTED_VALUE", "UNFORMATTED_VALUE", @@ -1825,7 +1825,7 @@ }, "updatedSpreadsheet": { "$ref": "Spreadsheet", - "description": "The spreadsheet after updates were applied. This is only set if [BatchUpdateSpreadsheetRequest.include_spreadsheet_in_response] is `true`." + "description": "The spreadsheet after updates were applied. This is only set if BatchUpdateSpreadsheetRequest.include_spreadsheet_in_response is `true`." } }, "type": "object" @@ -1846,19 +1846,19 @@ "type": "boolean" }, "responseDateTimeRenderOption": { - "description": "Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is DateTimeRenderOption.SERIAL_NUMBER.", + "description": "Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.", "enum": [ "SERIAL_NUMBER", "FORMATTED_STRING" ], "enumDescriptions": [ - "Instructs date, time, datetime, and duration fields to be output as doubles in \"serial number\" format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it's 2 days after December 30st 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.", - "Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which is dependent on the spreadsheet locale)." + "Instructs date, time, datetime, and duration fields to be output as doubles in \"serial number\" format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it's 2 days after December 30th 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.", + "Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which depends on the spreadsheet locale)." ], "type": "string" }, "responseValueRenderOption": { - "description": "Determines how values in the response should be rendered. The default render option is ValueRenderOption.FORMATTED_VALUE.", + "description": "Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE.", "enum": [ "FORMATTED_VALUE", "UNFORMATTED_VALUE", @@ -1942,19 +1942,19 @@ "type": "boolean" }, "responseDateTimeRenderOption": { - "description": "Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is DateTimeRenderOption.SERIAL_NUMBER.", + "description": "Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.", "enum": [ "SERIAL_NUMBER", "FORMATTED_STRING" ], "enumDescriptions": [ - "Instructs date, time, datetime, and duration fields to be output as doubles in \"serial number\" format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it's 2 days after December 30st 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.", - "Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which is dependent on the spreadsheet locale)." + "Instructs date, time, datetime, and duration fields to be output as doubles in \"serial number\" format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it's 2 days after December 30th 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.", + "Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which depends on the spreadsheet locale)." ], "type": "string" }, "responseValueRenderOption": { - "description": "Determines how values in the response should be rendered. The default render option is ValueRenderOption.FORMATTED_VALUE.", + "description": "Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE.", "enum": [ "FORMATTED_VALUE", "UNFORMATTED_VALUE", @@ -2276,7 +2276,7 @@ }, "bubbleTextStyle": { "$ref": "TextFormat", - "description": "The format of the text inside the bubbles. Strikethrough and underline are not supported." + "description": "The format of the text inside the bubbles. Strikethrough, underline, and link are not supported." }, "domain": { "$ref": "ChartData", @@ -2388,7 +2388,7 @@ "properties": { "dataSourceFormula": { "$ref": "DataSourceFormula", - "description": "Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g `=SUM(DataSheet!Column)`.", + "description": "Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g. `=SUM(DataSheet!Column)`.", "readOnly": true }, "dataSourceTable": { @@ -2412,7 +2412,7 @@ "type": "string" }, "hyperlink": { - "description": "A hyperlink this cell points to, if any. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue field.", + "description": "A hyperlink this cell points to, if any. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue field. A cell-level link can also be set from the userEnteredFormat.textFormat field. Alternatively, set a hyperlink in the textFormatRun.format.link field that spans the entire cell.", "type": "string" }, "note": { @@ -2511,7 +2511,7 @@ }, "textFormat": { "$ref": "TextFormat", - "description": "The format of the text in the cell (unless overridden by a format run)." + "description": "The format of the text in the cell (unless overridden by a format run). Setting a cell-level link here will clear the cell's existing links. Setting the link field in a TextFormatRun will take precedence over the cell-level link." }, "textRotation": { "$ref": "TextRotation", @@ -2544,7 +2544,7 @@ ], "enumDescriptions": [ "The default value, do not use.", - "Lines that are longer than the cell width will be written in the next cell over, so long as that cell is empty. If the next cell over is non-empty, this behaves the same as CLIP. The text will never wrap to the next line unless the user manually inserts a new line. Example: | First sentence. | | Manual newline that is very long. <- Text continues into next cell | Next newline. |", + "Lines that are longer than the cell width will be written in the next cell over, so long as that cell is empty. If the next cell over is non-empty, this behaves the same as `CLIP`. The text will never wrap to the next line unless the user manually inserts a new line. Example: | First sentence. | | Manual newline that is very long. <- Text continues into next cell | Next newline. |", "This wrap strategy represents the old Google Sheets wrap strategy where words that are longer than a line are clipped rather than broken. This strategy is not supported on all platforms and is being phased out. Example: | Cell has a | | loooooooooo| <- Word is clipped. | word. |", "Lines that are longer than the cell width will be clipped. The text will never wrap to the next line unless the user manually inserts a new line. Example: | First sentence. | | Manual newline t| <- Text is clipped | Next newline. |", "Words that are longer than a line are wrapped at the character level rather than clipped. Example: | Cell has a | | loooooooooo| <- Word is broken. | ong word. |" @@ -2835,7 +2835,7 @@ }, "subtitleTextFormat": { "$ref": "TextFormat", - "description": "The subtitle text format. Strikethrough and underline are not supported." + "description": "The subtitle text format. Strikethrough, underline, and link are not supported." }, "subtitleTextPosition": { "$ref": "TextPosition", @@ -2847,7 +2847,7 @@ }, "titleTextFormat": { "$ref": "TextFormat", - "description": "The title text format. Strikethrough and underline are not supported." + "description": "The title text format. Strikethrough, underline, and link are not supported." }, "titleTextPosition": { "$ref": "TextPosition", @@ -3053,7 +3053,7 @@ "Paste values, formulas, formats, and merges.", "Paste the values ONLY without formats, formulas, or merges.", "Paste the format and data validation only.", - "Like PASTE_NORMAL but without borders.", + "Like `PASTE_NORMAL` but without borders.", "Paste the formulas only.", "Paste the data validation only.", "Paste the conditional formatting rules only." @@ -3123,7 +3123,7 @@ "Paste values, formulas, formats, and merges.", "Paste the values ONLY without formats, formulas, or merges.", "Paste the format and data validation only.", - "Like PASTE_NORMAL but without borders.", + "Like `PASTE_NORMAL` but without borders.", "Paste the formulas only.", "Paste the data validation only.", "Paste the conditional formatting rules only." @@ -3305,7 +3305,7 @@ }, "textFormat": { "$ref": "TextFormat", - "description": "The text format used for the data label." + "description": "The text format used for the data label. The link field is not supported." }, "type": { "description": "The type of the data label.", @@ -3984,7 +3984,7 @@ "id": "DeleteSheetRequest", "properties": { "sheetId": { - "description": "The ID of the sheet to delete. If the sheet is of SheetType.DATA_SOURCE type, the associated DataSource is also deleted.", + "description": "The ID of the sheet to delete. If the sheet is of DATA_SOURCE type, the associated DataSource is also deleted.", "format": "int32", "type": "integer" } @@ -4425,7 +4425,7 @@ "type": "string" }, "numberValue": { - "description": "Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in \"serial number\" format.", + "description": "Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.", "format": "double", "type": "number" }, @@ -4937,8 +4937,8 @@ "The interpolation point uses the minimum value in the cells over the range of the conditional format.", "The interpolation point uses the maximum value in the cells over the range of the conditional format.", "The interpolation point uses exactly the value in InterpolationPoint.value.", - "The interpolation point is the given percentage over all the cells in the range of the conditional format. This is equivalent to NUMBER if the value was: `=(MAX(FLATTEN(range)) * (value / 100)) + (MIN(FLATTEN(range)) * (1 - (value / 100)))` (where errors in the range are ignored when flattening).", - "The interpolation point is the given percentile over all the cells in the range of the conditional format. This is equivalent to NUMBER if the value was: `=PERCENTILE(FLATTEN(range), value / 100)` (where errors in the range are ignored when flattening)." + "The interpolation point is the given percentage over all the cells in the range of the conditional format. This is equivalent to `NUMBER` if the value was: `=(MAX(FLATTEN(range)) * (value / 100)) + (MIN(FLATTEN(range)) * (1 - (value / 100)))` (where errors in the range are ignored when flattening).", + "The interpolation point is the given percentile over all the cells in the range of the conditional format. This is equivalent to `NUMBER` if the value was: `=PERCENTILE(FLATTEN(range), value / 100)` (where errors in the range are ignored when flattening)." ], "type": "string" }, @@ -4993,7 +4993,7 @@ }, "textFormat": { "$ref": "TextFormat", - "description": "Text formatting options for key value." + "description": "Text formatting options for key value. The link field is not supported." } }, "type": "object" @@ -5356,7 +5356,7 @@ "Paste values, formulas, formats, and merges.", "Paste the values ONLY without formats, formulas, or merges.", "Paste the format and data validation only.", - "Like PASTE_NORMAL but without borders.", + "Like `PASTE_NORMAL` but without borders.", "Paste the formulas only.", "Paste the data validation only.", "Paste the conditional formatting rules only." @@ -6617,7 +6617,7 @@ }, "textFormat": { "$ref": "TextFormat", - "description": "The text format of title in the slicer." + "description": "The text format of title in the slicer. The link field is not supported." }, "title": { "description": "The title of the slicer.", @@ -6871,7 +6871,7 @@ }, "link": { "$ref": "Link", - "description": "The link destination of the text, if any. Setting a link in a format run will clear an existing cell-level link. When a link is set, the text foreground color will be set to the default link color 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." + "description": "The link destination of the text, if any. Setting the link field in a TextFormatRun will clear the cell's existing links or a cell-level link set in the same request. When a link is set, the text foreground color will be set to the default link color 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." }, "strikethrough": { "description": "True if the text has a strikethrough.", @@ -7139,7 +7139,7 @@ }, "textFormat": { "$ref": "TextFormat", - "description": "The text format for all labels on the chart." + "description": "The text format for all labels on the chart. The link field is not supported." } }, "type": "object" diff --git a/etc/api/slides/v1/slides-api.json b/etc/api/slides/v1/slides-api.json index 8d67d5489d..1c39c2e4e3 100644 --- a/etc/api/slides/v1/slides-api.json +++ b/etc/api/slides/v1/slides-api.json @@ -12,16 +12,16 @@ "description": "See and download all your Google Drive files" }, "https://www.googleapis.com/auth/presentations": { - "description": "View and manage your Google Slides presentations" + "description": "See, edit, create, and delete all your Google Slides presentations" }, "https://www.googleapis.com/auth/presentations.readonly": { - "description": "View your Google Slides presentations" + "description": "See all your Google Slides presentations" }, "https://www.googleapis.com/auth/spreadsheets": { - "description": "See, edit, create, and delete your spreadsheets in Google Drive" + "description": "See, edit, create, and delete all your Google Sheets spreadsheets" }, "https://www.googleapis.com/auth/spreadsheets.readonly": { - "description": "View your Google Spreadsheets" + "description": "See all your Google Sheets spreadsheets" } } } @@ -313,7 +313,7 @@ } } }, - "revision": "20210322", + "revision": "20220301", "rootUrl": "https://slides.googleapis.com/", "schemas": { "AffineTransform": { @@ -1019,7 +1019,7 @@ "type": "string" }, "spreadsheetId": { - "description": "The ID of the Google Sheets spreadsheet that contains the chart.", + "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" } }, @@ -1119,7 +1119,7 @@ "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.", + "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": { @@ -1191,7 +1191,7 @@ "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 shapes are also deleted.", + "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" } }, @@ -1339,7 +1339,7 @@ "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 placeholder shapes cannot be grouped.", + "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" }, @@ -1375,6 +1375,10 @@ "$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" @@ -2823,6 +2827,10 @@ "$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." @@ -3030,7 +3038,7 @@ "properties": { "placeholder": { "$ref": "Placeholder", - "description": "Placeholders are shapes that are 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." + "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", @@ -3461,6 +3469,10 @@ "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" @@ -4259,6 +4271,26 @@ }, "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", diff --git a/etc/api/smartdevicemanagement/v1/smartdevicemanagement-api.json b/etc/api/smartdevicemanagement/v1/smartdevicemanagement-api.json index f4f4c30c71..52deb33fe9 100644 --- a/etc/api/smartdevicemanagement/v1/smartdevicemanagement-api.json +++ b/etc/api/smartdevicemanagement/v1/smartdevicemanagement-api.json @@ -4,6 +4,9 @@ "scopes": { "https://www.googleapis.com/auth/sdm.service": { "description": "See and/or control the devices that you selected" + }, + "https://www.googleapis.com/auth/sdm.thermostat.service": { + "description": "See and control the Nest thermostats that you select" } } } @@ -134,7 +137,8 @@ "$ref": "GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandResponse" }, "scopes": [ - "https://www.googleapis.com/auth/sdm.service" + "https://www.googleapis.com/auth/sdm.service", + "https://www.googleapis.com/auth/sdm.thermostat.service" ] }, "get": { @@ -159,7 +163,8 @@ "$ref": "GoogleHomeEnterpriseSdmV1Device" }, "scopes": [ - "https://www.googleapis.com/auth/sdm.service" + "https://www.googleapis.com/auth/sdm.service", + "https://www.googleapis.com/auth/sdm.thermostat.service" ] }, "list": { @@ -200,7 +205,8 @@ "$ref": "GoogleHomeEnterpriseSdmV1ListDevicesResponse" }, "scopes": [ - "https://www.googleapis.com/auth/sdm.service" + "https://www.googleapis.com/auth/sdm.service", + "https://www.googleapis.com/auth/sdm.thermostat.service" ] } } @@ -229,7 +235,8 @@ "$ref": "GoogleHomeEnterpriseSdmV1Structure" }, "scopes": [ - "https://www.googleapis.com/auth/sdm.service" + "https://www.googleapis.com/auth/sdm.service", + "https://www.googleapis.com/auth/sdm.thermostat.service" ] }, "list": { @@ -270,7 +277,8 @@ "$ref": "GoogleHomeEnterpriseSdmV1ListStructuresResponse" }, "scopes": [ - "https://www.googleapis.com/auth/sdm.service" + "https://www.googleapis.com/auth/sdm.service", + "https://www.googleapis.com/auth/sdm.thermostat.service" ] } }, @@ -299,7 +307,8 @@ "$ref": "GoogleHomeEnterpriseSdmV1Room" }, "scopes": [ - "https://www.googleapis.com/auth/sdm.service" + "https://www.googleapis.com/auth/sdm.service", + "https://www.googleapis.com/auth/sdm.thermostat.service" ] }, "list": { @@ -335,7 +344,8 @@ "$ref": "GoogleHomeEnterpriseSdmV1ListRoomsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/sdm.service" + "https://www.googleapis.com/auth/sdm.service", + "https://www.googleapis.com/auth/sdm.thermostat.service" ] } } @@ -345,7 +355,7 @@ } } }, - "revision": "20210319", + "revision": "20220302", "rootUrl": "https://smartdevicemanagement.googleapis.com/", "schemas": { "GoogleHomeEnterpriseSdmV1Device": { diff --git a/etc/api/sourcerepo/v1/sourcerepo-api.json b/etc/api/sourcerepo/v1/sourcerepo-api.json index a2f69e5919..1fe1e5f9b1 100644 --- a/etc/api/sourcerepo/v1/sourcerepo-api.json +++ b/etc/api/sourcerepo/v1/sourcerepo-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." }, "https://www.googleapis.com/auth/source.full_control": { "description": "Manage your source code repositories" @@ -266,7 +266,7 @@ ], "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).", + "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" @@ -450,7 +450,7 @@ } } }, - "revision": "20210125", + "revision": "20220217", "rootUrl": "https://sourcerepo.googleapis.com/", "schemas": { "AuditConfig": { @@ -502,22 +502,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -625,7 +625,7 @@ "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/).", + "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": { @@ -636,7 +636,7 @@ "type": "array" }, "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.", + "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" }, diff --git a/etc/api/spanner/v1/spanner-api.json b/etc/api/spanner/v1/spanner-api.json index 0fd3d8900a..2a3f775db0 100644 --- a/etc/api/spanner/v1/spanner-api.json +++ b/etc/api/spanner/v1/spanner-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." }, "https://www.googleapis.com/auth/spanner.admin": { "description": "Administer your Spanner databases" @@ -347,7 +347,7 @@ ] }, "patch": { - "description": "Updates an instance, and begins allocating or releasing resources as requested. The returned long-running operation can be used to track the progress of updating the instance. If the named instance does not exist, returns `NOT_FOUND`. Immediately upon completion of this request: * For resource types for which a decrease in the instance's allocation has been requested, billing is based on the newly-requested level. Until completion of the returned operation: * Cancelling the operation sets its metadata's cancel_time, and begins restoring resources to their pre-request values. The operation is guaranteed to succeed at undoing all resource changes, after which point it terminates with a `CANCELLED` status. * All other attempts to modify the instance are rejected. * Reading the instance via the API continues to give the pre-request resource levels. Upon completion of the returned operation: * Billing begins for all successfully-allocated resources (some types may have lower than the requested levels). * All newly-reserved resources are available for serving the instance's tables. * The instance's new resource levels are readable via the API. The returned long-running operation will have a name of the format `/operations/` and can be used to track the instance modification. The metadata field type is UpdateInstanceMetadata. The response field type is Instance, if successful. Authorization requires `spanner.instances.update` permission on resource name.", + "description": "Updates an instance, and begins allocating or releasing resources as requested. The returned long-running operation can be used to track the progress of updating the instance. If the named instance does not exist, returns `NOT_FOUND`. Immediately upon completion of this request: * For resource types for which a decrease in the instance's allocation has been requested, billing is based on the newly-requested level. Until completion of the returned operation: * Cancelling the operation sets its metadata's cancel_time, and begins restoring resources to their pre-request values. The operation is guaranteed to succeed at undoing all resource changes, after which point it terminates with a `CANCELLED` status. * All other attempts to modify the instance are rejected. * Reading the instance via the API continues to give the pre-request resource levels. Upon completion of the returned operation: * Billing begins for all successfully-allocated resources (some types may have lower than the requested levels). * All newly-reserved resources are available for serving the instance's tables. * The instance's new resource levels are readable via the API. The returned long-running operation will have a name of the format `/operations/` and can be used to track the instance modification. The metadata field type is UpdateInstanceMetadata. The response field type is Instance, if successful. Authorization requires `spanner.instances.update` permission on the resource name.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}", "httpMethod": "PATCH", "id": "spanner.projects.instances.patch", @@ -447,7 +447,7 @@ ], "parameters": { "filter": { - "description": "An expression that filters the list of returned backup operations. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`. Colon `:` is the contains operator. Filter rules are not case sensitive. The following fields in the operation are eligible for filtering: * `name` - The name of the long-running operation * `done` - False if the operation is in progress, else true. * `metadata.@type` - the type of metadata. For example, the type string for CreateBackupMetadata is `type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata`. * `metadata.` - any field in metadata.value. * `error` - Error associated with the long-running operation. * `response.@type` - the type of response. * `response.` - any field in response.value. You can combine multiple expressions by enclosing each expression in parentheses. By default, expressions are combined with AND logic, but you can specify AND, OR, and NOT logic explicitly. Here are a few examples: * `done:true` - The operation is complete. * `metadata.database:prod` - The database the backup was taken from has a name containing the string \"prod\". * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \\ `(metadata.name:howl) AND` \\ `(metadata.progress.start_time < \\\"2018-03-28T14:50:00Z\\\") AND` \\ `(error:*)` - Returns operations where: * The operation's metadata type is CreateBackupMetadata. * The backup name contains the string \"howl\". * The operation started before 2018-03-28T14:50:00Z. * The operation resulted in an error.", + "description": "An expression that filters the list of returned backup operations. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`. Colon `:` is the contains operator. Filter rules are not case sensitive. The following fields in the operation are eligible for filtering: * `name` - The name of the long-running operation * `done` - False if the operation is in progress, else true. * `metadata.@type` - the type of metadata. For example, the type string for CreateBackupMetadata is `type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata`. * `metadata.` - any field in metadata.value. `metadata.@type` must be specified first if filtering on metadata fields. * `error` - Error associated with the long-running operation. * `response.@type` - the type of response. * `response.` - any field in response.value. You can combine multiple expressions by enclosing each expression in parentheses. By default, expressions are combined with AND logic, but you can specify AND, OR, and NOT logic explicitly. Here are a few examples: * `done:true` - The operation is complete. * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \\ `metadata.database:prod` - Returns operations where: * The operation's metadata type is CreateBackupMetadata. * The database the backup was taken from has a name containing the string \"prod\". * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \\ `(metadata.name:howl) AND` \\ `(metadata.progress.start_time < \\\"2018-03-28T14:50:00Z\\\") AND` \\ `(error:*)` - Returns operations where: * The operation's metadata type is CreateBackupMetadata. * The backup name contains the string \"howl\". * The operation started before 2018-03-28T14:50:00Z. * The operation resulted in an error.", "location": "query", "type": "string" }, @@ -895,7 +895,7 @@ ], "parameters": { "filter": { - "description": "An expression that filters the list of returned operations. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`. Colon `:` is the contains operator. Filter rules are not case sensitive. The following fields in the Operation are eligible for filtering: * `name` - The name of the long-running operation * `done` - False if the operation is in progress, else true. * `metadata.@type` - the type of metadata. For example, the type string for RestoreDatabaseMetadata is `type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata`. * `metadata.` - any field in metadata.value. * `error` - Error associated with the long-running operation. * `response.@type` - the type of response. * `response.` - any field in response.value. You can combine multiple expressions by enclosing each expression in parentheses. By default, expressions are combined with AND logic. However, you can specify AND, OR, and NOT logic explicitly. Here are a few examples: * `done:true` - The operation is complete. * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \\ `(metadata.source_type:BACKUP) AND` \\ `(metadata.backup_info.backup:backup_howl) AND` \\ `(metadata.name:restored_howl) AND` \\ `(metadata.progress.start_time < \\\"2018-03-28T14:50:00Z\\\") AND` \\ `(error:*)` - Return operations where: * The operation's metadata type is RestoreDatabaseMetadata. * The database is restored from a backup. * The backup name contains \"backup_howl\". * The restored database's name contains \"restored_howl\". * The operation started before 2018-03-28T14:50:00Z. * The operation resulted in an error.", + "description": "An expression that filters the list of returned operations. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`. Colon `:` is the contains operator. Filter rules are not case sensitive. The following fields in the Operation are eligible for filtering: * `name` - The name of the long-running operation * `done` - False if the operation is in progress, else true. * `metadata.@type` - the type of metadata. For example, the type string for RestoreDatabaseMetadata is `type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata`. * `metadata.` - any field in metadata.value. `metadata.@type` must be specified first, if filtering on metadata fields. * `error` - Error associated with the long-running operation. * `response.@type` - the type of response. * `response.` - any field in response.value. You can combine multiple expressions by enclosing each expression in parentheses. By default, expressions are combined with AND logic. However, you can specify AND, OR, and NOT logic explicitly. Here are a few examples: * `done:true` - The operation is complete. * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \\ `(metadata.source_type:BACKUP) AND` \\ `(metadata.backup_info.backup:backup_howl) AND` \\ `(metadata.name:restored_howl) AND` \\ `(metadata.progress.start_time < \\\"2018-03-28T14:50:00Z\\\") AND` \\ `(error:*)` - Return operations where: * The operation's metadata type is RestoreDatabaseMetadata. * The database is restored from a backup. * The backup name contains \"backup_howl\". * The restored database's name contains \"restored_howl\". * The operation started before 2018-03-28T14:50:00Z. * The operation resulted in an error.", "location": "query", "type": "string" }, @@ -961,7 +961,7 @@ ] }, "dropDatabase": { - "description": "Drops (aka deletes) a Cloud Spanner database. Completed backups for the database will be retained according to their `expire_time`.", + "description": "Drops (aka deletes) a Cloud Spanner database. Completed backups for the database will be retained according to their `expire_time`. Note: Cloud Spanner might continue to accept requests for a few seconds after the database has been deleted.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}", "httpMethod": "DELETE", "id": "spanner.projects.instances.databases.dropDatabase", @@ -1067,6 +1067,59 @@ "https://www.googleapis.com/auth/spanner.admin" ] }, + "getScans": { + "description": "Request a specific scan with Database-specific data for Cloud Key Visualizer.", + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/scans", + "httpMethod": "GET", + "id": "spanner.projects.instances.databases.getScans", + "parameterOrder": [ + "name" + ], + "parameters": { + "endTime": { + "description": "The upper bound for the time range to retrieve Scan data for.", + "format": "google-datetime", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The unique name of the scan containing the requested information, specific to the Database service implementing this interface.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$", + "required": true, + "type": "string" + }, + "startTime": { + "description": "These fields restrict the Database-specific information returned in the `Scan.data` field. If a `View` is provided that does not include the `Scan.data` field, these are ignored. This range of time must be entirely contained within the defined time range of the targeted scan. The lower bound for the time range to retrieve Scan data for.", + "format": "google-datetime", + "location": "query", + "type": "string" + }, + "view": { + "description": "Specifies which parts of the Scan should be returned in the response. Note, if left unspecified, the FULL view is assumed.", + "enum": [ + "VIEW_UNSPECIFIED", + "SUMMARY", + "FULL" + ], + "enumDescriptions": [ + "Not specified, equivalent to SUMMARY.", + "Server responses only include `name`, `details`, `start_time` and `end_time`. The default value. Note, the ListScans method may only use this view type, others view types are not supported.", + "Full representation of the scan is returned in the server response, including `data`." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/scans", + "response": { + "$ref": "Scan" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.data" + ] + }, "list": { "description": "Lists Cloud Spanner databases.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases", @@ -1921,9 +1974,70 @@ } } } + }, + "scans": { + "methods": { + "list": { + "description": "Return available scans given a Database-specific resource name.", + "flatPath": "v1/scans", + "httpMethod": "GET", + "id": "spanner.scans.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "A filter expression to restrict the results based on information present in the available Scan collection. The filter applies to all fields within the Scan message except for `data`.", + "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 unique name of the parent resource, specific to the Database service implementing this interface.", + "location": "path", + "pattern": "^scans$", + "required": true, + "type": "string" + }, + "view": { + "description": "Specifies which parts of the Scan should be returned in the response. Note, only the SUMMARY view (the default) is currently supported for ListScans.", + "enum": [ + "VIEW_UNSPECIFIED", + "SUMMARY", + "FULL" + ], + "enumDescriptions": [ + "Not specified, equivalent to SUMMARY.", + "Server responses only include `name`, `details`, `start_time` and `end_time`. The default value. Note, the ListScans method may only use this view type, others view types are not supported.", + "Full representation of the scan is returned in the server response, including `data`." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}", + "response": { + "$ref": "ListScansResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.data" + ] + } + } } }, - "revision": "20210318", + "revision": "20220212", "rootUrl": "https://spanner.googleapis.com/", "schemas": { "Backup": { @@ -1940,6 +2054,21 @@ "description": "Required for the CreateBackup operation. Name of the database from which this backup was created. This needs to be in the same instance as the backup. Values are of the form `projects//instances//databases/`.", "type": "string" }, + "databaseDialect": { + "description": "Output only. The database dialect information for the backup.", + "enum": [ + "DATABASE_DIALECT_UNSPECIFIED", + "GOOGLE_STANDARD_SQL", + "POSTGRESQL" + ], + "enumDescriptions": [ + "Default value. This value will create a database with the GOOGLE_STANDARD_SQL dialect.", + "Google standard SQL.", + "PostgreSQL supported SQL." + ], + "readOnly": true, + "type": "string" + }, "encryptionInfo": { "$ref": "EncryptionInfo", "description": "Output only. The encryption information for the backup.", @@ -2062,22 +2191,22 @@ "type": "object" }, "Binding": { - "description": "Associates `members` with a `role`.", + "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 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)." + "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 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`. ", + "description": "Specifies the principals 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`.", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, @@ -2155,13 +2284,51 @@ "id": "CommitStats", "properties": { "mutationCount": { - "description": "The total number of mutations for the transaction. Knowing the `mutation_count` value can help you maximize the number of mutations in a transaction and minimize the number of API round trips. You can also monitor this value to prevent transactions from exceeding the system [limit](http://cloud.google.com/spanner/quotas#limits_for_creating_reading_updating_and_deleting_data). If the number of mutations exceeds the limit, the server returns [INVALID_ARGUMENT](http://cloud.google.com/spanner/docs/reference/rest/v1/Code#ENUM_VALUES.INVALID_ARGUMENT).", + "description": "The total number of mutations for the transaction. Knowing the `mutation_count` value can help you maximize the number of mutations in a transaction and minimize the number of API round trips. You can also monitor this value to prevent transactions from exceeding the system [limit](https://cloud.google.com/spanner/quotas#limits_for_creating_reading_updating_and_deleting_data). If the number of mutations exceeds the limit, the server returns [INVALID_ARGUMENT](https://cloud.google.com/spanner/docs/reference/rest/v1/Code#ENUM_VALUES.INVALID_ARGUMENT).", "format": "int64", "type": "string" } }, "type": "object" }, + "ContextValue": { + "description": "A message representing context for a KeyRangeInfo, including a label, value, unit, and severity.", + "id": "ContextValue", + "properties": { + "label": { + "$ref": "LocalizedString", + "description": "The label for the context value. e.g. \"latency\"." + }, + "severity": { + "description": "The severity of this context.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "INFO", + "WARNING", + "ERROR", + "FATAL" + ], + "enumDescriptions": [ + "Required default value.", + "Lowest severity level \"Info\".", + "Middle severity level \"Warning\".", + "Severity level signaling an error \"Error\"", + "Severity level signaling a non recoverable error \"Fatal\"" + ], + "type": "string" + }, + "unit": { + "description": "The unit of the context value.", + "type": "string" + }, + "value": { + "description": "The value for the context.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, "CreateBackupMetadata": { "description": "Metadata type for the operation returned by CreateBackup.", "id": "CreateBackupMetadata", @@ -2205,6 +2372,20 @@ "description": "Required. A `CREATE DATABASE` statement, which specifies the ID of the new database. The database ID must conform to the regular expression `a-z*[a-z0-9]` and be between 2 and 30 characters in length. If the database ID is a reserved word or if it contains a hyphen, the database ID must be enclosed in backticks (`` ` ``).", "type": "string" }, + "databaseDialect": { + "description": "Optional. The dialect of the Cloud Spanner Database.", + "enum": [ + "DATABASE_DIALECT_UNSPECIFIED", + "GOOGLE_STANDARD_SQL", + "POSTGRESQL" + ], + "enumDescriptions": [ + "Default value. This value will create a database with the GOOGLE_STANDARD_SQL dialect.", + "Google standard SQL.", + "PostgreSQL supported SQL." + ], + "type": "string" + }, "encryptionConfig": { "$ref": "EncryptionConfig", "description": "Optional. The encryption configuration for the database. If this field is not specified, Cloud Spanner will encrypt/decrypt all data at rest using Google default encryption." @@ -2281,6 +2462,26 @@ "readOnly": true, "type": "string" }, + "databaseDialect": { + "description": "Output only. The dialect of the Cloud Spanner Database.", + "enum": [ + "DATABASE_DIALECT_UNSPECIFIED", + "GOOGLE_STANDARD_SQL", + "POSTGRESQL" + ], + "enumDescriptions": [ + "Default value. This value will create a database with the GOOGLE_STANDARD_SQL dialect.", + "Google standard SQL.", + "PostgreSQL supported SQL." + ], + "readOnly": true, + "type": "string" + }, + "defaultLeader": { + "description": "Output only. The read-write region which contains the database's leader replicas. This is the same as the value of default_leader database option set using DatabaseAdmin.CreateDatabase or DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.", + "readOnly": true, + "type": "string" + }, "earliestVersionTime": { "description": "Output only. Earliest timestamp at which older versions of the data can be read. This value is continuously updated by Cloud Spanner and becomes stale the moment it is queried. If you are using this value to recover data, make sure to account for the time from the moment when the value is queried to the moment when you initiate the recovery.", "format": "google-datetime", @@ -2349,6 +2550,62 @@ }, "type": "object" }, + "DerivedMetric": { + "description": "A message representing a derived metric.", + "id": "DerivedMetric", + "properties": { + "denominator": { + "$ref": "LocalizedString", + "description": "The name of the denominator metric. e.g. \"rows\"." + }, + "numerator": { + "$ref": "LocalizedString", + "description": "The name of the numerator metric. e.g. \"latency\"." + } + }, + "type": "object" + }, + "DiagnosticMessage": { + "description": "A message representing the key visualizer diagnostic messages.", + "id": "DiagnosticMessage", + "properties": { + "info": { + "$ref": "LocalizedString", + "description": "Information about this diagnostic information." + }, + "metric": { + "$ref": "LocalizedString", + "description": "The metric." + }, + "metricSpecific": { + "description": "Whether this message is specific only for the current metric. By default Diagnostics are shown for all metrics, regardless which metric is the currently selected metric in the UI. However occasionally a metric will generate so many messages that the resulting visual clutter becomes overwhelming. In this case setting this to true, will show the diagnostic messages for that metric only if it is the currently selected metric.", + "type": "boolean" + }, + "severity": { + "description": "The severity of the diagnostic message.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "INFO", + "WARNING", + "ERROR", + "FATAL" + ], + "enumDescriptions": [ + "Required default value.", + "Lowest severity level \"Info\".", + "Middle severity level \"Warning\".", + "Severity level signaling an error \"Error\"", + "Severity level signaling a non recoverable error \"Fatal\"" + ], + "type": "string" + }, + "shortMessage": { + "$ref": "LocalizedString", + "description": "The short message." + } + }, + "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", @@ -2578,13 +2835,42 @@ "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).", + "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" }, + "IndexedHotKey": { + "description": "A message representing a (sparse) collection of hot keys for specific key buckets.", + "id": "IndexedHotKey", + "properties": { + "sparseHotKeys": { + "additionalProperties": { + "format": "int32", + "type": "integer" + }, + "description": "A (sparse) mapping from key bucket index to the index of the specific hot row key for that key bucket. The index of the hot row key can be translated to the actual row key via the ScanData.VisualizationData.indexed_keys repeated field.", + "type": "object" + } + }, + "type": "object" + }, + "IndexedKeyRangeInfos": { + "description": "A message representing a (sparse) collection of KeyRangeInfos for specific key buckets.", + "id": "IndexedKeyRangeInfos", + "properties": { + "keyRangeInfos": { + "additionalProperties": { + "$ref": "KeyRangeInfos" + }, + "description": "A (sparse) mapping from key bucket index to the KeyRangeInfos for that key bucket.", + "type": "object" + } + }, + "type": "object" + }, "Instance": { "description": "An isolated set of Cloud Spanner resources on which databases can be hosted.", "id": "Instance", @@ -2608,7 +2894,7 @@ "additionalProperties": { "type": "string" }, - "description": "Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. And so you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + \"_\" + value would prove problematic if we were to allow \"_\" in a future release.", + "description": "Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `a-z{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `[a-z0-9_-]{0,63}`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. And so you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + \"_\" + value would prove problematic if we were to allow \"_\" in a future release.", "type": "object" }, "name": { @@ -2616,7 +2902,12 @@ "type": "string" }, "nodeCount": { - "description": "The number of nodes allocated to this instance. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/instances#node_count) for more information about nodes.", + "description": "The number of nodes allocated to this instance. At most one of either node_count or processing_units should be present in the message. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/compute-capacity) for more information about nodes and processing units.", + "format": "int32", + "type": "integer" + }, + "processingUnits": { + "description": "The number of processing units allocated to this instance. At most one of processing_units or node_count should be present in the message. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/compute-capacity) for more information about nodes and processing units.", "format": "int32", "type": "integer" }, @@ -2646,8 +2937,15 @@ "description": "The name of this instance configuration as it appears in UIs.", "type": "string" }, + "leaderOptions": { + "description": "Allowed values of the \"default_leader\" schema option for databases in instances that use this instance configuration.", + "items": { + "type": "string" + }, + "type": "array" + }, "name": { - "description": "A unique identifier for the instance configuration. Values are of the form `projects//instanceConfigs/a-z*`", + "description": "A unique identifier for the instance configuration. Values are of the form `projects//instanceConfigs/a-z*`.", "type": "string" }, "replicas": { @@ -2695,6 +2993,76 @@ }, "type": "object" }, + "KeyRangeInfo": { + "description": "A message representing information for a key range (possibly one key).", + "id": "KeyRangeInfo", + "properties": { + "contextValues": { + "description": "The list of context values for this key range.", + "items": { + "$ref": "ContextValue" + }, + "type": "array" + }, + "endKeyIndex": { + "description": "The index of the end key in indexed_keys.", + "format": "int32", + "type": "integer" + }, + "info": { + "$ref": "LocalizedString", + "description": "Information about this key range, for all metrics." + }, + "keysCount": { + "description": "The number of keys this range covers.", + "format": "int64", + "type": "string" + }, + "metric": { + "$ref": "LocalizedString", + "description": "The name of the metric. e.g. \"latency\"." + }, + "startKeyIndex": { + "description": "The index of the start key in indexed_keys.", + "format": "int32", + "type": "integer" + }, + "timeOffset": { + "description": "The time offset. This is the time since the start of the time interval.", + "format": "google-duration", + "type": "string" + }, + "unit": { + "$ref": "LocalizedString", + "description": "The unit of the metric. This is an unstructured field and will be mapped as is to the user." + }, + "value": { + "description": "The value of the metric.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "KeyRangeInfos": { + "description": "A message representing a list of specific information for multiple key ranges.", + "id": "KeyRangeInfos", + "properties": { + "infos": { + "description": "The list individual KeyRangeInfos.", + "items": { + "$ref": "KeyRangeInfo" + }, + "type": "array" + }, + "totalSize": { + "description": "The total size of the list of all KeyRangeInfos. This may be larger than the number of repeated messages above. If that is the case, this number may be used to determine how many are not being shown.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "KeySet": { "description": "`KeySet` defines a collection of Cloud Spanner keys and/or key ranges. All the keys are expected to be in the same table or index. The keys need not be sorted in any particular way. If the same key is specified multiple times in the set (for example if two ranges, two keys, or a key and a range overlap), Cloud Spanner behaves as if the key were only specified once.", "id": "KeySet", @@ -2732,7 +3100,7 @@ "type": "string" }, "operations": { - "description": "The list of matching backup long-running operations. Each operation's name will be prefixed by the backup's name and the operation's metadata will be of type CreateBackupMetadata. Operations returned include those that are pending or have completed/failed/canceled within the last 7 days. Operations returned are ordered by `operation.metadata.value.progress.start_time` in descending order starting from the most recently started operation.", + "description": "The list of matching backup long-running operations. Each operation's name will be prefixed by the backup's name. The operation's metadata field type `metadata.type_url` describes the type of the metadata. Operations returned include those that are pending or have completed/failed/canceled within the last 7 days. Operations returned are ordered by `operation.metadata.value.progress.start_time` in descending order starting from the most recently started operation.", "items": { "$ref": "Operation" }, @@ -2856,6 +3224,24 @@ }, "type": "object" }, + "ListScansResponse": { + "description": "Response method from the ListScans method.", + "id": "ListScansResponse", + "properties": { + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + }, + "scans": { + "description": "Available scans based on the list query parameters.", + "items": { + "$ref": "Scan" + }, + "type": "array" + } + }, + "type": "object" + }, "ListSessionsResponse": { "description": "The response for ListSessions.", "id": "ListSessionsResponse", @@ -2874,6 +3260,129 @@ }, "type": "object" }, + "LocalizedString": { + "description": "A message representing a user-facing string whose value may need to be translated before being displayed.", + "id": "LocalizedString", + "properties": { + "args": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of arguments used when creating the localized message. Keys represent parameter names which may be used by the localized version when substituting dynamic values.", + "type": "object" + }, + "message": { + "description": "The canonical English version of this message. If no token is provided or the front-end has no message associated with the token, this text will be displayed as-is.", + "type": "string" + }, + "token": { + "description": "The token identifying the message, e.g. 'METRIC_READ_CPU'. This should be unique within the service.", + "type": "string" + } + }, + "type": "object" + }, + "Metric": { + "description": "A message representing the actual monitoring data, values for each key bucket over time, of a metric.", + "id": "Metric", + "properties": { + "aggregation": { + "description": "The aggregation function used to aggregate each key bucket", + "enum": [ + "AGGREGATION_UNSPECIFIED", + "MAX", + "SUM" + ], + "enumDescriptions": [ + "Required default value.", + "Use the maximum of all values.", + "Use the sum of all values." + ], + "type": "string" + }, + "category": { + "$ref": "LocalizedString", + "description": "The category of the metric, e.g. \"Activity\", \"Alerts\", \"Reads\", etc." + }, + "derived": { + "$ref": "DerivedMetric", + "description": "The references to numerator and denominator metrics for a derived metric." + }, + "displayLabel": { + "$ref": "LocalizedString", + "description": "The displayed label of the metric." + }, + "hasNonzeroData": { + "description": "Whether the metric has any non-zero data.", + "type": "boolean" + }, + "hotValue": { + "description": "The value that is considered hot for the metric. On a per metric basis hotness signals high utilization and something that might potentially be a cause for concern by the end user. hot_value is used to calibrate and scale visual color scales.", + "format": "float", + "type": "number" + }, + "indexedHotKeys": { + "additionalProperties": { + "$ref": "IndexedHotKey" + }, + "description": "The (sparse) mapping from time index to an IndexedHotKey message, representing those time intervals for which there are hot keys.", + "type": "object" + }, + "indexedKeyRangeInfos": { + "additionalProperties": { + "$ref": "IndexedKeyRangeInfos" + }, + "description": "The (sparse) mapping from time interval index to an IndexedKeyRangeInfos message, representing those time intervals for which there are informational messages concerning key ranges.", + "type": "object" + }, + "info": { + "$ref": "LocalizedString", + "description": "Information about the metric." + }, + "matrix": { + "$ref": "MetricMatrix", + "description": "The data for the metric as a matrix." + }, + "unit": { + "$ref": "LocalizedString", + "description": "The unit of the metric." + }, + "visible": { + "description": "Whether the metric is visible to the end user.", + "type": "boolean" + } + }, + "type": "object" + }, + "MetricMatrix": { + "description": "A message representing a matrix of floats.", + "id": "MetricMatrix", + "properties": { + "rows": { + "description": "The rows of the matrix.", + "items": { + "$ref": "MetricMatrixRow" + }, + "type": "array" + } + }, + "type": "object" + }, + "MetricMatrixRow": { + "description": "A message representing a row of a matrix of floats.", + "id": "MetricMatrixRow", + "properties": { + "cols": { + "description": "The columns of the row.", + "items": { + "format": "float", + "type": "number" + }, + "type": "array" + } + }, + "type": "object" + }, "Mutation": { "description": "A modification to one or more Cloud Spanner rows. Mutations can be applied to a Cloud Spanner database by sending them in a Commit call.", "id": "Mutation", @@ -3183,11 +3692,11 @@ "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/).", + "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` 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.", + "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" }, @@ -3206,6 +3715,36 @@ }, "type": "object" }, + "PrefixNode": { + "description": "A message representing a key prefix node in the key prefix hierarchy. for eg. Bigtable keyspaces are lexicographically ordered mappings of keys to values. Keys often have a shared prefix structure where users use the keys to organize data. Eg ///employee In this case Keysight will possibly use one node for a company and reuse it for all employees that fall under the company. Doing so improves legibility in the UI.", + "id": "PrefixNode", + "properties": { + "dataSourceNode": { + "description": "Whether this corresponds to a data_source name.", + "type": "boolean" + }, + "depth": { + "description": "The depth in the prefix hierarchy.", + "format": "int32", + "type": "integer" + }, + "endIndex": { + "description": "The index of the end key bucket of the range that this node spans.", + "format": "int32", + "type": "integer" + }, + "startIndex": { + "description": "The index of the start key bucket of the range that this node spans.", + "format": "int32", + "type": "integer" + }, + "word": { + "description": "The string represented by the prefix node.", + "type": "string" + } + }, + "type": "object" + }, "QueryOptions": { "description": "Query optimizer configuration.", "id": "QueryOptions", @@ -3374,6 +3913,14 @@ "This specifies that the request is high priority." ], "type": "string" + }, + "requestTag": { + "description": "A per-request tag which can be applied to queries or reads, used for statistics collection. Both request_tag and transaction_tag can be specified for a read or query that belongs to a transaction. This field is ignored for requests where it's not applicable (e.g. CommitRequest). Legal characters for `request_tag` values are all printable characters (ASCII 32 - 126) and the length of a request_tag is limited to 50 characters. Values that exceed this limit are truncated. Any leading underscore (_) characters will be removed from the string.", + "type": "string" + }, + "transactionTag": { + "description": "A tag used for statistics collection about this transaction. Both request_tag and transaction_tag can be specified for a read or query that belongs to a transaction. The value of transaction_tag should be the same for all requests belonging to the same transaction. If this request doesn't belong to any transaction, transaction_tag will be ignored. Legal characters for `transaction_tag` values are all printable characters (ASCII 32 - 126) and the length of a transaction_tag is limited to 50 characters. Values that exceed this limit are truncated. Any leading underscore (_) characters will be removed from the string.", + "type": "string" } }, "type": "object" @@ -3568,6 +4115,61 @@ }, "type": "object" }, + "Scan": { + "description": "Scan is a structure which describes Cloud Key Visualizer scan information.", + "id": "Scan", + "properties": { + "details": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Additional information provided by the implementer.", + "type": "object" + }, + "endTime": { + "description": "The upper bound for when the scan is defined.", + "format": "google-datetime", + "type": "string" + }, + "name": { + "description": "The unique name of the scan, specific to the Database service implementing this interface.", + "type": "string" + }, + "scanData": { + "$ref": "ScanData", + "description": "Output only. Cloud Key Visualizer scan data. Note, this field is not available to the ListScans method.", + "readOnly": true + }, + "startTime": { + "description": "A range of time (inclusive) for when the scan is defined. The lower bound for when the scan is defined.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "ScanData": { + "description": "ScanData contains Cloud Key Visualizer scan data used by the caller to construct a visualization.", + "id": "ScanData", + "properties": { + "data": { + "$ref": "VisualizationData", + "description": "Cloud Key Visualizer scan data. The range of time this information covers is captured via the above time range fields. Note, this field is not available to the ListScans method." + }, + "endTime": { + "description": "The upper bound for when the contained data is defined.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "A range of time (inclusive) for when the contained data is defined. The lower bound for when the contained data is defined.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "Session": { "description": "A session in the Cloud Spanner API.", "id": "Session", @@ -3742,7 +4344,7 @@ "type": "object" }, "TransactionOptions": { - "description": "# Transactions Each session can have at most one active transaction at a time (note that standalone reads and queries use a transaction internally and do count towards the one transaction limit). After the active transaction is completed, the session can immediately be re-used for the next transaction. It is not necessary to create a new session for each transaction. # Transaction Modes Cloud Spanner supports three transaction modes: 1. Locking read-write. This type of transaction is the only way to write data into Cloud Spanner. These transactions rely on pessimistic locking and, if necessary, two-phase commit. Locking read-write transactions may abort, requiring the application to retry. 2. Snapshot read-only. This transaction type provides guaranteed consistency across several reads, but does not allow writes. Snapshot read-only transactions can be configured to read at timestamps in the past. Snapshot read-only transactions do not need to be committed. 3. Partitioned DML. This type of transaction is used to execute a single Partitioned DML statement. Partitioned DML partitions the key space and runs the DML statement over each partition in parallel using separate, internal transactions that commit independently. Partitioned DML transactions do not need to be committed. For transactions that only read, snapshot read-only transactions provide simpler semantics and are almost always faster. In particular, read-only transactions do not take locks, so they do not conflict with read-write transactions. As a consequence of not taking locks, they also do not abort, so retry loops are not needed. Transactions may only read/write data in a single database. They may, however, read/write data in different tables within that database. ## Locking Read-Write Transactions Locking transactions may be used to atomically read-modify-write data anywhere in a database. This type of transaction is externally consistent. Clients should attempt to minimize the amount of time a transaction is active. Faster transactions commit with higher probability and cause less contention. Cloud Spanner attempts to keep read locks active as long as the transaction continues to do reads, and the transaction has not been terminated by Commit or Rollback. Long periods of inactivity at the client may cause Cloud Spanner to release a transaction's locks and abort it. Conceptually, a read-write transaction consists of zero or more reads or SQL statements followed by Commit. At any time before Commit, the client can send a Rollback request to abort the transaction. ## Semantics Cloud Spanner can commit the transaction if all read locks it acquired are still valid at commit time, and it is able to acquire write locks for all writes. Cloud Spanner can abort the transaction for any reason. If a commit attempt returns `ABORTED`, Cloud Spanner guarantees that the transaction has not modified any user data in Cloud Spanner. Unless the transaction commits, Cloud Spanner makes no guarantees about how long the transaction's locks were held for. It is an error to use Cloud Spanner locks for any sort of mutual exclusion other than between Cloud Spanner transactions themselves. ## Retrying Aborted Transactions When a transaction aborts, the application can choose to retry the whole transaction again. To maximize the chances of successfully committing the retry, the client should execute the retry in the same session as the original attempt. The original session's lock priority increases with each consecutive abort, meaning that each attempt has a slightly better chance of success than the previous. Under some circumstances (e.g., many transactions attempting to modify the same row(s)), a transaction can abort many times in a short period before successfully committing. Thus, it is not a good idea to cap the number of retries a transaction can attempt; instead, it is better to limit the total amount of wall time spent retrying. ## Idle Transactions A transaction is considered idle if it has no outstanding reads or SQL queries and has not started a read or SQL query within the last 10 seconds. Idle transactions can be aborted by Cloud Spanner so that they don't hold on to locks indefinitely. In that case, the commit will fail with error `ABORTED`. If this behavior is undesirable, periodically executing a simple SQL query in the transaction (e.g., `SELECT 1`) prevents the transaction from becoming idle. ## Snapshot Read-Only Transactions Snapshot read-only transactions provides a simpler method than locking read-write transactions for doing several consistent reads. However, this type of transaction does not support writes. Snapshot transactions do not take locks. Instead, they work by choosing a Cloud Spanner timestamp, then executing all reads at that timestamp. Since they do not acquire locks, they do not block concurrent read-write transactions. Unlike locking read-write transactions, snapshot read-only transactions never abort. They can fail if the chosen read timestamp is garbage collected; however, the default garbage collection policy is generous enough that most applications do not need to worry about this in practice. Snapshot read-only transactions do not need to call Commit or Rollback (and in fact are not permitted to do so). To execute a snapshot transaction, the client specifies a timestamp bound, which tells Cloud Spanner how to choose a read timestamp. The types of timestamp bound are: - Strong (the default). - Bounded staleness. - Exact staleness. If the Cloud Spanner database to be read is geographically distributed, stale read-only transactions can execute more quickly than strong or read-write transaction, because they are able to execute far from the leader replica. Each type of timestamp bound is discussed in detail below. ## Strong Strong reads are guaranteed to see the effects of all transactions that have committed before the start of the read. Furthermore, all rows yielded by a single read are consistent with each other -- if any part of the read observes a transaction, all parts of the read see the transaction. Strong reads are not repeatable: two consecutive strong read-only transactions might return inconsistent results if there are concurrent writes. If consistency across reads is required, the reads should be executed within a transaction or at an exact read timestamp. See TransactionOptions.ReadOnly.strong. ## Exact Staleness These timestamp bounds execute reads at a user-specified timestamp. Reads at a timestamp are guaranteed to see a consistent prefix of the global transaction history: they observe modifications done by all transactions with a commit timestamp <= the read timestamp, and observe none of the modifications done by transactions with a larger commit timestamp. They will block until all conflicting transactions that may be assigned commit timestamps <= the read timestamp have finished. The timestamp can either be expressed as an absolute Cloud Spanner commit timestamp or a staleness relative to the current time. These modes do not require a \"negotiation phase\" to pick a timestamp. As a result, they execute slightly faster than the equivalent boundedly stale concurrency modes. On the other hand, boundedly stale reads usually return fresher results. See TransactionOptions.ReadOnly.read_timestamp and TransactionOptions.ReadOnly.exact_staleness. ## Bounded Staleness Bounded staleness modes allow Cloud Spanner to pick the read timestamp, subject to a user-provided staleness bound. Cloud Spanner chooses the newest timestamp within the staleness bound that allows execution of the reads at the closest available replica without blocking. All rows yielded are consistent with each other -- if any part of the read observes a transaction, all parts of the read see the transaction. Boundedly stale reads are not repeatable: two stale reads, even if they use the same staleness bound, can execute at different timestamps and thus return inconsistent results. Boundedly stale reads execute in two phases: the first phase negotiates a timestamp among all replicas needed to serve the read. In the second phase, reads are executed at the negotiated timestamp. As a result of the two phase execution, bounded staleness reads are usually a little slower than comparable exact staleness reads. However, they are typically able to return fresher results, and are more likely to execute at the closest replica. Because the timestamp negotiation requires up-front knowledge of which rows will be read, it can only be used with single-use read-only transactions. See TransactionOptions.ReadOnly.max_staleness and TransactionOptions.ReadOnly.min_read_timestamp. ## Old Read Timestamps and Garbage Collection Cloud Spanner continuously garbage collects deleted and overwritten data in the background to reclaim storage space. This process is known as \"version GC\". By default, version GC reclaims versions after they are one hour old. Because of this, Cloud Spanner cannot perform reads at read timestamps more than one hour in the past. This restriction also applies to in-progress reads and/or SQL queries whose timestamp become too old while executing. Reads and SQL queries with too-old read timestamps fail with the error `FAILED_PRECONDITION`. ## Partitioned DML Transactions Partitioned DML transactions are used to execute DML statements with a different execution strategy that provides different, and often better, scalability properties for large, table-wide operations than DML in a ReadWrite transaction. Smaller scoped statements, such as an OLTP workload, should prefer using ReadWrite transactions. Partitioned DML partitions the keyspace and runs the DML statement on each partition in separate, internal transactions. These transactions commit automatically when complete, and run independently from one another. To reduce lock contention, this execution strategy only acquires read locks on rows that match the WHERE clause of the statement. Additionally, the smaller per-partition transactions hold locks for less time. That said, Partitioned DML is not a drop-in replacement for standard DML used in ReadWrite transactions. - The DML statement must be fully-partitionable. Specifically, the statement must be expressible as the union of many statements which each access only a single row of the table. - The statement is not applied atomically to all rows of the table. Rather, the statement is applied atomically to partitions of the table, in independent transactions. Secondary index rows are updated atomically with the base table rows. - Partitioned DML does not guarantee exactly-once execution semantics against a partition. The statement will be applied at least once to each partition. It is strongly recommended that the DML statement should be idempotent to avoid unexpected results. For instance, it is potentially dangerous to run a statement such as `UPDATE table SET column = column + 1` as it could be run multiple times against some rows. - The partitions are committed automatically - there is no support for Commit or Rollback. If the call returns an error, or if the client issuing the ExecuteSql call dies, it is possible that some rows had the statement executed on them successfully. It is also possible that statement was never executed against other rows. - Partitioned DML transactions may only contain the execution of a single DML statement via ExecuteSql or ExecuteStreamingSql. - If any error is encountered during the execution of the partitioned DML operation (for instance, a UNIQUE INDEX violation, division by zero, or a value that cannot be stored due to schema constraints), then the operation is stopped at that point and an error is returned. It is possible that at this point, some partitions have been committed (or even committed multiple times), and other partitions have not been run at all. Given the above, Partitioned DML is good fit for large, database-wide, operations that are idempotent, such as deleting old rows from a very large table.", + "description": "Transactions: Each session can have at most one active transaction at a time (note that standalone reads and queries use a transaction internally and do count towards the one transaction limit). After the active transaction is completed, the session can immediately be re-used for the next transaction. It is not necessary to create a new session for each transaction. Transaction Modes: Cloud Spanner supports three transaction modes: 1. Locking read-write. This type of transaction is the only way to write data into Cloud Spanner. These transactions rely on pessimistic locking and, if necessary, two-phase commit. Locking read-write transactions may abort, requiring the application to retry. 2. Snapshot read-only. This transaction type provides guaranteed consistency across several reads, but does not allow writes. Snapshot read-only transactions can be configured to read at timestamps in the past. Snapshot read-only transactions do not need to be committed. 3. Partitioned DML. This type of transaction is used to execute a single Partitioned DML statement. Partitioned DML partitions the key space and runs the DML statement over each partition in parallel using separate, internal transactions that commit independently. Partitioned DML transactions do not need to be committed. For transactions that only read, snapshot read-only transactions provide simpler semantics and are almost always faster. In particular, read-only transactions do not take locks, so they do not conflict with read-write transactions. As a consequence of not taking locks, they also do not abort, so retry loops are not needed. Transactions may only read/write data in a single database. They may, however, read/write data in different tables within that database. Locking Read-Write Transactions: Locking transactions may be used to atomically read-modify-write data anywhere in a database. This type of transaction is externally consistent. Clients should attempt to minimize the amount of time a transaction is active. Faster transactions commit with higher probability and cause less contention. Cloud Spanner attempts to keep read locks active as long as the transaction continues to do reads, and the transaction has not been terminated by Commit or Rollback. Long periods of inactivity at the client may cause Cloud Spanner to release a transaction's locks and abort it. Conceptually, a read-write transaction consists of zero or more reads or SQL statements followed by Commit. At any time before Commit, the client can send a Rollback request to abort the transaction. Semantics: Cloud Spanner can commit the transaction if all read locks it acquired are still valid at commit time, and it is able to acquire write locks for all writes. Cloud Spanner can abort the transaction for any reason. If a commit attempt returns `ABORTED`, Cloud Spanner guarantees that the transaction has not modified any user data in Cloud Spanner. Unless the transaction commits, Cloud Spanner makes no guarantees about how long the transaction's locks were held for. It is an error to use Cloud Spanner locks for any sort of mutual exclusion other than between Cloud Spanner transactions themselves. Retrying Aborted Transactions: When a transaction aborts, the application can choose to retry the whole transaction again. To maximize the chances of successfully committing the retry, the client should execute the retry in the same session as the original attempt. The original session's lock priority increases with each consecutive abort, meaning that each attempt has a slightly better chance of success than the previous. Under some circumstances (for example, many transactions attempting to modify the same row(s)), a transaction can abort many times in a short period before successfully committing. Thus, it is not a good idea to cap the number of retries a transaction can attempt; instead, it is better to limit the total amount of time spent retrying. Idle Transactions: A transaction is considered idle if it has no outstanding reads or SQL queries and has not started a read or SQL query within the last 10 seconds. Idle transactions can be aborted by Cloud Spanner so that they don't hold on to locks indefinitely. If an idle transaction is aborted, the commit will fail with error `ABORTED`. If this behavior is undesirable, periodically executing a simple SQL query in the transaction (for example, `SELECT 1`) prevents the transaction from becoming idle. Snapshot Read-Only Transactions: Snapshot read-only transactions provides a simpler method than locking read-write transactions for doing several consistent reads. However, this type of transaction does not support writes. Snapshot transactions do not take locks. Instead, they work by choosing a Cloud Spanner timestamp, then executing all reads at that timestamp. Since they do not acquire locks, they do not block concurrent read-write transactions. Unlike locking read-write transactions, snapshot read-only transactions never abort. They can fail if the chosen read timestamp is garbage collected; however, the default garbage collection policy is generous enough that most applications do not need to worry about this in practice. Snapshot read-only transactions do not need to call Commit or Rollback (and in fact are not permitted to do so). To execute a snapshot transaction, the client specifies a timestamp bound, which tells Cloud Spanner how to choose a read timestamp. The types of timestamp bound are: - Strong (the default). - Bounded staleness. - Exact staleness. If the Cloud Spanner database to be read is geographically distributed, stale read-only transactions can execute more quickly than strong or read-write transaction, because they are able to execute far from the leader replica. Each type of timestamp bound is discussed in detail below. Strong: Strong reads are guaranteed to see the effects of all transactions that have committed before the start of the read. Furthermore, all rows yielded by a single read are consistent with each other -- if any part of the read observes a transaction, all parts of the read see the transaction. Strong reads are not repeatable: two consecutive strong read-only transactions might return inconsistent results if there are concurrent writes. If consistency across reads is required, the reads should be executed within a transaction or at an exact read timestamp. See TransactionOptions.ReadOnly.strong. Exact Staleness: These timestamp bounds execute reads at a user-specified timestamp. Reads at a timestamp are guaranteed to see a consistent prefix of the global transaction history: they observe modifications done by all transactions with a commit timestamp less than or equal to the read timestamp, and observe none of the modifications done by transactions with a larger commit timestamp. They will block until all conflicting transactions that may be assigned commit timestamps <= the read timestamp have finished. The timestamp can either be expressed as an absolute Cloud Spanner commit timestamp or a staleness relative to the current time. These modes do not require a \"negotiation phase\" to pick a timestamp. As a result, they execute slightly faster than the equivalent boundedly stale concurrency modes. On the other hand, boundedly stale reads usually return fresher results. See TransactionOptions.ReadOnly.read_timestamp and TransactionOptions.ReadOnly.exact_staleness. Bounded Staleness: Bounded staleness modes allow Cloud Spanner to pick the read timestamp, subject to a user-provided staleness bound. Cloud Spanner chooses the newest timestamp within the staleness bound that allows execution of the reads at the closest available replica without blocking. All rows yielded are consistent with each other -- if any part of the read observes a transaction, all parts of the read see the transaction. Boundedly stale reads are not repeatable: two stale reads, even if they use the same staleness bound, can execute at different timestamps and thus return inconsistent results. Boundedly stale reads execute in two phases: the first phase negotiates a timestamp among all replicas needed to serve the read. In the second phase, reads are executed at the negotiated timestamp. As a result of the two phase execution, bounded staleness reads are usually a little slower than comparable exact staleness reads. However, they are typically able to return fresher results, and are more likely to execute at the closest replica. Because the timestamp negotiation requires up-front knowledge of which rows will be read, it can only be used with single-use read-only transactions. See TransactionOptions.ReadOnly.max_staleness and TransactionOptions.ReadOnly.min_read_timestamp. Old Read Timestamps and Garbage Collection: Cloud Spanner continuously garbage collects deleted and overwritten data in the background to reclaim storage space. This process is known as \"version GC\". By default, version GC reclaims versions after they are one hour old. Because of this, Cloud Spanner cannot perform reads at read timestamps more than one hour in the past. This restriction also applies to in-progress reads and/or SQL queries whose timestamp become too old while executing. Reads and SQL queries with too-old read timestamps fail with the error `FAILED_PRECONDITION`. Partitioned DML Transactions: Partitioned DML transactions are used to execute DML statements with a different execution strategy that provides different, and often better, scalability properties for large, table-wide operations than DML in a ReadWrite transaction. Smaller scoped statements, such as an OLTP workload, should prefer using ReadWrite transactions. Partitioned DML partitions the keyspace and runs the DML statement on each partition in separate, internal transactions. These transactions commit automatically when complete, and run independently from one another. To reduce lock contention, this execution strategy only acquires read locks on rows that match the WHERE clause of the statement. Additionally, the smaller per-partition transactions hold locks for less time. That said, Partitioned DML is not a drop-in replacement for standard DML used in ReadWrite transactions. - The DML statement must be fully-partitionable. Specifically, the statement must be expressible as the union of many statements which each access only a single row of the table. - The statement is not applied atomically to all rows of the table. Rather, the statement is applied atomically to partitions of the table, in independent transactions. Secondary index rows are updated atomically with the base table rows. - Partitioned DML does not guarantee exactly-once execution semantics against a partition. The statement will be applied at least once to each partition. It is strongly recommended that the DML statement should be idempotent to avoid unexpected results. For instance, it is potentially dangerous to run a statement such as `UPDATE table SET column = column + 1` as it could be run multiple times against some rows. - The partitions are committed automatically - there is no support for Commit or Rollback. If the call returns an error, or if the client issuing the ExecuteSql call dies, it is possible that some rows had the statement executed on them successfully. It is also possible that statement was never executed against other rows. - Partitioned DML transactions may only contain the execution of a single DML statement via ExecuteSql or ExecuteStreamingSql. - If any error is encountered during the execution of the partitioned DML operation (for instance, a UNIQUE INDEX violation, division by zero, or a value that cannot be stored due to schema constraints), then the operation is stopped at that point and an error is returned. It is possible that at this point, some partitions have been committed (or even committed multiple times), and other partitions have not been run at all. Given the above, Partitioned DML is good fit for large, database-wide, operations that are idempotent, such as deleting old rows from a very large table.", "id": "TransactionOptions", "properties": { "partitionedDml": { @@ -3801,7 +4403,8 @@ "BYTES", "ARRAY", "STRUCT", - "NUMERIC" + "NUMERIC", + "JSON" ], "enumDescriptions": [ "Not specified.", @@ -3814,13 +4417,26 @@ "Encoded as a base64-encoded `string`, as described in RFC 4648, section 4.", "Encoded as `list`, where the list elements are represented according to array_element_type.", "Encoded as `list`, where list element `i` is represented according to [struct_type.fields[i]][google.spanner.v1.StructType.fields].", - "Encoded as `string`, in decimal format or scientific notation format. Decimal format: `[+-]Digits[.[Digits]]` or `+-.Digits` Scientific notation: `[+-]Digits[.[Digits]][ExponentIndicator[+-]Digits]` or `+-.Digits[ExponentIndicator[+-]Digits]` (ExponentIndicator is `\"e\"` or `\"E\"`)" + "Encoded as `string`, in decimal format or scientific notation format. Decimal format: `[+-]Digits[.[Digits]]` or `+-.Digits` Scientific notation: `[+-]Digits[.[Digits]][ExponentIndicator[+-]Digits]` or `+-.Digits[ExponentIndicator[+-]Digits]` (ExponentIndicator is `\"e\"` or `\"E\"`)", + "Encoded as a JSON-formatted `string` as described in RFC 7159. The following rules are applied when parsing JSON input: - Whitespace characters are not preserved. - If a JSON object has duplicate keys, only the first key is preserved. - Members of a JSON object are not guaranteed to have their order preserved. - JSON array elements will have their order preserved." ], "type": "string" }, "structType": { "$ref": "StructType", "description": "If code == STRUCT, then `struct_type` provides type information for the struct's fields." + }, + "typeAnnotation": { + "description": "The TypeAnnotationCode that disambiguates SQL type that Spanner will use to represent values of this type during query processing. This is necessary for some type codes because a single TypeCode can be mapped to different SQL types depending on the SQL dialect. type_annotation typically is not needed to process the content of a value (it doesn't affect serialization) and clients can ignore it on the read path.", + "enum": [ + "TYPE_ANNOTATION_CODE_UNSPECIFIED", + "PG_NUMERIC" + ], + "enumDescriptions": [ + "Not specified.", + "PostgreSQL compatible NUMERIC type. This annotation needs to be applied to Type instances having NUMERIC type code to specify that values of this type should be treated as PostgreSQL NUMERIC values. Currently this annotation is always needed for NUMERIC when a client interacts with PostgreSQL-enabled Spanner databases." + ], + "type": "string" } }, "type": "object" @@ -3841,6 +4457,13 @@ "description": "The database being modified.", "type": "string" }, + "progress": { + "description": "The progress of the UpdateDatabaseDdl operations. Currently, only index creation statements will have a continuously updating progress. For non-index creation statements, `progress[i]` will have start time and end time populated with commit timestamp of operation, as well as a progress of 100% once the operation has completed. `progress[i]` is the operation progress for `statements[i]`.", + "items": { + "$ref": "OperationProgress" + }, + "type": "array" + }, "statements": { "description": "For an update this list contains all the statements. For an individual statement, this list contains only that statement.", "items": { @@ -3916,6 +4539,77 @@ }, "type": "object" }, + "VisualizationData": { + "id": "VisualizationData", + "properties": { + "dataSourceEndToken": { + "description": "The token signifying the end of a data_source.", + "type": "string" + }, + "dataSourceSeparatorToken": { + "description": "The token delimiting a datasource name from the rest of a key in a data_source.", + "type": "string" + }, + "diagnosticMessages": { + "description": "The list of messages (info, alerts, ...)", + "items": { + "$ref": "DiagnosticMessage" + }, + "type": "array" + }, + "endKeyStrings": { + "description": "We discretize the entire keyspace into buckets. Assuming each bucket has an inclusive keyrange and covers keys from k(i) ... k(n). In this case k(n) would be an end key for a given range. end_key_string is the collection of all such end keys", + "items": { + "type": "string" + }, + "type": "array" + }, + "hasPii": { + "description": "Whether this scan contains PII.", + "type": "boolean" + }, + "indexedKeys": { + "description": "Keys of key ranges that contribute significantly to a given metric Can be thought of as heavy hitters.", + "items": { + "type": "string" + }, + "type": "array" + }, + "keySeparator": { + "description": "The token delimiting the key prefixes.", + "type": "string" + }, + "keyUnit": { + "description": "The unit for the key: e.g. 'key' or 'chunk'.", + "enum": [ + "KEY_UNIT_UNSPECIFIED", + "KEY", + "CHUNK" + ], + "enumDescriptions": [ + "Required default value", + "Each entry corresponds to one key", + "Each entry corresponds to a chunk of keys" + ], + "type": "string" + }, + "metrics": { + "description": "The list of data objects for each metric.", + "items": { + "$ref": "Metric" + }, + "type": "array" + }, + "prefixNodes": { + "description": "The list of extracted key prefix nodes used in the key prefix hierarchy.", + "items": { + "$ref": "PrefixNode" + }, + "type": "array" + } + }, + "type": "object" + }, "Write": { "description": "Arguments to insert, update, insert_or_update, and replace operations.", "id": "Write", diff --git a/etc/api/speech/v1/speech-api.json b/etc/api/speech/v1/speech-api.json index 884aa6e313..9c2ffa1dbe 100644 --- a/etc/api/speech/v1/speech-api.json +++ b/etc/api/speech/v1/speech-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -171,6 +171,318 @@ } } }, + "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](/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](/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](/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}/phraseSets` 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](/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](/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](/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": { @@ -212,9 +524,96 @@ } } }, - "revision": "20210325", + "revision": "20220221", "rootUrl": "https://speech.googleapis.com/", "schemas": { + "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 be 4-63 characters, and valid characters are /a-z-/.", + "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 be 4-63 characters, and valid characters are /a-z-/.", + "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": { + "customClassId": { + "description": "If this custom class is a resource, the custom_class_id is the resource id of the CustomClass. Case sensitive.", + "type": "string" + }, + "items": { + "description": "A collection of class items.", + "items": { + "$ref": "ClassItem" + }, + "type": "array" + }, + "name": { + "description": "The resource name of the custom class.", + "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); } The JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "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", @@ -233,6 +632,24 @@ }, "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", @@ -271,6 +688,10 @@ "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" @@ -279,12 +700,25 @@ "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." + }, "results": { "description": "Sequential list of transcription results corresponding to sequential portions of audio.", "items": { "$ref": "SpeechRecognitionResult" }, "type": "array" + }, + "totalBilledTime": { + "description": "When available, billed audio seconds for the corresponding request.", + "format": "google-duration", + "type": "string" } }, "type": "object" @@ -324,6 +758,45 @@ }, "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](/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. Speech recognition will skip PhraseSets with a boost value of 0.", + "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": { + "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. Speech recognition will skip PhraseSets with a boost value of 0.", + "format": "float", + "type": "number" + }, + "name": { + "description": "The resource name of the phrase set.", + "type": "string" + }, + "phrases": { + "description": "A list of word and phrases.", + "items": { + "$ref": "Phrase" + }, + "type": "array" + } + }, + "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", @@ -344,6 +817,17 @@ "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 and FLAC are `1`-`8`. Valid values for OGG_OPUS are '1'-'254'. 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", @@ -361,6 +845,18 @@ "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" @@ -375,7 +871,8 @@ "AMR", "AMR_WB", "OGG_OPUS", - "SPEEX_WITH_HEADER_BYTE" + "SPEEX_WITH_HEADER_BYTE", + "WEBM_OPUS" ], "enumDescriptions": [ "Not specified.", @@ -385,7 +882,8 @@ "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." + "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.", + "Opus encoded audio frames in WebM container ([OggOpus](https://wiki.xiph.org/OggOpus)). `sample_rate_hertz` must be one of 8000, 12000, 16000, 24000, or 48000." ], "type": "string" }, @@ -403,7 +901,7 @@ "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* 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 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. ", + "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* 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": { @@ -556,6 +1054,11 @@ "$ref": "SpeechRecognitionResult" }, "type": "array" + }, + "totalBilledTime": { + "description": "When available, billed audio seconds for the corresponding request.", + "format": "google-duration", + "type": "string" } }, "type": "object" @@ -587,10 +1090,43 @@ }, "type": "object" }, + "SpeechAdaptation": { + "description": "Speech adaptation configuration.", + "id": "SpeechAdaptation", + "properties": { + "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" + }, "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": { @@ -611,7 +1147,7 @@ "type": "number" }, "transcript": { - "description": "Transcript text representing the words that the user spoke.", + "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": { @@ -639,6 +1175,16 @@ "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" @@ -670,10 +1216,26 @@ }, "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", diff --git a/etc/api/speech/v1p1beta1/speech-api.json b/etc/api/speech/v1p1beta1/speech-api.json index dc0f934ca4..b97927585f 100644 --- a/etc/api/speech/v1p1beta1/speech-api.json +++ b/etc/api/speech/v1p1beta1/speech-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -187,7 +187,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource where this custom class will be created. Format: {api_version}/projects/{project}/locations/{location}/customClasses", + "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](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -215,7 +215,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the custom class to delete. Format: {api_version}/projects/{project}/locations/{location}/customClasses/{custom_class}", + "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](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/customClasses/[^/]+$", "required": true, @@ -240,7 +240,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the custom class to retrieve. Format: {api_version}/projects/{project}/locations/{location}/customClasses/{custom_class}", + "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, @@ -276,7 +276,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent, which owns this collection of custom classes. Format: {api_version}/projects/{project}/locations/{location}/customClasses", + "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](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -339,7 +339,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource where this phrase set will be created. Format: {api_version}/projects/{project}/locations/{location}/phraseSets", + "description": "Required. The parent resource where this phrase set will be created. Format: `projects/{project}/locations/{location}/phraseSets` 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](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -367,7 +367,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the phrase set to delete. Format: {api_version}/projects/{project}/locations/{location}/phraseSets/{phrase_set}", + "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, @@ -392,7 +392,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the phrase set to retrieve. Format: {api_version}/projects/{project}/locations/{location}/phraseSets/{phrase_set}", + "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](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/phraseSets/[^/]+$", "required": true, @@ -428,7 +428,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent, which owns this collection of phrase set. Format: projects/{project}/locations/{location}", + "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](/speech-to-text/docs/endpoints) with matching `us` or `eu` location value.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -524,7 +524,7 @@ } } }, - "revision": "20210325", + "revision": "20220221", "rootUrl": "https://speech.googleapis.com/", "schemas": { "ClassItem": { @@ -547,7 +547,7 @@ "description": "Required. The custom class to create." }, "customClassId": { - "description": "The ID to use for the custom class, which will become the final component of the custom class' resource name. This value should be 4-63 characters, and valid characters are /a-z-/.", + "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 be 4-63 characters, and valid characters are /a-z-/.", "type": "string" } }, @@ -562,7 +562,7 @@ "description": "Required. The phrase set to create." }, "phraseSetId": { - "description": "The ID to use for the phrase set, which will become the final component of the phrase set's resource name. This value should be 4-63 characters, and valid characters are /a-z-/.", + "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 be 4-63 characters, and valid characters are /a-z-/.", "type": "string" } }, @@ -596,6 +596,25 @@ "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", @@ -719,6 +738,11 @@ "$ref": "SpeechRecognitionResult" }, "type": "array" + }, + "totalBilledTime": { + "description": "When available, billed audio seconds for the corresponding request.", + "format": "google-duration", + "type": "string" } }, "type": "object" @@ -759,11 +783,11 @@ "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}`).", + "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](/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 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. Speech recognition will skip PhraseSets with a boost value of 0.", + "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. Speech recognition will skip PhraseSets with a boost value of 0.", "format": "float", "type": "number" }, @@ -819,7 +843,7 @@ "properties": { "adaptation": { "$ref": "SpeechAdaptation", - "description": "Speech adaptation configuration improves the accuracy of speech recognition. When speech adaptation is set it supersedes the `speech_contexts` field. For more information, see the [speech adaptation](https://cloud.google.com/speech-to-text/docs/adaptation) documentation." + "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).", @@ -854,6 +878,14 @@ "description": "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: Use diarization_config instead.", "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" @@ -873,7 +905,8 @@ "AMR_WB", "OGG_OPUS", "SPEEX_WITH_HEADER_BYTE", - "MP3" + "MP3", + "WEBM_OPUS" ], "enumDescriptions": [ "Not specified.", @@ -884,7 +917,8 @@ "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." + "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 ([OggOpus](https://wiki.xiph.org/OggOpus)). `sample_rate_hertz` must be one of 8000, 12000, 16000, 24000, or 48000." ], "type": "string" }, @@ -902,7 +936,7 @@ "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* 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 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. ", + "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* 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": { @@ -921,6 +955,10 @@ }, "type": "array" }, + "transcriptNormalization": { + "$ref": "TranscriptNormalization", + "description": "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" @@ -1060,6 +1098,11 @@ "$ref": "SpeechRecognitionResult" }, "type": "array" + }, + "totalBilledTime": { + "description": "When available, billed audio seconds for the corresponding request.", + "format": "google-duration", + "type": "string" } }, "type": "object" @@ -1148,7 +1191,7 @@ "type": "number" }, "transcript": { - "description": "Transcript text representing the words that the user spoke.", + "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": { @@ -1181,6 +1224,11 @@ "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" @@ -1212,6 +1260,20 @@ }, "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", diff --git a/etc/api/speech/v2beta1/speech-api.json b/etc/api/speech/v2beta1/speech-api.json index de7d410ad8..37f6d5db0c 100644 --- a/etc/api/speech/v2beta1/speech-api.json +++ b/etc/api/speech/v2beta1/speech-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -184,7 +184,7 @@ } } }, - "revision": "20210325", + "revision": "20220221", "rootUrl": "https://speech.googleapis.com/", "schemas": { "ListOperationsResponse": { diff --git a/etc/api/sqladmin/v1/sqladmin-api.json b/etc/api/sqladmin/v1/sqladmin-api.json new file mode 100644 index 0000000000..61635ac119 --- /dev/null +++ b/etc/api/sqladmin/v1/sqladmin-api.json @@ -0,0 +1,4733 @@ +{ + "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.", + "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": { + "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.", + "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" + ] + }, + "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" + ] + }, + "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 results to return 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 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": "Updates settings of a Cloud SQL instance. 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 a stand-alone Cloud SQL 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": { + "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" + ] + }, + "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.", + "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" + ] + }, + "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": { + "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": { + "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" + ] + }, + "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" + ] + }, + "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": "20220226", + "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" + }, + "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" + ], + "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." + ], + "type": "string" + }, + "message": { + "description": "The warning message.", + "type": "string" + }, + "region": { + "description": "The region name for REGION_UNREACHABLE warning.", + "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": "(Postgres only) 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" + } + }, + "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" + }, + "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.", + "The 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" + }, + "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" + }, + "type": { + "description": "The type of this run; can be either \"AUTOMATED\" or \"ON_DEMAND\". 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 CloudSQL 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." + }, + "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" + } + }, + "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" + ], + "enumDescriptions": [ + "This is an unknown backend type for instance.", + "V1 speckle instance.", + "V2 speckle instance.", + "On premises instance." + ], + "type": "string" + }, + "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", + "POSTGRES_9_6", + "POSTGRES_11", + "SQLSERVER_2017_STANDARD", + "SQLSERVER_2017_ENTERPRISE", + "SQLSERVER_2017_EXPRESS", + "SQLSERVER_2017_WEB", + "POSTGRES_10", + "POSTGRES_12", + "MYSQL_8_0", + "MYSQL_8_0_18", + "MYSQL_8_0_26", + "POSTGRES_13", + "POSTGRES_14", + "SQLSERVER_2019_STANDARD", + "SQLSERVER_2019_ENTERPRISE", + "SQLSERVER_2019_EXPRESS", + "SQLSERVER_2019_WEB" + ], + "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 PostgreSQL 9.6.", + "The database version is PostgreSQL 11.", + "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 10.", + "The database version is PostgreSQL 12.", + "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 version is PostgreSQL 13.", + "The database version is PostgreSQL 14.", + "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." + ], + "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" + }, + "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." + } + }, + "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": "List all maintenance versions applicable on the instance", + "items": { + "type": "string" + }, + "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" + ], + "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": { + "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", + "POSTGRES_9_6", + "POSTGRES_11", + "SQLSERVER_2017_STANDARD", + "SQLSERVER_2017_ENTERPRISE", + "SQLSERVER_2017_EXPRESS", + "SQLSERVER_2017_WEB", + "POSTGRES_10", + "POSTGRES_12", + "MYSQL_8_0", + "MYSQL_8_0_18", + "MYSQL_8_0_26", + "POSTGRES_13", + "POSTGRES_14", + "SQLSERVER_2019_STANDARD", + "SQLSERVER_2019_ENTERPRISE", + "SQLSERVER_2019_EXPRESS", + "SQLSERVER_2019_WEB" + ], + "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 PostgreSQL 9.6.", + "The database version is PostgreSQL 11.", + "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 10.", + "The database version is PostgreSQL 12.", + "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 version is PostgreSQL 13.", + "The database version is PostgreSQL 14.", + "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." + ], + "type": "string" + }, + "diskEncryptionConfiguration": { + "$ref": "DiskEncryptionConfiguration", + "description": "Disk encryption configuration specific to an instance." + }, + "diskEncryptionStatus": { + "$ref": "DiskEncryptionStatus", + "description": "Disk encryption status specific to an instance." + }, + "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" + }, + "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": { + "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": { + "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" + }, + "project": { + "description": "The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.", + "type": "string" + }, + "region": { + "description": "The geographical region. Can be: * `us-central` (`FIRST_GEN` instances only) * `us-central1` (`SECOND_GEN` instances only) * `asia-east1` or `europe-west1`. Defaults to `us-central` or `us-central1` depending on the instance type. The region cannot be changed after instance creation.", + "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" + }, + "rootPassword": { + "description": "Initial root password. Use only on creation.", + "type": "string" + }, + "satisfiesPzs": { + "description": "The status indicating if instance satisfiesPzs. 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." + }, + "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" + ], + "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" + } + }, + "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" + }, + "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" + }, + "ExportContext": { + "description": "Database instance export context.", + "id": "ExportContext", + "properties": { + "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" + }, + "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" + } + }, + "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" + }, + "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", + "POSTGRES_9_6", + "POSTGRES_11", + "SQLSERVER_2017_STANDARD", + "SQLSERVER_2017_ENTERPRISE", + "SQLSERVER_2017_EXPRESS", + "SQLSERVER_2017_WEB", + "POSTGRES_10", + "POSTGRES_12", + "MYSQL_8_0", + "MYSQL_8_0_18", + "MYSQL_8_0_26", + "POSTGRES_13", + "POSTGRES_14", + "SQLSERVER_2019_STANDARD", + "SQLSERVER_2019_ENTERPRISE", + "SQLSERVER_2019_EXPRESS", + "SQLSERVER_2019_WEB" + ], + "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 PostgreSQL 9.6.", + "The database version is PostgreSQL 11.", + "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 10.", + "The database version is PostgreSQL 12.", + "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 version is PostgreSQL 13.", + "The database version is PostgreSQL 14.", + "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." + ], + "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" + }, + "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": { + "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" + } + }, + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "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 CloudSQL 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" + }, + "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" + }, + "requireSsl": { + "description": "Whether SSL connections over IP are enforced or not.", + "type": "boolean" + } + }, + "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": { + "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.).", + "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 (1-7), starting on Monday.", + "format": "int32", + "type": "integer" + }, + "hour": { + "description": "hour of day - 0 to 23.", + "format": "int32", + "type": "integer" + }, + "kind": { + "description": "This is always `sql#maintenanceWindow`.", + "type": "string" + }, + "updateTrack": { + "description": "Maintenance timing setting: `canary` (Earlier) or `stable` (Later). [Learn more](https://cloud.google.com/sql/docs/mysql/instance-settings#maintenance-timing-2ndgen).", + "enum": [ + "SQL_UPDATE_TRACK_UNSPECIFIED", + "canary", + "stable" + ], + "enumDescriptions": [ + "This is an unknown maintenance timing preference.", + "For instance update that requires a restart, this update track indicates your instance prefer to restart for new version early in maintenance window.", + "For instance update that requires a restart, this update track indicates your instance prefer to let Cloud SQL choose the timing of restart (within its Maintenance window, if applicable)." + ], + "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" + }, + "sourceInstance": { + "$ref": "InstanceReference", + "description": "The reference to Cloud SQL instance if the source is Cloud SQL." + }, + "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": { + "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" + ], + "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." + ], + "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" + }, + "targetId": { + "description": "Name of the database instance related to this operation.", + "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" + }, + "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" + }, + "disallowUsernameSubstring": { + "description": "Disallow username as a part of the password.", + "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 PostgresSQL.", + "format": "google-duration", + "type": "string" + }, + "reuseInterval": { + "description": "Number of previous passwords that cannot be reused.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ReplicaConfiguration": { + "description": "Read-replica configuration for connecting to the primary instance.", + "id": "ReplicaConfiguration", + "properties": { + "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" + }, + "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" + }, + "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" + ], + "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." + }, + "authorizedGaeApplications": { + "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" + }, + "crashSafeReplicationEnabled": { + "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" + }, + "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" + ], + "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" + }, + "denyMaintenancePeriods": { + "description": "Deny maintenance periods", + "items": { + "$ref": "DenyMaintenancePeriod" + }, + "type": "array" + }, + "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": { + "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" + }, + "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" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "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.", + "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." + ], + "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" + }, + "SqlInstancesStartExternalSyncRequest": { + "description": "Instance start external sync request.", + "id": "SqlInstancesStartExternalSyncRequest", + "properties": { + "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" + } + }, + "type": "object" + }, + "SqlInstancesVerifyExternalSyncSettingsRequest": { + "description": "Instance verify external sync settings request.", + "id": "SqlInstancesVerifyExternalSyncSettingsRequest", + "properties": { + "mysqlSyncConfig": { + "$ref": "MySqlSyncConfig", + "description": "Optional. MySQL-specific settings for start external sync." + }, + "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" + }, + "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 maintenancce for this instance.", + "id": "SqlScheduledMaintenance", + "properties": { + "canDefer": { + "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" + } + }, + "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" + }, + "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": { + "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" + ], + "enumDescriptions": [ + "The database's built-in user type.", + "Cloud IAM user.", + "Cloud IAM service account." + ], + "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" + }, + "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": { + "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" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Cloud SQL Admin API", + "version": "v1" +} \ No newline at end of file diff --git a/etc/api/sqladmin/v1beta4/sqladmin-api.json b/etc/api/sqladmin/v1beta4/sqladmin-api.json index ec40c342b4..42b77e07c6 100644 --- a/etc/api/sqladmin/v1beta4/sqladmin-api.json +++ b/etc/api/sqladmin/v1beta4/sqladmin-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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" @@ -122,7 +122,7 @@ ], "parameters": { "id": { - "description": "The ID of the Backup Run to delete. To find a Backup Run ID, use the list method.", + "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/v1beta4/backupRuns/list) method.", "format": "int64", "location": "path", "required": true, @@ -162,7 +162,7 @@ ], "parameters": { "id": { - "description": "The ID of this Backup Run.", + "description": "The ID of this backup run.", "format": "int64", "location": "path", "required": true, @@ -191,7 +191,7 @@ ] }, "insert": { - "description": "Creates a new backup run on demand. This method is applicable only to Second Generation instances.", + "description": "Creates a new backup run on demand.", "flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/backupRuns", "httpMethod": "POST", "id": "sql.backupRuns.insert", @@ -226,7 +226,7 @@ ] }, "list": { - "description": "Lists all backup runs associated with a given instance and configuration in the reverse chronological order of the backup initiation time.", + "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": "sql/v1beta4/projects/{project}/instances/{instance}/backupRuns", "httpMethod": "GET", "id": "sql.backupRuns.list", @@ -236,7 +236,7 @@ ], "parameters": { "instance": { - "description": "Cloud SQL instance ID. This does not include the project ID.", + "description": "Cloud SQL instance ID, or \"-\" for all instances. This does not include the project ID.", "location": "path", "required": true, "type": "string" @@ -270,6 +270,83 @@ } } }, + "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": "sql/v1beta4/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": "sql/v1beta4/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": "sql/v1beta4/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": "sql/v1beta4/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": { @@ -506,7 +583,7 @@ "flags": { "methods": { "list": { - "description": "List all available database flags for Cloud SQL instances.", + "description": "Lists all available database flags for Cloud SQL instances.", "flatPath": "sql/v1beta4/flags", "httpMethod": "GET", "id": "sql.flags.list", @@ -700,7 +777,7 @@ ] }, "failover": { - "description": "Failover the instance to its failover replica instance. Using this operation might cause your instance to restart.", + "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": "sql/v1beta4/projects/{project}/instances/{instance}/failover", "httpMethod": "POST", "id": "sql.instances.failover", @@ -1375,29 +1452,12 @@ "location": "path", "required": true, "type": "string" - }, - "skipVerification": { - "description": "Whether to skip the verification step (VESS).", - "location": "query", - "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" - ], - "location": "query", - "type": "string" } }, "path": "sql/v1beta4/projects/{project}/instances/{instance}/startExternalSync", + "request": { + "$ref": "SqlInstancesStartExternalSyncRequest" + }, "response": { "$ref": "Operation" }, @@ -1427,29 +1487,12 @@ "location": "path", "required": true, "type": "string" - }, - "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" - ], - "location": "query", - "type": "string" - }, - "verifyConnectionOnly": { - "description": "Flag to enable verifying connection only", - "location": "query", - "type": "boolean" } }, "path": "sql/v1beta4/projects/{project}/instances/{instance}/verifyExternalSyncSettings", + "request": { + "$ref": "SqlInstancesVerifyExternalSyncSettingsRequest" + }, "response": { "$ref": "SqlInstancesVerifyExternalSyncSettingsResponse" }, @@ -1649,7 +1692,7 @@ "tiers": { "methods": { "list": { - "description": "Lists all available machine types (tiers) for Cloud SQL, for example, db-custom-1-3840. For related information, see Pricing.", + "description": "Lists all available machine types (tiers) for Cloud SQL, for example, `db-custom-1-3840`. For related information, see [Pricing](/sql/pricing).", "flatPath": "sql/v1beta4/projects/{project}/tiers", "httpMethod": "GET", "id": "sql.tiers.list", @@ -1834,7 +1877,7 @@ } } }, - "revision": "20210321", + "revision": "20220226", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -1842,12 +1885,12 @@ "id": "AclEntry", "properties": { "expirationTime": { - "description": "The time when this access control entry expires in RFC 3339 format, for example *2012-11-15T16:19:00.094Z*.", + "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*.", + "description": "This is always `sql#aclEntry`.", "type": "string" }, "name": { @@ -1905,7 +1948,7 @@ "type": "boolean" }, "kind": { - "description": "This is always *sql#backupConfiguration*.", + "description": "This is always `sql#backupConfiguration`.", "type": "string" }, "location": { @@ -1913,7 +1956,7 @@ "type": "string" }, "pointInTimeRecoveryEnabled": { - "description": "Reserved for future use.", + "description": "(Postgres only) Whether point in time recovery is enabled.", "type": "boolean" }, "replicationLogArchivingEnabled": { @@ -1921,7 +1964,7 @@ "type": "boolean" }, "startTime": { - "description": "Start time for the daily backup configuration in UTC timezone in the 24 hour format - *HH:MM*.", + "description": "Start time for the daily backup configuration in UTC timezone in the 24 hour format - `HH:MM`.", "type": "string" }, "transactionLogRetentionDays": { @@ -1942,7 +1985,7 @@ "type": "string" }, "kind": { - "description": "This is always *sql#backupContext*.", + "description": "This is always `sql#backupContext`.", "type": "string" } }, @@ -1996,19 +2039,19 @@ }, "diskEncryptionConfiguration": { "$ref": "DiskEncryptionConfiguration", - "description": "Encryption configuration specific to a backup. Applies only to Second Generation instances." + "description": "Encryption configuration specific to a backup." }, "diskEncryptionStatus": { "$ref": "DiskEncryptionStatus", - "description": "Encryption status specific to a backup. Applies only to Second Generation instances." + "description": "Encryption status specific to a backup." }, "endTime": { - "description": "The time the backup operation completed in UTC timezone in RFC 3339 format, for example *2012-11-15T16:19:00.094Z*.", + "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 format, for example *2012-11-15T16:19:00.094Z*.", + "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" }, @@ -2026,7 +2069,7 @@ "type": "string" }, "kind": { - "description": "This is always *sql#backupRun*.", + "description": "This is always `sql#backupRun`.", "type": "string" }, "location": { @@ -2038,7 +2081,7 @@ "type": "string" }, "startTime": { - "description": "The time the backup operation actually started in UTC timezone in RFC 3339 format, for example *2012-11-15T16:19:00.094Z*.", + "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" }, @@ -2085,7 +2128,7 @@ "type": "string" }, "windowStartTime": { - "description": "The start time of the backup window during which this the backup was attempted in RFC 3339 format, for example *2012-11-15T16:19:00.094Z*.", + "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" } @@ -2104,7 +2147,7 @@ "type": "array" }, "kind": { - "description": "This is always *sql#backupRunsList*.", + "description": "This is always `sql#backupRunsList`.", "type": "string" }, "nextPageToken": { @@ -2128,7 +2171,7 @@ "type": "string" }, "kind": { - "description": "This is always *sql#binLogCoordinates*.", + "description": "This is always `sql#binLogCoordinates`.", "type": "string" } }, @@ -2138,6 +2181,10 @@ "description": "Database instance clone context.", "id": "CloneContext", "properties": { + "allocatedIpRange": { + "description": "The name of the allocated ip range for the private ip CloudSQL 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." @@ -2147,7 +2194,7 @@ "type": "string" }, "kind": { - "description": "This is always *sql#cloneContext*.", + "description": "This is always `sql#cloneContext`.", "type": "string" }, "pitrTimestampMs": { @@ -2156,13 +2203,107 @@ "type": "string" }, "pointInTime": { - "description": "Reserved for future use.", + "description": "Timestamp, if specified, identifies the time to which the source instance is cloned.", "format": "google-datetime", "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" + ], + "enumDescriptions": [ + "This is an unknown backend type for instance.", + "V1 speckle instance.", + "V2 speckle instance.", + "On premises instance." + ], + "type": "string" + }, + "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` or `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", + "POSTGRES_9_6", + "POSTGRES_11", + "SQLSERVER_2017_STANDARD", + "SQLSERVER_2017_ENTERPRISE", + "SQLSERVER_2017_EXPRESS", + "SQLSERVER_2017_WEB", + "POSTGRES_10", + "POSTGRES_12", + "MYSQL_8_0", + "MYSQL_8_0_18", + "MYSQL_8_0_26", + "POSTGRES_13", + "POSTGRES_14", + "SQLSERVER_2019_STANDARD", + "SQLSERVER_2019_ENTERPRISE", + "SQLSERVER_2019_EXPRESS", + "SQLSERVER_2019_WEB" + ], + "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 PostgreSQL 9.6.", + "The database version is PostgreSQL 11.", + "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 10.", + "The database version is PostgreSQL 12.", + "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 version is PostgreSQL 13.", + "The database version is PostgreSQL 14.", + "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." + ], + "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" + }, + "region": { + "description": "The cloud region for the instance. e.g. `us-central1`, `europe-west1`. The region cannot be changed after instance creation.", + "type": "string" + }, + "serverCaCert": { + "$ref": "SslCert", + "description": "SSL configuration." + } + }, + "type": "object" + }, "Database": { "description": "Represents a SQL database on the Cloud SQL instance.", "id": "Database", @@ -2184,7 +2325,7 @@ "type": "string" }, "kind": { - "description": "This is always *sql#database*.", + "description": "This is always `sql#database`.", "type": "string" }, "name": { @@ -2210,11 +2351,11 @@ "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 for MySQL. Flags are specified with underscores, not hyphens. For more information, see Configuring Database Flags in the Cloud SQL documentation.", + "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. Booleans are set to *on* for true and *off* for false. This field must be omitted if the flag doesn't take a 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" } }, @@ -2224,8 +2365,15 @@ "description": "A Cloud SQL instance resource.", "id": "DatabaseInstance", "properties": { + "availableMaintenanceVersions": { + "description": "List all maintenance versions applicable on the instance", + "items": { + "type": "string" + }, + "type": "array" + }, "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.", + "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", @@ -2244,13 +2392,24 @@ "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": { - "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 for details.", + "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. MySQL instances: *MYSQL_8_0*, *MYSQL_5_7* (default), or *MYSQL_5_6*. PostgreSQL instances: *POSTGRES_9_6*, *POSTGRES_10*, *POSTGRES_11*, *POSTGRES_12*, or *POSTGRES_13* (default). SQL Server instances: *SQLSERVER_2017_STANDARD* (default), *SQLSERVER_2017_ENTERPRISE*, *SQLSERVER_2017_EXPRESS*, or *SQLSERVER_2017_WEB*.", + "description": "The database engine type and version. The `databaseVersion` field cannot be changed after instance creation.", "enum": [ "SQL_DATABASE_VERSION_UNSPECIFIED", "MYSQL_5_1", @@ -2266,7 +2425,14 @@ "POSTGRES_10", "POSTGRES_12", "MYSQL_8_0", - "POSTGRES_13" + "MYSQL_8_0_18", + "MYSQL_8_0_26", + "POSTGRES_13", + "POSTGRES_14", + "SQLSERVER_2019_STANDARD", + "SQLSERVER_2019_ENTERPRISE", + "SQLSERVER_2019_EXPRESS", + "SQLSERVER_2019_WEB" ], "enumDescriptions": [ "This is an unknown database version.", @@ -2283,42 +2449,49 @@ "The database version is PostgreSQL 10.", "The database version is PostgreSQL 12.", "The database version is MySQL 8.", - "The database version is PostgreSQL 13." + "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 version is PostgreSQL 13.", + "The database version is PostgreSQL 14.", + "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." ], "type": "string" }, "diskEncryptionConfiguration": { "$ref": "DiskEncryptionConfiguration", - "description": "Disk encryption configuration specific to an instance. Applies only to Second Generation instances." + "description": "Disk encryption configuration specific to an instance." }, "diskEncryptionStatus": { "$ref": "DiskEncryptionStatus", - "description": "Disk encryption status specific to an instance. Applies only to Second Generation instances." + "description": "Disk encryption status specific to an instance." }, "etag": { - "description": "This field is deprecated and will be removed from a future version of the API. Use the *settings.settingsVersion* field instead.", + "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. This property is applicable only to Second Generation instances.", + "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. This property is applicable only to Second Generation instances.", + "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.", + "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" }, "instanceType": { - "description": "The instance type. This can be one of the following. *CLOUD_SQL_INSTANCE*: A Cloud SQL instance that is not replicating from a primary instance. *ON_PREMISES_INSTANCE*: An instance running on the customer's premises. *READ_REPLICA_INSTANCE*: A Cloud SQL instance configured as a read-replica.", + "description": "The instance type.", "enum": [ "SQL_INSTANCE_TYPE_UNSPECIFIED", "CLOUD_SQL_INSTANCE", @@ -2327,7 +2500,7 @@ ], "enumDescriptions": [ "This is an unknown Cloud SQL instance type.", - "A regular Cloud SQL instance.", + "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." ], @@ -2345,7 +2518,11 @@ "type": "string" }, "kind": { - "description": "This is always *sql#instance*.", + "description": "This is always `sql#instance`.", + "type": "string" + }, + "maintenanceVersion": { + "description": "The current software version on the instance.", "type": "string" }, "masterInstanceName": { @@ -2365,12 +2542,16 @@ "$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" + }, "project": { "description": "The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.", "type": "string" }, "region": { - "description": "The geographical region. Can be *us-central* (*FIRST_GEN* instances only) *us-central1* (*SECOND_GEN* instances only) *asia-east1* or *europe-west1*. Defaults to *us-central* or *us-central1* depending on the instance type. The region cannot be changed after instance creation.", + "description": "The geographical region. Can be: * `us-central` (`FIRST_GEN` instances only) * `us-central1` (`SECOND_GEN` instances only) * `asia-east1` or `europe-west1`. Defaults to `us-central` or `us-central1` depending on the instance type. The region cannot be changed after instance creation.", "type": "string" }, "replicaConfiguration": { @@ -2397,7 +2578,7 @@ "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. Reserved for future use.", + "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": { @@ -2409,7 +2590,7 @@ "description": "SSL configuration." }, "serviceAccountEmailAddress": { - "description": "The service account email address assigned to the instance. This property is applicable only to Second Generation instances.", + "description": "The service account email address assigned to the instance. \\This property is read-only.", "type": "string" }, "settings": { @@ -2417,7 +2598,7 @@ "description": "The user settings." }, "state": { - "description": "The current serving state of the Cloud SQL instance. This can be one of the following. *SQL_INSTANCE_STATE_UNSPECIFIED*: The state of the instance is unknown. *RUNNABLE*: The instance is running, or has been stopped by owner. *SUSPENDED*: The instance is not available, for example due to problems with billing. *PENDING_DELETE*: The instance is being deleted. *PENDING_CREATE*: The instance is being created. *MAINTENANCE*: The instance is down for maintenance. *FAILED*: The instance creation failed.", + "description": "The current serving state of the Cloud SQL instance.", "enum": [ "SQL_INSTANCE_STATE_UNSPECIFIED", "RUNNABLE", @@ -2425,7 +2606,8 @@ "PENDING_DELETE", "PENDING_CREATE", "MAINTENANCE", - "FAILED" + "FAILED", + "ONLINE_MAINTENANCE" ], "enumDescriptions": [ "The state of the instance is unknown.", @@ -2434,7 +2616,8 @@ "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." + "The creation of the instance failed or a fatal error occurred during maintenance.", + "Deprecated" ], "type": "string" }, @@ -2474,7 +2657,7 @@ "type": "array" }, "kind": { - "description": "This is always *sql#databasesList*.", + "description": "This is always `sql#databasesList`.", "type": "string" } }, @@ -2485,12 +2668,12 @@ "id": "DemoteMasterConfiguration", "properties": { "kind": { - "description": "This is always *sql#demoteMasterConfiguration*.", + "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." + "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" @@ -2500,7 +2683,7 @@ "id": "DemoteMasterContext", "properties": { "kind": { - "description": "This is always *sql#demoteMasterContext*.", + "description": "This is always `sql#demoteMasterContext`.", "type": "string" }, "masterInstanceName": { @@ -2511,8 +2694,12 @@ "$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 GTID consistency for demote operation. Default value: *True*. Second Generation instances only. Setting this flag to false enables you to bypass 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.", + "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" } }, @@ -2535,7 +2722,7 @@ "type": "string" }, "kind": { - "description": "This is always *sql#demoteMasterMysqlReplicaConfiguration*.", + "description": "This is always `sql#demoteMasterMysqlReplicaConfiguration`.", "type": "string" }, "password": { @@ -2573,7 +2760,7 @@ "id": "DiskEncryptionConfiguration", "properties": { "kind": { - "description": "This is always *sql#diskEncryptionConfiguration*.", + "description": "This is always `sql#diskEncryptionConfiguration`.", "type": "string" }, "kmsKeyName": { @@ -2588,7 +2775,7 @@ "id": "DiskEncryptionStatus", "properties": { "kind": { - "description": "This is always *sql#diskEncryptionStatus*.", + "description": "This is always `sql#diskEncryptionStatus`.", "type": "string" }, "kmsKeyVersionName": { @@ -2603,8 +2790,24 @@ "id": "ExportContext", "properties": { "csvExportOptions": { - "description": "Options for exporting data as CSV. *MySQL* and *PostgreSQL* instances only.", + "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" @@ -2613,14 +2816,14 @@ "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*.", + "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. *SQL*: The file contains SQL statements. *CSV*: The file contains CSV data. *BAK*: The file contains backup data for a SQL Server instance.", + "description": "The file type for the specified uri.", "enum": [ "SQL_FILE_TYPE_UNSPECIFIED", "SQL", @@ -2636,7 +2839,7 @@ "type": "string" }, "kind": { - "description": "This is always *sql#exportContext*.", + "description": "This is always `sql#exportContext`.", "type": "string" }, "offload": { @@ -2650,7 +2853,7 @@ "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.", + "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" } @@ -2672,7 +2875,7 @@ "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.", + "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" } }, @@ -2683,7 +2886,7 @@ "id": "FailoverContext", "properties": { "kind": { - "description": "This is always *sql#failoverContext*.", + "description": "This is always `sql#failoverContext`.", "type": "string" }, "settingsVersion": { @@ -2707,14 +2910,14 @@ "type": "array" }, "allowedStringValues": { - "description": "For *STRING* flags, a list of strings that the value can be set to.", + "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_8_0*, *MYSQL_5_6*, or *MYSQL_5_7*.", + "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", @@ -2731,7 +2934,14 @@ "POSTGRES_10", "POSTGRES_12", "MYSQL_8_0", - "POSTGRES_13" + "MYSQL_8_0_18", + "MYSQL_8_0_26", + "POSTGRES_13", + "POSTGRES_14", + "SQLSERVER_2019_STANDARD", + "SQLSERVER_2019_ENTERPRISE", + "SQLSERVER_2019_EXPRESS", + "SQLSERVER_2019_WEB" ], "enumDescriptions": [ "This is an unknown database version.", @@ -2748,7 +2958,14 @@ "The database version is PostgreSQL 10.", "The database version is PostgreSQL 12.", "The database version is MySQL 8.", - "The database version is PostgreSQL 13." + "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 version is PostgreSQL 13.", + "The database version is PostgreSQL 14.", + "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." ], "type": "string" }, @@ -2759,21 +2976,21 @@ "type": "boolean" }, "kind": { - "description": "This is always *sql#flag*.", + "description": "This is always `sql#flag`.", "type": "string" }, "maxValue": { - "description": "For *INTEGER* flags, the maximum allowed value.", + "description": "For `INTEGER` flags, the maximum allowed value.", "format": "int64", "type": "string" }, "minValue": { - "description": "For *INTEGER* flags, the minimum allowed value.", + "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*", + "description": "This is the name of the flag. Flag names always use underscores, not hyphens, for example: `max_allowed_packet`", "type": "string" }, "requiresRestart": { @@ -2781,7 +2998,7 @@ "type": "boolean" }, "type": { - "description": "The type of the flag. Flags are typed to being *BOOLEAN*, *STRING*, *INTEGER* or *NONE*. *NONE* is used for flags which do not take a value, such as *skip_grant_tables*.", + "description": "The type of the flag. Flags are typed to being `BOOLEAN`, `STRING`, `INTEGER` or `NONE`. `NONE` is used for flags which do not take a value, such as `skip_grant_tables`.", "enum": [ "SQL_FLAG_TYPE_UNSPECIFIED", "BOOLEAN", @@ -2819,12 +3036,48 @@ "type": "array" }, "kind": { - "description": "This is always *sql#flagsList*.", + "description": "This is always `sql#flagsList`.", "type": "string" } }, "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", @@ -2835,7 +3088,7 @@ "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.", + "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": { @@ -2843,7 +3096,7 @@ "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.", + "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" } }, @@ -2862,6 +3115,22 @@ }, "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" @@ -2870,11 +3139,11 @@ "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.", + "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.", + "description": "The file type for the specified uri. * `SQL`: The file contains SQL statements. * `CSV`: The file contains CSV data. * `BAK`: The file contains backup data for a SQL Server instance.", "enum": [ "SQL_FILE_TYPE_UNSPECIFIED", "SQL", @@ -2894,11 +3163,11 @@ "type": "string" }, "kind": { - "description": "This is always *sql#importContext*.", + "description": "This is always `sql#importContext`.", "type": "string" }, "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.", + "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" } }, @@ -2912,6 +3181,11 @@ "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", @@ -2928,6 +3202,25 @@ }, "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" + }, "InstancesCloneRequest": { "description": "Database instance clone request.", "id": "InstancesCloneRequest", @@ -2995,7 +3288,7 @@ "type": "array" }, "kind": { - "description": "This is always *sql#instancesList*.", + "description": "This is always `sql#instancesList`.", "type": "string" }, "nextPageToken": { @@ -3027,7 +3320,7 @@ "type": "array" }, "kind": { - "description": "This is always *sql#instancesListServerCas*.", + "description": "This is always `sql#instancesListServerCas`.", "type": "string" } }, @@ -3070,8 +3363,12 @@ "description": "IP Management configuration.", "id": "IpConfiguration", "properties": { + "allocatedIpRange": { + "description": "The name of the allocated ip range for the private ip CloudSQL 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: *192.168.100.0/24*).", + "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" }, @@ -3082,7 +3379,7 @@ "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.", + "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" }, "requireSsl": { @@ -3101,12 +3398,12 @@ "type": "string" }, "timeToRetire": { - "description": "The due time for this IP to be retired in RFC 3339 format, for example *2012-11-15T16:19:00.094Z*. This field is only available when the IP is scheduled to be retired.", + "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.", + "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", @@ -3127,23 +3424,23 @@ "type": "object" }, "LocationPreference": { - "description": "Preferred location. This specifies where a Cloud SQL instance is located, either in a specific Compute Engine zone, or co-located with an App Engine application. 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.", + "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": { - "description": "The App Engine application to follow, it must be in the same region as the Cloud SQL instance.", + "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*.", + "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.). Reserved for future use.", + "description": "The preferred Compute Engine zone for the secondary/failover (for example: us-central1-a, us-central1-b, etc.).", "type": "string" }, "zone": { - "description": "The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.).", + "description": "The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.). WARNING: Changing this might restart the instance.", "type": "string" } }, @@ -3164,11 +3461,11 @@ "type": "integer" }, "kind": { - "description": "This is always *sql#maintenanceWindow*.", + "description": "This is always `sql#maintenanceWindow`.", "type": "string" }, "updateTrack": { - "description": "Maintenance timing setting: *canary* (Earlier) or *stable* (Later). Learn more.", + "description": "Maintenance timing setting: `canary` (Earlier) or `stable` (Later). [Learn more](https://cloud.google.com/sql/docs/mysql/instance-settings#maintenance-timing-2ndgen).", "enum": [ "SQL_UPDATE_TRACK_UNSPECIFIED", "canary", @@ -3210,7 +3507,7 @@ "type": "string" }, "kind": { - "description": "This is always *sql#mysqlReplicaConfiguration*.", + "description": "This is always `sql#mysqlReplicaConfiguration`.", "type": "string" }, "masterHeartbeatPeriod": { @@ -3237,6 +3534,20 @@ }, "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", @@ -3262,13 +3573,17 @@ "type": "string" }, "kind": { - "description": "This is always *sql#onPremisesConfiguration*.", + "description": "This is always `sql#onPremisesConfiguration`.", "type": "string" }, "password": { "description": "The password for connecting to on-premises instance.", "type": "string" }, + "sourceInstance": { + "$ref": "InstanceReference", + "description": "The reference to Cloud SQL instance if the source is Cloud SQL." + }, "username": { "description": "The username for connecting to on-premises instance.", "type": "string" @@ -3285,7 +3600,7 @@ "description": "The context for backup operation, if applicable." }, "endTime": { - "description": "The time this operation finished in UTC timezone in RFC 3339 format, for example *2012-11-15T16:19:00.094Z*.", + "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" }, @@ -3302,12 +3617,12 @@ "description": "The context for import operation, if applicable." }, "insertTime": { - "description": "The time this operation was enqueued in UTC timezone in RFC 3339 format, for example *2012-11-15T16:19:00.094Z*.", + "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*.", + "description": "This is always `sql#operation`.", "type": "string" }, "name": { @@ -3315,7 +3630,7 @@ "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*", + "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", @@ -3397,12 +3712,12 @@ "type": "string" }, "startTime": { - "description": "The time this operation actually started in UTC timezone in RFC 3339 format, for example *2012-11-15T16:19:00.094Z*.", + "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. Valid values are: *PENDING* *RUNNING* *DONE* *SQL_OPERATION_STATUS_UNSPECIFIED*", + "description": "The status of an operation.", "enum": [ "SQL_OPERATION_STATUS_UNSPECIFIED", "PENDING", @@ -3444,7 +3759,7 @@ "type": "string" }, "kind": { - "description": "This is always *sql#operationError*.", + "description": "This is always `sql#operationError`.", "type": "string" }, "message": { @@ -3466,14 +3781,14 @@ "type": "array" }, "kind": { - "description": "This is always *sql#operationErrors*.", + "description": "This is always `sql#operationErrors`.", "type": "string" } }, "type": "object" }, "OperationsListResponse": { - "description": "Database instance list operations response.", + "description": "Operations list response.", "id": "OperationsListResponse", "properties": { "items": { @@ -3484,7 +3799,7 @@ "type": "array" }, "kind": { - "description": "This is always *sql#operationsList*.", + "description": "This is always `sql#operationsList`.", "type": "string" }, "nextPageToken": { @@ -3494,21 +3809,75 @@ }, "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" + }, + "disallowUsernameSubstring": { + "description": "Disallow username as a part of the password.", + "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 PostgresSQL.", + "format": "google-duration", + "type": "string" + }, + "reuseInterval": { + "description": "Number of previous passwords that cannot be reused.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "ReplicaConfiguration": { "description": "Read-replica configuration for connecting to the primary instance.", "id": "ReplicaConfiguration", "properties": { "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.", + "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*.", + "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." + "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" @@ -3526,14 +3895,14 @@ ], "enumDescriptions": [ "", - "If the user wants to schedule the maintenance to happen now.", - "If the user wants to use the existing maintenance policy to find the next available window.", - "If the user wants to reschedule the maintenance to a specific time." + "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 format, for example *2012-11-15T16:19:00.094Z*.", + "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" } @@ -3554,7 +3923,7 @@ "type": "string" }, "kind": { - "description": "This is always *sql#restoreBackupContext*.", + "description": "This is always `sql#restoreBackupContext`.", "type": "string" }, "project": { @@ -3569,7 +3938,7 @@ "id": "RotateServerCaContext", "properties": { "kind": { - "description": "This is always *sql#rotateServerCaContext*.", + "description": "This is always `sql#rotateServerCaContext`.", "type": "string" }, "nextVersion": { @@ -3584,7 +3953,7 @@ "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.", + "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", @@ -3611,7 +3980,7 @@ "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.", + "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", @@ -3642,7 +4011,7 @@ "type": "string" }, "dataDiskType": { - "description": "The type of data disk: PD_SSD (default) or PD_HDD. Not used for First Generation instances.", + "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", @@ -3665,7 +4034,7 @@ "type": "array" }, "databaseReplicationEnabled": { - "description": "Configuration specific to read replica instances. Indicates whether replication is enabled or not.", + "description": "Configuration specific to read replica instances. Indicates whether replication is enabled or not. WARNING: Changing this restarts the instance.", "type": "boolean" }, "denyMaintenancePeriods": { @@ -3684,7 +4053,7 @@ "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*.", + "description": "This is always `sql#settings`.", "type": "string" }, "locationPreference": { @@ -3695,8 +4064,12 @@ "$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.", + "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", @@ -3710,7 +4083,7 @@ "type": "string" }, "replicationType": { - "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.", + "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", @@ -3728,6 +4101,10 @@ "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" @@ -3738,7 +4115,7 @@ "type": "string" }, "tier": { - "description": "The tier (or machine type) for this instance, for example *db-custom-1-3840* .", + "description": "The tier (or machine type) for this instance, for example `db-custom-1-3840`. WARNING: Changing this restarts the instance.", "type": "string" }, "userLabels": { @@ -3775,7 +4152,7 @@ "type": "string" }, "kind": { - "description": "Can be *sql#externalSyncSettingError* or *sql#externalSyncSettingWarning*.", + "description": "Can be `sql#externalSyncSettingError` or `sql#externalSyncSettingWarning`.", "type": "string" }, "type": { @@ -3802,7 +4179,11 @@ "UNSUPPORTED_GTID_MODE", "SQLSERVER_AGENT_NOT_RUNNING", "UNSUPPORTED_TABLE_DEFINITION", - "UNSUPPORTED_DEFINER" + "UNSUPPORTED_DEFINER", + "SQLSERVER_SERVERNAME_MISMATCH", + "PRIMARY_ALREADY_SETUP", + "UNSUPPORTED_BINLOG_FORMAT", + "BINLOG_RETENTION_SETTING" ], "enumDescriptions": [ "", @@ -3826,7 +4207,11 @@ "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.", - "The customer has a definer that will break EM setup." + "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." ], "type": "string" } @@ -3844,6 +4229,66 @@ }, "type": "object" }, + "SqlInstancesStartExternalSyncRequest": { + "id": "SqlInstancesStartExternalSyncRequest", + "properties": { + "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" + } + }, + "type": "object" + }, + "SqlInstancesVerifyExternalSyncSettingsRequest": { + "id": "SqlInstancesVerifyExternalSyncSettingsRequest", + "properties": { + "mysqlSyncConfig": { + "$ref": "MySqlSyncConfig", + "description": "Optional. MySQL-specific settings for start external sync." + }, + "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" + }, + "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", @@ -3856,7 +4301,7 @@ "type": "array" }, "kind": { - "description": "This is always *sql#migrationSettingErrorList*.", + "description": "This is always `sql#migrationSettingErrorList`.", "type": "string" }, "warnings": { @@ -3869,6 +4314,32 @@ }, "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 maintenancce for this instance.", "id": "SqlScheduledMaintenance", @@ -3880,6 +4351,11 @@ "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", @@ -3888,6 +4364,21 @@ }, "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" + } + }, + "type": "object" + }, "SqlServerDatabaseDetails": { "description": "Represents a Sql Server database on the Cloud SQL instance.", "id": "SqlServerDatabaseDetails", @@ -3939,12 +4430,12 @@ "type": "string" }, "createTime": { - "description": "The time when the certificate was created in RFC 3339 format, for example *2012-11-15T16:19:00.094Z*", + "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 format, for example *2012-11-15T16:19:00.094Z*.", + "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" }, @@ -3953,7 +4444,7 @@ "type": "string" }, "kind": { - "description": "This is always *sql#sslCert*.", + "description": "This is always `sql#sslCert`.", "type": "string" }, "selfLink": { @@ -4017,7 +4508,7 @@ "description": "The new client certificate and private key." }, "kind": { - "description": "This is always *sql#sslCertsInsert*.", + "description": "This is always `sql#sslCertsInsert`.", "type": "string" }, "operation": { @@ -4043,7 +4534,22 @@ "type": "array" }, "kind": { - "description": "This is always *sql#sslCertsList*.", + "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" } }, @@ -4064,7 +4570,7 @@ "type": "string" }, "kind": { - "description": "This is always *sql#tier*.", + "description": "This is always `sql#tier`.", "type": "string" }, "region": { @@ -4075,7 +4581,7 @@ "type": "array" }, "tier": { - "description": "An identifier for the machine type, for example, db-custom-1-3840. For related information, see Pricing.", + "description": "An identifier for the machine type, for example, `db-custom-1-3840`. For related information, see [Pricing](/sql/pricing).", "type": "string" } }, @@ -4093,7 +4599,7 @@ "type": "array" }, "kind": { - "description": "This is always *sql#tiersList*.", + "description": "This is always `sql#tiersList`.", "type": "string" } }, @@ -4104,11 +4610,11 @@ "id": "TruncateLogContext", "properties": { "kind": { - "description": "This is always *sql#truncateLogContext*.", + "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*.", + "description": "The type of log to truncate. Valid values are `MYSQL_GENERAL_TABLE` and `MYSQL_SLOW_TABLE`.", "type": "string" } }, @@ -4123,27 +4629,31 @@ "type": "string" }, "host": { - "description": "The host name 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.", + "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* since it is already specified on the URL.", + "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*.", + "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* since it is already specified in the URL.", + "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* since it is already specified on the URL.", + "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": { @@ -4166,6 +4676,32 @@ }, "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" + }, + "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", diff --git a/etc/api/storage/v1/storage-api.json b/etc/api/storage/v1/storage-api.json index fda2366e8f..18846f24d4 100644 --- a/etc/api/storage/v1/storage-api.json +++ b/etc/api/storage/v1/storage-api.json @@ -26,7 +26,7 @@ "description": "Stores and retrieves potentially large, immutable data objects.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/storage/docs/json_api/", - "etag": "\"32353234383033303438373739353137313237\"", + "etag": "\"33393833373235383936383930383337323037\"", "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" @@ -79,6 +79,11 @@ "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", @@ -3230,7 +3235,7 @@ } } }, - "revision": "20210330", + "revision": "20220228", "rootUrl": "https://storage.googleapis.com/", "schemas": { "Bucket": { @@ -3249,6 +3254,21 @@ }, "type": "array" }, + "autoclass": { + "description": "The bucket's Autoclass configuration.", + "properties": { + "enabled": { + "description": "Whether or not Autoclass is enabled on this bucket", + "type": "boolean" + }, + "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": { @@ -3294,6 +3314,19 @@ }, "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" @@ -3338,7 +3371,7 @@ "type": "object" }, "publicAccessPrevention": { - "description": "The bucket's Public Access Prevention configuration. Currently, 'unspecified' and 'enforced' are supported.", + "description": "The bucket's Public Access Prevention configuration. Currently, 'inherited' and 'enforced' are supported.", "type": "string" }, "uniformBucketLevelAccess": { @@ -3536,6 +3569,10 @@ }, "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" + }, "satisfiesPZS": { "description": "Reserved for future use.", "type": "boolean" @@ -3581,13 +3618,6 @@ } }, "type": "object" - }, - "zoneAffinity": { - "description": "The zone or zones from which the bucket is intended to use zonal quota. Requests for data from outside the specified affinities are still allowed but won't be able to use zonal quota. The zone or zones need to be within the bucket location otherwise the requests will fail with a 400 Bad Request response.", - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" diff --git a/etc/api/storagetransfer/v1/storagetransfer-api.json b/etc/api/storagetransfer/v1/storagetransfer-api.json index aaf46e5f27..65ca50c94d 100644 --- a/etc/api/storagetransfer/v1/storagetransfer-api.json +++ b/etc/api/storagetransfer/v1/storagetransfer-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -107,7 +107,7 @@ "googleServiceAccounts": { "methods": { "get": { - "description": "Returns the Google service account that is used by Storage Transfer Service to access buckets in the project where transfers run or in other projects. Each Google service account is associated with one Google Cloud Platform Console project. Users should add this service account to the Google Cloud Storage bucket ACLs to grant access to Storage Transfer Service. This service account is created and owned by Storage Transfer Service and can only be used by Storage Transfer Service.", + "description": "Returns the Google service account that is used by Storage Transfer Service to access buckets in the project where transfers run or in other projects. Each Google service account is associated with one Google Cloud project. Users should add this service account to the Google Cloud Storage bucket ACLs to grant access to Storage Transfer Service. This service account is created and owned by Storage Transfer Service and can only be used by Storage Transfer Service.", "flatPath": "v1/googleServiceAccounts/{projectId}", "httpMethod": "GET", "id": "storagetransfer.googleServiceAccounts.get", @@ -116,7 +116,7 @@ ], "parameters": { "projectId": { - "description": "Required. The ID of the Google Cloud Platform Console project that the Google service account is associated with.", + "description": "Required. The ID of the Google Cloud project that the Google service account is associated with.", "location": "path", "required": true, "type": "string" @@ -132,6 +132,172 @@ } } }, + "projects": { + "resources": { + "agentPools": { + "methods": { + "create": { + "description": "Creates an agent pool resource.", + "flatPath": "v1/projects/{projectsId}/agentPools", + "httpMethod": "POST", + "id": "storagetransfer.projects.agentPools.create", + "parameterOrder": [ + "projectId" + ], + "parameters": { + "agentPoolId": { + "description": "Required. The ID of the agent pool to create. The `agent_pool_id` must meet the following requirements: * Length of 128 characters or less. * Not start with the string `goog`. * Start with a lowercase ASCII character, followed by: * Zero or more: lowercase Latin alphabet characters, numerals, hyphens (`-`), periods (`.`), underscores (`_`), or tildes (`~`). * One or more numerals or lowercase ASCII characters. As expressed by the regular expression: `^(?!goog)[a-z]([a-z0-9-._~]*[a-z0-9])?$`.", + "location": "query", + "type": "string" + }, + "projectId": { + "description": "Required. The ID of the Google Cloud project that owns the agent pool.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/projects/{+projectId}/agentPools", + "request": { + "$ref": "AgentPool" + }, + "response": { + "$ref": "AgentPool" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an agent pool.", + "flatPath": "v1/projects/{projectsId}/agentPools/{agentPoolsId}", + "httpMethod": "DELETE", + "id": "storagetransfer.projects.agentPools.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the agent pool to delete.", + "location": "path", + "pattern": "^projects/[^/]+/agentPools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets an agent pool.", + "flatPath": "v1/projects/{projectsId}/agentPools/{agentPoolsId}", + "httpMethod": "GET", + "id": "storagetransfer.projects.agentPools.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the agent pool to get.", + "location": "path", + "pattern": "^projects/[^/]+/agentPools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "AgentPool" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists agent pools.", + "flatPath": "v1/projects/{projectsId}/agentPools", + "httpMethod": "GET", + "id": "storagetransfer.projects.agentPools.list", + "parameterOrder": [ + "projectId" + ], + "parameters": { + "filter": { + "description": "An optional list of query parameters specified as JSON text in the form of: `{\"agentPoolNames\":[\"agentpool1\",\"agentpool2\",...]}` Since `agentPoolNames` support multiple values, its values must be specified with array notation. When the filter is either empty or not provided, the list returns all agent pools for the project.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The list page size. The max allowed value is `256`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The list page token.", + "location": "query", + "type": "string" + }, + "projectId": { + "description": "Required. The ID of the Google Cloud project that owns the job.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/projects/{+projectId}/agentPools", + "response": { + "$ref": "ListAgentPoolsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing agent pool resource.", + "flatPath": "v1/projects/{projectsId}/agentPools/{agentPoolsId}", + "httpMethod": "PATCH", + "id": "storagetransfer.projects.agentPools.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Specifies a unique string that identifies the agent pool. Format: `projects/{project_id}/agentPools/{agent_pool_id}`", + "location": "path", + "pattern": "^projects/[^/]+/agentPools/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The [field mask] (https://developers.google.com/protocol-buffers/docs/reference/google.protobuf) of the fields in `agentPool` to update in this request. The following `agentPool` fields can be updated: * display_name * bandwidth_limit", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "AgentPool" + }, + "response": { + "$ref": "AgentPool" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, "transferJobs": { "methods": { "create": { @@ -163,14 +329,14 @@ ], "parameters": { "jobName": { - "description": "Required. \" The job to get.", + "description": "Required. The job to get.", "location": "path", "pattern": "^transferJobs/.*$", "required": true, "type": "string" }, "projectId": { - "description": "Required. The ID of the Google Cloud Platform Console project that owns the job.", + "description": "Required. The ID of the Google Cloud project that owns the job.", "location": "query", "required": true, "type": "string" @@ -248,7 +414,7 @@ ] }, "run": { - "description": "Attempts to start a new TransferOperation for the current TransferJob. A TransferJob has a maximum of one active TransferOperation. If this method is called while a TransferOperation is active, an error wil be returned.", + "description": "Attempts to start a new TransferOperation for the current TransferJob. A TransferJob has a maximum of one active TransferOperation. If this method is called while a TransferOperation is active, an error will be returned.", "flatPath": "v1/transferJobs/{transferJobsId}:run", "httpMethod": "POST", "id": "storagetransfer.transferJobs.run", @@ -349,7 +515,7 @@ "type": "string" }, "name": { - "description": "Not used.", + "description": "Required. The name of the type being listed; must be `transferOperations`.", "location": "path", "pattern": "^transferOperations$", "required": true, @@ -434,9 +600,45 @@ } } }, - "revision": "20210316", + "revision": "20220223", "rootUrl": "https://storagetransfer.googleapis.com/", "schemas": { + "AgentPool": { + "description": "Represents an On-Premises Agent pool.", + "id": "AgentPool", + "properties": { + "bandwidthLimit": { + "$ref": "BandwidthLimit", + "description": "Specifies the bandwidth limit details. If this field is unspecified, the default value is set as 'No Limit'." + }, + "displayName": { + "description": "Specifies the client-specified AgentPool description.", + "type": "string" + }, + "name": { + "description": "Required. Specifies a unique string that identifies the agent pool. Format: `projects/{project_id}/agentPools/{agent_pool_id}`", + "type": "string" + }, + "state": { + "description": "Output only. Specifies the state of the AgentPool.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "CREATED", + "DELETING" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "This is an initialization state. During this stage, the resources such as Pub/Sub topics are allocated for the AgentPool.", + "Determines that the AgentPool is created for use. At this state, Agents can join the AgentPool and participate in the transfer jobs in that pool.", + "Determines that the AgentPool deletion has been initiated, and all the resources are scheduled to be cleaned up and freed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "AwsAccessKey": { "description": "AWS access key (see [AWS Security Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)). For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials).", "id": "AwsAccessKey", @@ -458,7 +660,7 @@ "properties": { "awsAccessKey": { "$ref": "AwsAccessKey", - "description": "Required. Input only. AWS access key used to sign the API requests to the AWS S3 bucket. Permissions on the bucket must be granted to the access ID of the AWS access key. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials)." + "description": "Input only. AWS access key used to sign the API requests to the AWS S3 bucket. Permissions on the bucket must be granted to the access ID of the AWS access key. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials)." }, "bucketName": { "description": "Required. S3 Bucket name (see [Creating a bucket](https://docs.aws.amazon.com/AmazonS3/latest/dev/create-bucket-get-location-example.html)).", @@ -467,6 +669,10 @@ "path": { "description": "Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.", "type": "string" + }, + "roleArn": { + "description": "The Amazon Resource Name (ARN) of the role to support temporary credentials via `AssumeRoleWithWebIdentity`. For more information about ARNs, see [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns). When a role ARN is provided, Transfer Service fetches temporary credentials for the session using a `AssumeRoleWithWebIdentity` call for the provided role using the GoogleServiceAccount for this project.", + "type": "string" } }, "type": "object" @@ -499,7 +705,19 @@ "id": "AzureCredentials", "properties": { "sasToken": { - "description": "Required. Azure shared access signature. (see [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview)).", + "description": "Required. Azure shared access signature (SAS). For more information about SAS, see [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).", + "type": "string" + } + }, + "type": "object" + }, + "BandwidthLimit": { + "description": "Specifies a bandwidth limit for an agent pool.", + "id": "BandwidthLimit", + "properties": { + "limitMbps": { + "description": "Bandwidth rate in megabytes per second, distributed across all the agents in the pool.", + "format": "int64", "type": "string" } }, @@ -512,7 +730,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "Date", "properties": { "day": { @@ -593,7 +811,7 @@ "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 (e.g., 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. E.g., 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 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", @@ -609,7 +827,7 @@ "type": "string" }, "errorLogEntries": { - "description": "Error samples. At most 5 error log entries will be recorded for a given error code for a single transfer operation.", + "description": "Error samples. At most 5 error log entries are recorded for a given error code for a single transfer operation.", "items": { "$ref": "ErrorLogEntry" }, @@ -623,11 +841,11 @@ "id": "GcsData", "properties": { "bucketName": { - "description": "Required. Cloud Storage bucket name (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/naming#requirements)).", + "description": "Required. Cloud Storage bucket name. Must meet [Bucket Name Requirements](/storage/docs/naming#requirements).", "type": "string" }, "path": { - "description": "Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'. (must meet Object Name Requirements](https://cloud.google.com/storage/docs/naming#objectnames)).", + "description": "Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'. The root path value must meet [Object Name Requirements](/storage/docs/naming#objectnames).", "type": "string" } }, @@ -640,12 +858,16 @@ "accountEmail": { "description": "Email address of the service account.", "type": "string" + }, + "subjectId": { + "description": "Unique identifier for the service account.", + "type": "string" } }, "type": "object" }, "HttpData": { - "description": "An HttpData resource specifies a list of objects on the web to be transferred over HTTP. The information of the objects to be transferred is contained in a file referenced by a URL. The first line in the file must be `\"TsvHttpData-1.0\"`, which specifies the format of the file. Subsequent lines specify the information of the list of objects, one object per list entry. Each entry has the following tab-delimited fields: * **HTTP URL** \u2014 The location of the object. * **Length** \u2014 The size of the object in bytes. * **MD5** \u2014 The base64-encoded MD5 hash of the object. For an example of a valid TSV file, see [Transferring data from URLs](https://cloud.google.com/storage-transfer/docs/create-url-list). When transferring data based on a URL list, keep the following in mind: * When an object located at `http(s)://hostname:port/` is transferred to a data sink, the name of the object at the data sink is `/`. * If the specified size of an object does not match the actual size of the object fetched, the object will not be transferred. * If the specified MD5 does not match the MD5 computed from the transferred bytes, the object transfer will fail. * Ensure that each URL you specify is publicly accessible. For example, in Cloud Storage you can [share an object publicly] (https://cloud.google.com/storage/docs/cloud-console#_sharingdata) and get a link to it. * Storage Transfer Service obeys `robots.txt` rules and requires the source HTTP server to support `Range` requests and to return a `Content-Length` header in each response. * ObjectConditions have no effect when filtering objects to transfer.", + "description": "An HttpData resource specifies a list of objects on the web to be transferred over HTTP. The information of the objects to be transferred is contained in a file referenced by a URL. The first line in the file must be `\"TsvHttpData-1.0\"`, which specifies the format of the file. Subsequent lines specify the information of the list of objects, one object per list entry. Each entry has the following tab-delimited fields: * **HTTP URL** \u2014 The location of the object. * **Length** \u2014 The size of the object in bytes. * **MD5** \u2014 The base64-encoded MD5 hash of the object. For an example of a valid TSV file, see [Transferring data from URLs](https://cloud.google.com/storage-transfer/docs/create-url-list). When transferring data based on a URL list, keep the following in mind: * When an object located at `http(s)://hostname:port/` is transferred to a data sink, the name of the object at the data sink is `/`. * If the specified size of an object does not match the actual size of the object fetched, the object is not transferred. * If the specified MD5 does not match the MD5 computed from the transferred bytes, the object transfer fails. * Ensure that each URL you specify is publicly accessible. For example, in Cloud Storage you can [share an object publicly] (/storage/docs/cloud-console#_sharingdata) and get a link to it. * Storage Transfer Service obeys `robots.txt` rules and requires the source HTTP server to support `Range` requests and to return a `Content-Length` header in each response. * ObjectConditions have no effect when filtering objects to transfer.", "id": "HttpData", "properties": { "listUrl": { @@ -655,6 +877,24 @@ }, "type": "object" }, + "ListAgentPoolsResponse": { + "description": "Response from ListAgentPools.", + "id": "ListAgentPoolsResponse", + "properties": { + "agentPools": { + "description": "A list of agent pools.", + "items": { + "$ref": "AgentPool" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The list next page token.", + "type": "string" + } + }, + "type": "object" + }, "ListOperationsResponse": { "description": "The response message for Operations.ListOperations.", "id": "ListOperationsResponse", @@ -691,8 +931,196 @@ }, "type": "object" }, + "LoggingConfig": { + "description": "Specifies the logging behavior for transfer operations. For cloud-to-cloud transfers, logs are sent to Cloud Logging. See [Read transfer logs](https://cloud.google.com/storage-transfer/docs/read-transfer-logs) for details. For transfers to or from a POSIX file system, logs are stored in the Cloud Storage bucket that is the source or sink of the transfer. See [Managing Transfer for on-premises jobs] (https://cloud.google.com/storage-transfer/docs/managing-on-prem-jobs#viewing-logs) for details.", + "id": "LoggingConfig", + "properties": { + "enableOnpremGcsTransferLogs": { + "description": "For transfers with a PosixFilesystem source, this option enables the Cloud Storage transfer logs for this transfer.", + "type": "boolean" + }, + "logActionStates": { + "description": "States in which `log_actions` are logged. If empty, no logs are generated. Not supported for transfers with PosixFilesystem data sources; use enable_onprem_gcs_transfer_logs instead.", + "items": { + "enum": [ + "LOGGABLE_ACTION_STATE_UNSPECIFIED", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "`LoggableAction` completed successfully. `SUCCEEDED` actions are logged as INFO.", + "`LoggableAction` terminated in an error state. `FAILED` actions are logged as ERROR." + ], + "type": "string" + }, + "type": "array" + }, + "logActions": { + "description": "Specifies the actions to be logged. If empty, no logs are generated. Not supported for transfers with PosixFilesystem data sources; use enable_onprem_gcs_transfer_logs instead.", + "items": { + "enum": [ + "LOGGABLE_ACTION_UNSPECIFIED", + "FIND", + "DELETE", + "COPY" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Listing objects in a bucket.", + "Deleting objects at the source or the destination.", + "Copying objects to Google Cloud Storage." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MetadataOptions": { + "description": "Specifies the metadata options for running a transfer. These options only apply to transfers involving a POSIX filesystem and are ignored for other transfers.", + "id": "MetadataOptions", + "properties": { + "acl": { + "description": "Specifies how each object's ACLs should be preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as ACL_DESTINATION_BUCKET_DEFAULT.", + "enum": [ + "ACL_UNSPECIFIED", + "ACL_DESTINATION_BUCKET_DEFAULT", + "ACL_PRESERVE" + ], + "enumDescriptions": [ + "ACL behavior is unspecified.", + "Use the destination bucket's default object ACLS, if applicable.", + "Preserve the object's original ACLs. This requires the service account to have `storage.objects.getIamPolicy` permission for the source object. [Uniform bucket-level access](https://cloud.google.com/storage/docs/uniform-bucket-level-access) must not be enabled on either the source or destination buckets." + ], + "type": "string" + }, + "gid": { + "description": "Specifies how each file's POSIX group ID (GID) attribute should be handled by the transfer. By default, GID is not preserved.", + "enum": [ + "GID_UNSPECIFIED", + "GID_SKIP", + "GID_NUMBER" + ], + "enumDescriptions": [ + "GID behavior is unspecified.", + "Do not preserve GID during a transfer job.", + "Preserve GID during a transfer job." + ], + "type": "string" + }, + "kmsKey": { + "description": "Specifies how each object's Cloud KMS customer-managed encryption key (CMEK) is preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as KMS_KEY_DESTINATION_BUCKET_DEFAULT.", + "enum": [ + "KMS_KEY_UNSPECIFIED", + "KMS_KEY_DESTINATION_BUCKET_DEFAULT", + "KMS_KEY_PRESERVE" + ], + "enumDescriptions": [ + "KmsKey behavior is unspecified.", + "Use the destination bucket's default encryption settings.", + "Preserve the object's original Cloud KMS customer-managed encryption key (CMEK) if present. Objects that do not use a Cloud KMS encryption key will be encrypted using the destination bucket's encryption settings." + ], + "type": "string" + }, + "mode": { + "description": "Specifies how each file's mode attribute should be handled by the transfer. By default, mode is not preserved.", + "enum": [ + "MODE_UNSPECIFIED", + "MODE_SKIP", + "MODE_PRESERVE" + ], + "enumDescriptions": [ + "Mode behavior is unspecified.", + "Do not preserve mode during a transfer job.", + "Preserve mode during a transfer job." + ], + "type": "string" + }, + "storageClass": { + "description": "Specifies the storage class to set on objects being transferred to Google Cloud Storage buckets. If unspecified, the default behavior is the same as STORAGE_CLASS_DESTINATION_BUCKET_DEFAULT.", + "enum": [ + "STORAGE_CLASS_UNSPECIFIED", + "STORAGE_CLASS_DESTINATION_BUCKET_DEFAULT", + "STORAGE_CLASS_PRESERVE", + "STORAGE_CLASS_STANDARD", + "STORAGE_CLASS_NEARLINE", + "STORAGE_CLASS_COLDLINE", + "STORAGE_CLASS_ARCHIVE" + ], + "enumDescriptions": [ + "Storage class behavior is unspecified.", + "Use the destination bucket's default storage class.", + "Preserve the object's original storage class. This is only supported for transfers from Google Cloud Storage buckets.", + "Set the storage class to STANDARD.", + "Set the storage class to NEARLINE.", + "Set the storage class to COLDLINE.", + "Set the storage class to ARCHIVE." + ], + "type": "string" + }, + "symlink": { + "description": "Specifies how symlinks should be handled by the transfer. By default, symlinks are not preserved.", + "enum": [ + "SYMLINK_UNSPECIFIED", + "SYMLINK_SKIP", + "SYMLINK_PRESERVE" + ], + "enumDescriptions": [ + "Symlink behavior is unspecified.", + "Do not preserve symlinks during a transfer job.", + "Preserve symlinks during a transfer job." + ], + "type": "string" + }, + "temporaryHold": { + "description": "Specifies how each object's temporary hold status should be preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as TEMPORARY_HOLD_PRESERVE.", + "enum": [ + "TEMPORARY_HOLD_UNSPECIFIED", + "TEMPORARY_HOLD_SKIP", + "TEMPORARY_HOLD_PRESERVE" + ], + "enumDescriptions": [ + "Temporary hold behavior is unspecified.", + "Do not set a temporary hold on the destination object.", + "Preserve the object's original temporary hold status." + ], + "type": "string" + }, + "timeCreated": { + "description": "Specifies how each object's `timeCreated` metadata is preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as TIME_CREATED_SKIP.", + "enum": [ + "TIME_CREATED_UNSPECIFIED", + "TIME_CREATED_SKIP", + "TIME_CREATED_PRESERVE_AS_CUSTOM_TIME" + ], + "enumDescriptions": [ + "TimeCreated behavior is unspecified.", + "Do not preserve the `timeCreated` metadata from the source object.", + "Preserves the source object's `timeCreated` metadata in the `customTime` field in the destination object. Note that any value stored in the source object's `customTime` field will not be propagated to the destination object." + ], + "type": "string" + }, + "uid": { + "description": "Specifies how each file's POSIX user ID (UID) attribute should be handled by the transfer. By default, UID is not preserved.", + "enum": [ + "UID_UNSPECIFIED", + "UID_SKIP", + "UID_NUMBER" + ], + "enumDescriptions": [ + "UID behavior is unspecified.", + "Do not preserve UID during a transfer job.", + "Preserve UID during a transfer job." + ], + "type": "string" + } + }, + "type": "object" + }, "NotificationConfig": { - "description": "Specification to configure notifications published to Cloud Pub/Sub. Notifications will be published to the customer-provided topic using the following `PubsubMessage.attributes`: * `\"eventType\"`: one of the EventType values * `\"payloadFormat\"`: one of the PayloadFormat values * `\"projectId\"`: the project_id of the `TransferOperation` * `\"transferJobName\"`: the transfer_job_name of the `TransferOperation` * `\"transferOperationName\"`: the name of the `TransferOperation` The `PubsubMessage.data` will contain a TransferOperation resource formatted according to the specified `PayloadFormat`.", + "description": "Specification to configure notifications published to Pub/Sub. Notifications are published to the customer-provided topic using the following `PubsubMessage.attributes`: * `\"eventType\"`: one of the EventType values * `\"payloadFormat\"`: one of the PayloadFormat values * `\"projectId\"`: the project_id of the `TransferOperation` * `\"transferJobName\"`: the transfer_job_name of the `TransferOperation` * `\"transferOperationName\"`: the name of the `TransferOperation` The `PubsubMessage.data` contains a TransferOperation resource formatted according to the specified `PayloadFormat`.", "id": "NotificationConfig", "properties": { "eventTypes": { @@ -729,14 +1157,14 @@ "type": "string" }, "pubsubTopic": { - "description": "Required. The `Topic.name` of the Cloud Pub/Sub topic to which to publish notifications. Must be of the format: `projects/{project}/topics/{topic}`. Not matching this format will result in an INVALID_ARGUMENT error.", + "description": "Required. The `Topic.name` of the Pub/Sub topic to which to publish notifications. Must be of the format: `projects/{project}/topics/{topic}`. Not matching this format results in an INVALID_ARGUMENT error.", "type": "string" } }, "type": "object" }, "ObjectConditions": { - "description": "Conditions that determine which objects will be transferred. Applies only to Cloud Data Sources such as S3, Azure, and Cloud Storage. The \"last modification time\" refers to the time of the last change to the object's content or metadata \u2014 specifically, this is the `updated` property of Cloud Storage objects, the `LastModified` field of S3 objects, and the `Last-Modified` header of Azure blobs.", + "description": "Conditions that determine which objects are transferred. Applies only to Cloud Data Sources such as S3, Azure, and Cloud Storage. The \"last modification time\" refers to the time of the last change to the object's content or metadata \u2014 specifically, this is the `updated` property of Cloud Storage objects, the `LastModified` field of S3 objects, and the `Last-Modified` header of Azure blobs. Transfers with a PosixFilesystem source or destination don't support `ObjectConditions`.", "id": "ObjectConditions", "properties": { "excludePrefixes": { @@ -754,7 +1182,7 @@ "type": "array" }, "lastModifiedBefore": { - "description": "If specified, only objects with a \"last modification time\" before this timestamp and objects that don't have a \"last modification time\" will be transferred.", + "description": "If specified, only objects with a \"last modification time\" before this timestamp and objects that don't have a \"last modification time\" are transferred.", "format": "google-datetime", "type": "string" }, @@ -764,12 +1192,12 @@ "type": "string" }, "maxTimeElapsedSinceLastModification": { - "description": "If specified, only objects with a \"last modification time\" on or after `NOW` - `max_time_elapsed_since_last_modification` and objects that don't have a \"last modification time\" are transferred. For each TransferOperation started by this TransferJob, `NOW` refers to the start_time of the `TransferOperation`.", + "description": "Ensures that objects are not transferred if a specific maximum time has elapsed since the \"last modification time\". When a TransferOperation begins, objects with a \"last modification time\" are transferred only if the elapsed time between the start_time of the `TransferOperation`and the \"last modification time\" of the object is less than the value of max_time_elapsed_since_last_modification`. Objects that do not have a \"last modification time\" are also transferred.", "format": "google-duration", "type": "string" }, "minTimeElapsedSinceLastModification": { - "description": "If specified, only objects with a \"last modification time\" before `NOW` - `min_time_elapsed_since_last_modification` and objects that don't have a \"last modification time\" are transferred. For each TransferOperation started by this TransferJob, `NOW` refers to the start_time of the `TransferOperation`.", + "description": "Ensures that objects are not transferred until a specific minimum time has elapsed after the \"last modification time\". When a TransferOperation begins, objects with a \"last modification time\" are transferred only if the elapsed time between the start_time of the `TransferOperation` and the \"last modification time\" of the object is equal to or greater than the value of min_time_elapsed_since_last_modification`. Objects that do not have a \"last modification time\" are also transferred.", "format": "google-duration", "type": "string" } @@ -817,6 +1245,17 @@ "properties": {}, "type": "object" }, + "PosixFilesystem": { + "description": "A POSIX filesystem resource.", + "id": "PosixFilesystem", + "properties": { + "rootDirectory": { + "description": "Root directory path to the filesystem.", + "type": "string" + } + }, + "type": "object" + }, "ResumeTransferOperationRequest": { "description": "Request passed to ResumeTransferOperation.", "id": "ResumeTransferOperationRequest", @@ -828,7 +1267,7 @@ "id": "RunTransferJobRequest", "properties": { "projectId": { - "description": "Required. The ID of the Google Cloud Platform Console project that owns the transfer job.", + "description": "Required. The ID of the Google Cloud project that owns the transfer job.", "type": "string" } }, @@ -849,11 +1288,11 @@ }, "scheduleEndDate": { "$ref": "Date", - "description": "The last day a transfer runs. Date boundaries are determined relative to UTC time. A job will run once per 24 hours within the following guidelines: * If `schedule_end_date` and schedule_start_date are the same and in the future relative to UTC, the transfer is executed only one time. * If `schedule_end_date` is later than `schedule_start_date` and `schedule_end_date` is in the future relative to UTC, the job will run each day at start_time_of_day through `schedule_end_date`." + "description": "The last day a transfer runs. Date boundaries are determined relative to UTC time. A job runs once per 24 hours within the following guidelines: * If `schedule_end_date` and schedule_start_date are the same and in the future relative to UTC, the transfer is executed only one time. * If `schedule_end_date` is later than `schedule_start_date` and `schedule_end_date` is in the future relative to UTC, the job runs each day at start_time_of_day through `schedule_end_date`." }, "scheduleStartDate": { "$ref": "Date", - "description": "Required. The start date of a transfer. Date boundaries are determined relative to UTC time. If `schedule_start_date` and start_time_of_day are in the past relative to the job's creation time, the transfer starts the day after you schedule the transfer request. **Note:** When starting jobs at or near midnight UTC it is possible that a job will start later than expected. For example, if you send an outbound request on June 1 one millisecond prior to midnight UTC and the Storage Transfer Service server receives the request on June 2, then it will create a TransferJob with `schedule_start_date` set to June 2 and a `start_time_of_day` set to midnight UTC. The first scheduled TransferOperation will take place on June 3 at midnight UTC." + "description": "Required. The start date of a transfer. Date boundaries are determined relative to UTC time. If `schedule_start_date` and start_time_of_day are in the past relative to the job's creation time, the transfer starts the day after you schedule the transfer request. **Note:** When starting jobs at or near midnight UTC it is possible that a job starts later than expected. For example, if you send an outbound request on June 1 one millisecond prior to midnight UTC and the Storage Transfer Service server receives the request on June 2, then it creates a TransferJob with `schedule_start_date` set to June 2 and a `start_time_of_day` set to midnight UTC. The first scheduled TransferOperation takes place on June 3 at midnight UTC." }, "startTimeOfDay": { "$ref": "TimeOfDay", @@ -960,6 +1399,31 @@ "format": "int64", "type": "string" }, + "directoriesFailedToListFromSource": { + "description": "For transfers involving PosixFilesystem only. Number of listing failures for each directory found at the source. Potential failures when listing a directory include permission failure or block failure. If listing a directory fails, no files in the directory are transferred.", + "format": "int64", + "type": "string" + }, + "directoriesFoundFromSource": { + "description": "For transfers involving PosixFilesystem only. Number of directories found while listing. For example, if the root directory of the transfer is `base/` and there are two other directories, `a/` and `b/` under this directory, the count after listing `base/`, `base/a/` and `base/b/` is 3.", + "format": "int64", + "type": "string" + }, + "directoriesSuccessfullyListedFromSource": { + "description": "For transfers involving PosixFilesystem only. Number of successful listings for each directory found at the source.", + "format": "int64", + "type": "string" + }, + "intermediateObjectsCleanedUp": { + "description": "Number of successfully cleaned up intermediate objects.", + "format": "int64", + "type": "string" + }, + "intermediateObjectsFailedCleanedUp": { + "description": "Number of intermediate objects failed cleaned up.", + "format": "int64", + "type": "string" + }, "objectsCopiedToSink": { "description": "Objects that are copied to the data sink.", "format": "int64", @@ -1030,24 +1494,28 @@ "type": "string" }, "latestOperationName": { - "description": "The name of the most recently started TransferOperation of this JobConfig. Present if and only if at least one TransferOperation has been created for this JobConfig.", + "description": "The name of the most recently started TransferOperation of this JobConfig. Present if a TransferOperation has been created for this JobConfig.", "type": "string" }, + "loggingConfig": { + "$ref": "LoggingConfig", + "description": "Logging configuration." + }, "name": { - "description": "A unique name (within the transfer project) assigned when the job is created. If this field is empty in a CreateTransferJobRequest, Storage Transfer Service will assign a unique name. Otherwise, the specified name is used as the unique name for this job. If the specified name is in use by a job, the creation request fails with an ALREADY_EXISTS error. This name must start with `\"transferJobs/\"` prefix and end with a letter or a number, and should be no more than 128 characters. Example: `\"transferJobs/[A-Za-z0-9-._~]*[A-Za-z0-9]$\"` Invalid job names will fail with an INVALID_ARGUMENT error.", + "description": "A unique name (within the transfer project) assigned when the job is created. If this field is empty in a CreateTransferJobRequest, Storage Transfer Service assigns a unique name. Otherwise, the specified name is used as the unique name for this job. If the specified name is in use by a job, the creation request fails with an ALREADY_EXISTS error. This name must start with `\"transferJobs/\"` prefix and end with a letter or a number, and should be no more than 128 characters. For transfers involving PosixFilesystem, this name must start with `transferJobs/OPI` specifically. For all other transfer types, this name must not start with `transferJobs/OPI`. Non-PosixFilesystem example: `\"transferJobs/^(?!OPI)[A-Za-z0-9-._~]*[A-Za-z0-9]$\"` PosixFilesystem example: `\"transferJobs/OPI^[A-Za-z0-9-._~]*[A-Za-z0-9]$\"` Applications must not rely on the enforcement of naming requirements involving OPI. Invalid job names fail with an INVALID_ARGUMENT error.", "type": "string" }, "notificationConfig": { "$ref": "NotificationConfig", - "description": "Notification configuration." + "description": "Notification configuration. This is not supported for transfers involving PosixFilesystem." }, "projectId": { - "description": "The ID of the Google Cloud Platform Project that owns the job.", + "description": "The ID of the Google Cloud project that owns the job.", "type": "string" }, "schedule": { "$ref": "Schedule", - "description": "Specifies schedule for the transfer job. This is an optional field. When the field is not set, the job will never execute a transfer, unless you invoke RunTransferJob or update the job to have a non-empty schedule." + "description": "Specifies schedule for the transfer job. This is an optional field. When the field is not set, the job never executes a transfer, unless you invoke RunTransferJob or update the job to have a non-empty schedule." }, "status": { "description": "Status of the job. This value MUST be specified for `CreateTransferJobRequests`. **Note:** The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation.", @@ -1059,8 +1527,8 @@ ], "enumDescriptions": [ "Zero is an illegal value.", - "New transfers will be performed based on the schedule.", - "New transfers will not be scheduled.", + "New transfers are performed based on the schedule.", + "New transfers are not scheduled.", "This is a soft delete state. After a transfer job is set to this state, the job and all the transfer executions are subject to garbage collection. Transfer jobs become eligible for garbage collection 30 days after their status is set to `DELETED`." ], "type": "string" @@ -1072,6 +1540,17 @@ }, "type": "object" }, + "TransferManifest": { + "description": "Specifies where the manifest is located.", + "id": "TransferManifest", + "properties": { + "location": { + "description": "Specifies the path to the manifest in Cloud Storage. The Google-managed service account for the transfer must have `storage.objects.get` permission for this object. An example path is `gs://bucket_name/path/manifest.csv`.", + "type": "string" + } + }, + "type": "object" + }, "TransferOperation": { "description": "A description of the execution of a transfer.", "id": "TransferOperation", @@ -1101,7 +1580,7 @@ "description": "Notification configuration." }, "projectId": { - "description": "The ID of the Google Cloud Platform Project that owns the operation.", + "description": "The ID of the Google Cloud project that owns the operation.", "type": "string" }, "startTime": { @@ -1154,8 +1633,12 @@ "description": "Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.", "type": "boolean" }, + "metadataOptions": { + "$ref": "MetadataOptions", + "description": "Represents the selected metadata options for a transfer job. This feature is in Preview." + }, "overwriteObjectsAlreadyExistingInSink": { - "description": "When to overwrite objects that already exist in the sink. The default is that only objects that are different from the source are ovewritten. If true, all objects in the sink whose name matches an object in the source will be overwritten with the source object.", + "description": "When to overwrite objects that already exist in the sink. The default is that only objects that are different from the source are ovewritten. If true, all objects in the sink whose name matches an object in the source are overwritten with the source object.", "type": "boolean" } }, @@ -1181,6 +1664,10 @@ "$ref": "GcsData", "description": "A Cloud Storage data source." }, + "gcsIntermediateDataLocation": { + "$ref": "GcsData", + "description": "Cloud Storage intermediate data location." + }, "httpDataSource": { "$ref": "HttpData", "description": "An HTTP URL data source." @@ -1189,6 +1676,26 @@ "$ref": "ObjectConditions", "description": "Only objects that satisfy these object conditions are included in the set of data source and data sink objects. Object conditions based on objects' \"last modification time\" do not exclude objects in a data sink." }, + "posixDataSink": { + "$ref": "PosixFilesystem", + "description": "A POSIX Filesystem data sink." + }, + "posixDataSource": { + "$ref": "PosixFilesystem", + "description": "A POSIX Filesystem data source." + }, + "sinkAgentPoolName": { + "description": "Specifies the agent pool name associated with the posix data sink. When unspecified, the default name is used.", + "type": "string" + }, + "sourceAgentPoolName": { + "description": "Specifies the agent pool name associated with the posix data source. When unspecified, the default name is used.", + "type": "string" + }, + "transferManifest": { + "$ref": "TransferManifest", + "description": "A manifest file provides a list of objects to be transferred from the data source. This field points to the location of the manifest file. Otherwise, the entire source bucket is used. ObjectConditions still apply." + }, "transferOptions": { "$ref": "TransferOptions", "description": "If the option delete_objects_unique_in_sink is `true` and time-based object conditions such as 'last modification time' are specified, the request fails with an INVALID_ARGUMENT error." @@ -1201,15 +1708,15 @@ "id": "UpdateTransferJobRequest", "properties": { "projectId": { - "description": "Required. The ID of the Google Cloud Platform Console project that owns the job.", + "description": "Required. The ID of the Google Cloud project that owns the job.", "type": "string" }, "transferJob": { "$ref": "TransferJob", - "description": "Required. The job to update. `transferJob` is expected to specify only four fields: description, transfer_spec, notification_config, and status. An `UpdateTransferJobRequest` that specifies other fields are rejected with the error INVALID_ARGUMENT. Updating a job satus to DELETED requires `storagetransfer.jobs.delete` permissions." + "description": "Required. The job to update. `transferJob` is expected to specify one or more of five fields: description, transfer_spec, notification_config, logging_config, and status. An `UpdateTransferJobRequest` that specifies other fields are rejected with the error INVALID_ARGUMENT. Updating a job status to DELETED requires `storagetransfer.jobs.delete` permissions." }, "updateTransferJobFieldMask": { - "description": "The field mask of the fields in `transferJob` that are to be updated in this request. Fields in `transferJob` that can be updated are: description, transfer_spec, notification_config, and status. To update the `transfer_spec` of the job, a complete transfer specification must be provided. An incomplete specification missing any required fields is rejected with the error INVALID_ARGUMENT.", + "description": "The field mask of the fields in `transferJob` that are to be updated in this request. Fields in `transferJob` that can be updated are: description, transfer_spec, notification_config, logging_config, and status. To update the `transfer_spec` of the job, a complete transfer specification must be provided. An incomplete specification missing any required fields is rejected with the error INVALID_ARGUMENT.", "format": "google-fieldmask", "type": "string" } diff --git a/etc/api/streetviewpublish/v1/streetviewpublish-api.json b/etc/api/streetviewpublish/v1/streetviewpublish-api.json index 9e6059bc40..65773410b3 100644 --- a/etc/api/streetviewpublish/v1/streetviewpublish-api.json +++ b/etc/api/streetviewpublish/v1/streetviewpublish-api.json @@ -176,7 +176,7 @@ "INCLUDE_DOWNLOAD_URL" ], "enumDescriptions": [ - "Server reponses do not include the download URL for the photo bytes. The default value.", + "Server responses do not include the download URL for the photo bytes. The default value.", "Server responses include the download URL for the photo bytes." ], "location": "query", @@ -219,13 +219,13 @@ ], "parameters": { "id": { - "description": "Required. A unique identifier for a photo.", + "description": "A unique identifier for a photo.", "location": "path", "required": true, "type": "string" }, "updateMask": { - "description": "Required. Mask that identifies fields on the photo metadata to update. If not present, the old Photo metadata is entirely replaced with the new Photo metadata in this request. The update fails if invalid fields are specified. Multiple fields can be specified in a comma-delimited list. The following fields are valid: * `pose.heading` * `pose.latLngPair` * `pose.pitch` * `pose.roll` * `pose.level` * `pose.altitude` * `connections` * `places` *Note:* When updateMask contains repeated fields, the entire set of repeated values get replaced with the new contents. For example, if updateMask contains `connections` and `UpdatePhotoRequest.photo.connections` is empty, all connections are removed.", + "description": "Required. Mask that identifies fields on the photo metadata to update. If not present, the old Photo metadata is entirely replaced with the new Photo metadata in this request. The update fails if invalid fields are specified. Multiple fields can be specified in a comma-delimited list. The following fields are valid: * `pose.heading` * `pose.latLngPair` * `pose.pitch` * `pose.roll` * `pose.level` * `pose.altitude` * `connections` * `places` > Note: When updateMask contains repeated fields, the entire set of repeated values get replaced with the new contents. For example, if updateMask contains `connections` and `UpdatePhotoRequest.photo.connections` is empty, all connections are removed.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -272,7 +272,7 @@ "parameterOrder": [], "parameters": { "languageCode": { - "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If language_code is unspecified, the user's language preference for Google services is used.", + "description": "Optional. The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If language_code is unspecified, the user's language preference for Google services is used.", "location": "query", "type": "string" }, @@ -289,7 +289,7 @@ "INCLUDE_DOWNLOAD_URL" ], "enumDescriptions": [ - "Server reponses do not include the download URL for the photo bytes. The default value.", + "Server responses do not include the download URL for the photo bytes. The default value.", "Server responses include the download URL for the photo bytes." ], "location": "query", @@ -305,7 +305,7 @@ ] }, "batchUpdate": { - "description": "Updates the metadata of Photos, such as pose, place association, connections, etc. Changing the pixels of photos is not supported. Note that if BatchUpdatePhotos fails, either critical fields are missing or there is an authentication error. Even if BatchUpdatePhotos succeeds, individual photos in the batch may have failures. These failures are specified in each PhotoResponse.status in BatchUpdatePhotosResponse.results. See UpdatePhoto for specific failures that can occur per photo. Only the fields specified in updateMask field are used. If `updateMask` is not present, the update applies to all fields. The number of UpdatePhotoRequest messages in a BatchUpdatePhotosRequest must not exceed 20. *Note:* To update Pose.altitude, Pose.latLngPair has to be filled as well. Otherwise, the request will fail.", + "description": "Updates the metadata of Photos, such as pose, place association, connections, etc. Changing the pixels of photos is not supported. Note that if BatchUpdatePhotos fails, either critical fields are missing or there is an authentication error. Even if BatchUpdatePhotos succeeds, individual photos in the batch may have failures. These failures are specified in each PhotoResponse.status in BatchUpdatePhotosResponse.results. See UpdatePhoto for specific failures that can occur per photo. Only the fields specified in updateMask field are used. If `updateMask` is not present, the update applies to all fields. The number of UpdatePhotoRequest messages in a BatchUpdatePhotosRequest must not exceed 20. > Note: To update Pose.altitude, Pose.latLngPair has to be filled as well. Otherwise, the request will fail.", "flatPath": "v1/photos:batchUpdate", "httpMethod": "POST", "id": "streetviewpublish.photos.batchUpdate", @@ -323,30 +323,30 @@ ] }, "list": { - "description": "Lists all the Photos that belong to the user. *Note:* Recently created photos that are still being indexed are not returned in the response.", + "description": "Lists all the Photos that belong to the user. > Note: Recently created photos that are still being indexed are not returned in the response.", "flatPath": "v1/photos", "httpMethod": "GET", "id": "streetviewpublish.photos.list", "parameterOrder": [], "parameters": { "filter": { - "description": "Required. The filter expression. For example: `placeId=ChIJj61dQgK6j4AR4GeTYWZsKWw`. The only filter supported at the moment is `placeId`.", + "description": "Optional. The filter expression. For example: `placeId=ChIJj61dQgK6j4AR4GeTYWZsKWw`. The filters supported are: `placeId`, `min_latitude`, `max_latitude`, `min_longitude`, and `max_longitude`. See https://google.aip.dev/160 for more information.", "location": "query", "type": "string" }, "languageCode": { - "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If language_code is unspecified, the user's language preference for Google services is used.", + "description": "Optional. The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If language_code is unspecified, the user's language preference for Google services is used.", "location": "query", "type": "string" }, "pageSize": { - "description": "The maximum number of photos to return. `pageSize` must be non-negative. If `pageSize` is zero or is not provided, the default page size of 100 is used. The number of photos returned in the response may be less than `pageSize` if the number of photos that belong to the user is less than `pageSize`.", + "description": "Optional. The maximum number of photos to return. `pageSize` must be non-negative. If `pageSize` is zero or is not provided, the default page size of 100 is used. The number of photos returned in the response may be less than `pageSize` if the number of photos that belong to the user is less than `pageSize`.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The nextPageToken value returned from a previous ListPhotos request, if any.", + "description": "Optional. The nextPageToken value returned from a previous ListPhotos request, if any.", "location": "query", "type": "string" }, @@ -357,7 +357,7 @@ "INCLUDE_DOWNLOAD_URL" ], "enumDescriptions": [ - "Server reponses do not include the download URL for the photo bytes. The default value.", + "Server responses do not include the download URL for the photo bytes. The default value.", "Server responses include the download URL for the photo bytes." ], "location": "query", @@ -375,7 +375,7 @@ } } }, - "revision": "20210330", + "revision": "20220303", "rootUrl": "https://streetviewpublish.googleapis.com/", "schemas": { "BatchDeletePhotosRequest": { @@ -466,7 +466,7 @@ "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 must conform to the WGS84 standard. Values must be within normalized ranges.", + "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": { @@ -491,7 +491,7 @@ "type": "string" }, "number": { - "description": "Floor number, used for ordering. 0 indicates the ground level, 1 indicates the first level above ground level, -1 indicates the first level under ground level. Non-integer values are OK.", + "description": "Optional. Floor number, used for ordering. 0 indicates the ground level, 1 indicates the first level above ground level, -1 indicates the first level under ground level. Non-integer values are OK.", "format": "double", "type": "number" } @@ -556,12 +556,12 @@ "id": "Photo", "properties": { "captureTime": { - "description": "Absolute time when the photo was captured. When the photo has no exif timestamp, this is used to set a timestamp in the photo metadata.", + "description": "Optional. Absolute time when the photo was captured. When the photo has no exif timestamp, this is used to set a timestamp in the photo metadata.", "format": "google-datetime", "type": "string" }, "connections": { - "description": "Connections to other photos. A connection represents the link from this photo to another photo.", + "description": "Optional. Connections to other photos. A connection represents the link from this photo to another photo.", "items": { "$ref": "Connection" }, @@ -569,10 +569,11 @@ }, "downloadUrl": { "description": "Output only. The download URL for the photo bytes. This field is set only when GetPhotoRequest.view is set to PhotoView.INCLUDE_DOWNLOAD_URL.", + "readOnly": true, "type": "string" }, "mapsPublishStatus": { - "description": "Output only. Status in Google Maps, whether this photo was published or rejected. Not currently populated.", + "description": "Output only. Status in Google Maps, whether this photo was published or rejected.", "enum": [ "UNSPECIFIED_MAPS_PUBLISH_STATUS", "PUBLISHED", @@ -583,14 +584,16 @@ "The photo is published to the public through Google Maps.", "The photo has been rejected for an unknown reason." ], + "readOnly": true, "type": "string" }, "photoId": { "$ref": "PhotoId", - "description": "Required when updating a photo. Output only when creating a photo. Identifier for the photo, which is unique among all photos in Google." + "description": "Required. Output only. Required when updating a photo. Output only when creating a photo. Identifier for the photo, which is unique among all photos in Google.", + "readOnly": true }, "places": { - "description": "Places where this photo belongs.", + "description": "Optional. Places where this photo belongs.", "items": { "$ref": "Place" }, @@ -598,14 +601,16 @@ }, "pose": { "$ref": "Pose", - "description": "Pose of the photo." + "description": "Optional. Pose of the photo." }, "shareLink": { "description": "Output only. The share link for the photo.", + "readOnly": true, "type": "string" }, "thumbnailUrl": { "description": "Output only. The thumbnail URL for showing a preview of the given photo.", + "readOnly": true, "type": "string" }, "transferStatus": { @@ -630,15 +635,23 @@ "The sender cancelled this photo transfer.", "The recipient owns this photo due to a rights transfer." ], + "readOnly": true, "type": "string" }, "uploadReference": { "$ref": "UploadRef", - "description": "Required when creating a photo. Input only. The resource URL where the photo bytes are uploaded to." + "description": "Input only. Required when creating a photo. Input only. The resource URL where the photo bytes are uploaded to." + }, + "uploadTime": { + "description": "Output only. Time when the image was uploaded.", + "format": "google-datetime", + "readOnly": true, + "type": "string" }, "viewCount": { "description": "Output only. View count of the photo.", "format": "int64", + "readOnly": true, "type": "string" } }, @@ -649,7 +662,7 @@ "id": "PhotoId", "properties": { "id": { - "description": "Required. A unique identifier for a photo.", + "description": "A unique identifier for a photo.", "type": "string" } }, @@ -675,11 +688,13 @@ "id": "Place", "properties": { "languageCode": { - "description": "Output-only. The language_code that the name is localized with. This should be the language_code specified in the request, but may be a fallback.", + "description": "Output only. The language_code that the name is localized with. This should be the language_code specified in the request, but may be a fallback.", + "readOnly": true, "type": "string" }, "name": { - "description": "Output-only. The name of the place, localized to the language_code.", + "description": "Output only. The name of the place, localized to the language_code.", + "readOnly": true, "type": "string" }, "placeId": { @@ -704,7 +719,7 @@ "type": "number" }, "heading": { - "description": "Compass heading, measured at the center of the photo in degrees clockwise from North. Value must be >=0 and <360. NaN indicates an unmeasured quantity.", + "description": "The following pose parameters pertain to the center of the photo. They match https://developers.google.com/streetview/spherical-metadata. Compass heading, measured at the center of the photo in degrees clockwise from North. Value must be >=0 and <360. NaN indicates an unmeasured quantity.", "format": "double", "type": "number" }, @@ -765,7 +780,7 @@ "description": "Required. Photo object containing the new metadata." }, "updateMask": { - "description": "Required. Mask that identifies fields on the photo metadata to update. If not present, the old Photo metadata is entirely replaced with the new Photo metadata in this request. The update fails if invalid fields are specified. Multiple fields can be specified in a comma-delimited list. The following fields are valid: * `pose.heading` * `pose.latLngPair` * `pose.pitch` * `pose.roll` * `pose.level` * `pose.altitude` * `connections` * `places` *Note:* When updateMask contains repeated fields, the entire set of repeated values get replaced with the new contents. For example, if updateMask contains `connections` and `UpdatePhotoRequest.photo.connections` is empty, all connections are removed.", + "description": "Required. Mask that identifies fields on the photo metadata to update. If not present, the old Photo metadata is entirely replaced with the new Photo metadata in this request. The update fails if invalid fields are specified. Multiple fields can be specified in a comma-delimited list. The following fields are valid: * `pose.heading` * `pose.latLngPair` * `pose.pitch` * `pose.roll` * `pose.level` * `pose.altitude` * `connections` * `places` > Note: When updateMask contains repeated fields, the entire set of repeated values get replaced with the new contents. For example, if updateMask contains `connections` and `UpdatePhotoRequest.photo.connections` is empty, all connections are removed.", "format": "google-fieldmask", "type": "string" } diff --git a/etc/api/sts/v1/sts-api.json b/etc/api/sts/v1/sts-api.json index 86b1f7f8bc..06a3640127 100644 --- a/etc/api/sts/v1/sts-api.json +++ b/etc/api/sts/v1/sts-api.json @@ -98,8 +98,23 @@ "resources": { "v1": { "methods": { + "introspect": { + "description": "Gets information about a Google OAuth 2.0 access token issued by the Google Cloud [Security Token Service API](https://cloud.google.com/iam/docs/reference/sts/rest).", + "flatPath": "v1/introspect", + "httpMethod": "POST", + "id": "sts.introspect", + "parameterOrder": [], + "parameters": {}, + "path": "v1/introspect", + "request": { + "$ref": "GoogleIdentityStsV1IntrospectTokenRequest" + }, + "response": { + "$ref": "GoogleIdentityStsV1IntrospectTokenResponse" + } + }, "token": { - "description": "Exchanges a credential for a Google OAuth 2.0 access token. The token asserts an external identity within a workload identity pool, or it applies a Credential Access Boundary to a Google access token. 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.", + "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. 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", @@ -116,15 +131,73 @@ } } }, - "revision": "20210326", + "revision": "20220227", "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 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 the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "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//workloadIdentityPools//providers/`. Required when exchanging an external credential for a Google access token.", + "description": "The full resource name of the identity provider; for example: `//iam.googleapis.com/projects//locations/global/workloadIdentityPools//providers/`. Required when exchanging an external credential for a Google access token.", "type": "string" }, "grantType": { @@ -144,11 +217,11 @@ "type": "string" }, "subjectToken": { - "description": "Required. The input token. This token is a 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 `urn:ietf:params:oauth:token-type:jwt`. 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`. 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`: Configured by the mapper policy. The default value is the service account's unique ID. Example header: ``` { \"alg\": \"RS256\", \"kid\": \"us-east-11\" } ``` Example payload: ``` { \"iss\": \"https://accounts.google.com\", \"iat\": 1517963104, \"exp\": 1517966704, \"aud\": \"113475438248934895348\", \"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//workloadIdentityPools//providers/ https://iam.googleapis.com/projects//locations//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//workloadIdentityPools//providers/\"}, {\"key\": \"host\", \"value\": \"sts.amazonaws.com\"} . ], \"method\": \"POST\", \"url\": \"https://sts.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15\" } ``` 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.", + "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 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\" } ``` 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:aws:token-type:aws4_request`, and `urn:ietf:params:oauth:token-type:access_token`.", + "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`, and `urn:ietf:params:oauth:token-type:access_token`.", "type": "string" } }, @@ -177,6 +250,165 @@ } }, "type": "object" + }, + "GoogleIdentityStsV1IntrospectTokenRequest": { + "description": "Request message for IntrospectToken.", + "id": "GoogleIdentityStsV1IntrospectTokenRequest", + "properties": { + "token": { + "description": "Required. The OAuth 2.0 security token issued by the Security Token Service API.", + "type": "string" + }, + "tokenTypeHint": { + "description": "Optional. The type of the given token. Supported values are `urn:ietf:params:oauth:token-type:access_token` and `access_token`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIdentityStsV1IntrospectTokenResponse": { + "description": "Response message for IntrospectToken.", + "id": "GoogleIdentityStsV1IntrospectTokenResponse", + "properties": { + "active": { + "description": "A boolean value that indicates whether the provided access token is currently active.", + "type": "boolean" + }, + "client_id": { + "description": "The client identifier for the OAuth 2.0 client that requested the provided token.", + "type": "string" + }, + "exp": { + "description": "The expiration timestamp, measured in the number of seconds since January 1 1970 UTC, indicating when this token will expire.", + "format": "int64", + "type": "string" + }, + "iat": { + "description": "The issued timestamp, measured in the number of seconds since January 1 1970 UTC, indicating when this token was originally issued.", + "format": "int64", + "type": "string" + }, + "iss": { + "description": "The issuer of the provided token.", + "type": "string" + }, + "scope": { + "description": "A list of scopes associated with the provided token.", + "type": "string" + }, + "sub": { + "description": "The unique user ID associated with the provided token. For Google Accounts, this value is based on the Google Account's user ID. For federated identities, this value is based on the identity pool ID and the value of the mapped `google.subject` attribute.", + "type": "string" + }, + "username": { + "description": "The human-readable identifier for the token principal subject. For example, if the provided token is associated with a workload identity pool, this field contains a value in the following format: `principal://iam.googleapis.com/projects//locations/global/workloadIdentityPools//subject/`", + "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." + }, + "audiences": { + "description": "The intended audience(s) of the credential. The audience value(s) should be the name(s) of services intended to receive the credential. Example: `[\"https://pubsub.googleapis.com/\", \"https://storage.googleapis.com/\"]`. A maximum of 5 audiences can be included. For each provided audience, the maximum length is 262 characters.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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." + }, + "audiences": { + "description": "The intended audience(s) of the credential. The audience value(s) should be the name(s) of services intended to receive the credential. Example: `[\"https://pubsub.googleapis.com/\", \"https://storage.googleapis.com/\"]`. A maximum of 5 audiences can be included. For each provided audience, the maximum length is 262 characters.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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": "", diff --git a/etc/api/sts/v1beta/sts-api.json b/etc/api/sts/v1beta/sts-api.json index d4e16bf4e7..dc2b74017c 100644 --- a/etc/api/sts/v1beta/sts-api.json +++ b/etc/api/sts/v1beta/sts-api.json @@ -116,15 +116,131 @@ } } }, - "revision": "20210326", + "revision": "20220227", "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 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 the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "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" + }, + "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." + }, + "audiences": { + "description": "The intended audience(s) of the credential. The audience value(s) should be the name(s) of services intended to receive the credential. Example: `[\"https://pubsub.googleapis.com/\", \"https://storage.googleapis.com/\"]`. A maximum of 5 audiences can be included. For each provided audience, the maximum length is 262 characters.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, "GoogleIdentityStsV1betaExchangeTokenRequest": { "description": "Request message for ExchangeToken.", "id": "GoogleIdentityStsV1betaExchangeTokenRequest", "properties": { "audience": { - "description": "The full resource name of the identity provider. For example, `//iam.googleapis.com/projects//workloadIdentityPools//providers/`. Required when exchanging an external credential for a Google access token.", + "description": "The full resource name of the identity provider. For example, `//iam.googleapis.com/projects//locations/global/workloadIdentityPools//providers/`. Required when exchanging an external credential for a Google access token.", "type": "string" }, "grantType": { @@ -144,11 +260,11 @@ "type": "string" }, "subjectToken": { - "description": "Required. The input token. This token is a 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 `urn:ietf:params:oauth:token-type:jwt`. 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`. 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`: Configured by the mapper policy. The default value is the service account's unique ID. Example header: ``` { \"alg\": \"RS256\", \"kid\": \"us-east-11\" } ``` Example payload: ``` { \"iss\": \"https://accounts.google.com\", \"iat\": 1517963104, \"exp\": 1517966704, \"aud\": \"113475438248934895348\", \"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//workloadIdentityPools//providers/ https://iam.googleapis.com/projects//locations//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//workloadIdentityPools//providers/\"}, {\"key\": \"host\", \"value\": \"sts.amazonaws.com\"} . ], \"method\": \"POST\", \"url\": \"https://sts.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15\" } ``` 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.", + "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 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\" } ``` 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:aws:token-type:aws4_request`, and `urn:ietf:params:oauth:token-type:access_token`.", + "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`, and `urn:ietf:params:oauth:token-type:access_token`.", "type": "string" } }, @@ -177,6 +293,51 @@ } }, "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." + }, + "audiences": { + "description": "The intended audience(s) of the credential. The audience value(s) should be the name(s) of services intended to receive the credential. Example: `[\"https://pubsub.googleapis.com/\", \"https://storage.googleapis.com/\"]`. A maximum of 5 audiences can be included. For each provided audience, the maximum length is 262 characters.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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": "", diff --git a/etc/api/tagmanager/v1/tagmanager-api.json b/etc/api/tagmanager/v1/tagmanager-api.json index a16fc3638a..ba45d77c9b 100644 --- a/etc/api/tagmanager/v1/tagmanager-api.json +++ b/etc/api/tagmanager/v1/tagmanager-api.json @@ -1932,7 +1932,7 @@ } } }, - "revision": "20210330", + "revision": "20220301", "rootUrl": "https://tagmanager.googleapis.com/", "schemas": { "Account": { diff --git a/etc/api/tagmanager/v2/tagmanager-api.json b/etc/api/tagmanager/v2/tagmanager-api.json index 8d9f6a0340..5e8ecb5b29 100644 --- a/etc/api/tagmanager/v2/tagmanager-api.json +++ b/etc/api/tagmanager/v2/tagmanager-api.json @@ -1197,7 +1197,10 @@ "requestPath", "requestMethod", "clientName", - "queryString" + "queryString", + "serverPageLocationUrl", + "serverPageLocationPath", + "serverPageLocationHostname" ], "enumDescriptions": [ "", @@ -1309,6 +1312,9 @@ "", "", "", + "", + "", + "", "" ], "location": "query", @@ -1452,7 +1458,10 @@ "requestPath", "requestMethod", "clientName", - "queryString" + "queryString", + "serverPageLocationUrl", + "serverPageLocationPath", + "serverPageLocationHostname" ], "enumDescriptions": [ "", @@ -1564,6 +1573,9 @@ "", "", "", + "", + "", + "", "" ], "location": "query", @@ -1735,7 +1747,10 @@ "requestPath", "requestMethod", "clientName", - "queryString" + "queryString", + "serverPageLocationUrl", + "serverPageLocationPath", + "serverPageLocationHostname" ], "enumDescriptions": [ "", @@ -1847,6 +1862,9 @@ "", "", "", + "", + "", + "", "" ], "location": "query", @@ -1863,6 +1881,180 @@ } } }, + "clients": { + "methods": { + "create": { + "description": "Creates a GTM Client.", + "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/clients", + "httpMethod": "POST", + "id": "tagmanager.accounts.containers.workspaces.clients.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", + "location": "path", + "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "tagmanager/v2/{+parent}/clients", + "request": { + "$ref": "Client" + }, + "response": { + "$ref": "Client" + }, + "scopes": [ + "https://www.googleapis.com/auth/tagmanager.edit.containers" + ] + }, + "delete": { + "description": "Deletes a GTM Client.", + "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/clients/{clientsId}", + "httpMethod": "DELETE", + "id": "tagmanager.accounts.containers.workspaces.clients.delete", + "parameterOrder": [ + "path" + ], + "parameters": { + "path": { + "description": "GTM Client's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/clients/{client_id}", + "location": "path", + "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/clients/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "tagmanager/v2/{+path}", + "scopes": [ + "https://www.googleapis.com/auth/tagmanager.edit.containers" + ] + }, + "get": { + "description": "Gets a GTM Client.", + "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/clients/{clientsId}", + "httpMethod": "GET", + "id": "tagmanager.accounts.containers.workspaces.clients.get", + "parameterOrder": [ + "path" + ], + "parameters": { + "path": { + "description": "GTM Client's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/clients/{client_id}", + "location": "path", + "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/clients/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "tagmanager/v2/{+path}", + "response": { + "$ref": "Client" + }, + "scopes": [ + "https://www.googleapis.com/auth/tagmanager.edit.containers", + "https://www.googleapis.com/auth/tagmanager.readonly" + ] + }, + "list": { + "description": "Lists all GTM Clients of a GTM container workspace.", + "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/clients", + "httpMethod": "GET", + "id": "tagmanager.accounts.containers.workspaces.clients.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageToken": { + "description": "Continuation token for fetching the next page of results.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "GTM Workspace's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}", + "location": "path", + "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "tagmanager/v2/{+parent}/clients", + "response": { + "$ref": "ListClientsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/tagmanager.edit.containers", + "https://www.googleapis.com/auth/tagmanager.readonly" + ] + }, + "revert": { + "description": "Reverts changes to a GTM Client in a GTM Workspace.", + "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/clients/{clientsId}:revert", + "httpMethod": "POST", + "id": "tagmanager.accounts.containers.workspaces.clients.revert", + "parameterOrder": [ + "path" + ], + "parameters": { + "fingerprint": { + "description": "When provided, this fingerprint must match the fingerprint of the client in storage.", + "location": "query", + "type": "string" + }, + "path": { + "description": "GTM Client's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/clients/{client_id}", + "location": "path", + "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/clients/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "tagmanager/v2/{+path}:revert", + "response": { + "$ref": "RevertClientResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/tagmanager.edit.containers" + ] + }, + "update": { + "description": "Updates a GTM Client.", + "flatPath": "tagmanager/v2/accounts/{accountsId}/containers/{containersId}/workspaces/{workspacesId}/clients/{clientsId}", + "httpMethod": "PUT", + "id": "tagmanager.accounts.containers.workspaces.clients.update", + "parameterOrder": [ + "path" + ], + "parameters": { + "fingerprint": { + "description": "When provided, this fingerprint must match the fingerprint of the client in storage.", + "location": "query", + "type": "string" + }, + "path": { + "description": "GTM Client's API relative path. Example: accounts/{account_id}/containers/{container_id}/workspaces/{workspace_id}/clients/{client_id}", + "location": "path", + "pattern": "^accounts/[^/]+/containers/[^/]+/workspaces/[^/]+/clients/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "tagmanager/v2/{+path}", + "request": { + "$ref": "Client" + }, + "response": { + "$ref": "Client" + }, + "scopes": [ + "https://www.googleapis.com/auth/tagmanager.edit.containers" + ] + } + } + }, "folders": { "methods": { "create": { @@ -3125,7 +3317,7 @@ } } }, - "revision": "20210330", + "revision": "20220301", "rootUrl": "https://tagmanager.googleapis.com/", "schemas": { "Account": { @@ -3314,7 +3506,10 @@ "requestPath", "requestMethod", "clientName", - "queryString" + "queryString", + "serverPageLocationUrl", + "serverPageLocationPath", + "serverPageLocationHostname" ], "enumDescriptions": [ "", @@ -3426,6 +3621,9 @@ "", "", "", + "", + "", + "", "" ], "type": "string" @@ -3457,6 +3655,12 @@ "type": "string" }, "name": { + "annotations": { + "required": [ + "tagmanager.accounts.containers.workspaces.clients.create", + "tagmanager.accounts.containers.workspaces.clients.update" + ] + }, "description": "Client display name. @mutable tagmanager.accounts.containers.workspaces.clients.create @mutable tagmanager.accounts.containers.workspaces.clients.update", "type": "string" }, @@ -3489,6 +3693,12 @@ "type": "string" }, "type": { + "annotations": { + "required": [ + "tagmanager.accounts.containers.workspaces.clients.create", + "tagmanager.accounts.containers.workspaces.clients.update" + ] + }, "description": "Client type. @mutable tagmanager.accounts.containers.workspaces.clients.create @mutable tagmanager.accounts.containers.workspaces.clients.update", "type": "string" }, @@ -4218,6 +4428,23 @@ }, "type": "object" }, + "ListClientsResponse": { + "id": "ListClientsResponse", + "properties": { + "client": { + "description": "All GTM Clients of a GTM Container.", + "items": { + "$ref": "Client" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string" + } + }, + "type": "object" + }, "ListContainerVersionsResponse": { "description": "List container versions response.", "id": "ListContainerVersionsResponse", @@ -4555,6 +4782,17 @@ }, "type": "object" }, + "RevertClientResponse": { + "description": "The result of reverting a client in a workspace.", + "id": "RevertClientResponse", + "properties": { + "client": { + "$ref": "Client", + "description": "Client as it appears in the latest container version since the last workspace synchronization operation. If no client is present, that means the client was deleted in the latest container version." + } + }, + "type": "object" + }, "RevertFolderResponse": { "description": "The result of reverting folder changes in a workspace.", "id": "RevertFolderResponse", @@ -4691,6 +4929,10 @@ }, "type": "array" }, + "consentSettings": { + "$ref": "TagConsentSetting", + "description": "Consent settings of a tag. @mutable tagmanager.accounts.containers.workspaces.tags.create @mutable tagmanager.accounts.containers.workspaces.tags.update" + }, "containerId": { "description": "GTM Container ID.", "type": "string" @@ -4827,6 +5069,30 @@ }, "type": "object" }, + "TagConsentSetting": { + "id": "TagConsentSetting", + "properties": { + "consentStatus": { + "description": "The tag's consent status. If set to NEEDED, the runtime will check that the consent types specified by the consent_type field have been granted.", + "enum": [ + "notSet", + "notNeeded", + "needed" + ], + "enumDescriptions": [ + "Default value where user has not specified any setting on it.", + "Tag doesn't require any additional consent settings.", + "Tag requires additional consent settings." + ], + "type": "string" + }, + "consentType": { + "$ref": "Parameter", + "description": "The type of consents to check for during tag firing if in the consent NEEDED state. This parameter must be of type LIST where each list item is of type STRING." + } + }, + "type": "object" + }, "TeardownTag": { "description": "Represents a tag that fires after another tag in order to tear down dependencies.", "id": "TeardownTag", @@ -4970,6 +5236,9 @@ "windowLoaded", "customEvent", "triggerGroup", + "init", + "consentInit", + "serverPageview", "always", "firebaseAppException", "firebaseAppUpdate", @@ -5029,6 +5298,9 @@ "", "", "", + "", + "", + "", "" ], "type": "string" @@ -5312,6 +5584,13 @@ "description": "User notes on how to apply this zone in the container.", "type": "string" }, + "parameter": { + "description": "Additional parameters.", + "items": { + "$ref": "Parameter" + }, + "type": "array" + }, "path": { "description": "GTM Zone's API relative path.", "type": "string" diff --git a/etc/api/tasks/v1/tasks-api.json b/etc/api/tasks/v1/tasks-api.json index 50565704f5..9ff6ea40a6 100644 --- a/etc/api/tasks/v1/tasks-api.json +++ b/etc/api/tasks/v1/tasks-api.json @@ -17,7 +17,7 @@ "canonicalName": "Tasks", "description": "The Google Tasks API lets you manage your tasks and task lists.", "discoveryVersion": "v1", - "documentationLink": "", + "documentationLink": "https://developers.google.com/tasks/", "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -566,7 +566,7 @@ } } }, - "revision": "20210329", + "revision": "20220305", "rootUrl": "https://tasks.googleapis.com/", "schemas": { "Task": { diff --git a/etc/api/testing/v1/testing-api.json b/etc/api/testing/v1/testing-api.json index 91cf6ee6d4..e68ff5c896 100644 --- a/etc/api/testing/v1/testing-api.json +++ b/etc/api/testing/v1/testing-api.json @@ -3,10 +3,10 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "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 Platform services" + "description": "View your data across Google Cloud services and see the email address of your Google Account" } } } @@ -282,7 +282,7 @@ } } }, - "revision": "20210326", + "revision": "20220301", "rootUrl": "https://testing.googleapis.com/", "schemas": { "Account": { @@ -375,7 +375,7 @@ "type": "string" }, "orchestratorOption": { - "description": "The option of whether running each test within its own invocation of instrumentation with Android Test Orchestrator or not. ** Orchestrator is only compatible with AndroidJUnitRunner version 1.0 or higher! ** Orchestrator offers the following benefits: - No shared state - Crashes are isolated - Logs are scoped per test See for more information about Android Test Orchestrator. If not set, the test will be run without the orchestrator.", + "description": "The option of whether running each test within its own invocation of instrumentation with Android Test Orchestrator or not. ** Orchestrator is only compatible with AndroidJUnitRunner version 1.1 or higher! ** Orchestrator offers the following benefits: - No shared state - Crashes are isolated - Logs are scoped per test See for more information about Android Test Orchestrator. If not set, the test will be run without the orchestrator.", "enum": [ "ORCHESTRATOR_OPTION_UNSPECIFIED", "USE_ORCHESTRATOR", @@ -383,7 +383,7 @@ ], "enumDescriptions": [ "Default value: the server will choose the mode. Currently implies that the test will run without the orchestrator. In the future, all instrumentation tests will be run with the orchestrator. Using the orchestrator is highly encouraged because of all the benefits it offers.", - "Run test using orchestrator. ** Only compatible with AndroidJUnitRunner version 1.0 or higher! ** Recommended.", + "Run test using orchestrator. ** Only compatible with AndroidJUnitRunner version 1.1 or higher! ** Recommended.", "Run test without using orchestrator." ], "type": "string" @@ -553,7 +553,7 @@ "type": "object" }, "AndroidRoboTest": { - "description": "A test of an android application that explores the application on a virtual or physical Android Device, finding culprits and crashes as it goes. Next tag: 30", + "description": "A test of an android application that explores the application on a virtual or physical Android Device, finding culprits and crashes as it goes.", "id": "AndroidRoboTest", "properties": { "appApk": { @@ -572,16 +572,6 @@ "description": "The java package for the application under test. The default value is determined by examining the application's manifest.", "type": "string" }, - "maxDepth": { - "description": "The max depth of the traversal stack Robo can explore. Needs to be at least 2 to make Robo explore the app beyond the first activity. Default is 50.", - "format": "int32", - "type": "integer" - }, - "maxSteps": { - "description": "The max number of steps Robo can execute. Default is no limit.", - "format": "int32", - "type": "integer" - }, "roboDirectives": { "description": "A set of directives Robo should apply during the crawl. This allows users to customize the crawl. For example, the username and password for a test account can be provided.", "items": { @@ -589,6 +579,20 @@ }, "type": "array" }, + "roboMode": { + "description": "The mode in which Robo should run. Most clients should allow the server to populate this field automatically.", + "enum": [ + "ROBO_MODE_UNSPECIFIED", + "ROBO_VERSION_1", + "ROBO_VERSION_2" + ], + "enumDescriptions": [ + "This means that the server should choose the mode. Recommended.", + "Runs Robo in UIAutomator-only mode without app resigning", + "Runs Robo in standard Espresso with UIAutomator fallback" + ], + "type": "string" + }, "roboScript": { "$ref": "FileReference", "description": "A JSON file with a sequence of actions Robo should perform as a prologue for the crawl." @@ -847,7 +851,7 @@ "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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.", + "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "Date", "properties": { "day": { @@ -1273,7 +1277,7 @@ "type": "string" }, "pullDirectories": { - "description": "List of directories on the device to upload to Cloud Storage at the end of the test. Directories should either be in a shared directory (e.g. /private/var/mobile/Media) or within an accessible directory inside the app's filesystem (e.g. /Documents) by specifying the bundle id.", + "description": "List of directories on the device to upload to Cloud Storage at the end of the test. Directories should either be in a shared directory (such as /private/var/mobile/Media) or within an accessible directory inside the app's filesystem (such as /Documents) by specifying the bundle ID.", "items": { "$ref": "IosDeviceFile" }, @@ -1473,7 +1477,7 @@ "type": "string" }, "orchestratorVersion": { - "description": "A string representing the current version of Android Test Orchestrator that is used in the environment. The package is available at https://maven.google.com/web/index.html#com.android.support.test:orchestrator.", + "description": "Deprecated: Use AndroidX Test Orchestrator going forward. A string representing the current version of Android Test Orchestrator that is used in the environment. The package is available at https://maven.google.com/web/index.html#com.android.support.test:orchestrator.", "type": "string" } }, @@ -1827,7 +1831,7 @@ "The test package and app package are the same.", "The test apk does not declare an instrumentation.", "The input app apk does not have a signature.", - "The test runner class specified by user or in the test APK's manifest file is not compatible with Android Test Orchestrator. Orchestrator is only compatible with AndroidJUnitRunner version 1.0 or higher. Orchestrator can be disabled by using DO_NOT_USE_ORCHESTRATOR OrchestratorOption.", + "The test runner class specified by user or in the test APK's manifest file is not compatible with Android Test Orchestrator. Orchestrator is only compatible with AndroidJUnitRunner version 1.1 or higher. Orchestrator can be disabled by using DO_NOT_USE_ORCHESTRATOR OrchestratorOption.", "The test APK does not contain the test runner class specified by user or in the manifest file. This can be caused by either of the following reasons: - the user provided a runner class name that's incorrect, or - the test runner isn't built into the test APK (might be in the app APK instead).", "A main launcher activity could not be found.", "The app declares one or more permissions that are not allowed.", @@ -1980,7 +1984,7 @@ }, "systrace": { "$ref": "SystraceSetup", - "description": "Systrace configuration for the run. If set a systrace will be taken, starting on test start and lasting for the configured duration. The systrace file thus obtained is put in the results bucket together with the other artifacts from the run." + "description": "Deprecated: Systrace uses Python 2 which has been sunset 2020-01-01. Support of Systrace may stop at any time, at which point no Systrace file will be provided in the results. Systrace configuration for the run. If set a systrace will be taken, starting on test start and lasting for the configured duration. The systrace file thus obtained is put in the results bucket together with the other artifacts from the run." } }, "type": "object" @@ -2137,7 +2141,7 @@ "type": "object" }, "UniformSharding": { - "description": "Uniformly shards test cases given a total number of shards. For Instrumentation test, it will be translated to \"-e numShard\" \"-e shardIndex\" AndroidJUnitRunner arguments. With uniform sharding enabled, specifying these sharding arguments via environment_variables is invalid.", + "description": "Uniformly shards test cases given a total number of shards. For Instrumentation test, it will be translated to \"-e numShard\" \"-e shardIndex\" AndroidJUnitRunner arguments. Based on the sharding mechanism AndroidJUnitRunner uses, there is no guarantee that test cases will be distributed uniformly across all shards. With uniform sharding enabled, specifying these sharding arguments via environment_variables is invalid.", "id": "UniformSharding", "properties": { "numShards": { diff --git a/etc/api/texttospeech/v1/texttospeech-api.json b/etc/api/texttospeech/v1/texttospeech-api.json index 5c83f1951e..07efa07ea1 100644 --- a/etc/api/texttospeech/v1/texttospeech-api.json +++ b/etc/api/texttospeech/v1/texttospeech-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -137,7 +137,7 @@ "parameterOrder": [], "parameters": { "languageCode": { - "description": "Optional. Recommended. [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If not specified, the API will return all supported voices. If specified, the ListVoices call will only return voices that can be used to synthesize this language_code. E.g. when specifying \"en-NZ\", you will get supported \"en-NZ\" voices; when specifying \"no\", you will get supported \"no-\\*\" (Norwegian) and \"nb-\\*\" (Norwegian Bokmal) voices; specifying \"zh\" will also get supported \"cmn-\\*\" voices; specifying \"zh-hk\" will also get supported \"yue-hk\" voices.", + "description": "Optional. Recommended. [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If not specified, the API will return all supported voices. If specified, the ListVoices call will only return voices that can be used to synthesize this language_code. For example, if you specify `\"en-NZ\"`, all `\"en-NZ\"` voices will be returned. If you specify `\"no\"`, both `\"no-\\*\"` (Norwegian) and `\"nb-\\*\"` (Norwegian Bokmal) voices will be returned.", "location": "query", "type": "string" } @@ -153,7 +153,7 @@ } } }, - "revision": "20210326", + "revision": "20220228", "rootUrl": "https://texttospeech.googleapis.com/", "schemas": { "AudioConfig": { @@ -166,13 +166,17 @@ "AUDIO_ENCODING_UNSPECIFIED", "LINEAR16", "MP3", - "OGG_OPUS" + "OGG_OPUS", + "MULAW", + "ALAW" ], "enumDescriptions": [ "Not specified. Will return result google.rpc.Code.INVALID_ARGUMENT.", "Uncompressed 16-bit signed little-endian samples (Linear PCM). Audio content returned as LINEAR16 also contains a WAV header.", "MP3 audio at 32kbps.", - "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." + "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. Audio content returned as MULAW also contains a WAV header.", + "8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law. Audio content returned as ALAW also contains a WAV header." ], "type": "string" }, diff --git a/etc/api/texttospeech/v1beta1/texttospeech-api.json b/etc/api/texttospeech/v1beta1/texttospeech-api.json index ab8f03b421..1daa3c2fb3 100644 --- a/etc/api/texttospeech/v1beta1/texttospeech-api.json +++ b/etc/api/texttospeech/v1beta1/texttospeech-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -137,7 +137,7 @@ "parameterOrder": [], "parameters": { "languageCode": { - "description": "Optional. Recommended. [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If not specified, the API will return all supported voices. If specified, the ListVoices call will only return voices that can be used to synthesize this language_code. E.g. when specifying \"en-NZ\", you will get supported \"en-NZ\" voices; when specifying \"no\", you will get supported \"no-\\*\" (Norwegian) and \"nb-\\*\" (Norwegian Bokmal) voices; specifying \"zh\" will also get supported \"cmn-\\*\" voices; specifying \"zh-hk\" will also get supported \"yue-hk\" voices.", + "description": "Optional. Recommended. [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If not specified, the API will return all supported voices. If specified, the ListVoices call will only return voices that can be used to synthesize this language_code. For example, if you specify `\"en-NZ\"`, all `\"en-NZ\"` voices will be returned. If you specify `\"no\"`, both `\"no-\\*\"` (Norwegian) and `\"nb-\\*\"` (Norwegian Bokmal) voices will be returned.", "location": "query", "type": "string" } @@ -153,7 +153,7 @@ } } }, - "revision": "20210326", + "revision": "20220228", "rootUrl": "https://texttospeech.googleapis.com/", "schemas": { "AudioConfig": { @@ -212,6 +212,31 @@ }, "type": "object" }, + "CustomVoiceParams": { + "description": "Description of the custom voice to be synthesized.", + "id": "CustomVoiceParams", + "properties": { + "model": { + "description": "Required. The name of the AutoML model that synthesizes the custom voice.", + "type": "string" + }, + "reportedUsage": { + "description": "Optional. The usage of the synthesized audio to be reported.", + "enum": [ + "REPORTED_USAGE_UNSPECIFIED", + "REALTIME", + "OFFLINE" + ], + "enumDescriptions": [ + "Request with reported usage unspecified will be rejected.", + "For scenarios where the synthesized audio is not downloadable and can only be used once. For example, real-time request in IVR system.", + "For scenarios where the synthesized audio is downloadable and can be reused. For example, the synthesized audio is downloaded, stored in customer service system and played repeatedly." + ], + "type": "string" + } + }, + "type": "object" + }, "ListVoicesResponse": { "description": "The message returned to the client by the `ListVoices` method.", "id": "ListVoicesResponse", @@ -258,7 +283,7 @@ ], "enumDescriptions": [ "Not specified. No timepoint information will be returned.", - "Timepoint information of tags in SSML input will be returned." + "Timepoint information of `` tags in SSML input will be returned." ], "type": "string" }, @@ -289,7 +314,7 @@ "type": "string" }, "timepoints": { - "description": "A link between a position in the original request input and a corresponding time in the output audio. It's only supported via of SSML input.", + "description": "A link between a position in the original request input and a corresponding time in the output audio. It's only supported via `` of SSML input.", "items": { "$ref": "Timepoint" }, @@ -303,7 +328,7 @@ "id": "Timepoint", "properties": { "markName": { - "description": "Timepoint name as received from the client within tag.", + "description": "Timepoint name as received from the client within `` tag.", "type": "string" }, "timeSeconds": { @@ -357,6 +382,10 @@ "description": "Description of which voice to use for a synthesis request.", "id": "VoiceSelectionParams", "properties": { + "customVoice": { + "$ref": "CustomVoiceParams", + "description": "The configuration for a custom voice. If [CustomVoiceParams.model] is set, the service will choose the custom voice matching the specified configuration." + }, "languageCode": { "description": "Required. The language (and potentially also the region) of the voice expressed as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag, e.g. \"en-US\". This should not include a script tag (e.g. use \"cmn-cn\" rather than \"cmn-Hant-cn\"), because the script will be inferred from the input provided in the SynthesisInput. The TTS service will use this parameter to help choose an appropriate voice. Note that the TTS service may choose a voice with a slightly different language code than the one selected; it may substitute a different region (e.g. using en-US rather than en-CA if there isn't a Canadian voice available), or even a different language, e.g. using \"nb\" (Norwegian Bokmal) instead of \"no\" (Norwegian)\".", "type": "string" diff --git a/etc/api/toolresults/v1beta3/toolresults-api.json b/etc/api/toolresults/v1beta3/toolresults-api.json index c8687e2660..3375b499f4 100644 --- a/etc/api/toolresults/v1beta3/toolresults-api.json +++ b/etc/api/toolresults/v1beta3/toolresults-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -1463,7 +1463,7 @@ } } }, - "revision": "20210325", + "revision": "20220307", "rootUrl": "https://toolresults.googleapis.com/", "schemas": { "ANR": { diff --git a/etc/api/tpu/v1/tpu-api.json b/etc/api/tpu/v1/tpu-api.json index 8d545540a9..737257f7ea 100644 --- a/etc/api/tpu/v1/tpu-api.json +++ b/etc/api/tpu/v1/tpu-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -144,7 +144,7 @@ ], "parameters": { "filter": { - "description": "The standard list 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" }, @@ -156,13 +156,13 @@ "type": "string" }, "pageSize": { - "description": "The standard list page size.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The standard list page token.", + "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" } @@ -430,7 +430,7 @@ ] }, "stop": { - "description": "Stops a node.", + "description": "Stops a node, this operation is only available with single TPU nodes.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}:stop", "httpMethod": "POST", "id": "tpu.projects.locations.nodes.stop", @@ -659,7 +659,7 @@ } } }, - "revision": "20210217", + "revision": "20220301", "rootUrl": "https://tpu.googleapis.com/", "schemas": { "AcceleratorType": { @@ -852,6 +852,23 @@ "description": "Required. The type of hardware accelerators associated with this node.", "type": "string" }, + "apiVersion": { + "description": "Output only. The API version that created this Node.", + "enum": [ + "API_VERSION_UNSPECIFIED", + "V1_ALPHA1", + "V1", + "V2_ALPHA1" + ], + "enumDescriptions": [ + "API version is unknown.", + "TPU API V1Alpha1 version.", + "TPU API V1 version.", + "TPU API V2Alpha1 version." + ], + "readOnly": true, + "type": "string" + }, "cidrBlock": { "description": "The CIDR block that the TPU node will use when selecting an IP address. This CIDR block must be a /29 block; the Compute Engine networks API forbids a smaller block, and using a larger block would be wasteful (a node can only consume one IP address). Errors will occur if the CIDR block has already been used for a currently existing TPU node, the CIDR block conflicts with any subnetworks in the user's provided network, or the provided network is peered with another network that is using that CIDR block.", "type": "string" @@ -954,7 +971,7 @@ "enumDescriptions": [ "TPU node state is not known/set.", "TPU node is being created.", - "TPU node has been created and is fully usable.", + "TPU node has been created.", "TPU node is restarting.", "TPU node is undergoing reimaging.", "TPU node is being deleted.", @@ -1026,37 +1043,37 @@ "type": "object" }, "OperationMetadata": { - "description": "Represents the metadata of the long-running operation.", + "description": "Metadata describing an Operation", "id": "OperationMetadata", "properties": { "apiVersion": { - "description": "[Output only] API version used to start the operation.", + "description": "API version.", "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`.", + "description": "Specifies if cancellation was requested for the operation.", "type": "boolean" }, "createTime": { - "description": "[Output only] The time the operation was created.", + "description": "The time the operation was created.", "format": "google-datetime", "type": "string" }, "endTime": { - "description": "[Output only] The time the operation finished running.", + "description": "The time the operation finished running.", "format": "google-datetime", "type": "string" }, "statusDetail": { - "description": "[Output only] Human-readable status of the operation, if any.", + "description": "Human-readable status of the operation, if any.", "type": "string" }, "target": { - "description": "[Output only] Server-defined resource path for the target of the operation.", + "description": "Target of the operation - for example projects/project-1/connectivityTests/test-1", "type": "string" }, "verb": { - "description": "[Output only] Name of the verb executed by the operation.", + "description": "Name of the verb executed by the operation.", "type": "string" } }, @@ -1148,7 +1165,8 @@ "OUT_OF_MEMORY", "EXECUTE_TIMED_OUT", "MESH_BUILD_FAIL", - "HBM_OUT_OF_MEMORY" + "HBM_OUT_OF_MEMORY", + "PROJECT_ABUSE" ], "enumDescriptions": [ "Unspecified symptom.", @@ -1156,7 +1174,8 @@ "TPU runtime is out of memory.", "TPU runtime execution has timed out.", "TPU runtime fails to construct a mesh that recognizes each TPU device's neighbors.", - "TPU HBM is out of memory." + "TPU HBM is out of memory.", + "Abusive behaviors have been identified on the current project." ], "type": "string" }, diff --git a/etc/api/tpu/v1alpha1/tpu-api.json b/etc/api/tpu/v1alpha1/tpu-api.json index 233fdbb599..283ff60565 100644 --- a/etc/api/tpu/v1alpha1/tpu-api.json +++ b/etc/api/tpu/v1alpha1/tpu-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -144,7 +144,7 @@ ], "parameters": { "filter": { - "description": "The standard list 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" }, @@ -156,13 +156,13 @@ "type": "string" }, "pageSize": { - "description": "The standard list page size.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The standard list page token.", + "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" } @@ -274,6 +274,11 @@ "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" } }, "path": "v1alpha1/{+parent}/nodes", @@ -302,6 +307,11 @@ "pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$", "required": true, "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" } }, "path": "v1alpha1/{+name}", @@ -430,7 +440,7 @@ ] }, "stop": { - "description": "Stops a node.", + "description": "Stops a node. This operation is only available with single TPU nodes.", "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}:stop", "httpMethod": "POST", "id": "tpu.projects.locations.nodes.stop", @@ -659,7 +669,7 @@ } } }, - "revision": "20210217", + "revision": "20220301", "rootUrl": "https://tpu.googleapis.com/", "schemas": { "AcceleratorType": { @@ -852,6 +862,23 @@ "description": "Required. The type of hardware accelerators associated with this node.", "type": "string" }, + "apiVersion": { + "description": "Output only. The API version that created this Node.", + "enum": [ + "API_VERSION_UNSPECIFIED", + "V1_ALPHA1", + "V1", + "V2_ALPHA1" + ], + "enumDescriptions": [ + "API version is unknown.", + "TPU API V1Alpha1 version.", + "TPU API V1 version.", + "TPU API V2Alpha1 version." + ], + "readOnly": true, + "type": "string" + }, "cidrBlock": { "description": "The CIDR block that the TPU node will use when selecting an IP address. This CIDR block must be a /29 block; the Compute Engine networks API forbids a smaller block, and using a larger block would be wasteful (a node can only consume one IP address). Errors will occur if the CIDR block has already been used for a currently existing TPU node, the CIDR block conflicts with any subnetworks in the user's provided network, or the provided network is peered with another network that is using that CIDR block.", "type": "string" @@ -954,7 +981,7 @@ "enumDescriptions": [ "TPU node state is not known/set.", "TPU node is being created.", - "TPU node has been created and is fully usable.", + "TPU node has been created.", "TPU node is restarting.", "TPU node is undergoing reimaging.", "TPU node is being deleted.", @@ -1026,37 +1053,37 @@ "type": "object" }, "OperationMetadata": { - "description": "Represents the metadata of the long-running operation.", + "description": "Metadata describing an Operation", "id": "OperationMetadata", "properties": { "apiVersion": { - "description": "[Output only] API version used to start the operation.", + "description": "API version.", "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`.", + "description": "Specifies if cancellation was requested for the operation.", "type": "boolean" }, "createTime": { - "description": "[Output only] The time the operation was created.", + "description": "The time the operation was created.", "format": "google-datetime", "type": "string" }, "endTime": { - "description": "[Output only] The time the operation finished running.", + "description": "The time the operation finished running.", "format": "google-datetime", "type": "string" }, "statusDetail": { - "description": "[Output only] Human-readable status of the operation, if any.", + "description": "Human-readable status of the operation, if any.", "type": "string" }, "target": { - "description": "[Output only] Server-defined resource path for the target of the operation.", + "description": "Target of the operation - for example projects/project-1/connectivityTests/test-1", "type": "string" }, "verb": { - "description": "[Output only] Name of the verb executed by the operation.", + "description": "Name of the verb executed by the operation.", "type": "string" } }, @@ -1148,7 +1175,8 @@ "OUT_OF_MEMORY", "EXECUTE_TIMED_OUT", "MESH_BUILD_FAIL", - "HBM_OUT_OF_MEMORY" + "HBM_OUT_OF_MEMORY", + "PROJECT_ABUSE" ], "enumDescriptions": [ "Unspecified symptom.", @@ -1156,7 +1184,8 @@ "TPU runtime is out of memory.", "TPU runtime execution has timed out.", "TPU runtime fails to construct a mesh that recognizes each TPU device's neighbors.", - "TPU HBM is out of memory." + "TPU HBM is out of memory.", + "Abusive behaviors have been identified on the current project." ], "type": "string" }, diff --git a/etc/api/tpu/v2alpha1/tpu-api.json b/etc/api/tpu/v2alpha1/tpu-api.json new file mode 100644 index 0000000000..2734c9237f --- /dev/null +++ b/etc/api/tpu/v2alpha1/tpu-api.json @@ -0,0 +1,1472 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://tpu.googleapis.com/", + "batchPath": "batch", + "canonicalName": "TPU", + "description": "TPU API provides customers with access to Google TPU technology.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/tpu/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "tpu:v2alpha1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://tpu.mtls.googleapis.com/", + "name": "tpu", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "generateServiceIdentity": { + "description": "Generates the Cloud TPU service identity for the project.", + "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}:generateServiceIdentity", + "httpMethod": "POST", + "id": "tpu.projects.locations.generateServiceIdentity", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/{+parent}:generateServiceIdentity", + "request": { + "$ref": "GenerateServiceIdentityRequest" + }, + "response": { + "$ref": "GenerateServiceIdentityResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets information about a location.", + "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "tpu.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v2alpha1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "tpu.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. If not set, the service selects a default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha1/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "acceleratorTypes": { + "methods": { + "get": { + "description": "Gets AcceleratorType.", + "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/acceleratorTypes/{acceleratorTypesId}", + "httpMethod": "GET", + "id": "tpu.projects.locations.acceleratorTypes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/acceleratorTypes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/{+name}", + "response": { + "$ref": "AcceleratorType" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists accelerator types supported by this API.", + "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/acceleratorTypes", + "httpMethod": "GET", + "id": "tpu.projects.locations.acceleratorTypes.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from a previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/{+parent}/acceleratorTypes", + "response": { + "$ref": "ListAcceleratorTypesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "nodes": { + "methods": { + "create": { + "description": "Creates a node.", + "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes", + "httpMethod": "POST", + "id": "tpu.projects.locations.nodes.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "nodeId": { + "description": "The unqualified resource name.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha1/{+parent}/nodes", + "request": { + "$ref": "Node" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a node.", + "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}", + "httpMethod": "DELETE", + "id": "tpu.projects.locations.nodes.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the details of a node.", + "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}", + "httpMethod": "GET", + "id": "tpu.projects.locations.nodes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/{+name}", + "response": { + "$ref": "Node" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getGuestAttributes": { + "description": "Retrieves the guest attributes for the node.", + "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}:getGuestAttributes", + "httpMethod": "POST", + "id": "tpu.projects.locations.nodes.getGuestAttributes", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/{+name}:getGuestAttributes", + "request": { + "$ref": "GetGuestAttributesRequest" + }, + "response": { + "$ref": "GetGuestAttributesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists nodes.", + "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes", + "httpMethod": "GET", + "id": "tpu.projects.locations.nodes.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from a previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/{+parent}/nodes", + "response": { + "$ref": "ListNodesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the configurations of a node.", + "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}", + "httpMethod": "PATCH", + "id": "tpu.projects.locations.nodes.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Immutable. The name of the TPU.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields from Node to update. Supported fields: [description, tags, labels, metadata, network_config.enable_external_ips].", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha1/{+name}", + "request": { + "$ref": "Node" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "start": { + "description": "Starts a node.", + "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}:start", + "httpMethod": "POST", + "id": "tpu.projects.locations.nodes.start", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/{+name}:start", + "request": { + "$ref": "StartNodeRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "stop": { + "description": "Stops a node. This operation is only available with single TPU nodes.", + "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}:stop", + "httpMethod": "POST", + "id": "tpu.projects.locations.nodes.stop", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/{+name}:stop", + "request": { + "$ref": "StopNodeRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "tpu.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/{+name}:cancel", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "tpu.projects.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "tpu.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. 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": "v2alpha1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "tpu.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha1/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "runtimeVersions": { + "methods": { + "get": { + "description": "Gets a runtime version.", + "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/runtimeVersions/{runtimeVersionsId}", + "httpMethod": "GET", + "id": "tpu.projects.locations.runtimeVersions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/runtimeVersions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/{+name}", + "response": { + "$ref": "RuntimeVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists runtime versions supported by this API.", + "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/runtimeVersions", + "httpMethod": "GET", + "id": "tpu.projects.locations.runtimeVersions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from a previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/{+parent}/runtimeVersions", + "response": { + "$ref": "ListRuntimeVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20220301", + "rootUrl": "https://tpu.googleapis.com/", + "schemas": { + "AcceleratorType": { + "description": "A accelerator type that a Node can be configured with.", + "id": "AcceleratorType", + "properties": { + "name": { + "description": "The resource name.", + "type": "string" + }, + "type": { + "description": "the accelerator type.", + "type": "string" + } + }, + "type": "object" + }, + "AccessConfig": { + "description": "An access config attached to the TPU worker.", + "id": "AccessConfig", + "properties": { + "externalIp": { + "description": "Output only. An external IP address associated with the TPU worker.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AttachedDisk": { + "description": "A node-attached disk resource. Next ID: 8;", + "id": "AttachedDisk", + "properties": { + "mode": { + "description": "The mode in which to attach this disk. If not specified, the default is READ_WRITE mode. Only applicable to data_disks.", + "enum": [ + "DISK_MODE_UNSPECIFIED", + "READ_WRITE", + "READ_ONLY" + ], + "enumDescriptions": [ + "The disk mode is not known/set.", + "Attaches the disk in read-write mode. Only one TPU node can attach a disk in read-write mode at a time.", + "Attaches the disk in read-only mode. Multiple TPU nodes can attach a disk in read-only mode at a time." + ], + "type": "string" + }, + "sourceDisk": { + "description": "Specifies the full path to an existing disk. For example: \"projects/my-project/zones/us-central1-c/disks/my-disk\".", + "type": "string" + } + }, + "type": "object" + }, + "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" + }, + "GenerateServiceIdentityRequest": { + "description": "Request for GenerateServiceIdentity.", + "id": "GenerateServiceIdentityRequest", + "properties": {}, + "type": "object" + }, + "GenerateServiceIdentityResponse": { + "description": "Response for GenerateServiceIdentity.", + "id": "GenerateServiceIdentityResponse", + "properties": { + "identity": { + "$ref": "ServiceIdentity", + "description": "ServiceIdentity that was created or retrieved." + } + }, + "type": "object" + }, + "GetGuestAttributesRequest": { + "description": "Request for GetGuestAttributes.", + "id": "GetGuestAttributesRequest", + "properties": { + "queryPath": { + "description": "The guest attributes path to be queried.", + "type": "string" + }, + "workerIds": { + "description": "The 0-based worker ID. If it is empty, all workers' GuestAttributes will be returned.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GetGuestAttributesResponse": { + "description": "Response for GetGuestAttributes.", + "id": "GetGuestAttributesResponse", + "properties": { + "guestAttributes": { + "description": "The guest attributes for the TPU workers.", + "items": { + "$ref": "GuestAttributes" + }, + "type": "array" + } + }, + "type": "object" + }, + "GuestAttributes": { + "description": "A guest attributes.", + "id": "GuestAttributes", + "properties": { + "queryPath": { + "description": "The path to be queried. This can be the default namespace ('/') or a nested namespace ('/\\/') or a specified key ('/\\/\\')", + "type": "string" + }, + "queryValue": { + "$ref": "GuestAttributesValue", + "description": "The value of the requested queried path." + } + }, + "type": "object" + }, + "GuestAttributesEntry": { + "description": "A guest attributes namespace/key/value entry.", + "id": "GuestAttributesEntry", + "properties": { + "key": { + "description": "Key for the guest attribute entry.", + "type": "string" + }, + "namespace": { + "description": "Namespace for the guest attribute entry.", + "type": "string" + }, + "value": { + "description": "Value for the guest attribute entry.", + "type": "string" + } + }, + "type": "object" + }, + "GuestAttributesValue": { + "description": "Array of guest attribute namespace/key/value tuples.", + "id": "GuestAttributesValue", + "properties": { + "items": { + "description": "The list of guest attributes entries.", + "items": { + "$ref": "GuestAttributesEntry" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListAcceleratorTypesResponse": { + "description": "Response for ListAcceleratorTypes.", + "id": "ListAcceleratorTypesResponse", + "properties": { + "acceleratorTypes": { + "description": "The listed nodes.", + "items": { + "$ref": "AcceleratorType" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The next page token or empty if none.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListNodesResponse": { + "description": "Response for ListNodes.", + "id": "ListNodesResponse", + "properties": { + "nextPageToken": { + "description": "The next page token or empty if none.", + "type": "string" + }, + "nodes": { + "description": "The listed nodes.", + "items": { + "$ref": "Node" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListRuntimeVersionsResponse": { + "description": "Response for ListRuntimeVersions.", + "id": "ListRuntimeVersionsResponse", + "properties": { + "nextPageToken": { + "description": "The next page token or empty if none.", + "type": "string" + }, + "runtimeVersions": { + "description": "The listed nodes.", + "items": { + "$ref": "RuntimeVersion" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform 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" + }, + "NetworkConfig": { + "description": "Network related configurations.", + "id": "NetworkConfig", + "properties": { + "canIpForward": { + "description": "Allows the TPU node to send and receive packets with non-matching destination or source IPs. This is required if you plan to use the TPU workers to forward routes.", + "type": "boolean" + }, + "enableExternalIps": { + "description": "Indicates that external IP addresses would be associated with the TPU workers. If set to false, the specified subnetwork or network should have Private Google Access enabled.", + "type": "boolean" + }, + "network": { + "description": "The name of the network for the TPU node. It must be a preexisting Google Compute Engine network. If none is provided, \"default\" will be used.", + "type": "string" + }, + "subnetwork": { + "description": "The name of the subnetwork for the TPU node. It must be a preexisting Google Compute Engine subnetwork. If none is provided, \"default\" will be used.", + "type": "string" + } + }, + "type": "object" + }, + "NetworkEndpoint": { + "description": "A network endpoint over which a TPU worker can be reached.", + "id": "NetworkEndpoint", + "properties": { + "accessConfig": { + "$ref": "AccessConfig", + "description": "The access config for the TPU worker." + }, + "ipAddress": { + "description": "The internal IP address of this network endpoint.", + "type": "string" + }, + "port": { + "description": "The port of this network endpoint.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Node": { + "description": "A TPU instance.", + "id": "Node", + "properties": { + "acceleratorType": { + "description": "Required. The type of hardware accelerators associated with this node.", + "type": "string" + }, + "apiVersion": { + "description": "Output only. The API version that created this Node.", + "enum": [ + "API_VERSION_UNSPECIFIED", + "V1_ALPHA1", + "V1", + "V2_ALPHA1" + ], + "enumDescriptions": [ + "API version is unknown.", + "TPU API V1Alpha1 version.", + "TPU API V1 version.", + "TPU API V2Alpha1 version." + ], + "readOnly": true, + "type": "string" + }, + "cidrBlock": { + "description": "The CIDR block that the TPU node will use when selecting an IP address. This CIDR block must be a /29 block; the Compute Engine networks API forbids a smaller block, and using a larger block would be wasteful (a node can only consume one IP address). Errors will occur if the CIDR block has already been used for a currently existing TPU node, the CIDR block conflicts with any subnetworks in the user's provided network, or the provided network is peered with another network that is using that CIDR block.", + "type": "string" + }, + "createTime": { + "description": "Output only. The time when the node was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataDisks": { + "description": "The additional data disks for the Node.", + "items": { + "$ref": "AttachedDisk" + }, + "type": "array" + }, + "description": { + "description": "The user-supplied description of the TPU. Maximum of 512 characters.", + "type": "string" + }, + "health": { + "description": "The health status of the TPU node.", + "enum": [ + "HEALTH_UNSPECIFIED", + "HEALTHY", + "TIMEOUT", + "UNHEALTHY_TENSORFLOW", + "UNHEALTHY_MAINTENANCE" + ], + "enumDescriptions": [ + "Health status is unknown: not initialized or failed to retrieve.", + "The resource is healthy.", + "The resource is unresponsive.", + "The in-guest ML stack is unhealthy.", + "The node is under maintenance/priority boost caused rescheduling and will resume running once rescheduled." + ], + "type": "string" + }, + "healthDescription": { + "description": "Output only. If this field is populated, it contains a description of why the TPU Node is unhealthy.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. The unique identifier for the TPU Node.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user-provided metadata.", + "type": "object" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Custom metadata to apply to the TPU Node. Can set startup-script and shutdown-script", + "type": "object" + }, + "name": { + "description": "Output only. Immutable. The name of the TPU.", + "readOnly": true, + "type": "string" + }, + "networkConfig": { + "$ref": "NetworkConfig", + "description": "Network configurations for the TPU node." + }, + "networkEndpoints": { + "description": "Output only. The network endpoints where TPU workers can be accessed and sent work. It is recommended that runtime clients of the node reach out to the 0th entry in this map first.", + "items": { + "$ref": "NetworkEndpoint" + }, + "readOnly": true, + "type": "array" + }, + "runtimeVersion": { + "description": "Required. The runtime version running in the Node.", + "type": "string" + }, + "schedulingConfig": { + "$ref": "SchedulingConfig", + "description": "The scheduling options for this node." + }, + "serviceAccount": { + "$ref": "ServiceAccount", + "description": "The Google Cloud Platform Service Account to be used by the TPU node VMs. If None is specified, the default compute service account will be used." + }, + "state": { + "description": "Output only. The current state for the TPU Node.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "RESTARTING", + "REIMAGING", + "DELETING", + "REPAIRING", + "STOPPED", + "STOPPING", + "STARTING", + "PREEMPTED", + "TERMINATED", + "HIDING", + "HIDDEN", + "UNHIDING" + ], + "enumDescriptions": [ + "TPU node state is not known/set.", + "TPU node is being created.", + "TPU node has been created.", + "TPU node is restarting.", + "TPU node is undergoing reimaging.", + "TPU node is being deleted.", + "TPU node is being repaired and may be unusable. Details can be found in the `help_description` field.", + "TPU node is stopped.", + "TPU node is currently stopping.", + "TPU node is currently starting.", + "TPU node has been preempted. Only applies to Preemptible TPU Nodes.", + "TPU node has been terminated due to maintenance or has reached the end of its life cycle (for preemptible nodes).", + "TPU node is currently hiding.", + "TPU node has been hidden.", + "TPU node is currently unhiding." + ], + "readOnly": true, + "type": "string" + }, + "symptoms": { + "description": "Output only. The Symptoms that have occurred to the TPU Node.", + "items": { + "$ref": "Symptom" + }, + "readOnly": true, + "type": "array" + }, + "tags": { + "description": "Tags to apply to the TPU Node. Tags are used to identify valid sources or targets for network firewalls.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "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": "Metadata describing an Operation", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "API version.", + "type": "string" + }, + "cancelRequested": { + "description": "Specifies if cancellation was requested for the operation.", + "type": "boolean" + }, + "createTime": { + "description": "The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "statusDetail": { + "description": "Human-readable status of the operation, if any.", + "type": "string" + }, + "target": { + "description": "Target of the operation - for example projects/project-1/connectivityTests/test-1", + "type": "string" + }, + "verb": { + "description": "Name of the verb executed by the operation.", + "type": "string" + } + }, + "type": "object" + }, + "RuntimeVersion": { + "description": "A runtime version that a Node can be configured with.", + "id": "RuntimeVersion", + "properties": { + "name": { + "description": "The resource name.", + "type": "string" + }, + "version": { + "description": "The runtime version.", + "type": "string" + } + }, + "type": "object" + }, + "SchedulingConfig": { + "description": "Sets the scheduling options for this node.", + "id": "SchedulingConfig", + "properties": { + "preemptible": { + "description": "Defines whether the node is preemptible.", + "type": "boolean" + }, + "reserved": { + "description": "Whether the node is created under a reservation.", + "type": "boolean" + } + }, + "type": "object" + }, + "ServiceAccount": { + "description": "A service account.", + "id": "ServiceAccount", + "properties": { + "email": { + "description": "Email address of the service account. If empty, default Compute service account will be used.", + "type": "string" + }, + "scope": { + "description": "The list of scopes to be made available for this service account. If empty, access to all Cloud APIs will be allowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ServiceIdentity": { + "description": "The per-product per-project service identity for Cloud TPU service.", + "id": "ServiceIdentity", + "properties": { + "email": { + "description": "The email address of the service identity.", + "type": "string" + } + }, + "type": "object" + }, + "StartNodeRequest": { + "description": "Request for StartNode.", + "id": "StartNodeRequest", + "properties": {}, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "StopNodeRequest": { + "description": "Request for StopNode.", + "id": "StopNodeRequest", + "properties": {}, + "type": "object" + }, + "Symptom": { + "description": "A Symptom instance.", + "id": "Symptom", + "properties": { + "createTime": { + "description": "Timestamp when the Symptom is created.", + "format": "google-datetime", + "type": "string" + }, + "details": { + "description": "Detailed information of the current Symptom.", + "type": "string" + }, + "symptomType": { + "description": "Type of the Symptom.", + "enum": [ + "SYMPTOM_TYPE_UNSPECIFIED", + "LOW_MEMORY", + "OUT_OF_MEMORY", + "EXECUTE_TIMED_OUT", + "MESH_BUILD_FAIL", + "HBM_OUT_OF_MEMORY", + "PROJECT_ABUSE" + ], + "enumDescriptions": [ + "Unspecified symptom.", + "TPU VM memory is low.", + "TPU runtime is out of memory.", + "TPU runtime execution has timed out.", + "TPU runtime fails to construct a mesh that recognizes each TPU device's neighbors.", + "TPU HBM is out of memory.", + "Abusive behaviors have been identified on the current project." + ], + "type": "string" + }, + "workerId": { + "description": "A string used to uniquely distinguish a worker within a TPU node.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Cloud TPU API", + "version": "v2alpha1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/trafficdirector/v2/trafficdirector-api.json b/etc/api/trafficdirector/v2/trafficdirector-api.json index 481e98ae3b..9ab65b3d8c 100644 --- a/etc/api/trafficdirector/v2/trafficdirector-api.json +++ b/etc/api/trafficdirector/v2/trafficdirector-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -128,7 +128,7 @@ } } }, - "revision": "20210325", + "revision": "20220201", "rootUrl": "https://trafficdirector.googleapis.com/", "schemas": { "Address": { diff --git a/etc/api/transcoder/v1/transcoder-api.json b/etc/api/transcoder/v1/transcoder-api.json new file mode 100644 index 0000000000..366a7a5854 --- /dev/null +++ b/etc/api/transcoder/v1/transcoder-api.json @@ -0,0 +1,1555 @@ +{ + "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:v1", + "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": "v1/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": "v1/{+parent}/jobTemplates", + "request": { + "$ref": "JobTemplate" + }, + "response": { + "$ref": "JobTemplate" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a job template.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobTemplates/{jobTemplatesId}", + "httpMethod": "DELETE", + "id": "transcoder.projects.locations.jobTemplates.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "If set to true, and the job template is not found, the request will succeed but no action will be taken on the server.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The name of the job template to delete. `projects/{project}/locations/{location}/jobTemplates/{job_template}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/jobTemplates/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the job template data.", + "flatPath": "v1/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": "v1/{+name}", + "response": { + "$ref": "JobTemplate" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists job templates in the specified region.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobTemplates", + "httpMethod": "GET", + "id": "transcoder.projects.locations.jobTemplates.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "The filter expression, following the syntax outlined in https://google.aip.dev/160.", + "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": "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": "v1/{+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": "v1/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": "v1/{+parent}/jobs", + "request": { + "$ref": "Job" + }, + "response": { + "$ref": "Job" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a job.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobs/{jobsId}", + "httpMethod": "DELETE", + "id": "transcoder.projects.locations.jobs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "If set to true, and the job is not found, the request will succeed but no action will be taken on the server.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The name of the job to delete. Format: `projects/{project}/locations/{location}/jobs/{job}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the job data.", + "flatPath": "v1/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": "v1/{+name}", + "response": { + "$ref": "Job" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists jobs in the specified region.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/jobs", + "httpMethod": "GET", + "id": "transcoder.projects.locations.jobs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "The filter expression, following the syntax outlined in https://google.aip.dev/160.", + "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": "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": "v1/{+parent}/jobs", + "response": { + "$ref": "ListJobsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20220201", + "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" + }, + "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" + }, + "AudioMapping": { + "description": "The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.", + "id": "AudioMapping", + "properties": { + "atomKey": { + "description": "Required. The `EditAtom.key` that references the atom with audio inputs in the `Job.edit_list`.", + "type": "string" + }, + "gainDb": { + "description": "Audio volume control in dB. Negative values decrease volume, positive values increase. The default is 0.", + "format": "double", + "type": "number" + }, + "inputChannel": { + "description": "Required. The zero-based index of the channel in the input audio stream.", + "format": "int32", + "type": "integer" + }, + "inputKey": { + "description": "Required. The `Input.key` that identifies the input file.", + "type": "string" + }, + "inputTrack": { + "description": "Required. The zero-based index of the track in the input file.", + "format": "int32", + "type": "integer" + }, + "outputChannel": { + "description": "Required. The zero-based index of the channel in the output audio stream.", + "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": "AudioMapping" + }, + "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" + }, + "H264CodecSettings": { + "description": "H264 codec settings.", + "id": "H264CodecSettings", + "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 is 800,000,000.", + "format": "int32", + "type": "integer" + }, + "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 [Calculating 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](https://trac.ffmpeg.org/wiki/Encode/H.264#Preset). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` 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](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` 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](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` 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" + }, + "H265CodecSettings": { + "description": "H265 codec settings.", + "id": "H265CodecSettings", + "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 is 800,000,000.", + "format": "int32", + "type": "integer" + }, + "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" + }, + "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 [Calculating 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](https://trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.", + "type": "string" + }, + "profile": { + "description": "Enforces the specified codec profile. The following profiles are supported: * 8-bit profiles * `main` (default) * `main-intra` * `mainstillpicture` * 10-bit profiles * `main10` (default) * `main10-intra` * `main422-10` * `main422-10-intra` * `main444-10` * `main444-10-intra` * 12-bit profiles * `main12` (default) * `main12-intra` * `main422-12` * `main422-12-intra` * `main444-12` * `main444-12-intra` The available options are [FFmpeg-compatible](https://x265.readthedocs.io/). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` 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](https://trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` 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" + }, + "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" + }, + "error": { + "$ref": "Status", + "description": "Output only. An error object that describes the reason for the failure. This property is always present when `state` is `FAILED`.", + "readOnly": true + }, + "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_number}/locations/{location}/jobs/{job}`", + "type": "string" + }, + "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" + }, + "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_number}/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" + }, + "unreachable": { + "description": "List of regions that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "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" + }, + "unreachable": { + "description": "List of regions that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "TextMapping": { + "description": "The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.", + "id": "TextMapping", + "properties": { + "atomKey": { + "description": "Required. The `EditAtom.key` that references atom with text inputs in the `Job.edit_list`.", + "type": "string" + }, + "inputKey": { + "description": "Required. The `Input.key` that identifies the input file.", + "type": "string" + }, + "inputTrack": { + "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" + }, + "mapping": { + "description": "The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.", + "items": { + "$ref": "TextMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "VideoStream": { + "description": "Video stream resource.", + "id": "VideoStream", + "properties": { + "h264": { + "$ref": "H264CodecSettings", + "description": "H264 codec settings." + }, + "h265": { + "$ref": "H265CodecSettings", + "description": "H265 codec settings." + }, + "vp9": { + "$ref": "Vp9CodecSettings", + "description": "VP9 codec settings." + } + }, + "type": "object" + }, + "Vp9CodecSettings": { + "description": "VP9 codec settings.", + "id": "Vp9CodecSettings", + "properties": { + "bitrateBps": { + "description": "Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value is 480,000,000.", + "format": "int32", + "type": "integer" + }, + "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. *Note*: This field is not supported. ", + "format": "int32", + "type": "integer" + }, + "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 [Calculating 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" + }, + "profile": { + "description": "Enforces the specified codec profile. The following profiles are supported: * `profile0` (default) * `profile1` * `profile2` * `profile3` The available options are [WebM-compatible](https://www.webmproject.org/vp9/profiles/). Note that certain values for this field may cause the transcoder to override other fields you set in the `Vp9CodecSettings` message.", + "type": "string" + }, + "rateControlMode": { + "description": "Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate", + "type": "string" + }, + "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": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/translate/v3/translate-api.json b/etc/api/translate/v3/translate-api.json index a95e6c293e..b53a4e19e6 100644 --- a/etc/api/translate/v3/translate-api.json +++ b/etc/api/translate/v3/translate-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "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" @@ -154,7 +154,7 @@ "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`, `projects/{project-number-or-id}/locations/{location-id}/models/general/base` Returns languages supported by the specified model. If missing, we get supported languages of Google general base (PBMT) 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" }, @@ -208,6 +208,34 @@ "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": "v3/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": "v3/{+parent}:batchTranslateDocument", + "request": { + "$ref": "BatchTranslateDocumentRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "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": "v3/projects/{projectsId}/locations/{locationsId}:batchTranslateText", @@ -306,7 +334,7 @@ "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`, `projects/{project-number-or-id}/locations/{location-id}/models/general/base` Returns languages supported by the specified model. If missing, we get supported languages of Google general base (PBMT) 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" }, @@ -349,7 +377,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -369,6 +397,35 @@ "https://www.googleapis.com/auth/cloud-translation" ] }, + "translateDocument": { + "description": "Translates documents in synchronous mode.", + "flatPath": "v3/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` 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 the same location-id), otherwise an INVALID_ARGUMENT (400) error is returned.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/{+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": "v3/projects/{projectsId}/locations/{locationsId}:translateText", @@ -687,9 +744,81 @@ } } }, - "revision": "20210312", + "revision": "20220121", "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?hl=en#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": { + "formatConversions": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional.", + "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", @@ -719,7 +848,7 @@ "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`, `projects/{project-number-or-id}/locations/{location-id}/models/general/base` If the map is empty or a specific model is not requested for a language pair, then default google model (nmt) is used.", + "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": { @@ -802,6 +931,64 @@ }, "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); } The JSON representation for `Empty` is empty JSON object `{}`.", "id": "Empty", @@ -1124,6 +1311,67 @@ }, "type": "object" }, + "TranslateDocumentRequest": { + "description": "A document translation request.", + "id": "TranslateDocumentRequest", + "properties": { + "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." + }, + "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/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", @@ -1166,7 +1414,7 @@ "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`, `projects/{project-number-or-id}/locations/{location-id}/models/general/base` For global (non-regionalized) requests, use `location-id` `global`. For example, `projects/{project-number-or-id}/locations/global/models/general/nmt`. If missing, the system decides which google base model to use.", + "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": { @@ -1217,7 +1465,7 @@ "type": "string" }, "translatedText": { - "description": "Text translated into the target language.", + "description": "Text translated into the target language. If an error occurs during translation, this field might be excluded from the response.", "type": "string" } }, diff --git a/etc/api/translate/v3beta1/translate-api.json b/etc/api/translate/v3beta1/translate-api.json index 6b57808495..5a83ce5b37 100644 --- a/etc/api/translate/v3beta1/translate-api.json +++ b/etc/api/translate/v3beta1/translate-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "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" @@ -154,7 +154,7 @@ "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`, `projects/{project-number-or-id}/locations/{location-id}/models/general/base` Returns languages supported by the specified model. If missing, we get supported languages of Google general base (PBMT) 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" }, @@ -208,6 +208,34 @@ "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" + ] + }, "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", @@ -306,7 +334,7 @@ "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`, `projects/{project-number-or-id}/locations/{location-id}/models/general/base` Returns languages supported by the specified model. If missing, we get supported languages of Google general base (PBMT) 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" }, @@ -349,7 +377,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -369,6 +397,35 @@ "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", @@ -687,9 +744,81 @@ } } }, - "revision": "20210312", + "revision": "20220121", "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?hl=en#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": { + "formatConversions": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional.", + "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", @@ -719,7 +848,7 @@ "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`, `projects/{project-number-or-id}/locations/{location-id}/models/general/base` If the map is empty or a specific model is not requested for a language pair, then default google model (nmt) is used.", + "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": { @@ -802,6 +931,64 @@ }, "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); } The JSON representation for `Empty` is empty JSON object `{}`.", "id": "Empty", @@ -1124,6 +1311,67 @@ }, "type": "object" }, + "TranslateDocumentRequest": { + "description": "A document translation request.", + "id": "TranslateDocumentRequest", + "properties": { + "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." + }, + "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/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", @@ -1166,7 +1414,7 @@ "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`, `projects/{project-number-or-id}/locations/{location-id}/models/general/base` For global (non-regionalized) requests, use `location-id` `global`. For example, `projects/{project-number-or-id}/locations/global/models/general/nmt`. If missing, the system decides which google base model to use.", + "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": { @@ -1217,7 +1465,7 @@ "type": "string" }, "translatedText": { - "description": "Text translated into the target language.", + "description": "Text translated into the target language. If an error occurs during translation, this field might be excluded from the response.", "type": "string" } }, diff --git a/etc/api/vault/v1/vault-api.json b/etc/api/vault/v1/vault-api.json index 39206d525c..acf7396877 100644 --- a/etc/api/vault/v1/vault-api.json +++ b/etc/api/vault/v1/vault-api.json @@ -15,7 +15,7 @@ "baseUrl": "https://vault.googleapis.com/", "batchPath": "batch", "canonicalName": "Vault", - "description": "Archiving and eDiscovery for G Suite.", + "description": "Retention and eDiscovery for Google Workspace. To work with Vault resources, the account must have the [required Vault privileges](https://support.google.com/vault/answer/2799699) and access to the matter. To access a matter, the account must have created the matter, have the matter shared with them, or have the **View All Matters** privilege. For example, to download an export, an account needs the **Manage Exports** privilege and the matter shared with them. ", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/vault", "fullyEncodeReservedExpansion": true, @@ -138,7 +138,7 @@ ] }, "close": { - "description": "Closes the specified matter. Returns matter with updated state.", + "description": "Closes the specified matter. Returns the matter with updated state.", "flatPath": "v1/matters/{matterId}:close", "httpMethod": "POST", "id": "vault.matters.close", @@ -165,7 +165,7 @@ ] }, "count": { - "description": "Counts the artifacts within the context of a matter and returns a detailed breakdown of metrics.", + "description": "Counts the accounts processed by the specified query.", "flatPath": "v1/matters/{matterId}:count", "httpMethod": "POST", "id": "vault.matters.count", @@ -192,7 +192,7 @@ ] }, "create": { - "description": "Creates a new matter with the given name and description. The initial state is open, and the owner is the method caller. Returns the created matter with default view.", + "description": "Creates a matter with the given name and description. The initial state is open, and the owner is the method caller. Returns the created matter with default view.", "flatPath": "v1/matters", "httpMethod": "POST", "id": "vault.matters.create", @@ -210,7 +210,7 @@ ] }, "delete": { - "description": "Deletes the specified matter. Returns matter with updated state.", + "description": "Deletes the specified matter. Returns the matter with updated state.", "flatPath": "v1/matters/{matterId}", "httpMethod": "DELETE", "id": "vault.matters.delete", @@ -249,16 +249,16 @@ "type": "string" }, "view": { - "description": "Specifies which parts of the Matter to return in the response.", + "description": "Specifies how much information about the matter to return in the response.", "enum": [ "VIEW_UNSPECIFIED", "BASIC", "FULL" ], "enumDescriptions": [ - "There is no specified view.", - "Response includes the matter_id, name, description, and state. Default choice.", - "Full representation of matter is returned. Everything above and including MatterPermissions list." + "The amount of detail is unspecified. Same as **BASIC**.", + "Returns the matter ID, name, description, and state. Default choice.", + "Returns the basic details and a list of matter owners and collaborators (see [MatterPermissions](https://developers.google.com/vault/reference/rest/v1/matters#matterpermission))." ], "location": "query", "type": "string" @@ -274,7 +274,7 @@ ] }, "list": { - "description": "Lists matters the user has access to.", + "description": "Lists matters the requestor has access to.", "flatPath": "v1/matters", "httpMethod": "GET", "id": "vault.matters.list", @@ -292,7 +292,7 @@ "type": "string" }, "state": { - "description": "If set, list only matters with that specific state. The default is listing matters of all states.", + "description": "If set, lists only matters with the specified state. The default lists matters of all states.", "enum": [ "STATE_UNSPECIFIED", "OPEN", @@ -301,24 +301,24 @@ ], "enumDescriptions": [ "The matter has no specified state.", - "This matter is open.", - "This matter is closed.", - "This matter is deleted." + "The matter is open.", + "The matter is closed.", + "The matter is deleted." ], "location": "query", "type": "string" }, "view": { - "description": "Specifies which parts of the matter to return in response.", + "description": "Specifies how much information about the matter to return in response.", "enum": [ "VIEW_UNSPECIFIED", "BASIC", "FULL" ], "enumDescriptions": [ - "There is no specified view.", - "Response includes the matter_id, name, description, and state. Default choice.", - "Full representation of matter is returned. Everything above and including MatterPermissions list." + "The amount of detail is unspecified. Same as **BASIC**.", + "Returns the matter ID, name, description, and state. Default choice.", + "Returns the basic details and a list of matter owners and collaborators (see [MatterPermissions](https://developers.google.com/vault/reference/rest/v1/matters#matterpermission))." ], "location": "query", "type": "string" @@ -361,7 +361,7 @@ ] }, "reopen": { - "description": "Reopens the specified matter. Returns matter with updated state.", + "description": "Reopens the specified matter. Returns the matter with updated state.", "flatPath": "v1/matters/{matterId}:reopen", "httpMethod": "POST", "id": "vault.matters.reopen", @@ -388,7 +388,7 @@ ] }, "undelete": { - "description": "Undeletes the specified matter. Returns matter with updated state.", + "description": "Undeletes the specified matter. Returns the matter with updated state.", "flatPath": "v1/matters/{matterId}:undelete", "httpMethod": "POST", "id": "vault.matters.undelete", @@ -446,7 +446,7 @@ "exports": { "methods": { "create": { - "description": "Creates an Export.", + "description": "Creates an export.", "flatPath": "v1/matters/{matterId}/exports", "httpMethod": "POST", "id": "vault.matters.exports.create", @@ -473,7 +473,7 @@ ] }, "delete": { - "description": "Deletes an Export.", + "description": "Deletes an export.", "flatPath": "v1/matters/{matterId}/exports/{exportId}", "httpMethod": "DELETE", "id": "vault.matters.exports.delete", @@ -504,7 +504,7 @@ ] }, "get": { - "description": "Gets an Export.", + "description": "Gets an export.", "flatPath": "v1/matters/{matterId}/exports/{exportId}", "httpMethod": "GET", "id": "vault.matters.exports.get", @@ -536,7 +536,7 @@ ] }, "list": { - "description": "Lists Exports.", + "description": "Lists details about the exports in the specified matter.", "flatPath": "v1/matters/{matterId}/exports", "httpMethod": "GET", "id": "vault.matters.exports.list", @@ -576,7 +576,7 @@ "holds": { "methods": { "addHeldAccounts": { - "description": "Adds HeldAccounts to a hold. Returns a list of accounts that have been successfully added. Accounts can only be added to an existing account-based hold.", + "description": "Adds accounts to a hold. Returns a list of accounts that have been successfully added. Accounts can be added only to an existing account-based hold.", "flatPath": "v1/matters/{matterId}/holds/{holdId}:addHeldAccounts", "httpMethod": "POST", "id": "vault.matters.holds.addHeldAccounts", @@ -610,7 +610,7 @@ ] }, "create": { - "description": "Creates a hold in the given matter.", + "description": "Creates a hold in the specified matter.", "flatPath": "v1/matters/{matterId}/holds", "httpMethod": "POST", "id": "vault.matters.holds.create", @@ -637,7 +637,7 @@ ] }, "delete": { - "description": "Removes a hold by ID. This will release any HeldAccounts on this Hold.", + "description": "Removes the specified hold and releases the accounts or organizational unit covered by the hold. If the data is not preserved by another hold or retention rule, it might be purged.", "flatPath": "v1/matters/{matterId}/holds/{holdId}", "httpMethod": "DELETE", "id": "vault.matters.holds.delete", @@ -668,7 +668,7 @@ ] }, "get": { - "description": "Gets a hold by ID.", + "description": "Gets the specified hold.", "flatPath": "v1/matters/{matterId}/holds/{holdId}", "httpMethod": "GET", "id": "vault.matters.holds.get", @@ -690,16 +690,16 @@ "type": "string" }, "view": { - "description": "Specifies which parts of the Hold to return.", + "description": "The amount of detail to return for a hold.", "enum": [ "HOLD_VIEW_UNSPECIFIED", "BASIC_HOLD", "FULL_HOLD" ], "enumDescriptions": [ - "There is no specified view. Defaults to FULL_HOLD.", - "Response includes the id, name, update time, corpus, and query.", - "Full representation of a Hold. Response includes all fields of 'BASIC' and the entities the Hold applies to, such as accounts, or OU." + "Not specified. Defaults to **FULL_HOLD**.", + "Returns the hold ID, name, update time, service, and query.", + "Returns all details of **BASIC_HOLD** and the entities the hold applies to, such as accounts or organizational unit." ], "location": "query", "type": "string" @@ -715,7 +715,7 @@ ] }, "list": { - "description": "Lists holds within a matter. An empty page token in ListHoldsResponse denotes no more holds to list.", + "description": "Lists the holds in a matter.", "flatPath": "v1/matters/{matterId}/holds", "httpMethod": "GET", "id": "vault.matters.holds.list", @@ -730,7 +730,7 @@ "type": "string" }, "pageSize": { - "description": "The number of holds to return in the response, between 0 and 100 inclusive. Leaving this empty, or as 0, is the same as page_size = 100.", + "description": "The number of holds to return in the response, between 0 and 100 inclusive. Leaving this empty, or as 0, is the same as **page_size** = 100.", "format": "int32", "location": "query", "type": "integer" @@ -741,16 +741,16 @@ "type": "string" }, "view": { - "description": "Specifies which parts of the Hold to return.", + "description": "The amount of detail to return for a hold.", "enum": [ "HOLD_VIEW_UNSPECIFIED", "BASIC_HOLD", "FULL_HOLD" ], "enumDescriptions": [ - "There is no specified view. Defaults to FULL_HOLD.", - "Response includes the id, name, update time, corpus, and query.", - "Full representation of a Hold. Response includes all fields of 'BASIC' and the entities the Hold applies to, such as accounts, or OU." + "Not specified. Defaults to **FULL_HOLD**.", + "Returns the hold ID, name, update time, service, and query.", + "Returns all details of **BASIC_HOLD** and the entities the hold applies to, such as accounts or organizational unit." ], "location": "query", "type": "string" @@ -766,7 +766,7 @@ ] }, "removeHeldAccounts": { - "description": "Removes HeldAccounts from a hold. Returns a list of statuses in the same order as the request. If this request leaves the hold with no held accounts, the hold will not apply to any accounts.", + "description": "Removes the specified accounts from a hold. Returns a list of statuses in the same order as the request.", "flatPath": "v1/matters/{matterId}/holds/{holdId}:removeHeldAccounts", "httpMethod": "POST", "id": "vault.matters.holds.removeHeldAccounts", @@ -800,7 +800,7 @@ ] }, "update": { - "description": "Updates the OU and/or query parameters of a hold. You cannot add accounts to a hold that covers an OU, nor can you add OUs to a hold that covers individual accounts. Accounts listed in the hold will be ignored.", + "description": "Updates the scope (organizational unit or accounts) and query parameters of a hold. You cannot add accounts to a hold that covers an organizational unit, nor can you add organizational units to a hold that covers individual accounts. If you try, the unsupported values are ignored.", "flatPath": "v1/matters/{matterId}/holds/{holdId}", "httpMethod": "PUT", "id": "vault.matters.holds.update", @@ -838,7 +838,7 @@ "accounts": { "methods": { "create": { - "description": "Adds a HeldAccount to a hold. Accounts can only be added to a hold that has no held_org_unit set. Attempting to add an account to an OU-based hold will result in an error.", + "description": "Adds an account to a hold. Accounts can be added only to a hold that does not have an organizational unit set. If you try to add an account to an organizational unit-based hold, an error is returned.", "flatPath": "v1/matters/{matterId}/holds/{holdId}/accounts", "httpMethod": "POST", "id": "vault.matters.holds.accounts.create", @@ -872,7 +872,7 @@ ] }, "delete": { - "description": "Removes a HeldAccount from a hold. If this request leaves the hold with no held accounts, the hold will not apply to any accounts.", + "description": "Removes an account from a hold.", "flatPath": "v1/matters/{matterId}/holds/{holdId}/accounts/{accountId}", "httpMethod": "DELETE", "id": "vault.matters.holds.accounts.delete", @@ -910,7 +910,7 @@ ] }, "list": { - "description": "Lists HeldAccounts for a hold. This will only list individually specified held accounts. If the hold is on an OU, then use Admin SDK to enumerate its members.", + "description": "Lists the accounts covered by a hold. This can list only individually-specified accounts covered by the hold. If the hold covers an organizational unit, use the [Admin SDK](https://developers.google.com/admin-sdk/). to list the members of the organizational unit on hold.", "flatPath": "v1/matters/{matterId}/holds/{holdId}/accounts", "httpMethod": "GET", "id": "vault.matters.holds.accounts.list", @@ -957,7 +957,7 @@ ], "parameters": { "matterId": { - "description": "The matter ID of the parent matter for which the saved query is to be created.", + "description": "The ID of the matter to create the saved query in.", "location": "path", "required": true, "type": "string" @@ -975,7 +975,7 @@ ] }, "delete": { - "description": "Deletes a saved query by Id.", + "description": "Deletes the specified saved query.", "flatPath": "v1/matters/{matterId}/savedQueries/{savedQueryId}", "httpMethod": "DELETE", "id": "vault.matters.savedQueries.delete", @@ -985,13 +985,13 @@ ], "parameters": { "matterId": { - "description": "The matter ID of the parent matter for which the saved query is to be deleted.", + "description": "The ID of the matter to delete the saved query from.", "location": "path", "required": true, "type": "string" }, "savedQueryId": { - "description": "ID of the saved query to be deleted.", + "description": "ID of the saved query to delete.", "location": "path", "required": true, "type": "string" @@ -1006,7 +1006,7 @@ ] }, "get": { - "description": "Retrieves a saved query by Id.", + "description": "Retrieves the specified saved query.", "flatPath": "v1/matters/{matterId}/savedQueries/{savedQueryId}", "httpMethod": "GET", "id": "vault.matters.savedQueries.get", @@ -1016,13 +1016,13 @@ ], "parameters": { "matterId": { - "description": "The matter ID of the parent matter for which the saved query is to be retrieved.", + "description": "The ID of the matter to get the saved query from.", "location": "path", "required": true, "type": "string" }, "savedQueryId": { - "description": "ID of the saved query to be retrieved.", + "description": "ID of the saved query to retrieve.", "location": "path", "required": true, "type": "string" @@ -1038,7 +1038,7 @@ ] }, "list": { - "description": "Lists saved queries within a matter. An empty page token in ListSavedQueriesResponse denotes no more saved queries to list.", + "description": "Lists the saved queries in a matter.", "flatPath": "v1/matters/{matterId}/savedQueries", "httpMethod": "GET", "id": "vault.matters.savedQueries.list", @@ -1047,7 +1047,7 @@ ], "parameters": { "matterId": { - "description": "The matter ID of the parent matter for which the saved queries are to be retrieved.", + "description": "The ID of the matter to get the saved queries for.", "location": "path", "required": true, "type": "string" @@ -1193,11 +1193,11 @@ } } }, - "revision": "20210316", + "revision": "20220222", "rootUrl": "https://vault.googleapis.com/", "schemas": { "AccountCount": { - "description": "Count number for each account.", + "description": "The results count for each account.", "id": "AccountCount", "properties": { "account": { @@ -1205,7 +1205,7 @@ "description": "Account owner." }, "count": { - "description": "The number of artifacts found for this account.", + "description": "The number of results (messages or files) found for this account.", "format": "int64", "type": "string" } @@ -1244,7 +1244,7 @@ "type": "object" }, "AccountInfo": { - "description": "Accounts to search", + "description": "The accounts to search", "id": "AccountInfo", "properties": { "emails": { @@ -1258,16 +1258,16 @@ "type": "object" }, "AddHeldAccountResult": { - "description": "A status detailing the status of each account creation, and the HeldAccount, if successful.", + "description": "The status of each account creation, and the **HeldAccount**, if successful.", "id": "AddHeldAccountResult", "properties": { "account": { "$ref": "HeldAccount", - "description": "If present, this account was successfully created." + "description": "Returned when the account was successfully created." }, "status": { "$ref": "Status", - "description": "This represents the success status. If failed, check message." + "description": "Reports the request status. If it failed, returns an error message." } }, "type": "object" @@ -1277,14 +1277,14 @@ "id": "AddHeldAccountsRequest", "properties": { "accountIds": { - "description": "Account IDs to identify which accounts to add. Only account_ids or only emails should be specified, but not both.", + "description": "A comma-separated list of the account IDs of the accounts to add to the hold. Specify either **emails** or **account_ids**, but not both.", "items": { "type": "string" }, "type": "array" }, "emails": { - "description": "Emails to identify which accounts to add. Only emails or only account_ids should be specified, but not both.", + "description": "A comma-separated list of the emails of the accounts to add to the hold. Specify either **emails** or **account_ids**, but not both.", "items": { "type": "string" }, @@ -1308,19 +1308,19 @@ "type": "object" }, "AddMatterPermissionsRequest": { - "description": "Add an account with the permission specified. The role cannot be owner. If an account already has a role in the matter, it will be overwritten.", + "description": "Add an account with the permission specified. The role cannot be owner. If an account already has a role in the matter, the existing role is overwritten.", "id": "AddMatterPermissionsRequest", "properties": { "ccMe": { - "description": "Only relevant if send_emails is true. True to CC requestor in the email message. False to not CC requestor.", + "description": "Only relevant if **sendEmails** is **true**. To CC the requestor in the email message, set to **true**. To not CC requestor, set to **false**.", "type": "boolean" }, "matterPermission": { "$ref": "MatterPermission", - "description": "The MatterPermission to add." + "description": "The account and its role to add." }, "sendEmails": { - "description": "True to send notification email to the added account. False to not send notification email.", + "description": "To send a notification email to the added account, set to **true**. To not send a notification email, set to **false**.", "type": "boolean" } }, @@ -1344,17 +1344,17 @@ "properties": { "matter": { "$ref": "Matter", - "description": "The updated matter, with state CLOSED." + "description": "The updated matter, with state **CLOSED**." } }, "type": "object" }, "CloudStorageFile": { - "description": "An export file on cloud storage", + "description": "The export file in Cloud Storage", "id": "CloudStorageFile", "properties": { "bucketName": { - "description": "The cloud storage bucket name of this export file. Can be used in cloud storage JSON/XML API, but not to list the bucket contents. Instead, you can get individual export files by object name.", + "description": "The name of the Cloud Storage bucket for the export file. You can use this value in the [Cloud Storage JSON or XML APIs](https://cloud.google.com/storage/docs/apis), but not to list the bucket contents. Instead, you can [get individual export files](https://cloud.google.com/storage/docs/json_api/v1/objects/get) by object name.", "type": "string" }, "md5Hash": { @@ -1362,11 +1362,11 @@ "type": "string" }, "objectName": { - "description": "The cloud storage object name of this export file. Can be used in cloud storage JSON/XML API.", + "description": "The name of the Cloud Storage object for the export file. You can use this value in the [Cloud Storage JSON or XML APIs](https://cloud.google.com/storage/docs/apis).", "type": "string" }, "size": { - "description": "The size of the export file.", + "description": "The export file size.", "format": "int64", "type": "string" } @@ -1374,11 +1374,11 @@ "type": "object" }, "CloudStorageSink": { - "description": "Export sink for cloud storage files.", + "description": "Export sink for Cloud Storage files.", "id": "CloudStorageSink", "properties": { "files": { - "description": "Output only. The exported files on cloud storage.", + "description": "Output only. The exported files in Cloud Storage.", "items": { "$ref": "CloudStorageFile" }, @@ -1388,28 +1388,28 @@ "type": "object" }, "CorpusQuery": { - "description": "Corpus specific queries.", + "description": "Service-specific options for holds.", "id": "CorpusQuery", "properties": { "driveQuery": { "$ref": "HeldDriveQuery", - "description": "Details pertaining to Drive holds. If set, corpus must be Drive." + "description": "Service-specific options for Drive holds. If set, **CorpusType** must be **DRIVE**." }, "groupsQuery": { "$ref": "HeldGroupsQuery", - "description": "Details pertaining to Groups holds. If set, corpus must be Groups." + "description": "Service-specific options for Groups holds. If set, **CorpusType** must be **GROUPS**." }, "hangoutsChatQuery": { "$ref": "HeldHangoutsChatQuery", - "description": "Details pertaining to Hangouts Chat holds. If set, corpus must be Hangouts Chat." + "description": "Service-specific options for Chat holds. If set, **CorpusType** must be **HANGOUTS_CHAT**." }, "mailQuery": { "$ref": "HeldMailQuery", - "description": "Details pertaining to mail holds. If set, corpus must be mail." + "description": "Service-specific options for Gmail holds. If set, **CorpusType** must be **MAIL**." }, "voiceQuery": { "$ref": "HeldVoiceQuery", - "description": "Details pertaining to Voice holds. If set, corpus must be Voice." + "description": "Service-specific options for Voice holds. If set, **CorpusType** must be **VOICE**." } }, "type": "object" @@ -1448,16 +1448,16 @@ "description": "The search query." }, "view": { - "description": "Specifies the granularity of the count result returned in response.", + "description": "Sets the granularity of the count results.", "enum": [ "COUNT_RESULT_VIEW_UNSPECIFIED", "TOTAL_COUNT", "ALL" ], "enumDescriptions": [ - "Default. It works the same as TOTAL_COUNT.", - "Response includes: total count, queried accounts count, matching accounts count, non-queryable accounts, queried account errors.", - "Response includes additional breakdown of account count." + "Default. Same as **TOTAL_COUNT**.", + "Response includes counts of the total accounts, queried accounts, matching accounts, non-queryable accounts, and queried account errors.", + "Response includes the same details as **TOTAL_COUNT**, plus additional account breakdown." ], "type": "string" } @@ -1470,14 +1470,14 @@ "properties": { "groupsCountResult": { "$ref": "GroupsCountResult", - "description": "Count metrics of Groups." + "description": "Count metrics for Groups." }, "mailCountResult": { "$ref": "MailCountResult", - "description": "Count metrics of Mail." + "description": "Count metrics for Gmail and classic Hangouts." }, "totalCount": { - "description": "Total count of artifacts. For mail and groups, artifacts refers to messages.", + "description": "Total count of messages.", "format": "int64", "type": "string" } @@ -1485,22 +1485,22 @@ "type": "object" }, "DriveExportOptions": { - "description": "The options for Drive export.", + "description": "Options for Drive exports.", "id": "DriveExportOptions", "properties": { "includeAccessInfo": { - "description": "Set to true to include access level information for users with indirect access to files.", + "description": "To include access level information for users with [indirect access](https://support.google.com/vault/answer/6099459#metadata) to files, set to **true**.", "type": "boolean" } }, "type": "object" }, "DriveOptions": { - "description": "Drive search advanced options", + "description": "Additional options for Drive search", "id": "DriveOptions", "properties": { "includeSharedDrives": { - "description": "Set to true to include shared drive.", + "description": "Set to **true** to include shared drives.", "type": "boolean" }, "includeTeamDrives": { @@ -1508,7 +1508,7 @@ "type": "boolean" }, "versionDate": { - "description": "Search the versions of the Drive file as of the reference date. These timestamps are in GMT and rounded down to the given date.", + "description": "Search the current version of the Drive file, but export the contents of the last version saved before 12:00 AM UTC on the specified date. Enter the date in UTC.", "format": "google-datetime", "type": "string" } @@ -1522,12 +1522,12 @@ "type": "object" }, "Export": { - "description": "An export", + "description": "An export. To work with Vault resources, the account must have the [required Vault privileges](https://support.google.com/vault/answer/2799699) and access to the matter. To access a matter, the account must have created the matter, have the matter shared with them, or have the **View All Matters** privilege.", "id": "Export", "properties": { "cloudStorageSink": { "$ref": "CloudStorageSink", - "description": "Output only. Export sink for cloud storage files." + "description": "Output only. The sink for export files in Cloud Storage." }, "createTime": { "description": "Output only. The time when the export was created.", @@ -1536,7 +1536,7 @@ }, "exportOptions": { "$ref": "ExportOptions", - "description": "Advanced options of the export." + "description": "Additional export options." }, "id": { "description": "Output only. The generated export ID.", @@ -1552,7 +1552,7 @@ }, "query": { "$ref": "Query", - "description": "The search query being exported." + "description": "The query parameters used to create the export." }, "requester": { "$ref": "UserInfo", @@ -1560,10 +1560,10 @@ }, "stats": { "$ref": "ExportStats", - "description": "Output only. Export statistics." + "description": "Output only. Details about the export progress and size." }, "status": { - "description": "Output only. The export status.", + "description": "Output only. The status of the export.", "enum": [ "EXPORT_STATUS_UNSPECIFIED", "COMPLETED", @@ -1574,7 +1574,7 @@ "The status is unspecified.", "The export completed.", "The export failed.", - "The export is still being executed." + "The export is in progress." ], "type": "string" } @@ -1582,27 +1582,27 @@ "type": "object" }, "ExportOptions": { - "description": "Export advanced options", + "description": "Additional options for exports", "id": "ExportOptions", "properties": { "driveOptions": { "$ref": "DriveExportOptions", - "description": "Option available for Drive export." + "description": "Options for Drive exports." }, "groupsOptions": { "$ref": "GroupsExportOptions", - "description": "Option available for groups export." + "description": "Options for Groups exports." }, "hangoutsChatOptions": { "$ref": "HangoutsChatExportOptions", - "description": "Option available for hangouts chat export." + "description": "Options for Chat exports." }, "mailOptions": { "$ref": "MailExportOptions", - "description": "Option available for mail export." + "description": "Options for Gmail exports." }, "region": { - "description": "The requested export location.", + "description": "The requested data region for the export.", "enum": [ "EXPORT_REGION_UNSPECIFIED", "ANY", @@ -1610,26 +1610,26 @@ "EUROPE" ], "enumDescriptions": [ - "The region is unspecified. Will be treated the same as ANY.", + "The region is unspecified. Defaults to ANY.", "Any region.", - "US region.", + "United States region.", "Europe region." ], "type": "string" }, "voiceOptions": { "$ref": "VoiceExportOptions", - "description": "Option available for voice export." + "description": "Options for Voice exports." } }, "type": "object" }, "ExportStats": { - "description": "Stats of an export.", + "description": "Progress information for an export.", "id": "ExportStats", "properties": { "exportedArtifactCount": { - "description": "The number of documents already processed by the export.", + "description": "The number of messages or files already processed for export.", "format": "int64", "type": "string" }, @@ -1639,7 +1639,7 @@ "type": "string" }, "totalArtifactCount": { - "description": "The number of documents to be exported.", + "description": "The number of messages or files to be exported.", "format": "int64", "type": "string" } @@ -1670,7 +1670,7 @@ "type": "string" }, "nonQueryableAccounts": { - "description": "When data scope is HELD_DATA in the request Query, these accounts in the request are not queried because they are not on hold. For other data scope, this field is not set.", + "description": "When **DataScope** is **HELD_DATA**, these accounts in the request are not queried because they are not on hold. For other data scope, this field is not set.", "items": { "type": "string" }, @@ -1685,11 +1685,11 @@ "type": "object" }, "GroupsExportOptions": { - "description": "The options for groups export.", + "description": "Options for Groups exports.", "id": "GroupsExportOptions", "properties": { "exportFormat": { - "description": "The export format for groups export.", + "description": "The file format for exported messages.", "enum": [ "EXPORT_FORMAT_UNSPECIFIED", "MBOX", @@ -1697,8 +1697,8 @@ ], "enumDescriptions": [ "No export format specified.", - "MBOX as export format.", - "PST as export format" + "Export as MBOX.", + "Export as PST." ], "type": "string" } @@ -1706,11 +1706,11 @@ "type": "object" }, "HangoutsChatExportOptions": { - "description": "The options for hangouts chat export.", + "description": "Options for Chat exports.", "id": "HangoutsChatExportOptions", "properties": { "exportFormat": { - "description": "The export format for hangouts chat export.", + "description": "The file format for exported messages.", "enum": [ "EXPORT_FORMAT_UNSPECIFIED", "MBOX", @@ -1718,8 +1718,8 @@ ], "enumDescriptions": [ "No export format specified.", - "MBOX as export format.", - "PST as export format" + "Export as MBOX.", + "Export as PST." ], "type": "string" } @@ -1727,11 +1727,11 @@ "type": "object" }, "HangoutsChatInfo": { - "description": "Accounts to search", + "description": "The Chat spaces to search", "id": "HangoutsChatInfo", "properties": { "roomId": { - "description": "A set of rooms to search.", + "description": "A list of Chat spaces IDs, as provided by the [Chat API](https://developers.google.com/hangouts/chat).", "items": { "type": "string" }, @@ -1741,26 +1741,26 @@ "type": "object" }, "HangoutsChatOptions": { - "description": "Hangouts chat search advanced options", + "description": "Additional options for Google Chat search", "id": "HangoutsChatOptions", "properties": { "includeRooms": { - "description": "Set to true to include rooms.", + "description": "For searches by account or organizational unit, set to **true** to include rooms.", "type": "boolean" } }, "type": "object" }, "HeldAccount": { - "description": "An account being held in a particular hold. This structure is immutable. This can be either a single user or a google group, depending on the corpus.", + "description": "An account covered by a hold. This structure is immutable. It can be an individual account or a Google Group, depending on the service. To work with Vault resources, the account must have the [required Vault privileges] (https://support.google.com/vault/answer/2799699) and access to the matter. To access a matter, the account must have created the matter, have the matter shared with them, or have the **View All Matters** privilege.", "id": "HeldAccount", "properties": { "accountId": { - "description": "The account's ID as provided by the Admin SDK.", + "description": "The account ID, as provided by the [Admin SDK](https://developers.google.com/admin-sdk/).", "type": "string" }, "email": { - "description": "The primary email address of the account. If used as an input, this takes precedence over account ID.", + "description": "The primary email address of the account. If used as an input, this takes precedence over **accountId**.", "type": "string" }, "firstName": { @@ -1780,15 +1780,15 @@ "type": "object" }, "HeldDriveQuery": { - "description": "Query options for Drive holds.", + "description": "Options for Drive holds.", "id": "HeldDriveQuery", "properties": { "includeSharedDriveFiles": { - "description": "If true, include files in shared drives in the hold.", + "description": "To include files in shared drives in the hold, set to **true**.", "type": "boolean" }, "includeTeamDriveFiles": { - "description": "If true, include files in Team Drives in the hold.", + "description": "To include files in Team Drives in the hold, set to **true**.", "type": "boolean" } }, @@ -1799,76 +1799,76 @@ "id": "HeldGroupsQuery", "properties": { "endTime": { - "description": "The end time range for the search query. These timestamps are in GMT and rounded down to the start of the given date.", + "description": "The end time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.", "format": "google-datetime", "type": "string" }, "startTime": { - "description": "The start time range for the search query. These timestamps are in GMT and rounded down to the start of the given date.", + "description": "The start time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.", "format": "google-datetime", "type": "string" }, "terms": { - "description": "The search terms for the hold.", + "description": "The [search operators](https://support.google.com/vault/answer/2474474) used to refine the messages covered by the hold.", "type": "string" } }, "type": "object" }, "HeldHangoutsChatQuery": { - "description": "Query options for hangouts chat holds.", + "description": "Options for Chat holds.", "id": "HeldHangoutsChatQuery", "properties": { "includeRooms": { - "description": "If true, include rooms the user has participated in.", + "description": "To include messages in Chat spaces the user was a member of, set to **true**.", "type": "boolean" } }, "type": "object" }, "HeldMailQuery": { - "description": "Query options for mail holds.", + "description": "Query options for Gmail holds.", "id": "HeldMailQuery", "properties": { "endTime": { - "description": "The end time range for the search query. These timestamps are in GMT and rounded down to the start of the given date.", + "description": "The end time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.", "format": "google-datetime", "type": "string" }, "startTime": { - "description": "The start time range for the search query. These timestamps are in GMT and rounded down to the start of the given date.", + "description": "The start time for the query. Specify in GMT. The value is rounded to 12 AM on the specified date.", "format": "google-datetime", "type": "string" }, "terms": { - "description": "The search terms for the hold.", + "description": "The [search operators](https://support.google.com/vault/answer/2474474) used to refine the messages covered by the hold.", "type": "string" } }, "type": "object" }, "HeldOrgUnit": { - "description": "A organizational unit being held in a particular hold. This structure is immutable.", + "description": "The organizational unit covered by a hold. This structure is immutable.", "id": "HeldOrgUnit", "properties": { "holdTime": { - "description": "When the org unit was put on hold. This property is immutable.", + "description": "When the organizational unit was put on hold. This property is immutable.", "format": "google-datetime", "type": "string" }, "orgUnitId": { - "description": "The org unit's immutable ID as provided by the Admin SDK.", + "description": "The organizational unit's immutable ID as provided by the [Admin SDK](https://developers.google.com/admin-sdk/).", "type": "string" } }, "type": "object" }, "HeldVoiceQuery": { - "description": "Query options for Voice holds.", + "description": "Options for Voice holds.", "id": "HeldVoiceQuery", "properties": { "coveredData": { - "description": "Data covered by this rule. Should be non-empty. Order does not matter and duplicates will be ignored.", + "description": "A list of data types covered by the hold. Should be non-empty. Order does not matter and duplicates are ignored.", "items": { "enum": [ "COVERED_DATA_UNSPECIFIED", @@ -1878,9 +1878,9 @@ ], "enumDescriptions": [ "Covered data unspecified.", - "Voice text message will be covered.", - "Voicemail will be covered.", - "Call logs will be covered." + "Voice text messages.", + "Voicemails and their transcripts.", + "Call logs." ], "type": "string" }, @@ -1890,18 +1890,18 @@ "type": "object" }, "Hold": { - "description": "Represents a hold within Vault. A hold restricts purging of artifacts based on the combination of the query and accounts restrictions. A hold can be configured to either apply to an explicitly configured set of accounts, or can be applied to all members of an organizational unit.", + "description": "A hold. A hold prevents the specified Google Workspace service from purging data for specific accounts or all members of an organizational unit. To work with Vault resources, the account must have the [required Vault privileges] (https://support.google.com/vault/answer/2799699) and access to the matter. To access a matter, the account must have created the matter, have the matter shared with them, or have the **View All Matters** privilege.", "id": "Hold", "properties": { "accounts": { - "description": "If set, the hold applies to the enumerated accounts and org_unit must be empty.", + "description": "If set, the hold applies to the specified accounts and **orgUnit** must be empty.", "items": { "$ref": "HeldAccount" }, "type": "array" }, "corpus": { - "description": "The corpus to be searched.", + "description": "The service to be searched.", "enum": [ "CORPUS_TYPE_UNSPECIFIED", "DRIVE", @@ -1911,11 +1911,11 @@ "VOICE" ], "enumDescriptions": [ - "No corpus specified.", - "Drive.", - "Mail.", + "No service specified.", + "Drive, including Meet and Sites.", + "For search, Gmail and classic Hangouts. For holds, Gmail only.", "Groups.", - "Hangouts Chat.", + "For search, Google Chat only. For holds, Google Chat and classic Hangouts.", "Google Voice." ], "type": "string" @@ -1930,11 +1930,11 @@ }, "orgUnit": { "$ref": "HeldOrgUnit", - "description": "If set, the hold applies to all members of the organizational unit and accounts must be empty. This property is mutable. For groups holds, set the accounts field." + "description": "If set, the hold applies to all members of the organizational unit and **accounts** must be empty. This property is mutable. For Groups holds, set **accounts**." }, "query": { "$ref": "CorpusQuery", - "description": "The corpus-specific query. If set, the corpusQuery must match corpus type." + "description": "Service-specific options. If set, **CorpusQuery** must match **CorpusType**." }, "updateTime": { "description": "The last time this hold was modified.", @@ -1945,7 +1945,7 @@ "type": "object" }, "ListExportsResponse": { - "description": "The holds for a matter.", + "description": "The exports for a matter.", "id": "ListExportsResponse", "properties": { "exports": { @@ -1963,7 +1963,7 @@ "type": "object" }, "ListHeldAccountsResponse": { - "description": "Returns a list of held accounts for a hold.", + "description": "Returns a list of the accounts covered by a hold.", "id": "ListHeldAccountsResponse", "properties": { "accounts": { @@ -2039,7 +2039,7 @@ "type": "string" }, "savedQueries": { - "description": "List of output saved queries.", + "description": "List of saved queries.", "items": { "$ref": "SavedQuery" }, @@ -2049,11 +2049,11 @@ "type": "object" }, "MailCountResult": { - "description": "Mail specific count metrics.", + "description": "Gmail and classic Hangouts-specific count metrics.", "id": "MailCountResult", "properties": { "accountCountErrors": { - "description": "Error occurred when querying these accounts.", + "description": "Errors occurred when querying these accounts.", "items": { "$ref": "AccountCountError" }, @@ -2072,7 +2072,7 @@ "type": "string" }, "nonQueryableAccounts": { - "description": "When data scope is HELD_DATA in the request Query, these accounts in the request are not queried because they are not on hold. For other data scope, this field is not set.", + "description": "When **DataScope** is **HELD_DATA** and when account emails are passed in explicitly, the list of accounts in the request that are not queried because they are not on hold in the matter. For other data scopes, this field is not set.", "items": { "type": "string" }, @@ -2087,11 +2087,11 @@ "type": "object" }, "MailExportOptions": { - "description": "The options for mail export.", + "description": "Options for Gmail exports.", "id": "MailExportOptions", "properties": { "exportFormat": { - "description": "The export file format.", + "description": "The file format for exported messages.", "enum": [ "EXPORT_FORMAT_UNSPECIFIED", "MBOX", @@ -2099,43 +2099,47 @@ ], "enumDescriptions": [ "No export format specified.", - "MBOX as export format.", - "PST as export format" + "Export as MBOX.", + "Export as PST." ], "type": "string" }, "showConfidentialModeContent": { - "description": "Set to true to export confidential mode content.", + "description": "To export confidential mode content, set to **true**.", + "type": "boolean" + }, + "useNewExport": { + "description": "To use the new export system, set to **true**.", "type": "boolean" } }, "type": "object" }, "MailOptions": { - "description": "Mail search advanced options", + "description": "Additional options for Gmail search", "id": "MailOptions", "properties": { "excludeDrafts": { - "description": "Set to true to exclude drafts.", + "description": "Set to **true** to exclude drafts.", "type": "boolean" } }, "type": "object" }, "Matter": { - "description": "Represents a matter.", + "description": "Represents a matter. To work with Vault resources, the account must have the [required Vault privileges] (https://support.google.com/vault/answer/2799699) and access to the matter. To access a matter, the account must have created the matter, have the matter shared with them, or have the **View All Matters** privilege.", "id": "Matter", "properties": { "description": { - "description": "The description of the matter.", + "description": "An optional description for the matter.", "type": "string" }, "matterId": { - "description": "The matter ID which is generated by the server. Should be blank when creating a new matter.", + "description": "The matter ID, which is generated by the server. Leave blank when creating a matter.", "type": "string" }, "matterPermissions": { - "description": "List of users and access to the matter. Currently there is no programmer defined limit on the number of permissions a matter can have.", + "description": "Lists the users and their permission for the matter. Currently there is no programmer defined limit on the number of permissions a matter can have.", "items": { "$ref": "MatterPermission" }, @@ -2155,9 +2159,9 @@ ], "enumDescriptions": [ "The matter has no specified state.", - "This matter is open.", - "This matter is closed.", - "This matter is deleted." + "The matter is open.", + "The matter is closed.", + "The matter is deleted." ], "type": "string" } @@ -2165,15 +2169,15 @@ "type": "object" }, "MatterPermission": { - "description": "Currently each matter only has one owner, and all others are collaborators. When an account is purged, its corresponding MatterPermission resources cease to exist.", + "description": "Users can be matter owners or collaborators. Each matter has only one owner. All others users who can access the matter are collaborators. When an account is purged, its corresponding MatterPermission resources cease to exist.", "id": "MatterPermission", "properties": { "accountId": { - "description": "The account ID, as provided by Admin SDK.", + "description": "The account ID, as provided by the [Admin SDK](https://developers.google.com/admin-sdk/).", "type": "string" }, "role": { - "description": "The user's role in this matter.", + "description": "The user's role for the matter.", "enum": [ "ROLE_UNSPECIFIED", "COLLABORATOR", @@ -2181,7 +2185,7 @@ ], "enumDescriptions": [ "No role assigned.", - "A collaborator to the matter.", + "A collaborator on the matter.", "The owner of the matter." ], "type": "string" @@ -2225,26 +2229,26 @@ "type": "object" }, "OrgUnitInfo": { - "description": "Org Unit to search", + "description": "The organizational unit to search", "id": "OrgUnitInfo", "properties": { "orgUnitId": { - "description": "Org unit to search, as provided by the Admin SDK Directory API.", + "description": "The name of the organizational unit to search, as provided by the [Admin SDK Directory API](https://developers.google.com/admin-sdk/directory/).", "type": "string" } }, "type": "object" }, "Query": { - "description": "A query definition relevant for search & export.", + "description": "The query definition used for search and export.", "id": "Query", "properties": { "accountInfo": { "$ref": "AccountInfo", - "description": "When 'ACCOUNT' is chosen as search method, account_info needs to be specified." + "description": "Required when **SearchMethod** is **ACCOUNT**." }, "corpus": { - "description": "The corpus to search.", + "description": "The Google Workspace service to search.", "enum": [ "CORPUS_TYPE_UNSPECIFIED", "DRIVE", @@ -2254,17 +2258,17 @@ "VOICE" ], "enumDescriptions": [ - "No corpus specified.", - "Drive.", - "Mail.", + "No service specified.", + "Drive, including Meet and Sites.", + "For search, Gmail and classic Hangouts. For holds, Gmail only.", "Groups.", - "Hangouts Chat.", + "For search, Google Chat only. For holds, Google Chat and classic Hangouts.", "Google Voice." ], "type": "string" }, "dataScope": { - "description": "The data source to search from.", + "description": "The data source to search.", "enum": [ "DATA_SCOPE_UNSPECIFIED", "ALL_DATA", @@ -2272,36 +2276,36 @@ "UNPROCESSED_DATA" ], "enumDescriptions": [ - "No data scope specified.", + "No data source specified.", "All available data.", - "Data on hold.", - "Data not processed." + "Only data on hold.", + "Only data not yet processed by Vault. (Gmail and Groups only)" ], "type": "string" }, "driveOptions": { "$ref": "DriveOptions", - "description": "For Drive search, specify more options in this field." + "description": "Set Drive search-specific options." }, "endTime": { - "description": "The end time range for the search query. These timestamps are in GMT and rounded down to the start of the given date.", + "description": "The end time for the search query. Specify in GMT. The value is rounded to 12 AM on the specified date.", "format": "google-datetime", "type": "string" }, "hangoutsChatInfo": { "$ref": "HangoutsChatInfo", - "description": "When 'ROOM' is chosen as search method, hangout_chats_info needs to be specified. (read-only)" + "description": "Required when **SearchMethod** is **ROOM**. (read-only)" }, "hangoutsChatOptions": { "$ref": "HangoutsChatOptions", - "description": "For hangouts chat search, specify more options in this field. (read-only)" + "description": "Set Chat search-specific options. (read-only)" }, "mailOptions": { "$ref": "MailOptions", - "description": "For mail search, specify more options in this field." + "description": "Set Gmail search-specific options." }, "method": { - "description": "The search method to use. This field is similar to the search_method field but is introduced to support shared drives. It supports all search method types. In case the search_method is TEAM_DRIVE the response of this field will be SHARED_DRIVE only.", + "description": "The entity to search. This field replaces **searchMethod** to support shared drives. When **searchMethod** is **TEAM_DRIVE**, the response of this field is **SHARED_DRIVE**.", "enum": [ "SEARCH_METHOD_UNSPECIFIED", "ACCOUNT", @@ -2312,19 +2316,19 @@ "SHARED_DRIVE" ], "enumDescriptions": [ - "A search method must be specified. If a request does not specify a search method, it will be rejected.", - "Will search all accounts provided in account_info.", - "Will search all accounts in the OU specified in org_unit_info.", - "Will search for all accounts in the Team Drive specified in team_drive_info.", - "Will search for all accounts in the organization. No need to set account_info or org_unit_info. Not all CORPUS_TYPE support this scope. Supported by MAIL.", - "Will search in the Room specified in hangout_chats_info. (read-only)", - "Will search for all accounts in the shared drive specified in shared_drive_info." + "A search method must be specified or else it is rejected.", + "Search the data of the accounts specified in [AccountInfo](https://developers.google.com/vault/reference/rest/v1/Query#accountinfo).", + "Search the data of all accounts in the organizational unit specified in [OrgUnitInfo](https://developers.google.com/vault/reference/rest/v1/Query#orgunitinfo).", + "Search the data in the Team Drive specified in **team_drive_info**.", + "Search the data of all accounts in the organization. Supported only for Gmail. When specified, you don't need to specify **AccountInfo** or **OrgUnitInfo**.", + "Search messages in the Chat spaces specified in [HangoutsChatInfo](https://developers.google.com/vault/reference/rest/v1/Query#hangoutschatinfo).", + "Search the files in the shared drives specified in [SharedDriveInfo](https://developers.google.com/vault/reference/rest/v1/Query#shareddriveinfo)." ], "type": "string" }, "orgUnitInfo": { "$ref": "OrgUnitInfo", - "description": "When 'ORG_UNIT' is chosen as as search method, org_unit_info needs to be specified." + "description": "Required when **SearchMethod** is **ORG_UNIT**." }, "searchMethod": { "description": "The search method to use.", @@ -2338,40 +2342,40 @@ "SHARED_DRIVE" ], "enumDescriptions": [ - "A search method must be specified. If a request does not specify a search method, it will be rejected.", - "Will search all accounts provided in account_info.", - "Will search all accounts in the OU specified in org_unit_info.", - "Will search for all accounts in the Team Drive specified in team_drive_info.", - "Will search for all accounts in the organization. No need to set account_info or org_unit_info. Not all CORPUS_TYPE support this scope. Supported by MAIL.", - "Will search in the Room specified in hangout_chats_info. (read-only)", - "Will search for all accounts in the shared drive specified in shared_drive_info." + "A search method must be specified or else it is rejected.", + "Search the data of the accounts specified in [AccountInfo](https://developers.google.com/vault/reference/rest/v1/Query#accountinfo).", + "Search the data of all accounts in the organizational unit specified in [OrgUnitInfo](https://developers.google.com/vault/reference/rest/v1/Query#orgunitinfo).", + "Search the data in the Team Drive specified in **team_drive_info**.", + "Search the data of all accounts in the organization. Supported only for Gmail. When specified, you don't need to specify **AccountInfo** or **OrgUnitInfo**.", + "Search messages in the Chat spaces specified in [HangoutsChatInfo](https://developers.google.com/vault/reference/rest/v1/Query#hangoutschatinfo).", + "Search the files in the shared drives specified in [SharedDriveInfo](https://developers.google.com/vault/reference/rest/v1/Query#shareddriveinfo)." ], "type": "string" }, "sharedDriveInfo": { "$ref": "SharedDriveInfo", - "description": "When 'SHARED_DRIVE' is chosen as search method, shared_drive_info needs to be specified." + "description": "Required when **SearchMethod** is **SHARED_DRIVE**." }, "startTime": { - "description": "The start time range for the search query. These timestamps are in GMT and rounded down to the start of the given date.", + "description": "The start time for the search query. Specify in GMT. The value is rounded to 12 AM on the specified date.", "format": "google-datetime", "type": "string" }, "teamDriveInfo": { "$ref": "TeamDriveInfo", - "description": "When 'TEAM_DRIVE' is chosen as search method, team_drive_info needs to be specified." + "description": "Required when **SearchMethod** is **TEAM_DRIVE**." }, "terms": { - "description": "The corpus-specific search operators used to generate search results.", + "description": "Service-specific [search operators](https://support.google.com/vault/answer/2474474) to filter search results.", "type": "string" }, "timeZone": { - "description": "The time zone name. It should be an IANA TZ name, such as \"America/Los_Angeles\". For more information, see Time Zone.", + "description": "The time zone name. It should be an IANA TZ name, such as \"America/Los_Angeles\". For a list of time zone names, see [Time Zone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). For more information about how Vault uses time zones, see [the Vault help center](https://support.google.com/vault/answer/6092995#time).", "type": "string" }, "voiceOptions": { "$ref": "VoiceOptions", - "description": "For voice search, specify more options in this field." + "description": "Set Voice search-specific options." } }, "type": "object" @@ -2381,7 +2385,7 @@ "id": "RemoveHeldAccountsRequest", "properties": { "accountIds": { - "description": "Account IDs to identify HeldAccounts to remove.", + "description": "The account IDs of the accounts to remove from the hold.", "items": { "type": "string" }, @@ -2395,7 +2399,7 @@ "id": "RemoveHeldAccountsResponse", "properties": { "statuses": { - "description": "A list of statuses for deleted accounts. Results have the same order as the request.", + "description": "A list of statuses for the deleted accounts. Results have the same order as the request.", "items": { "$ref": "Status" }, @@ -2427,31 +2431,31 @@ "properties": { "matter": { "$ref": "Matter", - "description": "The updated matter, with state OPEN." + "description": "The updated matter, with state **OPEN**." } }, "type": "object" }, "SavedQuery": { - "description": "Definition of the saved query.", + "description": "The definition of a saved query. To work with Vault resources, the account must have the [required Vault privileges](https://support.google.com/vault/answer/2799699) and access to the matter. To access a matter, the account must have created the matter, have the matter shared with them, or have the **View All Matters** privilege.", "id": "SavedQuery", "properties": { "createTime": { - "description": "Output only. The server generated timestamp at which saved query was created.", + "description": "Output only. The server-generated timestamp when the saved query was created.", "format": "google-datetime", "type": "string" }, "displayName": { - "description": "Name of the saved query.", + "description": "The name of the saved query.", "type": "string" }, "matterId": { - "description": "Output only. The matter ID of the associated matter. The server does not look at this field during create and always uses matter id in the URL.", + "description": "Output only. The matter ID of the matter the saved query is saved in. The server does not use this field during create and always uses matter ID in the URL.", "type": "string" }, "query": { "$ref": "Query", - "description": "The underlying Query object which contains all the information of the saved query." + "description": "The search parameters of the saved query." }, "savedQueryId": { "description": "A unique identifier for the saved query.", @@ -2461,11 +2465,11 @@ "type": "object" }, "SharedDriveInfo": { - "description": "Shared drives to search", + "description": "The shared drives to search", "id": "SharedDriveInfo", "properties": { "sharedDriveIds": { - "description": "List of Shared drive IDs, as provided by Drive API.", + "description": "A list of shared drive IDs, as provided by the [Drive API](https://developers.google.com/drive).", "items": { "type": "string" }, @@ -2506,7 +2510,7 @@ "id": "TeamDriveInfo", "properties": { "teamDriveIds": { - "description": "List of Team Drive IDs, as provided by Drive API.", + "description": "List of Team Drive IDs, as provided by the [Drive API](https://developers.google.com/drive).", "items": { "type": "string" }, @@ -2537,11 +2541,11 @@ "type": "object" }, "VoiceExportOptions": { - "description": "The options for voice export.", + "description": "The options for Voice exports.", "id": "VoiceExportOptions", "properties": { "exportFormat": { - "description": "The export format for voice export.", + "description": "The file format for exported text messages.", "enum": [ "EXPORT_FORMAT_UNSPECIFIED", "MBOX", @@ -2549,8 +2553,8 @@ ], "enumDescriptions": [ "No export format specified.", - "MBOX as export format.", - "PST as export format" + "Export as MBOX.", + "Export as PST." ], "type": "string" } @@ -2558,7 +2562,7 @@ "type": "object" }, "VoiceOptions": { - "description": "Voice search options", + "description": "Additional options for Voice search", "id": "VoiceOptions", "properties": { "coveredData": { @@ -2572,9 +2576,9 @@ ], "enumDescriptions": [ "Covered data unspecified.", - "Voice text message will be covered.", - "Voicemail will be covered.", - "Call logs will be covered." + "Voice text messages.", + "Voicemails and their transcripts.", + "Call logs." ], "type": "string" }, @@ -2585,7 +2589,7 @@ } }, "servicePath": "", - "title": "G Suite Vault API", + "title": "Google Vault API", "version": "v1", "version_module": true } \ No newline at end of file diff --git a/etc/api/verifiedaccess/v1/verifiedaccess-api.json b/etc/api/verifiedaccess/v1/verifiedaccess-api.json index c0c38105f8..b29d44c08e 100644 --- a/etc/api/verifiedaccess/v1/verifiedaccess-api.json +++ b/etc/api/verifiedaccess/v1/verifiedaccess-api.json @@ -146,7 +146,7 @@ } } }, - "revision": "20210302", + "revision": "20220215", "rootUrl": "https://verifiedaccess.googleapis.com/", "schemas": { "Challenge": { diff --git a/etc/api/versionhistory/v1/versionhistory-api.json b/etc/api/versionhistory/v1/versionhistory-api.json new file mode 100644 index 0000000000..bc2a99732d --- /dev/null +++ b/etc/api/versionhistory/v1/versionhistory-api.json @@ -0,0 +1,490 @@ +{ + "basePath": "", + "baseUrl": "https://versionhistory.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Version History", + "description": "Version History API - Prod", + "discoveryVersion": "v1", + "documentationLink": "https://developers.chrome.com/versionhistory", + "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": "versionhistory:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://versionhistory.mtls.googleapis.com/", + "name": "versionhistory", + "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": { + "platforms": { + "methods": { + "list": { + "description": "Returns list of platforms that are available for a given product. The resource \"product\" has no resource name in its name.", + "flatPath": "v1/{v1Id}/platforms", + "httpMethod": "GET", + "id": "versionhistory.platforms.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Optional limit on the number of channels to include in the response. If unspecified, the server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListChannels` call. Provide this to retrieve the subsequent page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The product, which owns this collection of platforms. Format: {product}", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/platforms", + "response": { + "$ref": "ListPlatformsResponse" + } + } + }, + "resources": { + "channels": { + "methods": { + "list": { + "description": "Returns list of channels that are available for a given platform.", + "flatPath": "v1/{v1Id}/platforms/{platformsId}/channels", + "httpMethod": "GET", + "id": "versionhistory.platforms.channels.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Optional limit on the number of channels to include in the response. If unspecified, the server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListChannels` call. Provide this to retrieve the subsequent page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The platform, which owns this collection of channels. Format: {product}/platforms/{platform}", + "location": "path", + "pattern": "^[^/]+/platforms/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/channels", + "response": { + "$ref": "ListChannelsResponse" + } + } + }, + "resources": { + "versions": { + "methods": { + "list": { + "description": "Returns list of version for the given platform/channel.", + "flatPath": "v1/{v1Id}/platforms/{platformsId}/channels/{channelsId}/versions", + "httpMethod": "GET", + "id": "versionhistory.platforms.channels.versions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter string. Format is a comma separated list of All comma separated filter clauses are conjoined with a logical \"and\". Valid field_names are \"version\", \"name\", \"platform\", and \"channel\". Valid operators are \"<\", \"<=\", \"=\", \">=\", and \">\". Channel comparison is done by distance from stable. Ex) stable < beta, beta < dev, canary < canary_asan. Version comparison is done numerically. If version is not entirely written, the version will be appended with 0 in missing fields. Ex) version > 80 becoms version > 80.0.0.0 Name and platform are filtered by string comparison. Ex) \"...?filter=channel<=beta, version >= 80 Ex) \"...?filter=version > 80, version < 81", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Ordering string. Valid order_by strings are \"version\", \"name\", \"platform\", and \"channel\". Optionally, you can append \" desc\" or \" asc\" to specify the sorting order. Multiple order_by strings can be used in a comma separated list. Ordering by channel will sort by distance from the stable channel (not alphabetically). A list of channels sorted in this order is: stable, beta, dev, canary, and canary_asan. Sorting by name may cause unexpected behaviour as it is a naive string sort. For example, 1.0.0.8 will be before 1.0.0.10 in descending order. If order_by is not specified the response will be sorted by version in descending order. Ex) \"...?order_by=version asc\" Ex) \"...?order_by=platform desc, channel, version\"", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Optional limit on the number of versions to include in the response. If unspecified, the server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListVersions` call. Provide this to retrieve the subsequent page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The channel, which owns this collection of versions. Format: {product}/platforms/{platform}/channels/{channel}", + "location": "path", + "pattern": "^[^/]+/platforms/[^/]+/channels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/versions", + "response": { + "$ref": "ListVersionsResponse" + } + } + }, + "resources": { + "releases": { + "methods": { + "list": { + "description": "Returns list of releases of the given version.", + "flatPath": "v1/{v1Id}/platforms/{platformsId}/channels/{channelsId}/versions/{versionsId}/releases", + "httpMethod": "GET", + "id": "versionhistory.platforms.channels.versions.releases.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter string. Format is a comma separated list of All comma separated filter clauses are conjoined with a logical \"and\". Valid field_names are \"version\", \"name\", \"platform\", \"channel\", \"fraction\" \"starttime\", and \"endtime\". Valid operators are \"<\", \"<=\", \"=\", \">=\", and \">\". Channel comparison is done by distance from stable. must be a valid channel when filtering by channel. Ex) stable < beta, beta < dev, canary < canary_asan. Version comparison is done numerically. Ex) 1.0.0.8 < 1.0.0.10. If version is not entirely written, the version will be appended with 0 for the missing fields. Ex) version > 80 becoms version > 80.0.0.0 When filtering by starttime or endtime, string must be in RFC 3339 date string format. Name and platform are filtered by string comparison. Ex) \"...?filter=channel<=beta, version >= 80 Ex) \"...?filter=version > 80, version < 81 Ex) \"...?filter=starttime>2020-01-01T00:00:00Z", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Ordering string. Valid order_by strings are \"version\", \"name\", \"starttime\", \"endtime\", \"platform\", \"channel\", and \"fraction\". Optionally, you can append \"desc\" or \"asc\" to specify the sorting order. Multiple order_by strings can be used in a comma separated list. Ordering by channel will sort by distance from the stable channel (not alphabetically). A list of channels sorted in this order is: stable, beta, dev, canary, and canary_asan. Sorting by name may cause unexpected behaviour as it is a naive string sort. For example, 1.0.0.8 will be before 1.0.0.10 in descending order. If order_by is not specified the response will be sorted by starttime in descending order. Ex) \"...?order_by=starttime asc\" Ex) \"...?order_by=platform desc, channel, startime desc\"", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Optional limit on the number of releases to include in the response. If unspecified, the server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListReleases` call. Provide this to retrieve the subsequent page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The version, which owns this collection of releases. Format: {product}/platforms/{platform}/channels/{channel}/versions/{version}", + "location": "path", + "pattern": "^[^/]+/platforms/[^/]+/channels/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/releases", + "response": { + "$ref": "ListReleasesResponse" + } + } + } + } + } + } + } + } + } + } + }, + "revision": "20220307", + "rootUrl": "https://versionhistory.googleapis.com/", + "schemas": { + "Channel": { + "description": "Each Channel is owned by a Platform and owns a collection of versions. Possible Channels are listed in the Channel enum below. Not all Channels are available for every Platform (e.g. CANARY does not exist for LINUX).", + "id": "Channel", + "properties": { + "channelType": { + "description": "Type of channel.", + "enum": [ + "CHANNEL_TYPE_UNSPECIFIED", + "STABLE", + "BETA", + "DEV", + "CANARY", + "CANARY_ASAN", + "ALL", + "EXTENDED" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "name": { + "description": "Channel name. Format is \"{product}/platforms/{platform}/channels/{channel}\"", + "type": "string" + } + }, + "type": "object" + }, + "Interval": { + "description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.", + "id": "Interval", + "properties": { + "endTime": { + "description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "ListChannelsResponse": { + "description": "Response message for ListChannels.", + "id": "ListChannelsResponse", + "properties": { + "channels": { + "description": "The list of channels.", + "items": { + "$ref": "Channel" + }, + "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" + }, + "ListPlatformsResponse": { + "description": "Response message for ListPlatforms.", + "id": "ListPlatformsResponse", + "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" + }, + "platforms": { + "description": "The list of platforms.", + "items": { + "$ref": "Platform" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListReleasesResponse": { + "description": "Response message for ListReleases.", + "id": "ListReleasesResponse", + "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" + }, + "releases": { + "description": "The list of releases.", + "items": { + "$ref": "Release" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListVersionsResponse": { + "description": "Response message for ListVersions.", + "id": "ListVersionsResponse", + "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" + }, + "versions": { + "description": "The list of versions.", + "items": { + "$ref": "Version" + }, + "type": "array" + } + }, + "type": "object" + }, + "Platform": { + "description": "Each Platform is owned by a Product and owns a collection of channels. Available platforms are listed in Platform enum below. Not all Channels are available for every Platform (e.g. CANARY does not exist for LINUX).", + "id": "Platform", + "properties": { + "name": { + "description": "Platform name. Format is \"{product}/platforms/{platform}\"", + "type": "string" + }, + "platformType": { + "description": "Type of platform.", + "enum": [ + "PLATFORM_TYPE_UNSPECIFIED", + "WIN", + "WIN64", + "MAC", + "LINUX", + "ANDROID", + "WEBVIEW", + "IOS", + "ALL", + "MAC_ARM64", + "LACROS", + "LACROS_ARM32", + "CHROMEOS" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "Release": { + "description": "A Release is owned by a Version. A Release contains information about the release(s) of its parent version. This includes when the release began and ended, as well as what percentage it was released at. If the version is released again, or if the serving percentage changes, it will create another release under the version.", + "id": "Release", + "properties": { + "fraction": { + "description": "Rollout fraction. This fraction indicates the fraction of people that should receive this version in this release. If the fraction is not specified in ReleaseManager, the API will assume fraction is 1.", + "format": "double", + "type": "number" + }, + "name": { + "description": "Release name. Format is \"{product}/platforms/{platform}/channels/{channel}/versions/{version}/releases/{release}\"", + "type": "string" + }, + "serving": { + "$ref": "Interval", + "description": "Timestamp interval of when the release was live. If end_time is unspecified, the release is currently live." + }, + "version": { + "description": "String containing just the version number. e.g. \"84.0.4147.38\"", + "type": "string" + } + }, + "type": "object" + }, + "Version": { + "description": "Each Version is owned by a Channel. A Version only displays the Version number (e.g. 84.0.4147.38). A Version owns a collection of releases.", + "id": "Version", + "properties": { + "name": { + "description": "Version name. Format is \"{product}/platforms/{platform}/channels/{channel}/versions/{version}\" e.g. \"chrome/platforms/win/channels/beta/versions/84.0.4147.38\"", + "type": "string" + }, + "version": { + "description": "String containing just the version number. e.g. \"84.0.4147.38\"", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Version History API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/videointelligence/v1/videointelligence-api.json b/etc/api/videointelligence/v1/videointelligence-api.json index 57109ff8c1..4931b0f55a 100644 --- a/etc/api/videointelligence/v1/videointelligence-api.json +++ b/etc/api/videointelligence/v1/videointelligence-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -350,7 +350,7 @@ } } }, - "revision": "20210325", + "revision": "20220225", "rootUrl": "https://videointelligence.googleapis.com/", "schemas": { "GoogleCloudVideointelligenceV1_AnnotateVideoProgress": { @@ -956,7 +956,7 @@ "id": "GoogleCloudVideointelligenceV1_ShotChangeDetectionConfig", "properties": { "model": { - "description": "Model to use for shot change detection. Supported values: \"builtin/stable\" (the default if unset) and \"builtin/latest\".", + "description": "Model to use for shot change detection. Supported values: \"builtin/stable\" (the default if unset), \"builtin/latest\", and \"builtin/legacy\".", "type": "string" } }, diff --git a/etc/api/videointelligence/v1beta2/videointelligence-api.json b/etc/api/videointelligence/v1beta2/videointelligence-api.json index 7e1b9c8cb7..b6d7516a74 100644 --- a/etc/api/videointelligence/v1beta2/videointelligence-api.json +++ b/etc/api/videointelligence/v1beta2/videointelligence-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -128,7 +128,7 @@ } } }, - "revision": "20210325", + "revision": "20220225", "rootUrl": "https://videointelligence.googleapis.com/", "schemas": { "GoogleCloudVideointelligenceV1_AnnotateVideoProgress": { @@ -1559,7 +1559,7 @@ "id": "GoogleCloudVideointelligenceV1beta2_ShotChangeDetectionConfig", "properties": { "model": { - "description": "Model to use for shot change detection. Supported values: \"builtin/stable\" (the default if unset) and \"builtin/latest\".", + "description": "Model to use for shot change detection. Supported values: \"builtin/stable\" (the default if unset), \"builtin/latest\", and \"builtin/legacy\".", "type": "string" } }, diff --git a/etc/api/videointelligence/v1p1beta1/videointelligence-api.json b/etc/api/videointelligence/v1p1beta1/videointelligence-api.json index 064393e7f4..6da226242f 100644 --- a/etc/api/videointelligence/v1p1beta1/videointelligence-api.json +++ b/etc/api/videointelligence/v1p1beta1/videointelligence-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -128,7 +128,7 @@ } } }, - "revision": "20210325", + "revision": "20220225", "rootUrl": "https://videointelligence.googleapis.com/", "schemas": { "GoogleCloudVideointelligenceV1_AnnotateVideoProgress": { @@ -2384,7 +2384,7 @@ "id": "GoogleCloudVideointelligenceV1p1beta1_ShotChangeDetectionConfig", "properties": { "model": { - "description": "Model to use for shot change detection. Supported values: \"builtin/stable\" (the default if unset) and \"builtin/latest\".", + "description": "Model to use for shot change detection. Supported values: \"builtin/stable\" (the default if unset), \"builtin/latest\", and \"builtin/legacy\".", "type": "string" } }, diff --git a/etc/api/videointelligence/v1p2beta1/videointelligence-api.json b/etc/api/videointelligence/v1p2beta1/videointelligence-api.json index 5b5c850b7c..9f99987ff8 100644 --- a/etc/api/videointelligence/v1p2beta1/videointelligence-api.json +++ b/etc/api/videointelligence/v1p2beta1/videointelligence-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -128,7 +128,7 @@ } } }, - "revision": "20210325", + "revision": "20220225", "rootUrl": "https://videointelligence.googleapis.com/", "schemas": { "GoogleCloudVideointelligenceV1_AnnotateVideoProgress": { @@ -3209,7 +3209,7 @@ "id": "GoogleCloudVideointelligenceV1p2beta1_ShotChangeDetectionConfig", "properties": { "model": { - "description": "Model to use for shot change detection. Supported values: \"builtin/stable\" (the default if unset) and \"builtin/latest\".", + "description": "Model to use for shot change detection. Supported values: \"builtin/stable\" (the default if unset), \"builtin/latest\", and \"builtin/legacy\".", "type": "string" } }, diff --git a/etc/api/videointelligence/v1p3beta1/videointelligence-api.json b/etc/api/videointelligence/v1p3beta1/videointelligence-api.json index 790899f90b..5c7e2a8c76 100644 --- a/etc/api/videointelligence/v1p3beta1/videointelligence-api.json +++ b/etc/api/videointelligence/v1p3beta1/videointelligence-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -128,7 +128,7 @@ } } }, - "revision": "20210325", + "revision": "20220225", "rootUrl": "https://videointelligence.googleapis.com/", "schemas": { "GoogleCloudVideointelligenceV1_AnnotateVideoProgress": { @@ -4107,7 +4107,7 @@ "id": "GoogleCloudVideointelligenceV1p3beta1_ShotChangeDetectionConfig", "properties": { "model": { - "description": "Model to use for shot change detection. Supported values: \"builtin/stable\" (the default if unset) and \"builtin/latest\".", + "description": "Model to use for shot change detection. Supported values: \"builtin/stable\" (the default if unset), \"builtin/latest\", and \"builtin/legacy\".", "type": "string" } }, diff --git a/etc/api/vision/v1/vision-api.json b/etc/api/vision/v1/vision-api.json index cd47929337..9c917169dc 100644 --- a/etc/api/vision/v1/vision-api.json +++ b/etc/api/vision/v1/vision-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "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-vision": { "description": "Apply machine learning models to understand and label images" @@ -1282,7 +1282,7 @@ } } }, - "revision": "20210319", + "revision": "20220225", "rootUrl": "https://vision.googleapis.com/", "schemas": { "AddProductToProductSetRequest": { @@ -8382,7 +8382,7 @@ "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 must conform to the WGS84 standard. Values must be within normalized ranges.", + "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": { diff --git a/etc/api/vision/v1p1beta1/vision-api.json b/etc/api/vision/v1p1beta1/vision-api.json index e9dc031bbf..af6a9e8efb 100644 --- a/etc/api/vision/v1p1beta1/vision-api.json +++ b/etc/api/vision/v1p1beta1/vision-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "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-vision": { "description": "Apply machine learning models to understand and label images" @@ -449,7 +449,7 @@ } } }, - "revision": "20210319", + "revision": "20220225", "rootUrl": "https://vision.googleapis.com/", "schemas": { "AnnotateFileResponse": { @@ -7570,7 +7570,7 @@ "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 must conform to the WGS84 standard. Values must be within normalized ranges.", + "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": { diff --git a/etc/api/vision/v1p2beta1/vision-api.json b/etc/api/vision/v1p2beta1/vision-api.json index 98ea9bb848..cb33fcdea4 100644 --- a/etc/api/vision/v1p2beta1/vision-api.json +++ b/etc/api/vision/v1p2beta1/vision-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" + "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-vision": { "description": "Apply machine learning models to understand and label images" @@ -449,7 +449,7 @@ } } }, - "revision": "20210319", + "revision": "20220225", "rootUrl": "https://vision.googleapis.com/", "schemas": { "AnnotateFileResponse": { @@ -7570,7 +7570,7 @@ "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 must conform to the WGS84 standard. Values must be within normalized ranges.", + "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": { diff --git a/etc/api/vmmigration/v1/vmmigration-api.json b/etc/api/vmmigration/v1/vmmigration-api.json new file mode 100644 index 0000000000..c292a7db7c --- /dev/null +++ b/etc/api/vmmigration/v1/vmmigration-api.json @@ -0,0 +1,3702 @@ +{ + "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 for Compute Engine API to programmatically migrate workloads. ", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/migrate/compute-engine", + "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 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}/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 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 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 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" + }, + "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" + ] + } + } + }, + "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`. 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": "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 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" + }, + "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 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" + ] + }, + "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" + }, + "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 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" + }, + "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 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}/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 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 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 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}/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 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" + }, + "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 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}/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 CloneJobs of a given migrating VM.", + "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 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}/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 CutoverJobs of a given migrating VM.", + "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" + ] + } + } + } + } + }, + "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 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" + }, + "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 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 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 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" + }, + "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 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 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 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" + }, + "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": "20220225", + "rootUrl": "https://vmmigration.googleapis.com/", + "schemas": { + "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 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" + }, + "CancelCloneJobRequest": { + "description": "Request message for 'CancelCloneJob' request.", + "id": "CancelCloneJobRequest", + "properties": {}, + "type": "object" + }, + "CancelCutoverJobRequest": { + "description": "Request message for 'CancelCutoverJob' request.", + "id": "CancelCutoverJobRequest", + "properties": {}, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "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": { + "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" + }, + "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" + } + }, + "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 + }, + "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" + ], + "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." + ], + "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 map 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." + }, + "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" + ], + "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." + ], + "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 map of network tags to associate with the VM.", + "items": { + "type": "string" + }, + "type": "array" + }, + "project": { + "description": "The GCP 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.", + "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" + }, + "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": { + "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" + }, + "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" + } + }, + "type": "object" + }, + "DatacenterConnector": { + "description": "DatacenterConnector message describes a connector between the Source and GCP, which is installed on a vmware datacenter (an OVA vm installed by the user) to connect the Datacenter to GCP 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 GCP.", + "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" + }, + "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" + }, + "FetchInventoryResponse": { + "description": "Response message for fetchInventory.", + "id": "FetchInventoryResponse", + "properties": { + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "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 http://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 Google Cloud Platform 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" + }, + "MigratingVm": { + "description": "MigratingVm describes the VM that will be migrated from a Source environment and its replication state.", + "id": "MigratingVm", + "properties": { + "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. The percentage progress of the current running replication cycle.", + "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" + }, + "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" + } + }, + "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" + ], + "enumDescriptions": [ + "Default value. This value is not used.", + "Migrate for Compute encountered an unknown error.", + "Migrate for Compute encountered an error while validating replication source health.", + "Migrate for Compute encountered an error during source data operation.", + "Migrate for Compute encountered an error during target data operation.", + "Migrate for Compute encountered an error during OS adaptation.", + "Migrate for Compute encountered an error in clone operation.", + "Migrate for Compute encountered an error in cutover operation.", + "Migrate for Compute encountered an error during utilization report creation.", + "Migrate for Compute encountered an error during appliance upgrade." + ], + "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" + }, + "NetworkInterface": { + "description": "NetworkInterface represents a NIC of a VM.", + "id": "NetworkInterface", + "properties": { + "externalIp": { + "description": "The external IP to define in the NIC.", + "type": "string" + }, + "internalIp": { + "description": "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" + }, + "subnetwork": { + "description": "The subnetwork to connect the NIC to.", + "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" + }, + "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" + }, + "RemoveGroupMigrationRequest": { + "description": "Request message for 'RemoveMigration' request.", + "id": "RemoveGroupMigrationRequest", + "properties": { + "migratingVm": { + "description": "The MigratingVm to remove.", + "type": "string" + } + }, + "type": "object" + }, + "ReplicationCycle": { + "description": "ReplicationCycle contains information about the current replication cycle status.", + "id": "ReplicationCycle", + "properties": { + "progressPercent": { + "description": "The current progress in percentage of this cycle.", + "format": "int32", + "type": "integer" + }, + "startTime": { + "description": "The time the replication cycle has started.", + "format": "google-datetime", + "type": "string" + } + }, + "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" + }, + "Source": { + "description": "Source message describes a specific vm migration Source resource. It contains the source environment information.", + "id": "Source", + "properties": { + "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" + }, + "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" + }, + "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": "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 t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + } + }, + "type": "object" + }, + "UpgradeStatus": { + "description": "UpgradeStatus contains information about upgradeAppliance operation.", + "id": "UpgradeStatus", + "properties": { + "error": { + "$ref": "Status", + "description": "Provides details on the state of the upgrade operation in case of an error." + }, + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "VmwareVmDetails": { + "description": "VmwareVmDetails describes a VM in vCenter.", + "id": "VmwareVmDetails", + "properties": { + "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/etc/api/vmmigration/v1alpha1/vmmigration-api.json b/etc/api/vmmigration/v1alpha1/vmmigration-api.json new file mode 100644 index 0000000000..f03abbd93f --- /dev/null +++ b/etc/api/vmmigration/v1alpha1/vmmigration-api.json @@ -0,0 +1,3943 @@ +{ + "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 for Compute Engine API to programmatically migrate workloads. ", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/migrate/compute-engine", + "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:v1alpha1", + "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": "v1alpha1/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": "v1alpha1/{+name}", + "response": { + "$ref": "Location" + }, + "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": "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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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 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": "v1alpha1/{+parent}/groups", + "request": { + "$ref": "Group" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single Group.", + "flatPath": "v1alpha1/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 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": "v1alpha1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Group.", + "flatPath": "v1alpha1/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": "v1alpha1/{+name}", + "response": { + "$ref": "Group" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Groups in a given project and location.", + "flatPath": "v1alpha1/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": "v1alpha1/{+parent}/groups", + "response": { + "$ref": "ListGroupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single Group.", + "flatPath": "v1alpha1/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 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" + }, + "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": "v1alpha1/{+name}", + "request": { + "$ref": "Group" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "removeGroupMigration": { + "description": "Removes a MigratingVm from a Group.", + "flatPath": "v1alpha1/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": "v1alpha1/{+group}:removeGroupMigration", + "request": { + "$ref": "RemoveGroupMigrationRequest" + }, + "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": "v1alpha1/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": "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": "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": "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": "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": "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`. 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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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 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" + }, + "sourceId": { + "description": "Required. The source identifier.", + "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 single Source.", + "flatPath": "v1alpha1/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 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": "v1alpha1/{+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": "v1alpha1/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" + }, + "source": { + "description": "Required. The name of the Source.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+source}:fetchInventory", + "response": { + "$ref": "FetchInventoryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Source.", + "flatPath": "v1alpha1/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": "v1alpha1/{+name}", + "response": { + "$ref": "Source" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Sources in a given project and location.", + "flatPath": "v1alpha1/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": "v1alpha1/{+parent}/sources", + "response": { + "$ref": "ListSourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single Source.", + "flatPath": "v1alpha1/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 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" + }, + "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": "v1alpha1/{+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": "v1alpha1/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 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": "v1alpha1/{+parent}/datacenterConnectors", + "request": { + "$ref": "DatacenterConnector" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single DatacenterConnector.", + "flatPath": "v1alpha1/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 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": "v1alpha1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single DatacenterConnector.", + "flatPath": "v1alpha1/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": "v1alpha1/{+name}", + "response": { + "$ref": "DatacenterConnector" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists DatacenterConnectors in a given Source.", + "flatPath": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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 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": "v1alpha1/{+parent}/migratingVms", + "request": { + "$ref": "MigratingVm" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single MigratingVm.", + "flatPath": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+name}", + "response": { + "$ref": "MigratingVm" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists MigratingVms in a given Source.", + "flatPath": "v1alpha1/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": "v1alpha1/{+parent}/migratingVms", + "response": { + "$ref": "ListMigratingVmsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single MigratingVm.", + "flatPath": "v1alpha1/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 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" + }, + "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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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 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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+name}", + "response": { + "$ref": "CloneJob" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists CloneJobs of a given migrating VM.", + "flatPath": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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 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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+name}", + "response": { + "$ref": "CutoverJob" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists CutoverJobs of a given migrating VM.", + "flatPath": "v1alpha1/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": "v1alpha1/{+parent}/cutoverJobs", + "response": { + "$ref": "ListCutoverJobsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "utilizationReports": { + "methods": { + "create": { + "description": "Creates a new UtilizationReport.", + "flatPath": "v1alpha1/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 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" + }, + "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": "v1alpha1/{+parent}/utilizationReports", + "request": { + "$ref": "UtilizationReport" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single Utilization Report.", + "flatPath": "v1alpha1/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 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": "v1alpha1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a single Utilization Report.", + "flatPath": "v1alpha1/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": "v1alpha1/{+name}", + "response": { + "$ref": "UtilizationReport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Utilization Reports of the given Source.", + "flatPath": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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 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" + }, + "targetProjectId": { + "description": "Required. The target_project identifier.", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha1/{+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": "v1alpha1/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 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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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": "v1alpha1/{+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": "v1alpha1/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 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" + }, + "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": "v1alpha1/{+name}", + "request": { + "$ref": "TargetProject" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20220225", + "rootUrl": "https://vmmigration.googleapis.com/", + "schemas": { + "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 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" + }, + "CancelCloneJobRequest": { + "description": "Request message for 'CancelCloneJob' request.", + "id": "CancelCloneJobRequest", + "properties": {}, + "type": "object" + }, + "CancelCutoverJobRequest": { + "description": "Request message for 'CancelCutoverJob' request.", + "id": "CancelCutoverJobRequest", + "properties": {}, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "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": { + "computeEngineTargetDetails": { + "$ref": "ComputeEngineTargetDetails", + "description": "Output only. Details of the target VM in Compute Engine.", + "readOnly": true + }, + "computeEngineVmDetails": { + "$ref": "TargetVMDetails", + "description": "Output only. Details of the VM in Compute Engine. Deprecated: Use compute_engine_target_details instead.", + "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" + }, + "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" + }, + "targetDetails": { + "$ref": "TargetVMDetails", + "description": "Output only. Details of the VM to create as the target of this clone job. Deprecated: Use compute_engine_target_details instead.", + "readOnly": true + } + }, + "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 + }, + "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" + ], + "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." + ], + "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 map 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." + }, + "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" + ], + "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." + ], + "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 map of network tags to associate with the VM.", + "items": { + "type": "string" + }, + "type": "array" + }, + "project": { + "description": "The GCP 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.", + "id": "ComputeScheduling", + "properties": { + "automaticRestart": { + "type": "boolean" + }, + "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" + }, + "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": { + "computeEngineTargetDetails": { + "$ref": "ComputeEngineTargetDetails", + "description": "Output only. Details of the target VM in Compute Engine.", + "readOnly": true + }, + "computeEngineVmDetails": { + "$ref": "TargetVMDetails", + "description": "Output only. Details of the VM in Compute Engine. Deprecated: Use compute_engine_target_details instead.", + "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" + }, + "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" + }, + "progress": { + "description": "Output only. The current progress in percentage of the cutover job.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "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" + }, + "targetDetails": { + "$ref": "TargetVMDetails", + "description": "Output only. Details of the VM to create as the target of this cutover job. Deprecated: Use compute_engine_target_details instead.", + "readOnly": true + } + }, + "type": "object" + }, + "DatacenterConnector": { + "description": "DatacenterConnector message describes a connector between the Source and GCP, which is installed on a vmware datacenter (an OVA vm installed by the user) to connect the Datacenter to GCP 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 GCP.", + "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" + }, + "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" + }, + "FetchInventoryResponse": { + "description": "Response message for fetchInventory.", + "id": "FetchInventoryResponse", + "properties": { + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "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 http://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 Google Cloud Platform 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" + }, + "MigratingVm": { + "description": "MigratingVm describes the VM that will be migrated from a Source environment and its replication state.", + "id": "MigratingVm", + "properties": { + "computeEngineTargetDefaults": { + "$ref": "ComputeEngineTargetDefaults", + "description": "Details of the target VM in Compute Engine." + }, + "computeEngineVmDefaults": { + "$ref": "TargetVMDetails", + "description": "Details of the VM in Compute Engine. Deprecated: Use compute_engine_target_defaults instead." + }, + "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. The percentage progress of the current running replication cycle.", + "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" + }, + "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" + }, + "targetDefaults": { + "$ref": "TargetVMDetails", + "description": "The default configuration of the target VM that will be created in GCP as a result of the migration. Deprecated: Use compute_engine_target_defaults instead." + }, + "updateTime": { + "description": "Output only. The last time the migrating VM resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "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" + ], + "enumDescriptions": [ + "Default value. This value is not used.", + "Migrate for Compute encountered an unknown error.", + "Migrate for Compute encountered an error while validating replication source health.", + "Migrate for Compute encountered an error during source data operation.", + "Migrate for Compute encountered an error during target data operation.", + "Migrate for Compute encountered an error during OS adaptation.", + "Migrate for Compute encountered an error in clone operation.", + "Migrate for Compute encountered an error in cutover operation.", + "Migrate for Compute encountered an error during utilization report creation.", + "Migrate for Compute encountered an error during appliance upgrade." + ], + "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" + }, + "NetworkInterface": { + "description": "NetworkInterface represents a NIC of a VM.", + "id": "NetworkInterface", + "properties": { + "externalIp": { + "description": "The external IP to define in the NIC.", + "type": "string" + }, + "internalIp": { + "description": "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" + }, + "subnetwork": { + "description": "The subnetwork to connect the NIC to.", + "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" + }, + "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" + }, + "RemoveGroupMigrationRequest": { + "description": "Request message for 'RemoveMigration' request.", + "id": "RemoveGroupMigrationRequest", + "properties": { + "migratingVm": { + "description": "The MigratingVm to remove.", + "type": "string" + } + }, + "type": "object" + }, + "ReplicationCycle": { + "description": "ReplicationCycle contains information about the current replication cycle status.", + "id": "ReplicationCycle", + "properties": { + "progress": { + "description": "The current progress in percentage of this cycle.", + "format": "int32", + "type": "integer" + }, + "progressPercent": { + "description": "The current progress in percentage of this cycle.", + "format": "int32", + "type": "integer" + }, + "startTime": { + "description": "The time the replication cycle has started.", + "format": "google-datetime", + "type": "string" + }, + "totalPauseDuration": { + "description": "The accumulated duration the replication cycle was paused.", + "format": "google-duration", + "type": "string" + } + }, + "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" + }, + "Source": { + "description": "Source message describes a specific vm migration Source resource. It contains the source environment information.", + "id": "Source", + "properties": { + "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" + }, + "error": { + "$ref": "Status", + "description": "Output only. Provides details on the state of the Source in case of an error.", + "readOnly": true + }, + "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" + }, + "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": "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" + }, + "TargetVMDetails": { + "description": "TargetVMDetails is a collection of details for creating a VM in a target Compute Engine project.", + "id": "TargetVMDetails", + "properties": { + "appliedLicense": { + "$ref": "AppliedLicense", + "description": "Output only. The OS license returned from the adaptation module report.", + "readOnly": true + }, + "bootOption": { + "description": "Output only. The VM Boot Option, as set in the source vm.", + "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" + }, + "computeScheduling": { + "$ref": "ComputeScheduling", + "description": "Compute instance scheduling information (if empty default is used)." + }, + "diskType": { + "description": "The disk type to use in the VM.", + "enum": [ + "DISK_TYPE_UNSPECIFIED", + "STANDARD", + "BALANCED", + "SSD" + ], + "enumDescriptions": [ + "An unspecified disk type. Will be used as STANDARD.", + "A Standard disk type.", + "An alternative to SSD persistent disks that balance performance and cost.", + "SSD hard disk type." + ], + "type": "string" + }, + "externalIp": { + "description": "The external IP to define in the VM.", + "type": "string" + }, + "internalIp": { + "description": "The internal IP to define in the VM. The formats accepted are: `ephemeral` \\ ipv4 address \\ a named address resource full path.", + "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": [ + "DEFAULT", + "PAYG", + "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" + }, + "name": { + "description": "The name of the VM to create.", + "type": "string" + }, + "network": { + "description": "The network to connect the VM to.", + "type": "string" + }, + "networkInterfaces": { + "description": "List of NICs connected to this VM.", + "items": { + "$ref": "NetworkInterface" + }, + "type": "array" + }, + "networkTags": { + "description": "A map of network tags to associate with the VM.", + "items": { + "type": "string" + }, + "type": "array" + }, + "project": { + "description": "Output only. The project in which to create the VM.", + "readOnly": true, + "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" + }, + "subnetwork": { + "description": "The subnetwork to connect the VM to.", + "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" + }, + "zone": { + "description": "The zone in which to create the VM.", + "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 t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + } + }, + "type": "object" + }, + "UpgradeStatus": { + "description": "UpgradeStatus contains information about upgradeAppliance operation.", + "id": "UpgradeStatus", + "properties": { + "error": { + "$ref": "Status", + "description": "Provides details on the state of the upgrade operation in case of an error." + }, + "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" + }, + "vmsCount": { + "description": "Output only. Total number of VMs included in the report.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "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": { + "cpuAverage": { + "description": "Average CPU usage, percent.", + "format": "int32", + "type": "integer" + }, + "cpuAveragePercent": { + "description": "Average CPU usage, percent.", + "format": "int32", + "type": "integer" + }, + "cpuMax": { + "description": "Max CPU usage, percent.", + "format": "int32", + "type": "integer" + }, + "cpuMaxPercent": { + "description": "Max CPU usage, percent.", + "format": "int32", + "type": "integer" + }, + "diskIoRateAverage": { + "description": "Average disk IO rate, in kilobytes per second.", + "format": "int64", + "type": "string" + }, + "diskIoRateAverageKbps": { + "description": "Average disk IO rate, in kilobytes per second.", + "format": "int64", + "type": "string" + }, + "diskIoRateMax": { + "description": "Max 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" + }, + "memoryAverage": { + "description": "Average memory usage, percent.", + "format": "int32", + "type": "integer" + }, + "memoryAveragePercent": { + "description": "Average memory usage, percent.", + "format": "int32", + "type": "integer" + }, + "memoryMax": { + "description": "Max memory usage, percent.", + "format": "int32", + "type": "integer" + }, + "memoryMaxPercent": { + "description": "Max memory usage, percent.", + "format": "int32", + "type": "integer" + }, + "networkThroughputAverage": { + "description": "Average network throughput (combined transmit-rates and receive-rates), in kilobytes per second.", + "format": "int64", + "type": "string" + }, + "networkThroughputAverageKbps": { + "description": "Average network throughput (combined transmit-rates and receive-rates), in kilobytes per second.", + "format": "int64", + "type": "string" + }, + "networkThroughputMax": { + "description": "Max 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" + }, + "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" + }, + "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" + }, + "VmwareVmDetails": { + "description": "VmwareVmDetails describes a VM in vCenter.", + "id": "VmwareVmDetails", + "properties": { + "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" + }, + "committedStorage": { + "description": "The total size of the storage allocated to the VM in MB.", + "format": "int64", + "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": "v1alpha1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/webfonts/v1/webfonts-api.json b/etc/api/webfonts/v1/webfonts-api.json index 26137d5d7e..e425af4793 100644 --- a/etc/api/webfonts/v1/webfonts-api.json +++ b/etc/api/webfonts/v1/webfonts-api.json @@ -134,7 +134,7 @@ } } }, - "revision": "20210326", + "revision": "20220215", "rootUrl": "https://webfonts.googleapis.com/", "schemas": { "Webfont": { diff --git a/etc/api/webrisk/v1/webrisk-api.json b/etc/api/webrisk/v1/webrisk-api.json index 7cbaf22cdf..b35989ba14 100644 --- a/etc/api/webrisk/v1/webrisk-api.json +++ b/etc/api/webrisk/v1/webrisk-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -446,7 +446,7 @@ } } }, - "revision": "20210319", + "revision": "20220226", "rootUrl": "https://webrisk.googleapis.com/", "schemas": { "GoogleCloudWebriskV1ComputeThreatListDiffResponse": { diff --git a/etc/api/websecurityscanner/v1/websecurityscanner-api.json b/etc/api/websecurityscanner/v1/websecurityscanner-api.json index 3beb17e231..f90a30bc97 100644 --- a/etc/api/websecurityscanner/v1/websecurityscanner-api.json +++ b/etc/api/websecurityscanner/v1/websecurityscanner-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -526,7 +526,7 @@ } } }, - "revision": "20210324", + "revision": "20220218", "rootUrl": "https://websecurityscanner.googleapis.com/", "schemas": { "Authentication": { @@ -678,6 +678,11 @@ "xss": { "$ref": "Xss", "description": "Output only. An addon containing information reported for an XSS, if any." + }, + "xxe": { + "$ref": "Xxe", + "description": "Output only. An addon containing information reported for an XXE, if any.", + "readOnly": true } }, "type": "object" @@ -909,6 +914,10 @@ ], "type": "string" }, + "ignoreHttpStatusErrors": { + "description": "Whether to keep scanning even if most requests return HTTP error codes.", + "type": "boolean" + }, "managedScan": { "description": "Whether the scan config is managed by Web Security Scanner, output only.", "type": "boolean" @@ -1361,6 +1370,29 @@ } }, "type": "object" + }, + "Xxe": { + "description": "Information reported for an XXE.", + "id": "Xxe", + "properties": { + "payloadLocation": { + "description": "Location within the request where the payload was placed.", + "enum": [ + "LOCATION_UNSPECIFIED", + "COMPLETE_REQUEST_BODY" + ], + "enumDescriptions": [ + "Unknown Location.", + "The XML payload replaced the complete request body." + ], + "type": "string" + }, + "payloadValue": { + "description": "The XML string that triggered the XXE vulnerability. Non-payload values might be redacted.", + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/etc/api/websecurityscanner/v1alpha/websecurityscanner-api.json b/etc/api/websecurityscanner/v1alpha/websecurityscanner-api.json index 813d0d98e6..19e8a32cab 100644 --- a/etc/api/websecurityscanner/v1alpha/websecurityscanner-api.json +++ b/etc/api/websecurityscanner/v1alpha/websecurityscanner-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -526,7 +526,7 @@ } } }, - "revision": "20210324", + "revision": "20220218", "rootUrl": "https://websecurityscanner.googleapis.com/", "schemas": { "Authentication": { diff --git a/etc/api/websecurityscanner/v1beta/websecurityscanner-api.json b/etc/api/websecurityscanner/v1beta/websecurityscanner-api.json index fbe23d6a56..a69b33934f 100644 --- a/etc/api/websecurityscanner/v1beta/websecurityscanner-api.json +++ b/etc/api/websecurityscanner/v1beta/websecurityscanner-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -526,7 +526,7 @@ } } }, - "revision": "20210324", + "revision": "20220218", "rootUrl": "https://websecurityscanner.googleapis.com/", "schemas": { "Authentication": { @@ -677,6 +677,10 @@ "xss": { "$ref": "Xss", "description": "An addon containing information reported for an XSS, if any." + }, + "xxe": { + "$ref": "Xxe", + "description": "An addon containing information reported for an XXE, if any." } }, "type": "object" @@ -908,6 +912,10 @@ ], "type": "string" }, + "ignoreHttpStatusErrors": { + "description": "Whether to keep scanning even if most requests return HTTP error codes.", + "type": "boolean" + }, "latestRun": { "$ref": "ScanRun", "description": "Latest ScanRun if available." @@ -1337,6 +1345,29 @@ } }, "type": "object" + }, + "Xxe": { + "description": "Information reported for an XXE.", + "id": "Xxe", + "properties": { + "payloadLocation": { + "description": "Location within the request where the payload was placed.", + "enum": [ + "LOCATION_UNSPECIFIED", + "COMPLETE_REQUEST_BODY" + ], + "enumDescriptions": [ + "Unknown Location.", + "The XML payload replaced the complete request body." + ], + "type": "string" + }, + "payloadValue": { + "description": "The XML string that triggered the XXE vulnerability. Non-payload values might be redacted.", + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/etc/api/workflowexecutions/v1/workflowexecutions-api.json b/etc/api/workflowexecutions/v1/workflowexecutions-api.json index 23d437cb3e..d34f7e41dc 100644 --- a/etc/api/workflowexecutions/v1/workflowexecutions-api.json +++ b/etc/api/workflowexecutions/v1/workflowexecutions-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -269,7 +269,7 @@ } } }, - "revision": "20210316", + "revision": "20220222", "rootUrl": "https://workflowexecutions.googleapis.com/", "schemas": { "CancelExecutionRequest": { @@ -283,7 +283,7 @@ "id": "Error", "properties": { "context": { - "description": "Human readable stack trace string.", + "description": "Human-readable stack trace string.", "type": "string" }, "payload": { @@ -305,6 +305,20 @@ "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 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", @@ -387,7 +401,7 @@ "type": "string" }, "length": { - "description": "The length in bytes of text in this character group, e.g. digits of a number, string length, or AST (abstract syntax tree) node.", + "description": "The number of bytes of source code making up this stack trace element.", "format": "int64", "type": "string" }, @@ -404,7 +418,7 @@ "id": "StackTrace", "properties": { "elements": { - "description": "An array of Stack elements.", + "description": "An array of stack elements.", "items": { "$ref": "StackTraceElement" }, @@ -419,7 +433,7 @@ "properties": { "position": { "$ref": "Position", - "description": "The source position information of the stacktrace element." + "description": "The source position information of the stack trace element." }, "routine": { "description": "The routine where the error occurred.", diff --git a/etc/api/workflowexecutions/v1beta/workflowexecutions-api.json b/etc/api/workflowexecutions/v1beta/workflowexecutions-api.json index 7da7a1a9fa..99938046b8 100644 --- a/etc/api/workflowexecutions/v1beta/workflowexecutions-api.json +++ b/etc/api/workflowexecutions/v1beta/workflowexecutions-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -269,7 +269,7 @@ } } }, - "revision": "20210316", + "revision": "20220222", "rootUrl": "https://workflowexecutions.googleapis.com/", "schemas": { "CancelExecutionRequest": { @@ -283,7 +283,7 @@ "id": "Error", "properties": { "context": { - "description": "Human readable stack trace string.", + "description": "Human-readable stack trace string.", "type": "string" }, "payload": { @@ -305,6 +305,20 @@ "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 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", @@ -387,7 +401,7 @@ "type": "string" }, "length": { - "description": "The length in bytes of text in this character group, e.g. digits of a number, string length, or AST (abstract syntax tree) node.", + "description": "The number of bytes of source code making up this stack trace element.", "format": "int64", "type": "string" }, @@ -404,7 +418,7 @@ "id": "StackTrace", "properties": { "elements": { - "description": "An array of Stack elements.", + "description": "An array of stack elements.", "items": { "$ref": "StackTraceElement" }, @@ -419,7 +433,7 @@ "properties": { "position": { "$ref": "Position", - "description": "The source position information of the stacktrace element." + "description": "The source position information of the stack trace element." }, "routine": { "description": "The routine where the error occurred.", diff --git a/etc/api/workflows/v1/workflows-api.json b/etc/api/workflows/v1/workflows-api.json index 08fd0c4794..0df0ee4e13 100644 --- a/etc/api/workflows/v1/workflows-api.json +++ b/etc/api/workflows/v1/workflows-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -12,7 +12,7 @@ "baseUrl": "https://workflows.googleapis.com/", "batchPath": "batch", "canonicalName": "Workflows", - "description": "Orchestrate Workflows consisting of Google Cloud APIs, SaaS APIs or private API endpoints.", + "description": "Manage workflow definitions. To execute workflows and manage executions, see the Workflows Executions API.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/workflows", "fullyEncodeReservedExpansion": true, @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -444,7 +444,7 @@ } } }, - "revision": "20210318", + "revision": "20220223", "rootUrl": "https://workflows.googleapis.com/", "schemas": { "Empty": { @@ -676,7 +676,7 @@ "type": "string" }, "serviceAccount": { - "description": "Name of the service account associated with the latest workflow version. This service account represents the identity of the workflow and determines what permissions the workflow has. Format: projects/{project}/serviceAccounts/{account} Using `-` as a wildcard for the `{project}` will infer the project from the account. The `{account}` value can be the `email` address or the `unique_id` of the service account. If not provided, workflow will use the project's default service account. Modifying this field for an existing workflow results in a new workflow revision.", + "description": "The service account associated with the latest workflow version. This service account represents the identity of the workflow and determines what permissions the workflow has. Format: projects/{project}/serviceAccounts/{account} or {account} Using `-` as a wildcard for the `{project}` or not providing one at all will infer the project from the account. The `{account}` value can be the `email` address or the `unique_id` of the service account. If not provided, workflow will use the project's default service account. Modifying this field for an existing workflow results in a new workflow revision.", "type": "string" }, "sourceContents": { diff --git a/etc/api/workflows/v1beta/workflows-api.json b/etc/api/workflows/v1beta/workflows-api.json index 2fea6d0f3d..bc2df6e49e 100644 --- a/etc/api/workflows/v1beta/workflows-api.json +++ b/etc/api/workflows/v1beta/workflows-api.json @@ -3,7 +3,7 @@ "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud Platform data" + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } } } @@ -12,7 +12,7 @@ "baseUrl": "https://workflows.googleapis.com/", "batchPath": "batch", "canonicalName": "Workflows", - "description": "Orchestrate Workflows consisting of Google Cloud APIs, SaaS APIs or private API endpoints.", + "description": "Manage workflow definitions. To execute workflows and manage executions, see the Workflows Executions API.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/workflows", "fullyEncodeReservedExpansion": true, @@ -156,7 +156,7 @@ "type": "string" }, "pageSize": { - "description": "The maximum number of results to return. If not set, the service will select a default.", + "description": "The maximum number of results to return. If not set, the service selects a default.", "format": "int32", "location": "query", "type": "integer" @@ -444,7 +444,7 @@ } } }, - "revision": "20210318", + "revision": "20220223", "rootUrl": "https://workflows.googleapis.com/", "schemas": { "Empty": { @@ -676,7 +676,7 @@ "type": "string" }, "serviceAccount": { - "description": "Name of the service account associated with the latest workflow version. This service account represents the identity of the workflow and determines what permissions the workflow has. Format: projects/{project}/serviceAccounts/{account} Using `-` as a wildcard for the `{project}` will infer the project from the account. The `{account}` value can be the `email` address or the `unique_id` of the service account. If not provided, workflow will use the project's default service account. Modifying this field for an existing workflow results in a new workflow revision.", + "description": "The service account associated with the latest workflow version. This service account represents the identity of the workflow and determines what permissions the workflow has. Format: projects/{project}/serviceAccounts/{account} or {account} Using `-` as a wildcard for the `{project}` or not providing one at all will infer the project from the account. The `{account}` value can be the `email` address or the `unique_id` of the service account. If not provided, workflow will use the project's default service account. Modifying this field for an existing workflow results in a new workflow revision.", "type": "string" }, "sourceContents": { diff --git a/etc/api/youtube/v3/youtube-api.json b/etc/api/youtube/v3/youtube-api.json index c2d6443c1c..88d5184f68 100644 --- a/etc/api/youtube/v3/youtube-api.json +++ b/etc/api/youtube/v3/youtube-api.json @@ -966,34 +966,6 @@ "scopes": [ "https://www.googleapis.com/auth/youtube.force-ssl" ] - }, - "update": { - "description": "Updates an existing resource.", - "flatPath": "youtube/v3/commentThreads", - "httpMethod": "PUT", - "id": "youtube.commentThreads.update", - "parameterOrder": [ - "part" - ], - "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, - "required": true, - "type": "string" - } - }, - "path": "youtube/v3/commentThreads", - "request": { - "$ref": "CommentThread" - }, - "response": { - "$ref": "CommentThread" - }, - "scopes": [ - "https://www.googleapis.com/auth/youtube.force-ssl" - ] } } }, @@ -2672,7 +2644,6 @@ "type": "string" }, "type": { - "default": "video,channel,playlist", "description": "Restrict results to a particular set of resource types from One Platform.", "location": "query", "repeated": true, @@ -2723,7 +2694,7 @@ "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." ], @@ -3012,7 +2983,7 @@ "type": "string" }, "part": { - "description": "The *part* parameter specifies the superChatEvent resource parts that the API response will include. Supported values are id and snippet.", + "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, @@ -3042,6 +3013,10 @@ "part" ], "parameters": { + "externalChannelId": { + "location": "query", + "type": "string" + }, "part": { "location": "query", "repeated": true, @@ -3074,6 +3049,11 @@ "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", @@ -3112,6 +3092,11 @@ "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", @@ -3137,6 +3122,11 @@ "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", @@ -3177,6 +3167,11 @@ "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", @@ -3385,7 +3380,7 @@ }, "path": "youtube/v3/videos/getRating", "response": { - "$ref": "VideoRatingListResponse" + "$ref": "VideoGetRatingResponse" }, "scopes": [ "https://www.googleapis.com/auth/youtube", @@ -3762,9 +3757,39 @@ ] } } + }, + "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": "20210330", + "revision": "20220303", "rootUrl": "https://youtube.googleapis.com/", "schemas": { "AbuseReport": { @@ -4086,7 +4111,7 @@ "type": { "description": "The name of the social network.", "enum": [ - "typeUnspecified", + "unspecified", "googlePlus", "facebook", "twitter" @@ -4350,6 +4375,11 @@ "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" }, @@ -4359,6 +4389,11 @@ "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" }, @@ -4407,6 +4442,12 @@ "id": "CdnSettings", "properties": { "format": { + "annotations": { + "required": [ + "youtube.liveStreams.insert", + "youtube.liveStreams.update" + ] + }, "description": "The format of the video stream that you are sending to Youtube. ", "type": "string" }, @@ -4429,17 +4470,25 @@ "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" + "hls", + "srt" ], "enumDescriptions": [ "", "", "", + "", "" ], "type": "string" @@ -4908,7 +4957,7 @@ "type": { "description": "The type of the channel section.", "enum": [ - "channelsectionTypeUnspecified", + "channelsectionTypeUndefined", "singlePlaylist", "multiplePlaylists", "popularUploads", @@ -7487,7 +7536,7 @@ "type": "object" }, "IngestionInfo": { - "description": "Describes information necessary for ingesting an RTMP or an HTTP stream.", + "description": "Describes information necessary for ingesting an RTMP, HTTP, or SRT stream.", "id": "IngestionInfo", "properties": { "backupIngestionAddress": { @@ -7507,7 +7556,7 @@ "type": "string" }, "streamName": { - "description": "The HTTP or RTMP stream name that YouTube assigns to the video stream.", + "description": "The stream name that YouTube assigns to the video stream.", "type": "string" } }, @@ -7635,6 +7684,11 @@ "type": "string" }, "id": { + "annotations": { + "required": [ + "youtube.liveBroadcasts.update" + ] + }, "description": "The ID that YouTube assigns to uniquely identify the broadcast.", "type": "string" }, @@ -7888,12 +7942,18 @@ "type": "string" }, "scheduledEndTime": { - "description": "The date and time that the broadcast is scheduled to start.", + "description": "The date and time that the broadcast is scheduled to end.", "format": "date-time", "type": "string" }, "scheduledStartTime": { - "description": "The date and time that the broadcast is scheduled to end.", + "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" }, @@ -7902,6 +7962,12 @@ "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" } @@ -7971,6 +8037,12 @@ "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", @@ -8086,6 +8158,25 @@ }, "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" + }, "LiveChatMessage": { "description": "A *liveChatMessage* resource represents a chat message in a YouTube Live Chat.", "id": "LiveChatMessage", @@ -8220,10 +8311,11 @@ "type": "object" }, "LiveChatMessageSnippet": { + "description": "Next ID: 31", "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 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", + "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 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", "type": "string" }, "displayMessage": { @@ -8241,12 +8333,20 @@ "liveChatId": { "type": "string" }, + "memberMilestoneChatDetails": { + "$ref": "LiveChatMemberMilestoneChatDetails", + "description": "Details about the Member Milestone Chat event, this is only set if the type is 'memberMilestoneChatEvent'." + }, "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\"." + }, "publishedAt": { "description": "The date and time when the message was orignally published.", "format": "date-time", @@ -8275,6 +8375,7 @@ "sponsorOnlyModeStartedEvent", "sponsorOnlyModeEndedEvent", "newSponsorEvent", + "memberMilestoneChatEvent", "messageDeletedEvent", "messageRetractedEvent", "userBannedEvent", @@ -8294,6 +8395,7 @@ "", "", "", + "", "" ], "type": "string" @@ -8387,6 +8489,20 @@ }, "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" + }, "LiveChatSuperChatDetails": { "id": "LiveChatSuperChatDetails", "properties": { @@ -8497,6 +8613,11 @@ "type": "string" }, "id": { + "annotations": { + "required": [ + "youtube.liveStreams.update" + ] + }, "description": "The ID that YouTube assigns to uniquely identify the stream.", "type": "string" }, @@ -8735,6 +8856,12 @@ "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" } @@ -9233,6 +9360,12 @@ "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" }, @@ -9248,6 +9381,12 @@ }, "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": { @@ -9405,6 +9544,12 @@ "description": "A map of thumbnail images associated with the playlist. 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": { + "annotations": { + "required": [ + "youtube.playlists.insert", + "youtube.playlists.update" + ] + }, "description": "The playlist's title.", "type": "string" } @@ -9903,6 +10048,9 @@ "TestItem": { "id": "TestItem", "properties": { + "featuredPart": { + "type": "boolean" + }, "gaia": { "format": "int64", "type": "string" @@ -10099,6 +10247,11 @@ "description": "The fileDetails object encapsulates information about the video file that was uploaded to YouTube, including the file's resolution, duration, audio and video codecs, stream bitrates, and more. This data can only be retrieved by the video owner." }, "id": { + "annotations": { + "required": [ + "youtube.videos.update" + ] + }, "description": "The ID that YouTube uses to uniquely identify the video.", "type": "string" }, @@ -10636,6 +10789,36 @@ }, "type": "object" }, + "VideoGetRatingResponse": { + "id": "VideoGetRatingResponse", + "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 ratings that match the request criteria.", + "items": { + "$ref": "VideoRating" + }, + "type": "array" + }, + "kind": { + "default": "youtube#videoGetRatingResponse", + "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#videoGetRatingResponse\".", + "type": "string" + }, + "visitorId": { + "description": "The visitorId identifies the visitor.", + "type": "string" + } + }, + "type": "object" + }, "VideoListResponse": { "id": "VideoListResponse", "properties": { @@ -10878,36 +11061,6 @@ }, "type": "object" }, - "VideoRatingListResponse": { - "id": "VideoRatingListResponse", - "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 ratings that match the request criteria.", - "items": { - "$ref": "VideoRating" - }, - "type": "array" - }, - "kind": { - "default": "youtube#videoGetRatingResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#videoGetRatingResponse\".", - "type": "string" - }, - "visitorId": { - "description": "The visitorId identifies the visitor.", - "type": "string" - } - }, - "type": "object" - }, "VideoRecordingDetails": { "description": "Recording information associated with the video.", "id": "VideoRecordingDetails", diff --git a/etc/api/youtubeanalytics/v2/youtubeanalytics-api.json b/etc/api/youtubeanalytics/v2/youtubeanalytics-api.json index 3022f49348..69c4c35942 100644 --- a/etc/api/youtubeanalytics/v2/youtubeanalytics-api.json +++ b/etc/api/youtubeanalytics/v2/youtubeanalytics-api.json @@ -421,7 +421,7 @@ } } }, - "revision": "20210329", + "revision": "20220305", "rootUrl": "https://youtubeanalytics.googleapis.com/", "schemas": { "EmptyResponse": { @@ -475,7 +475,7 @@ "enumDescriptions": [ "location is an xpath-like path pointing to the request field that caused the error.", "other location type which can safely be shared externally.", - "Location is request paramater. This maps to the {@link PARAMETERS} in {@link MessageLocation}." + "Location is request parameter. This maps to the {@link PARAMETERS} in {@link MessageLocation}." ], "type": "string" } diff --git a/etc/api/youtubereporting/v1/youtubereporting-api.json b/etc/api/youtubereporting/v1/youtubereporting-api.json index 77c109257b..160d56dce0 100644 --- a/etc/api/youtubereporting/v1/youtubereporting-api.json +++ b/etc/api/youtubereporting/v1/youtubereporting-api.json @@ -411,7 +411,7 @@ } } }, - "revision": "20210329", + "revision": "20220305", "rootUrl": "https://youtubereporting.googleapis.com/", "schemas": { "Empty": { diff --git a/etc/bin/api_version_to_yaml.py b/etc/bin/api_version_to_yaml.py index 74793f1c41..cb99676365 100755 --- a/etc/bin/api_version_to_yaml.py +++ b/etc/bin/api_version_to_yaml.py @@ -25,7 +25,7 @@ if not isdir(api_base): yaml_path = sys.argv[2] if isfile(yaml_path): - api_data = yaml.load(open(yaml_path, 'r'))['api']['list'] + api_data = yaml.load(open(yaml_path, 'r'), Loader=yaml.FullLoader)['api']['list'] else: api_data = dict() @@ -37,7 +37,10 @@ for api_name in sorted(os.listdir(api_base)): all_versions = sorted((v for v in os.listdir(api_path) if isdir( join(api_path, v)) and isfile(join(api_path, v, "%s-api.json" % api_name))), reverse=True) if not all_versions: - del api_data[api_name] + try: + del api_data[api_name] + except: + continue continue last_version = None for v in all_versions: diff --git a/src/mako/deps.mako b/src/mako/deps.mako index f16594a722..dc627d71ee 100644 --- a/src/mako/deps.mako +++ b/src/mako/deps.mako @@ -23,8 +23,10 @@ if os.environ.get('FETCH_APIS') is not None: import urllib3 http = urllib3.PoolManager() + # Seems like connecting to https stopped working, so download the json below manually and put it into + # apis.json in the repository root. discovery_url = 'https://www.googleapis.com/discovery/v1/apis' - apis = json.loads(http.request('GET', discovery_url).data) + apis = json.loads(open("apis.json", "r").read()) print('Loaded {} apis from Google'.format(len(apis['items'])))